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