From ee88b54979c633a4ade518d4c124a2d07d378562 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 11 十月 2019 10:56:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java |  313 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 313 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java
new file mode 100644
index 0000000..2babc45
--- /dev/null
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java
@@ -0,0 +1,313 @@
+package com.yeshi.fanli.controller.client.v2;
+
+import java.io.PrintWriter;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+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.SMSHistory;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.push.DeviceActive;
+import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.exception.user.UserAccountException;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
+import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
+import com.yeshi.fanli.service.inter.money.UserMoneyService;
+import com.yeshi.fanli.service.inter.order.LostOrderService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.push.DeviceActiveService;
+import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
+import com.yeshi.fanli.service.inter.push.DeviceTokenOPPOService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
+import com.yeshi.fanli.service.inter.user.BindRemindService;
+import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
+import com.yeshi.fanli.service.inter.user.ShamUserService;
+import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.TBPidService;
+import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
+import com.yeshi.fanli.service.inter.user.UserAccountService;
+import com.yeshi.fanli.service.inter.user.UserInfoDeleteRecordService;
+import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.util.account.UserUtil;
+import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
+
+import net.sf.json.JSONObject;
+
+/**
+ * 璐︽埛绯荤粺
+ * 
+ * @author Administrator
+ *
+ */
+@Controller
+@RequestMapping("api/v2/user")
+public class UserAccountControllerV2 {
+
+	@Resource
+	private UserInfoService userInfoService;
+
+	@Resource
+	private BusinessSystemService businessSystemService;
+
+	@Resource
+	private ShamUserService shamUserService;
+
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
+	@Resource
+	private LostOrderService lostOrderService;
+
+	@Resource
+	private HongBaoManageService hongBaoManageService;
+
+	@Resource
+	private UserAccountService userAccountService;
+
+	@Resource
+	private RedisManager redisManager;
+
+	@Resource
+	private TBPidService tbPidService;
+
+	@Resource
+	private DeviceTokenHWService deviceTokenHWService;
+
+	@Resource
+	private DeviceTokenOPPOService deviceTokenOPPOService;
+
+	@Resource
+	private TaoBaoUnionConfigService taoBaoUnionConfigService;
+
+	@Resource
+	private SpreadUserImgService spreadUserImgService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+
+	@Resource
+	private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
+
+	@Resource
+	private UserSystemCouponService userSystemCouponService;
+
+	@Resource
+	private UserMoneyService userMoneyService;
+
+	@Resource
+	private UserAccountBindingHistoryService userAccountBindingHistoryService;
+
+	@Resource
+	private HomeNavbarUserService homeNavbarUserService;
+
+	@Resource
+	private UserInfoDeleteRecordService userInfoDeleteRecordService;
+
+	@Resource
+	private UserTaoLiJinOriginService userTaoLiJinOriginService;
+
+	@Resource
+	private UserInfoModifyRecordService userInfoModifyRecordService;
+
+	@Resource
+	private DeviceActiveService deviceActiveService;
+	
+	@Resource
+	private BindRemindService bindRemindService;
+
+
+
+	/**
+	 * 鏂扮増鐧诲綍 V1.5.3
+	 * 
+	 * @param acceptData
+	 * @param vcode
+	 * @param phone
+	 * @param code
+	 * @param loginType
+	 *            鐧诲綍鏂瑰紡锛� 1-鎵嬫満鐧诲綍 2-寰俊鐧诲綍
+	 * @param request
+	 * @param out
+	 */
+	@RequestMapping(value = "login", method = RequestMethod.POST)
+	public void login(AcceptData acceptData, int loginType, String vcode, String phone, String code, 
+			HttpServletRequest request, PrintWriter out) {
+		try {
+			BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+					acceptData.getPackages());
+			if (system == null) {
+				out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+				return;
+			}
+
+			UserInfo userInfo = null;
+			// 鎵嬫満鐧诲綍
+			if (loginType == 1) {
+				userInfo = userAccountService.loginPhone(request, loginType, vcode, phone, system.getAppid());
+			}
+
+			// 寰俊鐧诲綍
+			if (loginType == 2) {
+				userInfo = userAccountService.loginWeiXinNew(request, acceptData, loginType, code, system.getAppid());
+			}
+
+			if (userInfo == null) {
+				out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触"));
+			} else {
+				JSONObject data = new JSONObject();
+				data.put("userInfo", UserUtil.filterForClientUser(userInfo));
+				out.print(JsonUtil.loadTrueResult(data));
+
+				final UserInfo uuser = userInfo;
+				ThreadUtil.run(new Runnable() {
+					public void run() {
+						String device = acceptData.getDevice();
+						try {
+							// 鍚屾鑷畾涔夊鑸�
+							homeNavbarUserService.synchroDeviceToUser(uuser.getId(), device);
+						} catch (Exception e) {
+							LogHelper.errorDetailInfo(e);
+						}
+
+						if (VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) {
+							/* 鏂颁汉绾㈠寘 */
+							try {
+								userTaoLiJinOriginService.synchDeviceHongbao(uuser.getId(), device);
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
+						}
+						
+						// 缁戝畾oppo鎺ㄩ��
+						DeviceActive active = deviceActiveService.getFirstActiveInfo(acceptData.getDevice());
+						if (active != null) {
+							deviceTokenOPPOService.bindUid(uuser.getId(), active.getId());
+						}
+					}
+				});
+			}
+
+		} catch (UserAccountException e) {
+			int errorCode = e.getCode();
+			if (errorCode == 101) { // 闇�瑕佺粦瀹氭墜鏈哄彿
+				JSONObject data = new JSONObject();
+				data.put("key", e.getMsg());
+				JSONObject object = new JSONObject();
+				object.put("code", errorCode);
+				object.put("data", data);
+				out.print(object.toString());
+			} else {
+				out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+				try {
+					LogHelper.cookieLog("鐧诲綍鍑洪敊:" + e.getCode() + "-" + e.getMessage());
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
+			}
+			
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触"));
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		}
+	}
+
+	
+	
+	/**
+	 * 缁戝畾鐢佃瘽鍙风爜 V2.0.1 寰俊鐧诲綍
+	 * 
+	 * @param acceptData
+	 * @param vcode
+	 * @param phone
+	 * @param out
+	 */
+	@RequestSerializableByKey(key = "'bindPhoneLogin-'+#phone")
+	@RequestMapping(value = "bindPhoneLogin")
+	public void bindPhoneLogin(AcceptData acceptData,String vcode, String phone, String key, HttpServletRequest request, PrintWriter out) {
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
+		if (system == null) {
+			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(vcode)) {
+			out.print(JsonUtil.loadFalseResult("楠岃瘉鐮佷笉鑳戒负绌�"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(phone)) {
+			out.print(JsonUtil.loadFalseResult("鐢佃瘽鍙风爜涓嶈兘涓虹┖"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(key)) {
+			out.print(JsonUtil.loadFalseResult("key鍊间笉鑳戒负绌�"));
+			return;
+		}
+		
+		phone = phone.replaceAll(" ", "");
+
+		String oldVCode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_BIND);
+		if (Constant.IS_OUTNET) {
+			if (!vcode.equalsIgnoreCase(oldVCode)) {
+				out.print(JsonUtil.loadFalseResult(9001, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆"));
+				return;
+			}
+			redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_BIND);
+		}
+
+		try {
+			UserInfo userInfo = userAccountService.bindPhoneToLogin(phone, key, system.getAppid(), request);
+
+			JSONObject data = new JSONObject();
+			data.put("userInfo", UserUtil.filterForClientUser(userInfo));
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (UserAccountException e) {
+			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult(1, "缁戝畾澶辫触"));
+		}
+	}
+	
+	/**
+	 * 缁戝畾鐢佃瘽鍙风爜 V2.0.1 寰俊鐧诲綍
+	 * 
+	 * @param acceptData
+	 * @param vcode
+	 * @param phone
+	 * @param out
+	 */
+	@RequestMapping(value = "recordBind")
+	public void recordBind(AcceptData acceptData, Long uid, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛id涓虹┖"));
+			return;
+		}
+
+		bindRemindService.addBindPhone(uid);
+		out.print(JsonUtil.loadTrueResult("璁板綍鎴愬姛"));
+	}
+	
+}

--
Gitblit v1.8.0