From e4a74cbbb4f34b9e88dfa6edb8296a7e5b9e127c Mon Sep 17 00:00:00 2001 From: hexiaohui <hexiaohui@LAPTOP-03V48RSB> Date: 星期日, 27 一月 2019 21:28:16 +0800 Subject: [PATCH] 增加分享活动订单及相关服务 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java | 163 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 145 insertions(+), 18 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java index bc89707..b5f3d47 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java @@ -10,6 +10,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.UUID; @@ -34,6 +35,7 @@ import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import com.yeshi.fanli.dto.HongBaoDTO; +import com.yeshi.fanli.entity.AppVersionInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.AccountDetails; import com.yeshi.fanli.entity.bus.user.AccountMessage; @@ -67,8 +69,10 @@ import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.exception.user.UserCustomSettingsException; +import com.yeshi.fanli.exception.user.UserInfoExtraException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.AdminUserService; +import com.yeshi.fanli.service.inter.config.AppVersionService; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.SystemService; import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; @@ -92,6 +96,7 @@ import com.yeshi.fanli.service.inter.user.UserAccountService; 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.UserInfoService; import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; @@ -113,6 +118,7 @@ import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.wx.WXLoginUtil; +import com.yeshi.fanli.vo.user.UserInfoExtraVO; import com.yeshi.fanli.vo.user.UserSettingsVO; import net.sf.json.JSONArray; @@ -205,10 +211,15 @@ @Resource private UserShareGoodsRecordService userShareGoodsRecordService; - + @Resource private UserCustomSettingsService userCustomSettingsService; - + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private AppVersionService appVersionService; private static final String PASSWORD_MAX_ERROR = "password_max_error"; private static final String EXTRACT_MIN_MONEY = "extract_min_money"; @@ -498,15 +509,38 @@ BigDecimal fanliHB = user.getTotalHongBao(); user.setTotalHongBao(fanliHB); + UserInfo filterForClientUser = UserUtil.filterForClientUser(user); + + // 1.5.0 鐗堟湰涔嬪悗杩斿洖鏂扮殑绛夌骇 + String version = acceptData.getVersion(); + if (version != null && version.trim().length() > 0) { + int versionCode = Integer.parseInt(version); + String platform = acceptData.getPlatform(); + + AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0"); + if (versionInfo != null) { + int versionCode150 = versionInfo.getVersionCode(); + if (versionCode >= versionCode150) { + UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId()); + if (userInfoExtra != null && userInfoExtra.getUserRank() != null) { + String picture = userInfoExtra.getUserRank().getPicture(); + String icon = userInfoExtra.getUserRank().getIcon(); + filterForClientUser.setRankNamePicture(picture); + filterForClientUser.setRankIcon(icon); + } + } + } + } + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); JSONObject data = new JSONObject(); - data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create() - .toJson(UserUtil.filterForClientUser(user))); + data.put("user", + JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(filterForClientUser)); data.put("first", 0); int spreadImgCount = spreadUserImgService.countUserSpreadImg(user.getId()); long shareCount = userShareGoodsRecordService.countShareRecordByUid(user.getId()); - + int showTiCheng = 1; // 涓嶆樉绀� if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) @@ -524,16 +558,16 @@ Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName())); else data.put("inviteList", configService.get("team_list")); - + // 鐣岄潰鐘舵�� - UserSettingsVO mySettings = null; + UserSettingsVO mySettings = null; try { mySettings = userCustomSettingsService.getMySettings(user.getId()); } catch (UserCustomSettingsException e) { mySettings = new UserSettingsVO(); e.printStackTrace(); } - + if (mySettings.getCancelNotice() == null) { mySettings.setCancelNotice(0); } @@ -549,9 +583,9 @@ if (mySettings.getNoInvitationBonus() == null) { mySettings.setNoInvitationBonus(0); } - + data.put("moduleState", mySettings); - + out.print(JsonUtil.loadTrueResult(data)); final UserInfo uuser = user; ThreadUtil.run(new Runnable() { @@ -561,6 +595,13 @@ uuser.setLastLoginTime(java.lang.System.currentTimeMillis()); userInfoService.updateLoginInfo(uuser); wxDownService.save(device); + // 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔� + try { + userInfoExtraService.updateUserRankByUid(uuser.getId()); + } catch (UserInfoExtraException e) { + e.printStackTrace(); + } + } }); } @@ -1976,27 +2017,38 @@ e.printStackTrace(); } } - - + /** - * 璁剧疆鐣岄潰寮�鍏崇姸鎬� + * 璁剧疆鐣岄潰寮�鍏崇姸鎬� + * * @param acceptData * @param uid - * @param type 1-閫氱煡鍏嶆墦鎵�(20:00-8:00) 2-涓嶇湅娑堟伅绾㈢偣鎻愰啋 3-涓嶇湅濂栭噾缁熻 涓嶇湅閭�璇锋嬁濂栭噾 4-涓嶇湅鍒嗕韩璁板綍鍜岄�夊搧搴� 涓嶇湅娑堟伅绾㈢偣鎻愰啋 - * @param state 0鍏抽棴 1寮�鍚� + * @param params * @param out */ @RequestMapping(value = "setModuleState", method = RequestMethod.POST) - public void setModuleState(AcceptData acceptData, Long uid, Integer type, Integer state, PrintWriter out) { + public void setModuleState(AcceptData acceptData, Long uid, String params, PrintWriter out) { if (uid == null) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } - + try { - userCustomSettingsService.saveModuleState(uid, type, state); + if (params == null || params.trim().length() == 0) { + out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁负绌�")); + return; + } + + JSONObject json = JSONObject.fromObject(params); + Iterator<String> iterator = json.keys(); + while (iterator.hasNext()) { + String type = (String) iterator.next(); + int state = json.getInt(type); + userCustomSettingsService.saveModuleState(uid, type, state); + } out.print(JsonUtil.loadTrueResult("璁剧疆鎴愬姛")); + } catch (UserCustomSettingsException e) { out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { @@ -2005,5 +2057,80 @@ } } + /** + * 鑾峰彇绛夌骇淇℃伅 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getRankInfo", method = RequestMethod.POST) + public void getRankInfo(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + try { + UserInfoExtraVO rankInfo = userInfoExtraService.getRankInfo(uid); + GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()); + gsonBuilder.excludeFieldsWithoutExposeAnnotation(); + Gson gson = gsonBuilder.setDateFormat("yyyy.MM.dd").create(); + + JSONObject resultData = new JSONObject(); + resultData.put("rankInfo", gson.toJson(rankInfo)); + + out.print(JsonUtil.loadTrueResult(resultData)); + + } catch (UserInfoExtraException e) { + out.print(JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鑾峰彇绛夌骇淇℃伅 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getUserConfig", method = RequestMethod.POST) + public void getUserConfig(AcceptData acceptData, Long uid, PrintWriter out) { + + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + try { + + String inviteCode = userInfoExtraService.getUserInviteCode(uid); + + JSONObject inviteData = new JSONObject(); + if (inviteCode == null || inviteCode.trim().length() == 0) { + // 鏃犻個璇风爜 + inviteData.put("content", "閭�璇锋縺娲�"); + inviteData.put("link", configService.get("invite_activation_url")); + } else { + // 宸叉湁閭�璇风爜 + inviteData.put("content", "閭�璇风爜"); + inviteData.put("link", configService.get("invite_activation_success_url")); + } + + JSONObject data = new JSONObject(); + data.put("invite", inviteData); + + out.print(JsonUtil.loadTrueResult(data)); + + } catch (UserInfoExtraException e) { + out.print(JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); + e.printStackTrace(); + } + } } -- Gitblit v1.8.0