Merge branch 'master' into master_zhp

# Conflicts:
#	ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MerchantServiceImpl.java
pull/379/head
鲸落 12 months ago
commit 511a551b6a

@ -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);
/** /**
* *

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -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"));
} }
/** /**
* *

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@ -30,12 +30,12 @@ spring:
eager: true eager: true
transport: transport:
# 控制台地址 # 控制台地址
dashboard: 124.222.144.55:8718 dashboard: 47.109.135.151:8718
# nacos配置持久化 # nacos配置持久化
datasource: datasource:
ds1: ds1:
nacos: nacos:
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
dataId: sentinel-ruoyi-gateway dataId: sentinel-ruoyi-gateway
groupId: DEFAULT_GROUP groupId: DEFAULT_GROUP
data-type: json data-type: json

@ -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);
//转化字段未数据库中资质字段 更新 用户实名状态 一并保存用户申请记录 已申请 //转化字段未数据库中资质字段 更新 用户实名状态 一并保存用户申请记录 已申请

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -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);
} }
/** /**

@ -134,7 +134,7 @@ public class CustomerApplyLogServiceImpl extends ServiceImpl<CustomerApplyLogMap
Long aLong = customerApplyLogMapper.selectCount( Long aLong = customerApplyLogMapper.selectCount(
new LambdaQueryWrapper<CustomerApplyLog>() new LambdaQueryWrapper<CustomerApplyLog>()
.isNotNull(CustomerApplyLog::getMerchantId) .isNotNull(CustomerApplyLog::getMerchantId)
.eq(CustomerApplyLog::getOrderStatus, 0) .eq(CustomerApplyLog::getOrderStatus, 20)
.ge(CustomerApplyLog::getCreateTime, LocalDateTimeUtils.getDateFromLocalDateTime(LocalDateTimeUtils.getTodayStartTime())) .ge(CustomerApplyLog::getCreateTime, LocalDateTimeUtils.getDateFromLocalDateTime(LocalDateTimeUtils.getTodayStartTime()))
.le(CustomerApplyLog::getCreateTime, LocalDateTimeUtils.getDateFromLocalDateTime(LocalDateTimeUtils.getTodayEndTime()))); .le(CustomerApplyLog::getCreateTime, LocalDateTimeUtils.getDateFromLocalDateTime(LocalDateTimeUtils.getTodayEndTime())));
return R.ok(aLong>0); return R.ok(aLong>0);

@ -19,6 +19,8 @@ import com.ruoyi.system.mapper.MerchantMapper;
import com.ruoyi.system.service.ICustomerApplyLogService; import com.ruoyi.system.service.ICustomerApplyLogService;
import com.ruoyi.system.service.IMerchantService; import com.ruoyi.system.service.IMerchantService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@ -38,6 +40,7 @@ import java.util.stream.Collectors;
*/ */
@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;
@ -144,6 +147,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<>();
@ -167,6 +171,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);

@ -14,12 +14,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
namespace: 9a5181d5-598c-4b27-9644-ef14e7fd250c namespace: b8ad3fd2-18ea-4cdf-a82c-4ce483392b1a
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 124.222.144.55:8848 server-addr: 47.109.135.151:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

Loading…
Cancel
Save