From d3a9feeeee6f70462d12e48db5fd1cab9b183bc8 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 17 九月 2019 17:14:54 +0800 Subject: [PATCH] 更改goodsType --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java | 126 ++++++++++++++++++++++++++--------------- 1 files changed, 79 insertions(+), 47 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..c1f03ff 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 @@ -14,6 +14,7 @@ import org.yeshi.utils.encrypt.DESUtil; import com.alipay.api.AlipayApiException; +import com.yeshi.fanli.dto.wx.WXAccountInfoDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.BindingAccount; import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode; @@ -21,42 +22,48 @@ 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; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TBPid; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; -import com.yeshi.fanli.exception.AlipayAccountException; -import com.yeshi.fanli.exception.AlipayTransferException; -import com.yeshi.fanli.exception.UserAccountException; +import com.yeshi.fanli.exception.user.AlipayAccountException; +import com.yeshi.fanli.exception.user.AlipayTransferException; +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.config.ConfigService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService; +import com.yeshi.fanli.service.inter.money.UserMoneyService; +import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; +import com.yeshi.fanli.service.inter.money.extract.ExtractService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.service.inter.push.DeviceTokenHWService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; -import com.yeshi.fanli.service.inter.user.BindingAccountService; -import com.yeshi.fanli.service.inter.user.ExtractService; +import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; 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.UserMoneyService; 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.GsonUtil; 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; @@ -138,6 +145,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"; private static final String EXTRACT_MAX_MONEY = "extract_max_money"; @@ -203,8 +222,8 @@ tbUserInfo.setTbPic(tbPortrait); try { - LoginResult result = userAccountService.login(request, first, system.getAppid(), code, phone, tbUserInfo, - wxinstall, loginType); + LoginResult result = userAccountService.login(request, acceptData, first, system.getAppid(), code, phone, + tbUserInfo, wxinstall, loginType); if (result == null) LogHelper.error("login-result涓虹┖鍊�"); @@ -369,7 +388,10 @@ } UserInfo user = null; if (!StringUtil.isNullOrEmpty(code)) { - WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + WXAccountInfoDTO accountInfo = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, accountInfo.getAppId(), + accountInfo.getAppSecret()); if (weiXinUser == null) { out.print(JsonUtil.loadFalseResult(1, "鑾峰彇寰俊鐢ㄦ埛淇℃伅澶辫触")); return; @@ -463,10 +485,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 +583,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; } @@ -628,7 +644,7 @@ } try { - userAccountService.changeWXBind(uid, code); + userAccountService.changeWXBind(acceptData, uid, code); UserInfo user = userInfoService.getUserByIdWithMybatis(uid); // 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺 ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService @@ -638,10 +654,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 +928,6 @@ } redisManager.cacheCommonString(key, "1", 120); - - // 鏀粯瀹濈粦瀹� ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, account); @@ -925,10 +936,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; } @@ -937,10 +945,20 @@ String[] ALIPAY_CODES = new String[] { "SYSTEM_ERROR", "PERMIT_CHECK_PERM_LIMITED", "PERM_AML_NOT_REALNAME_REV", "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" }; + BindingAccount oldBindingAccount = bindingAccountService.getBindingAccountByUidAndType(uid, + BindingAccount.TYPE_ALIPAY); 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鍏冿紝鎻愮幇璐﹀彿淇℃伅鏈夎锛岃鏍稿鍚庨噸鏂板~鍐欍��"; @@ -962,7 +980,11 @@ } catch (AlipayAccountException e3) { // 璐︽埛鏃犱綑棰� if (e3.getCode() == AlipayAccountException.CODE_NO_MONEY) { - out.print(JsonUtil.loadFalseResult(5, "浣犵殑璐︽埛鐩墠娌℃湁浣欓锛屾棤闇�缁戝畾鎻愮幇璐﹀彿銆�")); + if (oldBindingAccount != null) { + out.print(JsonUtil.loadFalseResult(5, "褰撳墠璐︽埛娌℃湁浣欓锛屾棤闇�淇敼锛岃鏈変綑棰濆悗淇敼")); + } else { + out.print(JsonUtil.loadFalseResult(5, "褰撳墠璐︽埛娌℃湁浣欓锛岃鏈変綑棰濆悗缁戝畾")); + } return; // 鎻愮幇娆℃暟闄愬埗 } else if (e3.getCode() == AlipayAccountException.CODE_TIMES_LIMIT) { @@ -1144,7 +1166,7 @@ // 寰俊鐧诲綍 if (loginType == 2) { - userInfo = userAccountService.loginWinXin(request, loginType, code, system.getAppid()); + userInfo = userAccountService.loginWinXin(request, acceptData, loginType, code, system.getAppid()); } if (userInfo == null) { @@ -1157,8 +1179,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 +1196,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 +1282,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; } @@ -1287,7 +1322,7 @@ } try { - userAccountService.bindWeiXin(uid, code); + userAccountService.bindWeiXin(acceptData,uid, code); UserInfo user = userInfoService.getUserByIdWithMybatis(uid); // 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺 @@ -1298,10 +1333,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