Commit cff42d20 by 墨竹

Merge branch 'master' of http://git.gicdev.com/haoban3.0/haoban-manage3.0 into developer

# Conflicts:
#	haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/SendCodeController.java
parents 1812837a 1bf081fb
......@@ -294,7 +294,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("新增外部联系人,wxEnterpriseId:{}", wxEnterpriseId);
if (StringUtils.isAnyBlank(wxUserId, wxEnterpriseId, name, createTime, externalUserId)) {
log.error("新增外部联系人,缺少必须字段:wxUserId:{},wxEnterpriseId:{},name:{},createTime:{},externalUserId:{}",wxUserId,wxEnterpriseId,name,createTime,externalUserId);
checkQywxSettingApiService.saveFriendCallback(wxEnterpriseId,null, dto);
//checkQywxSettingApiService.saveFriendCallback(wxEnterpriseId,null, dto);
return;
}
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
......
......@@ -317,27 +317,18 @@ public class MessageApiServiceImpl implements MessageApiService {
String authCorpId = qywxCallBackDTO.getAuthCorpId();
DepartmentDTO departmentDTO = new DepartmentDTO();
departmentDTO.setIsStore(0);
TabHaobanWxEnterprise enterprise = this.enterpriseService.getEnterpriseBycorpId(authCorpId);
if (enterprise == null) {
log.info("为查询到企业:authCorpId:{}", authCorpId);
TabHaobanWxApplication wxApplication = wxApplicationService.selectByCorpId(authCorpId);
if (Objects.isNull(wxApplication)) {
log.info("授权企业不存在,{}", qywxCallBackDTO.getAuthCorpId());
return;
}
String wxEnterpriseId = enterprise.getWxEnterpriseId();
String wxEnterpriseId = wxApplication.getWxEnterpriseId();
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置secret:{}", wxEnterpriseId);
return;
}
String corpid = "";
String secret = secretSetting.getSecretVal();
if (authCorpId.length() > 20) {
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId, 3);
if (application != null) {
corpid = application.getCorpid();
}
} else {
corpid = authCorpId;
}
TabHaobanDepartment parentDepartment = new TabHaobanDepartment();
if (qywxCallBackDTO.getParentId() != null) {
parentDepartment = this.departmentService.getByWxId(qywxCallBackDTO.getParentId() + "", wxEnterpriseId);
......@@ -353,7 +344,7 @@ public class MessageApiServiceImpl implements MessageApiService {
log.info("企微同步父部门不存在");
return;
}
com.gic.wechat.api.dto.qywx.DepartmentDTO deptDetail = qywxDepartmentApiService.getSelfDepartmentById(corpid, secret, wxDeptId);
com.gic.wechat.api.dto.qywx.DepartmentDTO deptDetail = qywxDepartmentApiService.getSelfDepartmentById(authCorpId, secret, wxDeptId);
departmentDTO.setDepartmentName(deptDetail.getName());
departmentDTO.setParentDepartmentId(parentDepartment.getDepartmentId());
departmentDTO.setChainId(parentDepartment.getChainId() + Constant.ID_SEPARATOR + parentDepartment.getDepartmentId());
......@@ -363,7 +354,7 @@ public class MessageApiServiceImpl implements MessageApiService {
departmentDTO.setWxEnterpriseId(wxEnterpriseId);
departmentDTO.setWxDepartmentId(wxDeptId + "");
if (qywxCallBackDTO.getParentId() != null) {
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listSelfDepartment(corpid, secret, qywxCallBackDTO.getParentId());
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listSelfDepartment(authCorpId, secret, qywxCallBackDTO.getParentId());
if (CollectionUtils.isNotEmpty(list)) {
for (com.gic.wechat.api.dto.qywx.DepartmentDTO wxDepartmentDTO : list) {
if (Convert.toStr(wxDepartmentDTO.getId()).equals(departmentDTO.getDepartmentId())) {
......
......@@ -19,11 +19,11 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SendCodeController extends WebBaseController{
private static Logger logger = LoggerFactory.getLogger(SendCodeController.class);
@Autowired
private ValidationCodeService validationCodeService;
public class SendCodeController extends WebBaseController {
private static Logger logger = LoggerFactory.getLogger(SendCodeController.class);
@Autowired
private ValidationCodeService validationCodeService;
@Autowired
private StoreService storeService;
......@@ -36,7 +36,9 @@ public class SendCodeController extends WebBaseController{
*/
@RequestMapping("/send-code")
public HaobanResponse sendCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode,
Integer type, @RequestParam(defaultValue = "0") int isTest, String wxEnterpriseId, String storeId, String clerkId) {
Integer type, @RequestParam(defaultValue = "0") int isTest, String wxEnterpriseId, String staffId,
String storeId, String clerkId) {
logger.info("短信验证码发送:wxEnterpriseId:{},storeId:{},staffId:{}", wxEnterpriseId, storeId, staffId);
if (StringUtils.isBlank(phoneNumber) || null == type) {
logger.info("没有phoneNumber!");
return resultResponse(HaoBanErrCode.ERR_5);
......@@ -45,29 +47,29 @@ public class SendCodeController extends WebBaseController{
logger.info("没有phoneNumber!");
return resultResponse(HaoBanErrCode.ERR_600002);
}
if(!GooglePhoneNumberUtil.checkPhoneNumber(phoneNumber,nationcode )) {
logger.info("区号或者手机号码不合法:{}-{}", nationcode,phoneNumber);
return resultResponse(HaoBanErrCode.ERR_20);
}
String cacheKey = nationcode+phoneNumber+type;
Object value = RedisUtil.getCache(cacheKey);
if (value!=null && (boolean) value){
logger.info("手机号码:{}-{} 验证码只能一分钟请求一次", nationcode,phoneNumber);
return resultResponse(HaoBanErrCode.ERR_22);
}else {
RedisUtil.setCache(cacheKey, true, 60L);
}
if (!GooglePhoneNumberUtil.checkPhoneNumber(phoneNumber, nationcode)) {
logger.info("区号或者手机号码不合法:{}-{}", nationcode, phoneNumber);
return resultResponse(HaoBanErrCode.ERR_20);
}
String cacheKey = nationcode + phoneNumber + type;
Object value = RedisUtil.getCache(cacheKey);
if (value != null && (boolean) value) {
logger.info("手机号码:{}-{} 验证码只能一分钟请求一次", nationcode, phoneNumber);
return resultResponse(HaoBanErrCode.ERR_22);
} else {
RedisUtil.setCache(cacheKey, true, 60L);
}
String smsCode = "";
if(CheckSmsCodeUtil.getCacheSmsCode(nationcode+"-"+phoneNumber, type) != null){
smsCode = (String)CheckSmsCodeUtil.getCacheSmsCode(nationcode+"-"+phoneNumber, type);
}else{
smsCode = CheckSmsCodeUtil.createSMSCode();
CheckSmsCodeUtil.cacheSmsCode( nationcode+"-"+phoneNumber, smsCode, type);
if (CheckSmsCodeUtil.getCacheSmsCode(nationcode + "-" + phoneNumber, type) != null) {
smsCode = (String) CheckSmsCodeUtil.getCacheSmsCode(nationcode + "-" + phoneNumber, type);
} else {
smsCode = CheckSmsCodeUtil.createSMSCode();
CheckSmsCodeUtil.cacheSmsCode(nationcode + "-" + phoneNumber, smsCode, type);
}
logger.info("{}-{} 的 验证码:{}",nationcode,phoneNumber, smsCode);
logger.info("{}-{} 的 验证码:{}", nationcode, phoneNumber, smsCode);
//非测试
if (isTest != 1) {
SendSmsResponse smsResponse = null;
......@@ -77,7 +79,7 @@ public class SendCodeController extends WebBaseController{
StoreDTO storeDTO = storeService.getStore(storeId);
smsResponse = validationCodeService.sendValidationCodeHb3(nationcode, phoneNumber, smsCode, storeDTO.getEnterpriseId(), storeId, clerkId, true);
}
logger.info("{}-{} 的 验证码 发送结果回执:{}",nationcode,phoneNumber, JSON.toJSONString(smsResponse));
logger.info("{}-{} 的 验证码 发送结果回执:{}", nationcode, phoneNumber, JSON.toJSONString(smsResponse));
if (!smsResponse.isSuccess()) {
HaobanResponse response = new HaobanResponse();
response.setMessage(smsResponse.getMessage());
......@@ -89,7 +91,7 @@ public class SendCodeController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_1, smsCode);
}
}
/**
* 验证码校验
*
......@@ -98,22 +100,22 @@ public class SendCodeController extends WebBaseController{
*/
@RequestMapping("/validate-code")
public HaobanResponse validateCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode,
String code, int type) {
String code, int type) {
if (StringUtils.isBlank(phoneNumber) || StringUtils.isBlank(code)) {
logger.info("没有phoneNumber!");
return resultResponse(HaoBanErrCode.ERR_5);
}
boolean b = CheckSmsCodeUtil.checkSmsCode(nationcode+"-"+phoneNumber, code, type);
boolean c = CheckSmsCodeUtil.checkSmsCodeIsDelay(nationcode+"-"+phoneNumber, code, type);
if(!c){
logger.info("phoneNumber:{},code:{} 验证失败,验证码失效",nationcode+"-"+phoneNumber, code);
return resultResponse(HaoBanErrCode.ERR_21);
}else if(!b){
logger.info("phoneNumber:{},code:{} 验证失败,验证码失败",nationcode+"-"+phoneNumber, code);
return resultResponse(HaoBanErrCode.ERR_21);
}else{
return resultResponse(HaoBanErrCode.ERR_1);
boolean b = CheckSmsCodeUtil.checkSmsCode(nationcode + "-" + phoneNumber, code, type);
boolean c = CheckSmsCodeUtil.checkSmsCodeIsDelay(nationcode + "-" + phoneNumber, code, type);
if (!c) {
logger.info("phoneNumber:{},code:{} 验证失败,验证码失效", nationcode + "-" + phoneNumber, code);
return resultResponse(HaoBanErrCode.ERR_21);
} else if (!b) {
logger.info("phoneNumber:{},code:{} 验证失败,验证码失败", nationcode + "-" + phoneNumber, code);
return resultResponse(HaoBanErrCode.ERR_21);
} else {
return resultResponse(HaoBanErrCode.ERR_1);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment