From fe879975a3e8a0a1aa280fb839e02d159bfbcff8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 27 八月 2019 18:04:38 +0800
Subject: [PATCH] 金币任务多次获取bug修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java |   84 ++++++++++++++++++++++++++---------------
 1 files changed, 53 insertions(+), 31 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java
index 2027544..e22d7d0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java
@@ -21,6 +21,7 @@
 import com.yeshi.fanli.entity.bus.user.LoginResult;
 import com.yeshi.fanli.entity.bus.user.SMSHistory;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
 import com.yeshi.fanli.entity.bus.user.WeiXinUser;
 import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.entity.taobao.ClientTBPid;
@@ -33,6 +34,7 @@
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
@@ -40,6 +42,7 @@
 import com.yeshi.fanli.service.inter.order.OrderService;
 import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.ExtractService;
 import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
@@ -48,6 +51,8 @@
 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.UserMoneyService;
 import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
@@ -57,6 +62,7 @@
 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.wx.WXLoginUtil;
 
@@ -137,6 +143,18 @@
 
 	@Resource
 	private UserAccountBindingHistoryService userAccountBindingHistoryService;
+
+	@Resource
+	private HomeNavbarUserService homeNavbarUserService;
+
+	@Resource
+	private UserInfoDeleteRecordService userInfoDeleteRecordService;
+
+	@Resource
+	private UserTaoLiJinOriginService userTaoLiJinOriginService;
+	
+	@Resource
+	private UserInfoModifyRecordService userInfoModifyRecordService;
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -463,10 +481,7 @@
 				// 灏佺鐢ㄦ埛
 				// 灏佺缁戝畾鐨勬甯哥敤鎴�
 				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
-					UserInfo update = new UserInfo(uid);
-					update.setState(UserInfo.STATE_FORBIDDEN);
-					update.setStateDesc("缁戝畾琚皝绂佺殑鐢佃瘽鍙风爜琚皝绂�");
-					userInfoService.updateByPrimaryKeySelective(update);
+					userAccountService.forbiddenUser(uid, "灏佺锛氱粦瀹氳灏佺鐨勭數璇濆彿鐮�");
 				}
 				return;
 			}
@@ -564,10 +579,7 @@
 					// 灏佺鐢ㄦ埛
 					// 灏佺缁戝畾鐨勬甯哥敤鎴�
 					if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
-						UserInfo update = new UserInfo(uid);
-						update.setState(UserInfo.STATE_FORBIDDEN);
-						update.setStateDesc("缁戝畾琚皝绂佺殑娣樺疂鍙疯灏佺");
-						userInfoService.updateByPrimaryKeySelective(update);
+						userAccountService.forbiddenUser(uid, "灏佺锛氱粦瀹氳灏佺鐨勬窐瀹濆彿");
 					}
 					return;
 				}
@@ -638,10 +650,7 @@
 				// 灏佺鐢ㄦ埛
 				// 灏佺缁戝畾鐨勬甯哥敤鎴�
 				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
-					UserInfo update = new UserInfo(uid);
-					update.setState(UserInfo.STATE_FORBIDDEN);
-					update.setStateDesc("缁戝畾琚皝绂佺殑寰俊鍙疯灏佺");
-					userInfoService.updateByPrimaryKeySelective(update);
+					userAccountService.forbiddenUser(uid, "灏佺锛氱粦瀹氳灏佺鐨勫井淇″彿");
 				}
 				return;
 			}
@@ -915,8 +924,6 @@
 		}
 		redisManager.cacheCommonString(key, "1", 120);
 
-		
-
 		// 鏀粯瀹濈粦瀹�
 		ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
 				.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, account);
@@ -925,10 +932,7 @@
 			// 灏佺鐢ㄦ埛
 			// 灏佺缁戝畾鐨勬甯哥敤鎴�
 			if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
-				UserInfo update = new UserInfo(uid);
-				update.setState(UserInfo.STATE_FORBIDDEN);
-				update.setStateDesc("缁戝畾琚皝绂佺殑鏀粯瀹濊灏佺");
-				userInfoService.updateByPrimaryKeySelective(update);
+				userAccountService.forbiddenUser(uid, "灏佺锛氱粦瀹氳灏佺鐨勬敮浠樺疂");
 			}
 			return;
 		}
@@ -938,9 +942,17 @@
 				"PERM_AML_NOT_REALNAME_REV", "PAYEE_USER_INFO_ERROR", "PAYEE_ACC_OCUPIED",
 				"PERMIT_CHECK_PERM_IDENTITY_THEFT", "PERMIT_NON_BANK_LIMIT_PAYEE", "EXCEED_LIMIT_UNRN_DM_AMOUNT" };
 		try {
+			BigDecimal balance = user.getMyHongBao();
 			BindingAccount bindingAccount = bindingAccountService.changeAlipayBindingWithVerify(uid, name, account);
-			out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount),
-					"绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆�"));
+			// 浣欓鍏呰冻
+			if (balance.compareTo(new BigDecimal("0.1")) >= 0)
+				out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount),
+						"绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆�"));
+			else
+				out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount),
+						"绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆傛敞锛氭0.1鍏冨皢浼氬湪鍚庣画浜х敓鐨勪綑棰濅腑鍚堢悊鎵i櫎锛屾暚璇风煡鏅撱��"));
+			
+			userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.bindAlipay, account);
 		} catch (AlipayTransferException e1) {
 			if (e1.getSubCode().equalsIgnoreCase("PAYEE_NOT_EXIST")) {
 				String msg = "绯荤粺鏈兘鎴愬姛杞处0.1鍏冿紝鎻愮幇璐﹀彿淇℃伅鏈夎锛岃鏍稿鍚庨噸鏂板~鍐欍��";
@@ -1157,8 +1169,16 @@
 				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);
+						}
+
+						/* 鍚屾鏈櫥褰曚箣鍓嶈澶囨娊濂栨暟鎹� */
+						try {
 							int platformType = 0;
 							String platform = acceptData.getPlatform();
 							if ("android".equals(platform)) {
@@ -1166,10 +1186,18 @@
 							} else if ("ios".equals(platform)) {
 								platformType = 2;
 							}
-							userSystemCouponService.copyLotteryPrize(uuser.getId(), platformType,
-									acceptData.getDevice());
+							userSystemCouponService.copyLotteryPrize(uuser.getId(), platformType, device);
 						} catch (Exception e) {
 							e.printStackTrace();
+						}
+
+						if (VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) {
+							/* 鏂颁汉绾㈠寘 */
+							try {
+								userTaoLiJinOriginService.synchDeviceHongbao(uuser.getId(), device);
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
 						}
 					}
 				});
@@ -1244,10 +1272,7 @@
 				// 灏佺鐢ㄦ埛
 				// 灏佺缁戝畾鐨勬甯哥敤鎴�
 				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
-					UserInfo update = new UserInfo(uid);
-					update.setState(UserInfo.STATE_FORBIDDEN);
-					update.setStateDesc("缁戝畾琚皝绂佺殑鐢佃瘽鍙风爜琚皝绂�");
-					userInfoService.updateByPrimaryKeySelective(update);
+					userAccountService.forbiddenUser(uid, "灏佺锛氱粦瀹氳灏佺鐨勭數璇濆彿鐮�");
 				}
 				return;
 			}
@@ -1298,10 +1323,7 @@
 				// 灏佺鐢ㄦ埛
 				// 灏佺缁戝畾鐨勬甯哥敤鎴�
 				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
-					UserInfo update = new UserInfo(uid);
-					update.setState(UserInfo.STATE_FORBIDDEN);
-					update.setStateDesc("缁戝畾琚皝绂佺殑寰俊鍙疯灏佺");
-					userInfoService.updateByPrimaryKeySelective(update);
+					userAccountService.forbiddenUser(uid, "灏佺锛氱粦瀹氳灏佺鐨勫井淇″彿");
 				}
 				return;
 			}

--
Gitblit v1.8.0