From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 22 一月 2019 15:58:24 +0800 Subject: [PATCH] 邀请码添加返回状态 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java | 205 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 165 insertions(+), 40 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java index d12d4ae..e6f5c50 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; import com.alipay.api.AlipayApiException; import com.yeshi.fanli.entity.accept.AcceptData; @@ -29,10 +30,9 @@ import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.InviteGetMoneyService; import com.yeshi.fanli.service.inter.config.SystemService; -import com.yeshi.fanli.service.inter.goods.CollectionGoodsService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoMessageService; import com.yeshi.fanli.service.inter.hongbao.HongBaoService; +import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderItemServcie; @@ -43,19 +43,18 @@ import com.yeshi.fanli.service.inter.user.AccountMessageService; import com.yeshi.fanli.service.inter.user.BindingAccountService; import com.yeshi.fanli.service.inter.user.ExtractService; -import com.yeshi.fanli.service.inter.user.MoneyRecordService; -import com.yeshi.fanli.service.inter.user.PassWordErrorRecordService; 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.UserAccountService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.WxDownService; +import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; +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.account.UserUtil; import com.yeshi.fanli.util.wx.WXLoginUtil; -import org.yeshi.utils.JsonUtil; import net.sf.json.JSONObject; @@ -79,7 +78,7 @@ private HongBaoService hongBaoService; @Resource - private MoneyRecordService moneyRecordService; + private HongBaoV2Service hongBaoV2Service; @Resource private BindingAccountService bindingAccountService; @@ -88,16 +87,10 @@ private ExtractService extractService; @Resource - private PassWordErrorRecordService passWordErrorRecordService; - - @Resource private ConfigService configService; @Resource private SystemService systemService; - - @Resource - private HongBaoMessageService hongBaoMessageService; @Resource private ShamUserService shamUserService; @@ -118,12 +111,7 @@ private AccountMessageService accountMessageService; @Resource - private CollectionGoodsService collectionGoodsService; - @Resource private HongBaoManageService hongBaoManageService; - - @Resource - private WxDownService wxDownService; @Resource private UserAccountService userAccountService; @@ -142,6 +130,12 @@ @Resource private TaoBaoUnionConfigService taoBaoUnionConfigService; + + @Resource + private SpreadUserImgService spreadUserImgService; + + @Resource + private UserShareGoodsRecordService userShareGoodsRecordService; private static final String PASSWORD_MAX_ERROR = "password_max_error"; private static final String EXTRACT_MIN_MONEY = "extract_min_money"; @@ -162,14 +156,14 @@ @RequestMapping(value = "login") public void login(AcceptData acceptData, String code, String vcode, String phone, boolean wxinstall, String tbOpenid, String tbNickName, String tbPortrait, int loginType, Boolean first, HttpSession session, - PrintWriter out) { + HttpServletRequest request, PrintWriter out) { System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; } - if (loginType == 3)// 楠岃瘉鐭俊楠岃瘉鐮� + if (loginType == 3 && !Constant.IS_TEST)// 楠岃瘉鐭俊楠岃瘉鐮� { String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN); if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) { @@ -185,7 +179,7 @@ tbUserInfo.setTbName(tbNickName); tbUserInfo.setTbPic(tbPortrait); try { - LoginResult result = userAccountService.login(session, first, system.getAppid(), code, phone, tbUserInfo, + LoginResult result = userAccountService.login(request, first, system.getAppid(), code, phone, tbUserInfo, wxinstall, loginType); if (result == null) LogHelper.error("login-result涓虹┖鍊�"); @@ -204,6 +198,11 @@ root.put("data", data); out.print(JsonUtil.loadTrueResult(root)); } catch (UserAccountException e) { + try { + LogHelper.cookieLog("鐧诲綍鍑洪敊:" + e.getCode() + "-" + e.getMessage()); + } catch (Exception e1) { + e1.printStackTrace(); + } out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } } @@ -328,11 +327,35 @@ out.print(JsonUtil.loadFalseResult(1, "鑾峰彇寰俊鐢ㄦ埛淇℃伅澶辫触")); return; } - user = userAccountService.getUserInfoByWXUnionId(system.getAppid(), weiXinUser.getUnionid()); + try { + user = userAccountService.getUserInfoByWXUnionId(system.getAppid(), weiXinUser.getUnionid()); + } catch (UserAccountException e) { + try { + LogHelper.errorDetailInfo(e, null, "鑾峰彇鐢ㄦ埛淇℃伅鍑洪敊"); + } catch (Exception e1) { + e1.printStackTrace(); + } + } } else if (!StringUtil.isNullOrEmpty(tbOpenid)) { - user = userAccountService.getUserInfoByTaoBaoOpenId(system.getAppid(), tbOpenid); + try { + user = userAccountService.getUserInfoByTaoBaoOpenId(system.getAppid(), tbOpenid); + } catch (UserAccountException e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } } else if (!StringUtil.isNullOrEmpty(phone)) { - user = userAccountService.getUserInfoByPhone(system.getAppid(), phone); + try { + user = userAccountService.getUserInfoByPhone(system.getAppid(), phone); + } catch (UserAccountException e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } } if (user == null) { @@ -724,6 +747,97 @@ } } + @RequestMapping(value = "bindalipaywithverifynew") + public void bindAlipayWithVerifyNew(AcceptData acceptData, Long uid, String name, String account, PrintWriter out) { + + System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages()); + if (system == null) { + out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); + return; + } + + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼犵敤鎴稩D")); + return; + } + + if (StringUtil.isNullOrEmpty(name)) { + out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼犳敮浠樺疂瀹炲悕鍚嶇О")); + return; + } + + if (StringUtil.isNullOrEmpty(account)) { + out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼犳敮浠樺疂璐﹀彿")); + return; + } + + UserInfo user = userInfoService.getUserById(uid); + + boolean bind = redisManager.isBindAlipayAccountSMSStateValid(user.getPhone()); + if (!bind) { + out.print(JsonUtil.loadFalseResult(90002, "鎵嬫満楠岃瘉瓒呮椂")); + return; + } + + String key = "bindalipay-" + uid; + + if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key))) { + out.print(JsonUtil.loadFalseResult(1001, "鏈嶅姟鍣ㄧ箒蹇欙紝璇风◢鍚庨噸璇�")); + return; + } + redisManager.cacheCommonString(key, "1", 120); + // 鍙互灞曠ず缁欑敤鎴风湅鐨勯敊璇爜 + 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" }; + try { + BindingAccount bindingAccount = bindingAccountService.changeAlipayBindingWithVerify(uid, name, account); + out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount), + "绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆�")); + } catch (AlipayTransferException e1) { + if (e1.getSubCode().equalsIgnoreCase("PAYEE_NOT_EXIST")) { + String msg = "绯荤粺鏈兘鎴愬姛杞处0.1鍏冿紝鎻愮幇璐﹀彿淇℃伅鏈夎锛岃鏍稿鍚庨噸鏂板~鍐欍��"; + out.print(JsonUtil.loadFalseResult(1, msg)); + } else { + for (String st : ALIPAY_CODES) { + if (st.equalsIgnoreCase(e1.getSubCode())) { + out.print(JsonUtil.loadFalseResult(2, e1.getMsg())); + return; + } + } + out.print(JsonUtil.loadFalseResult(3, "鏀粯瀹濇帴鍙e嚭閿欙紝楠岃瘉澶辫触锛岃鑱旂郴瀹㈡湇銆�")); + return; + } + + } catch (AlipayApiException e2) { + out.print(JsonUtil.loadFalseResult(4, e2.getErrMsg())); + return; + } catch (AlipayAccountException e3) { + // 璐︽埛鏃犱綑棰� + if (e3.getCode() == AlipayAccountException.CODE_NO_MONEY) { + out.print(JsonUtil.loadFalseResult(5, "浣犵殑璐︽埛鐩墠娌℃湁浣欓锛屾棤闇�缁戝畾鎻愮幇璐﹀彿銆�")); + return; + // 鎻愮幇娆℃暟闄愬埗 + } else if (e3.getCode() == AlipayAccountException.CODE_TIMES_LIMIT) { + out.print(JsonUtil.loadFalseResult(6, "姣忔湀浠呭彲淇敼1娆℃彁鐜拌处鍙凤紝璇蜂笅鏈堝啀璇曞惂銆�")); + return; + } else { + out.print(JsonUtil.loadFalseResult(7, e3.getMsg())); + return; + } + + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + out.print(JsonUtil.loadFalseResult(8, "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝楠岃瘉澶辫触锛岃鑱旂郴瀹㈡湇銆�")); + } finally { + redisManager.removeCommonString(key); + } + } + /** * 鑾峰彇鐢ㄦ埛璧勯噾璇︽儏 * @@ -733,6 +847,7 @@ */ @RequestMapping(value = "getusermoney") public void getMoneyDetail(AcceptData acceptData, Long uid, PrintWriter out) { + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); if (user == null) { out.print(JsonUtil.loadFalseResult(2, "鐢ㄦ埛涓嶅瓨鍦�")); @@ -748,32 +863,42 @@ } BigDecimal moneyLastMonth = inviteGetMoneyService.getMoneyLastMonth(uid + ""); - BigDecimal unOpenmoney = hongBaoService.getUnOpenHongBaoByUid(uid); - BigDecimal totalFanMoney = hongBaoService.getMyTotalHongBaoByUid(user.getId()); + BigDecimal unOpenmoney = hongBaoV2Service.getUnRecievedFanLiMoney(uid); + BigDecimal totalFanMoney = hongBaoV2Service.getTotalFanLiMoney(uid); JSONObject data = new JSONObject(); + int spreadImgCount = spreadUserImgService.countUserSpreadImg(uid); + long shareCount = userShareGoodsRecordService.countShareRecordByUid(uid); + // IOS绔暟瀛楁寜鐓у瓧绗︿覆澶勭悊 if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) > 33) { data.put("moneyToday", moneyToday.setScale(2, BigDecimal.ROUND_DOWN).toString()); data.put("moneyMonth", moneyMonth.setScale(2, BigDecimal.ROUND_DOWN).toString()); - data.put("moneyLastMonth", moneyLastMonth.toString()); - data.put("money", user.getMyHongBao().toString()); - data.put("unGetMoney", unOpenmoney.toString()); - data.put("totalFanLiMoney", totalFanMoney.toString());// 绱杩斿埄 - data.put("totalTiChengMoney", hongBaoService.getTotalTiChengMoney(uid).toString());// 绱鎻愭垚 - data.put("totalUnGetTiChengMoney", hongBaoService.getUnGetTiChengMoney(uid).toString()); // 鏈埌璐︽彁鎴� + data.put("moneyLastMonth", moneyLastMonth.setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("money", user.getMyHongBao().setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("unGetMoney", unOpenmoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("totalFanLiMoney", totalFanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());// 绱杩斿埄 + data.put("totalTiChengMoney", + hongBaoV2Service.getTotalTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN).toString());// 绱鎻愭垚 + data.put("totalUnGetTiChengMoney", + hongBaoV2Service.getUnGetTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN).toString()); // 鏈埌璐︽彁鎴� // 灞曠ず鎻愭垚鏁版嵁 - data.put("showTiCheng", hongBaoService.getTotalTiChengCount(uid) > 0); + if (configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) + data.put("showTiCheng", false); + else + data.put("showTiCheng", spreadImgCount + shareCount > 0); } else { data.put("moneyToday", moneyToday.setScale(2, BigDecimal.ROUND_DOWN)); data.put("moneyMonth", moneyMonth.setScale(2, BigDecimal.ROUND_DOWN)); - data.put("moneyLastMonth", moneyLastMonth); - data.put("money", user.getMyHongBao()); - data.put("unGetMoney", unOpenmoney); - data.put("totalFanLiMoney", totalFanMoney);// 绱杩斿埄 - data.put("totalTiChengMoney", hongBaoService.getTotalTiChengMoney(uid));// 绱鎻愭垚 - data.put("totalUnGetTiChengMoney", hongBaoService.getUnGetTiChengMoney(uid)); // 鏈埌璐︽彁鎴� + data.put("moneyLastMonth", moneyLastMonth.setScale(2, BigDecimal.ROUND_DOWN)); + data.put("money", user.getMyHongBao().setScale(2, BigDecimal.ROUND_DOWN)); + data.put("unGetMoney", unOpenmoney.setScale(2, BigDecimal.ROUND_DOWN)); + data.put("totalFanLiMoney", totalFanMoney.setScale(2, BigDecimal.ROUND_DOWN));// 绱杩斿埄 + data.put("totalTiChengMoney", + hongBaoV2Service.getTotalTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN));// 绱鎻愭垚 + data.put("totalUnGetTiChengMoney", + hongBaoV2Service.getUnGetTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN)); // 鏈埌璐︽彁鎴� // 灞曠ず鎻愭垚鏁版嵁 - data.put("showTiCheng", hongBaoService.getTotalTiChengCount(uid) > 0); + data.put("showTiCheng", spreadImgCount + shareCount > 0); } user.setNoOpenHongBao(unOpenmoney); -- Gitblit v1.8.0