Browse Source

完善企业信息时阻止频繁提交

dev
yujintao 6 years ago
parent
commit
558251ee7a
  1. 13
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
  2. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java

13
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

@ -127,6 +127,19 @@ public class RedisKeys {
return rootPrefix.concat("phone:sms:history:").concat(phone);
}
/**
* 拒绝重复提交用
*
* @param businessName 业务名称
* @param businessKey 业务主键或其他唯一标识
* @return java.lang.String
* @author work@yujt.net.cn
* @date 2019/12/6 19:05
*/
public static String getRefuseDuplicateSubmitKey(String businessName, String businessKey) {
return rootPrefix.concat("submit:history:").concat(businessName).concat(":").concat(businessKey);
}
/**
* 管理员部门层级关系
*

16
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java

@ -2,6 +2,9 @@ package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
@ -45,6 +48,9 @@ public class CustomEnterpriseServiceImpl implements CustomEnterpriseService {
@Autowired
private WxMaServiceUtils wxMaServiceUtils;
@Autowired
private RedisUtils redisUtils;
@Override
public Result completeEnterpriseInfo(EnterpriseInfoFormDTO enterpriseInfoDTO) {
return customFeignClient.completeEnterpriseInfo(enterpriseInfoDTO);
@ -77,9 +83,17 @@ public class CustomEnterpriseServiceImpl implements CustomEnterpriseService {
@Override
public Result completeRequisiteInfo(CompleteRequisiteInfoDTO formDto, TokenDto tokenDto) {
String userId = tokenDto.getUserId();
// 组织企业短时间内重复提交
String duplicateSubmit = RedisKeys.getRefuseDuplicateSubmitKey("enterpriseInfo", userId);
if (null != redisUtils.get(duplicateSubmit)) {
return new Result().error("操作频繁,请稍后重试");
}
redisUtils.set(duplicateSubmit, System.currentTimeMillis(), NumConstant.THIRTY);
// 验证手机号
this.checkSmsCode(formDto.getMobile(), formDto.getSmsCode());
formDto.setUserId(tokenDto.getUserId());
formDto.setUserId(userId);
formDto.setWxUnionId(getWxUnionId(formDto.getWxCode(), formDto.getIv(), formDto.getEncryptedData()));
String uniformSocialCreditCode = ModuleUtils.replaceIllegalCharacter(formDto.getUniformSocialCreditCode());
if (StringUtils.isBlank(uniformSocialCreditCode)) {

Loading…
Cancel
Save