mirror of
https://gitee.com/y_project/RuoYi-Cloud.git
synced 2026-01-29 13:01:57 +08:00
2024-09-24 生产配置
This commit is contained in:
@@ -41,7 +41,7 @@ public interface RemoteCustomerApplyLogService
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@GetMapping("/log/customerApply")
|
@GetMapping("/log/customerApply")
|
||||||
public R<Boolean> customerApply(@PathVariable("customerID") Long customerID,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
public R<Boolean> customerApply(@RequestParam("customerID") Long customerID,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增用户
|
* 新增用户
|
||||||
|
|||||||
@@ -33,5 +33,10 @@ public class RedisConstant {
|
|||||||
/**
|
/**
|
||||||
* H5申请幂等校验
|
* H5申请幂等校验
|
||||||
*/
|
*/
|
||||||
public final static String H5_APPLY_CHECK = CacheConstants.PROJET+"H5:apply:check";
|
public final static String H5_APPLY_CHECK = CacheConstants.PROJET+"H5:apply:check:";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 撞库幂等校验
|
||||||
|
*/
|
||||||
|
public final static String HIT_CHECK_CACHE = CacheConstants.PROJET+"hit:check:cache:";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -334,7 +334,7 @@ public class SecureUtils {
|
|||||||
" \"orderStatus\":\"2\"\n" +
|
" \"orderStatus\":\"2\"\n" +
|
||||||
"}";
|
"}";
|
||||||
|
|
||||||
System.out.println(AesEncode(s3,"LwLjtU1Bt8dcxxjY"));
|
System.out.println(AesEncode(s1,"g5N8XTYaOEwEmBgg"));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 解密
|
* 解密
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class PublicHalfController{
|
|||||||
* 通用半流程撞库
|
* 通用半流程撞库
|
||||||
*/
|
*/
|
||||||
@GetMapping("/checkOrder")
|
@GetMapping("/checkOrder")
|
||||||
public AjaxResult checkOrder(@RequestParam("phoneMD5")String phoneMd5,@RequestParam("channelSign")String channelSign)
|
public AjaxResult checkOrder(String phoneMd5,String channelSign)
|
||||||
{
|
{
|
||||||
|
|
||||||
return sysPublicHalfService.checkOrder(phoneMd5,channelSign);
|
return sysPublicHalfService.checkOrder(phoneMd5,channelSign);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.ruoyi.btc.domain.ComPublicHalfDto;
|
|||||||
import com.ruoyi.btc.domain.CustomerInfoDto;
|
import com.ruoyi.btc.domain.CustomerInfoDto;
|
||||||
import com.ruoyi.btc.service.ISysPublicHalfService;
|
import com.ruoyi.btc.service.ISysPublicHalfService;
|
||||||
import com.ruoyi.common.core.constant.CacheConstants;
|
import com.ruoyi.common.core.constant.CacheConstants;
|
||||||
|
import com.ruoyi.common.core.constant.RedisConstant;
|
||||||
import com.ruoyi.common.core.constant.SecurityConstants;
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||||
import com.ruoyi.common.core.domain.GetSumDto;
|
import com.ruoyi.common.core.domain.GetSumDto;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
@@ -24,9 +25,11 @@ import com.ruoyi.system.api.RemoteCustomerApplyLogService;
|
|||||||
import com.ruoyi.system.api.RemoteCustomerService;
|
import com.ruoyi.system.api.RemoteCustomerService;
|
||||||
import com.ruoyi.system.api.RemoteMerchantService;
|
import com.ruoyi.system.api.RemoteMerchantService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,6 +39,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@Slf4j
|
||||||
public class SysPublicHalfServiceImpl implements ISysPublicHalfService
|
public class SysPublicHalfServiceImpl implements ISysPublicHalfService
|
||||||
{
|
{
|
||||||
private final RemoteCustomerService remoteCustomerService;
|
private final RemoteCustomerService remoteCustomerService;
|
||||||
@@ -51,7 +55,6 @@ public class SysPublicHalfServiceImpl implements ISysPublicHalfService
|
|||||||
@Override
|
@Override
|
||||||
public AjaxResult check(ComPublicHalfDto comPublicHalfDto) {
|
public AjaxResult check(ComPublicHalfDto comPublicHalfDto) {
|
||||||
//校验 IP地址是否正常 渠道标识是否存在 数据是否为空
|
//校验 IP地址是否正常 渠道标识是否存在 数据是否为空
|
||||||
|
|
||||||
if (StringUtils.isEmpty(comPublicHalfDto.getChannelSignature())){
|
if (StringUtils.isEmpty(comPublicHalfDto.getChannelSignature())){
|
||||||
return AjaxResult.error("渠道标识不能未空");
|
return AjaxResult.error("渠道标识不能未空");
|
||||||
}
|
}
|
||||||
@@ -62,12 +65,20 @@ public class SysPublicHalfServiceImpl implements ISysPublicHalfService
|
|||||||
if (StringUtils.isEmpty(comPublicHalfDto.getData())){
|
if (StringUtils.isEmpty(comPublicHalfDto.getData())){
|
||||||
return AjaxResult.error("加密数据不能为空");
|
return AjaxResult.error("加密数据不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
//解密为customerInfoDto
|
//解密为customerInfoDto
|
||||||
String s = SecureUtils.AesUtil.AesDecode(comPublicHalfDto.getData(), comPublicHalfDto.getChannelSignature());
|
String s = SecureUtils.AesUtil.AesDecode(comPublicHalfDto.getData(), comPublicHalfDto.getChannelSignature());
|
||||||
if (s==null){
|
if (s==null){
|
||||||
return AjaxResult.error("解密异常");
|
return AjaxResult.error("解密异常");
|
||||||
}
|
}
|
||||||
CustomerInfoDto customerInfoDto = JSONObject.parseObject(s, CustomerInfoDto.class);
|
CustomerInfoDto customerInfoDto = JSONObject.parseObject(s, CustomerInfoDto.class);
|
||||||
|
//撞库幂等性校验 暂时不加
|
||||||
|
// Boolean aBoolean = redisService.hasKey(RedisConstant.HIT_CHECK_CACHE+customerInfoDto.getPhoneMd5()+":"+comPublicHalfDto.getChannelSignature());
|
||||||
|
// if (aBoolean){
|
||||||
|
// return AjaxResult.error("手机号:"+customerInfoDto.getPhoneMd5()+"请勿重复撞库");
|
||||||
|
// }
|
||||||
|
// redisService.setCacheObject(RedisConstant.HIT_CHECK_CACHE+customerInfoDto.getPhoneMd5(),1,60*3l, TimeUnit.SECONDS);
|
||||||
|
log.info("渠道:{},撞库手机号:{}",channel.getChannelName(),customerInfoDto.getPhoneMd5());
|
||||||
//校验数据必传参数是否未传
|
//校验数据必传参数是否未传
|
||||||
String checkData = checkData(customerInfoDto);
|
String checkData = checkData(customerInfoDto);
|
||||||
if (checkData!=null){
|
if (checkData!=null){
|
||||||
@@ -84,6 +95,7 @@ public class SysPublicHalfServiceImpl implements ISysPublicHalfService
|
|||||||
customer.setStatus(2);
|
customer.setStatus(2);
|
||||||
customer.setPhoneMd5(customerInfoDto.getPhoneMd5());
|
customer.setPhoneMd5(customerInfoDto.getPhoneMd5());
|
||||||
R<Customer> customerInfoByPhoneMd5 = remoteCustomerService.getCustomerInfoByPhoneMd5(customerInfoDto.getPhoneMd5(), SecurityConstants.INNER);
|
R<Customer> customerInfoByPhoneMd5 = remoteCustomerService.getCustomerInfoByPhoneMd5(customerInfoDto.getPhoneMd5(), SecurityConstants.INNER);
|
||||||
|
log.info("渠道:{},是否查询到用户:{}",channel.getChannelName(),customerInfoByPhoneMd5.getCode());
|
||||||
if (customerInfoByPhoneMd5.getCode()==200){
|
if (customerInfoByPhoneMd5.getCode()==200){
|
||||||
remoteCustomerService.updateByPhoneMd5(customer,SecurityConstants.INNER);
|
remoteCustomerService.updateByPhoneMd5(customer,SecurityConstants.INNER);
|
||||||
}else {
|
}else {
|
||||||
@@ -211,6 +223,7 @@ public class SysPublicHalfServiceImpl implements ISysPublicHalfService
|
|||||||
return AjaxResult.error("解密异常");
|
return AjaxResult.error("解密异常");
|
||||||
}
|
}
|
||||||
CustomerInfoDto customerInfoDto = JSONObject.parseObject(s, CustomerInfoDto.class);
|
CustomerInfoDto customerInfoDto = JSONObject.parseObject(s, CustomerInfoDto.class);
|
||||||
|
log.info("渠道:{},进件手机号:{}",channel.getChannelName(),customerInfoDto.getPhone());
|
||||||
//校验数据必传参数是否未传
|
//校验数据必传参数是否未传
|
||||||
String checkData = checkData(customerInfoDto);
|
String checkData = checkData(customerInfoDto);
|
||||||
//转化字段未数据库中资质字段 更新 用户实名状态 一并保存用户申请记录 已申请
|
//转化字段未数据库中资质字段 更新 用户实名状态 一并保存用户申请记录 已申请
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class CustomerApplyLogController extends BaseController
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@GetMapping("/customerApply")
|
@GetMapping("/customerApply")
|
||||||
public R<Boolean> customerApply(@PathVariable("customerID") Long customerID,@RequestHeader(SecurityConstants.FROM_SOURCE) String source){
|
public R<Boolean> customerApply(@RequestParam("customerID") Long customerID,@RequestHeader(SecurityConstants.FROM_SOURCE) String source){
|
||||||
return customerApplyLogService.getCustomerApply(customerID);
|
return customerApplyLogService.getCustomerApply(customerID);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import com.ruoyi.system.mapper.CustomerApplyLogMapper;
|
|||||||
import com.ruoyi.system.mapper.CustomerMapper;
|
import com.ruoyi.system.mapper.CustomerMapper;
|
||||||
import com.ruoyi.system.service.ICustomerApplyLogService;
|
import com.ruoyi.system.service.ICustomerApplyLogService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.system.mapper.MerchantMapper;
|
import com.ruoyi.system.mapper.MerchantMapper;
|
||||||
@@ -41,6 +42,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@Slf4j
|
||||||
public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> implements IService<Merchant>,IMerchantService
|
public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> implements IService<Merchant>,IMerchantService
|
||||||
{
|
{
|
||||||
private final MerchantMapper merchantMapper;
|
private final MerchantMapper merchantMapper;
|
||||||
@@ -147,6 +149,7 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
|
|||||||
if (customerId==null){
|
if (customerId==null){
|
||||||
return AjaxResult.error("用户不存在或未登录");
|
return AjaxResult.error("用户不存在或未登录");
|
||||||
}
|
}
|
||||||
|
log.info("H5打开页面:{}",customerId);
|
||||||
Customer customer = customerMapper.selectById(customerId);
|
Customer customer = customerMapper.selectById(customerId);
|
||||||
List<Merchant> merchants = matchMerchant(customer);
|
List<Merchant> merchants = matchMerchant(customer);
|
||||||
List<MerchantListDto> merchantListDtos = new ArrayList<>();
|
List<MerchantListDto> merchantListDtos = new ArrayList<>();
|
||||||
@@ -170,6 +173,7 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
|
|||||||
if (aBoolean){
|
if (aBoolean){
|
||||||
return AjaxResult.error("请勿重复点击");
|
return AjaxResult.error("请勿重复点击");
|
||||||
}
|
}
|
||||||
|
log.info("H5申请用户:{}",customerId);
|
||||||
Customer customer = customerMapper.selectById(customerId);
|
Customer customer = customerMapper.selectById(customerId);
|
||||||
Merchant merchant = merchantMapper.selectById(merchantId);
|
Merchant merchant = merchantMapper.selectById(merchantId);
|
||||||
redisService.setCacheObject(RedisConstant.H5_APPLY_CHECK+customerId,1,10l, TimeUnit.SECONDS);
|
redisService.setCacheObject(RedisConstant.H5_APPLY_CHECK+customerId,1,10l, TimeUnit.SECONDS);
|
||||||
|
|||||||
Reference in New Issue
Block a user