From 221b5c8d0de3f6b17a00d543503a79c13b28ba12 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 十一月 2019 16:45:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 189 +++++++++++++++++++++++++++++----------------- 1 files changed, 118 insertions(+), 71 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java index 9231859..206ac38 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java @@ -40,9 +40,11 @@ import com.yeshi.fanli.dto.HongBaoDTO; import com.yeshi.fanli.dto.money.AccountDetails; import com.yeshi.fanli.dto.order.OrderItem; +import com.yeshi.fanli.dto.wx.WXAccountInfoDTO; import com.yeshi.fanli.entity.AppVersionInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.AccountMessage; +import com.yeshi.fanli.entity.bus.user.BindRemind; import com.yeshi.fanli.entity.bus.user.BindingAccount; import com.yeshi.fanli.entity.bus.user.Extract; import com.yeshi.fanli.entity.bus.user.ExtractRecord; @@ -53,6 +55,7 @@ import com.yeshi.fanli.entity.bus.user.UserActiveLog; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum; import com.yeshi.fanli.entity.bus.user.WeiXinUser; import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.common.Config; @@ -60,13 +63,14 @@ import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.order.HongBaoOrder; +import com.yeshi.fanli.entity.redpack.RedPackBalance; import com.yeshi.fanli.entity.system.BusinessSystem; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; -import com.yeshi.fanli.exception.BindingAccountException; import com.yeshi.fanli.exception.goods.CollectionGoodsException; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.exception.user.BindingAccountException; import com.yeshi.fanli.exception.user.UserCustomSettingsException; import com.yeshi.fanli.exception.user.UserInfoException; import com.yeshi.fanli.exception.user.UserInfoExtraException; @@ -77,18 +81,19 @@ import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; +import com.yeshi.fanli.service.inter.money.extract.ExtractRecordService; +import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; +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.redpack.RedPackBalanceService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService; import com.yeshi.fanli.service.inter.user.AccountMessageService; -import com.yeshi.fanli.service.inter.user.BindingAccountService; -import com.yeshi.fanli.service.inter.user.ExtractRecordService; -import com.yeshi.fanli.service.inter.user.ExtractService; +import com.yeshi.fanli.service.inter.user.BindRemindService; import com.yeshi.fanli.service.inter.user.MaskKeyService; import com.yeshi.fanli.service.inter.user.ShamUserService; import com.yeshi.fanli.service.inter.user.SpreadUserImgService; @@ -96,9 +101,11 @@ import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleExtraInfoSerivce; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.GsonUtil; @@ -108,8 +115,10 @@ import com.yeshi.fanli.util.ThreadUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.Utils; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKey; +import com.yeshi.fanli.util.annotation.UserActive; import com.yeshi.fanli.util.email.MailSenderUtil; import com.yeshi.fanli.util.factory.AccountDetailsFactory; import com.yeshi.fanli.util.factory.HongBaoFactory; @@ -214,6 +223,16 @@ @Resource private UserTaoLiJinDetailService userTaoLiJinDetailService; + @Resource + private UserInfoModifyRecordService userInfoModifyRecordService; + + @Resource + private BindRemindService bindRemindService; + + @Resource + private RedPackBalanceService redPackBalanceService; + + 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"; @@ -258,6 +277,8 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); + userActiveLogService.addUserActiveLog(userActiveLog); outUserInfo(acceptData, out, remotIP, find, acceptData.getDevice()); @@ -286,7 +307,9 @@ int loginType = form.getLoginType(); // WeiXinUserParam wxParam = null; // 濡傛灉鏄井淇$櫥闄嗭紝閭i渶瑕佸厛鑾峰彇鍒板井淇$殑unionid - WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(), + account.getAppSecret()); if (loginType == Constant.WEIXIN && StringUtil.isNullOrEmpty(form.getWxUnionId())) { // wxParam = WXinUtil.getWxParam(code); if (weiXinUser == null) { @@ -381,7 +404,11 @@ * StringUtil.isNullOrEmpty(form * .getWxOpenId()) */) { - WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + + WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + + WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(), + account.getAppSecret()); if (xinUser == null) { out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触")); return; @@ -640,7 +667,9 @@ } int loginType = form.getLoginType(); if (loginType == Constant.WEIXIN) { - WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(), + account.getAppSecret()); if (weiXinUser == null) { out.print(JsonUtil.loadFalseResult("缁戝畾澶辫触锛岀敤鎴峰紓甯歌閲嶈瘯锛�")); @@ -1077,7 +1106,7 @@ * @param type * @param out */ - @RequestSerializableByKey(key = "uid") + @RequestSerializableByKey(key = "#uid") @RequestMapping(value = "extractmoneynew", method = RequestMethod.POST) public void extractMoneyNew(AcceptData acceptData, long uid, BigDecimal money, String vcode, HttpServletRequest request, int type, PrintWriter out) { @@ -1192,7 +1221,7 @@ } else if (etype == 3) { out.print(JsonUtil.loadFalseResult("鎻愮幇閲戦澶т簬鎴戠殑绾㈠寘")); } else if (etype == 111) { - out.print(JsonUtil.loadFalseResult("鏇存崲浜嗘墜鏈哄彿鍚�7澶╁唴涓嶅厑璁告彁鐜�")); + out.print(JsonUtil.loadFalseResult("淇敼鎵嬫満鍙峰悗锛�7澶╁唴鏃犳硶鎻愮幇")); } else if (etype == 110) { out.print(JsonUtil.loadFalseResult("鏈夌淮鏉冭鍗曞皻鏈墸娆�")); } @@ -1387,7 +1416,6 @@ } } - /** * h5鏀惰棌 * @@ -1727,15 +1755,10 @@ bossData = new JSONObject(); UserInfo boss = threeSale.getBoss(); if (boss != null) { - bossData.put("bossId", boss.getId()); bossData.put("nickName", boss.getNickName()); bossData.put("portrait", boss.getPortrait()); - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(boss.getId()); - if (userInfoExtra != null) - bossData.put("weiXin", userInfoExtra.getWeiXin()); } - SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); Long createTime = threeSale.getCreateTime(); Date inviteTime = new Date(createTime); @@ -1832,7 +1855,6 @@ out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); } - } /** @@ -1847,48 +1869,35 @@ */ @RequestMapping(value = "setextrainfo", method = RequestMethod.POST) public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) { - - try { - List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null); - if (listThreeSale == null || listThreeSale.size() == 0) { - out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); - return; - } - - UserInfo worker = listThreeSale.get(0).getWorker(); - if (worker == null) { - out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); - return; - } - - List<ThreeSaleExtraInfo> list = threeSaleExtraInfoSerivce.listbyBossIdAndWorkerId(uid, worker.getId()); - if (list == null || list.size() == 0) { - - ThreeSaleExtraInfo extraInfo = new ThreeSaleExtraInfo(); - extraInfo.setWorker(worker); - extraInfo.setNickname(memoName); - extraInfo.setCreateTime(new Date()); - extraInfo.setUpdateTime(new Date()); - - UserInfo boss = new UserInfo(uid); - extraInfo.setBoss(boss); - - threeSaleExtraInfoSerivce.insert(extraInfo); - - } else { - ThreeSaleExtraInfo extraInfo = list.get(0); - extraInfo.setNickname(memoName); - extraInfo.setUpdateTime(new Date()); - threeSaleExtraInfoSerivce.updateByPrimaryKey(extraInfo); - } - - out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触")); - e.printStackTrace(); + List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null); + if (listThreeSale == null || listThreeSale.size() == 0) { + out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); + return; } + UserInfo worker = listThreeSale.get(0).getWorker(); + if (worker == null) { + out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); + return; + } + + ThreeSaleExtraInfo extraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, worker.getId()); + if (extraInfo == null) { + extraInfo = new ThreeSaleExtraInfo(); + extraInfo.setWorker(worker); + extraInfo.setNickname(memoName); + extraInfo.setCreateTime(new Date()); + extraInfo.setUpdateTime(new Date()); + extraInfo.setBoss(new UserInfo(uid)); + threeSaleExtraInfoSerivce.insertSelective(extraInfo); + } else { + ThreeSaleExtraInfo updateInfo = new ThreeSaleExtraInfo(); + updateInfo.setId(extraInfo.getId()); + updateInfo.setNickname(memoName); + updateInfo.setUpdateTime(new Date()); + threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(updateInfo); + } + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } /** @@ -2051,6 +2060,7 @@ * @param requst * @param out */ + @UserActive(uid = "#uid") @RequestMapping(value = "getuserinfoNew", method = RequestMethod.POST) public void getuserinfoNew(AcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) { try { @@ -2076,6 +2086,7 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); userActiveLogService.addUserActiveLog(userActiveLog); // 澶勭悊鐢ㄦ埛淇℃伅 @@ -2138,16 +2149,45 @@ userInfo.setRankNamePicture(null); userInfo.setRankIcon(null); } - - userInfo.setSex(userInfoExtra.getSex()); - userInfo.setWeiXin(userInfoExtra.getWeiXin()); - } + // 1.6.5 涔嬪悗杩斿洖鎬у埆銆佸井淇″彿 + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { + if (userInfoExtra.getSex() != null) + userInfo.setSex(userInfoExtra.getSex()); + + if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) + userInfo.setWeiXin(userInfoExtra.getWeiXin()); + } + } + // 1.6.5 涔嬪悗杩斿洖 寰俊鍙锋彁绀� + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) + userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜屼竴绾ч槦鍛樺彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�"); + data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo)); data.put("invitCode", invitCode); // 閭�璇风爜 data.put("welfareCenterNews", welfareCenterNews);// 绂忓埄涓績娑堟伅 + + // 2.0.1涔嬪悗缁戝畾鎵嬫満鍙� + if (VersionUtil.greaterThan_2_0_1(acceptData.getPlatform(), acceptData.getVersion())) { + boolean bindPhone = false; + if (StringUtil.isNullOrEmpty(userInfo.getPhone())) + bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE); + data.put("bindPhone", bindPhone); + } + + // 2.0.2 鐗堟湰 + if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) { + RedPackBalance redPackBalance = redPackBalanceService.selectByPrimaryKey(uid); + if (redPackBalance != null && redPackBalance.getState() != null && + redPackBalance.getState() == RedPackBalance.STATE_LOCKED) { + data.put("redPackLock", RedPackBalance.STATE_LOCKED); + } else { + data.put("redPackLock", RedPackBalance.STATE_INIT); + } + } + out.print(JsonUtil.loadTrueResult(data)); - + final UserInfo uuser = userInfo; ThreadUtil.run(new Runnable() { public void run() { @@ -2261,7 +2301,8 @@ * @param out */ @RequestMapping(value = "saveInfo") - public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid, PrintWriter out) { + public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid, + PrintWriter out) { try { if (uid == null) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); @@ -2274,30 +2315,34 @@ out.print(JsonUtil.loadFalseResult("鏄电О杩囬暱")); return; } - + if (maskKeyService.examineContent(nickName)) { out.print(JsonUtil.loadFalseResult("涓嶈兘鍖呭惈鏁忔劅璇嶆眹")); return; } userInfoService.saveUserInfo(nickName, uid); + + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.nickName, nickName); } - + // 淇敼寰俊鍙� if (!StringUtil.isNullOrEmpty(weiXin)) { if (weiXin.length() > 32) { out.print(JsonUtil.loadFalseResult("寰俊鍙疯繃闀�")); return; } - + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); if (userInfoExtra != null) { UserInfoExtra extra = new UserInfoExtra(); extra.setId(userInfoExtra.getId()); extra.setWeiXin(weiXin); userInfoExtraService.saveUserInfoExtra(extra); + + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.setWeiXinNum, weiXin); } } - + // 淇敼鎬у埆 if (sex != null && sex > 0 && sex < 3) { UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); @@ -2306,6 +2351,8 @@ extra.setId(userInfoExtra.getId()); extra.setSex(sex); userInfoExtraService.saveUserInfoExtra(extra); + + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + ""); } } out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); -- Gitblit v1.8.0