From 851e43f3d0a79154cb4dc3a55738a83a97797c2d Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 13 十一月 2019 10:04:34 +0800 Subject: [PATCH] 红包提现次数限制 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 110 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 81 insertions(+), 29 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 01b14a6..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; @@ -111,6 +118,7 @@ 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,7 +222,15 @@ @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"; @@ -261,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()); @@ -289,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) { @@ -384,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; @@ -643,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("缁戝畾澶辫触锛岀敤鎴峰紓甯歌閲嶈瘯锛�")); @@ -1080,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) { @@ -1195,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("鏈夌淮鏉冭鍗曞皻鏈墸娆�")); } @@ -1390,7 +1416,6 @@ } } - /** * h5鏀惰棌 * @@ -1697,7 +1722,6 @@ } - /** * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ 1.5.3鏌ヨ鏈夋晥闃熷憳 * @@ -1832,7 +1856,6 @@ e.printStackTrace(); } } - /** * 鐢ㄦ埛闃熷憳淇℃伅淇濆瓨 1.4.1 @@ -2037,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 { @@ -2062,6 +2086,7 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); userActiveLogService.addUserActiveLog(userActiveLog); // 澶勭悊鐢ㄦ埛淇℃伅 @@ -2124,25 +2149,45 @@ userInfo.setRankNamePicture(null); userInfo.setRankIcon(null); } - + // 1.6.5 涔嬪悗杩斿洖鎬у埆銆佸井淇″彿 - if(VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { - if(userInfoExtra.getSex() != null) + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { + if (userInfoExtra.getSex() != null) userInfo.setSex(userInfoExtra.getSex()); - - if(!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) + + if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) userInfo.setWeiXin(userInfoExtra.getWeiXin()); } } // 1.6.5 涔嬪悗杩斿洖 寰俊鍙锋彁绀� - if(VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) + 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() { @@ -2256,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("鐢ㄦ埛鏈櫥褰�")); @@ -2269,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); @@ -2301,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