From b6c37e4bc38db88a360d0f2c6099183f9bb75bdc Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 22 四月 2019 14:31:59 +0800 Subject: [PATCH] 券推送插入 --- fanli/src/main/java/com/yeshi/fanli/controller/client/SMSController.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 116 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/SMSController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/SMSController.java index 2702e29..080b010 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/SMSController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/SMSController.java @@ -7,16 +7,19 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.JsonUtil; import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode; +import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.exception.SMSException; +import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; import com.yeshi.fanli.service.inter.user.SMSService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKey; -import org.yeshi.utils.JsonUtil; @Controller @RequestMapping("api/v1/sms") @@ -30,6 +33,9 @@ @Resource private UserInfoService userInfoService; + + @Resource + private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService; // 鍙戦�佺煭淇� @@ -57,12 +63,120 @@ out.print(JsonUtil.loadFalseResult(4, "鐢佃瘽鍙风爜鏍煎紡涓嶆纭�")); return; } - String msg = smsService.sendLoginVCode(phone); + smsService.sendLoginVCode(phone, 6); out.print(JsonUtil.loadTrueResult("鍙戦�佹垚鍔�")); } catch (SMSException e) { out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } } + + + /** + * 1.5.3 鐧诲綍鍙戦�佺煭淇� + * @param acceptData + * @param phone + * @param uid + * @param out + */ + @RequestMapping(value = "sendMSMLogin", method = RequestMethod.POST) + public void sendMSMLogin(AcceptData acceptData, String phone, boolean slideVerify, PrintWriter out) { + if (phone == null || !StringUtil.isMobile(phone.replaceAll(" ", ""))) { + out.print(JsonUtil.loadFalseResult(1, "鎵嬫満鍙疯緭鍏ユ湁璇紝璇蜂慨鏀�")); + return; + } + phone = phone.replaceAll(" ", ""); + + sendMSNnew(phone,slideVerify, 1, StringUtil.Md5(phone + "-" + acceptData.getDevice()), out); + } + + /** + * 1.5.3 缁戝畾鍙戦�佺煭淇� + * @param acceptData + * @param phone + * @param uid + * @param out + */ + @RequestMapping(value = "sendMSMBind", method = RequestMethod.POST) + public void sendMSMBind(AcceptData acceptData, String phone, boolean slideVerify, PrintWriter out) { + if (phone == null || !StringUtil.isMobile(phone.replaceAll(" ", ""))) { + out.print(JsonUtil.loadFalseResult(1, "鎵嬫満鍙疯緭鍏ユ湁璇紝璇蜂慨鏀�")); + return; + } + phone = phone.replaceAll(" ", ""); + + // 鍒ゆ柇鎵嬫満鍙风爜鏄惁琚皝绂� + ForbiddenUserIdentifyCode identifyCode1 = forbiddenUserIdentifyCodeService + .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone); + if (identifyCode1 != null && identifyCode1.getEffective() != null && identifyCode1.getEffective()) { + out.print(JsonUtil.loadFalseResult(9001,"璇ョ數璇濆彿鐮佽鍗犵敤")); + return; + } + + // 鍒ゆ柇鎵嬫満鍙风爜鏄惁琚皝绂� + UserInfo phoneUser = userInfoService.getEffectiveUserInfoByPhone(phone); + if (phoneUser != null) { + out.print(JsonUtil.loadFalseResult(9001,"璇ョ數璇濆彿鐮佽鍗犵敤")); + return; + } + + sendMSNnew(phone,slideVerify, 2, StringUtil.Md5(phone + "-" + acceptData.getDevice()), out); + } + + + @RequestSerializableByKey(key = "key") + public void sendMSNnew(String phone, boolean slideVerify, int type, String key, PrintWriter out) { + try { + int count = 0; + String cachekey = null; + if (type == 1) { + // 鐧诲綍楠岃瘉鐮� + cachekey = "sendMSNLoginCount" + phone; + } else if (type == 2) { + // 缁戝畾楠岃瘉鐮� + cachekey = "sendMSNBindCount" + phone; + } + + if (cachekey == null) { + out.print(JsonUtil.loadFalseResult(1,"鍙戦�佸け璐�")); + return; + } + + String cacheValue = redisManager.getCommonString(cachekey); + if (!StringUtil.isNullOrEmpty(cacheValue)) { + count = Integer.parseInt(cacheValue); + // 闄愬埗3娆� + if (count >= 3) { + out.print(JsonUtil.loadFalseResult(3,"楠岃瘉鐮佹鏁拌秴闄�,璇风◢鍚庡啀璇�")); + return; + } + } + + if (count == 2 && !slideVerify) { + out.print(JsonUtil.loadFalseResult(2,"闇�瑕佹粦鍔ㄩ獙璇�")); + return; + } + // 缂撳瓨涓�涓皬鏃� + count ++; + redisManager.cacheCommonString(cachekey, count + "", 60 * 60); + + + if (type == 1) { + // 鐧诲綍楠岃瘉鐮� + smsService.sendLoginVCode(phone, 4); + } else if (type == 2) { + // 缁戝畾楠岃瘉鐮� + smsService.sendBindVCode(phone, 4); + } + + out.print(JsonUtil.loadTrueResult("鍙戦�佹垚鍔�")); + + } catch (SMSException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鍙戦�佸け璐�")); + e.printStackTrace(); + } + } } -- Gitblit v1.8.0