From 626d711cb15896055c13fe344eb7fcc824589715 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 19 十二月 2019 15:38:42 +0800 Subject: [PATCH] 帮助中心 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java | 149 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 135 insertions(+), 14 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java index 0416440..1bc7d53 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java @@ -5,12 +5,15 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.DateUtil; import org.yeshi.utils.JsonUtil; import com.yeshi.fanli.dto.wx.WXAccountInfoDTO; @@ -21,19 +24,29 @@ import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.UserInviteSeparate; import com.yeshi.fanli.entity.bus.user.WeiXinUser; +import com.yeshi.fanli.entity.system.BusinessSystem; +import com.yeshi.fanli.entity.system.SystemClientParams; import com.yeshi.fanli.exception.user.UserAccountException; import com.yeshi.fanli.exception.user.UserInfoExtraException; +import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.config.SpreadImgService; +import com.yeshi.fanli.service.inter.config.SystemClientParamsService; import com.yeshi.fanli.service.inter.msg.UserSystemMsgService; import com.yeshi.fanli.service.inter.push.PushService; +import com.yeshi.fanli.service.inter.user.SpreadUserImgService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.UserInviteSeparateService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleExtraInfoSerivce; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKey; import com.yeshi.fanli.util.wx.WXLoginUtil; @@ -46,7 +59,7 @@ @Resource private RedisManager redisManager; - + @Resource private ConfigService configService; @@ -68,6 +81,23 @@ @Resource private ThreeSaleExtraInfoSerivce threeSaleExtraInfoSerivce; + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private UserInviteSeparateService userInviteSeparateService; + + @Resource + private SpreadImgService spreadImgService; + + @Resource + private SpreadUserImgService spreadUserImgService; + + @Resource + private SystemClientParamsService systemClientParamsService; + + + /** * 閭�璇风爜楠岃瘉 * @@ -100,17 +130,17 @@ WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(code, wxAccount.getAppId(), wxAccount.getAppSecret()); if (weiXinUser == null) throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触"); - + String wxUnionId = weiXinUser.getUnionid(); if (wxUnionId == null || wxUnionId.trim().length() == 0) throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触"); - + String activeWX = StringUtil.Md5("activeWX:" + weiXinUser.getUnionid()); redisManager.cacheCommonString(activeWX, JsonUtil.getSimpleGson().toJson(weiXinUser), 60 * 20); - + // 閭�璇峰叧绯荤敤鎴蜂俊鎭� UserInfo userInfo = userInfoExtraService.getInviterInfo(uid, wxUnionId); - + JSONObject data = new JSONObject(); data.put("nickName", userInfo.getNickName()); data.put("portrait", userInfo.getPortrait()); @@ -124,9 +154,11 @@ /** * 寰俊婵�娲� + * * @param acceptData * @param uid - * @param key 楠岃瘉杩斿洖鐨刱ey + * @param key + * 楠岃瘉杩斿洖鐨刱ey * @param out */ @RequestSerializableByKey(key = "'activeInviteWX-'+#uid") @@ -136,15 +168,15 @@ String value = redisManager.getCommonString(key); if (StringUtil.isNullOrEmpty(value)) throw new UserAccountException(1, "寰俊鎺堟潈澶辨晥"); - + WeiXinUser weiXinUser = JsonUtil.getSimpleGson().fromJson(value, WeiXinUser.class); if (weiXinUser == null) throw new UserAccountException(1, "寰俊鎺堟潈澶辨晥"); - + userInfoExtraService.activeInviteWX(uid, weiXinUser); // 鍒犻櫎缂撳瓨 redisManager.removeCommonString(key); - + out.print(JsonUtil.loadTrueResult("閭�璇风爜婵�娲绘垚鍔�")); } catch (UserInfoExtraException e) { out.print(JsonUtil.loadFalseResult(e.getMsg())); @@ -153,9 +185,7 @@ e.printStackTrace(); } } - - - + /** * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ 1.5.3鏌ヨ鏈夋晥闃熷憳 * @@ -180,8 +210,12 @@ count = threeSaleSerivce.countSecondTeam(uid, 1); } + boolean needVIPInfo = false; + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) + needVIPInfo = true; + // 缁勭粐鏁版嵁 - JSONObject resultData = organizeTeam(count, listTeam, uid, type); + JSONObject resultData = organizeTeam(count, listTeam, uid, type,needVIPInfo); // 绗竴椤靛垽鏂槸鍚︽縺娲� 鏄惁鏈夐槦鍛� if (type == 1 && page == 1) { @@ -206,7 +240,7 @@ * @param type * @return */ - private JSONObject organizeTeam(long count, List<ThreeSale> list, Long uid, int type) { + private JSONObject organizeTeam(long count, List<ThreeSale> list, Long uid, int type, boolean needVipInfo) { JSONObject result = new JSONObject(); JSONArray resultArray = new JSONArray(); @@ -215,6 +249,14 @@ SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); SimpleDateFormat formatYears = new SimpleDateFormat("yyyy"); + List<Long> workerIdList = new ArrayList<>(); + Map<Long, Boolean> vipMap = null; + if (needVipInfo) { + for (ThreeSale threeSale : list) + workerIdList.add(threeSale.getWorker().getId()); + if (workerIdList.size() > 0) + vipMap = userVIPInfoService.listByUids(workerIdList); + } for (ThreeSale threeSale : list) { UserInfo worker = threeSale.getWorker(); if (worker == null) { @@ -230,7 +272,39 @@ Date inviteTime = new Date(threeSale.getCreateTime()); object.put("inviteTime", format.format(inviteTime) + " 鍔犲叆"); + // 娣诲姞鏄惁涓篤IP + if (vipMap != null && vipMap.get(worker.getId()) != null) { + object.put("vip", vipMap.get(worker.getId())); + if (vipMap.get(worker.getId())) { + UserInviteSeparate separate = userInviteSeparateService.selectByWorkerIdAndBossId(worker.getId(), uid); + if (separate != null && separate.getEndTime() != null) { + try { + + + JSONObject contentJson1 = new JSONObject(); + contentJson1.put("color", "#888888"); + contentJson1.put("content", "灏嗕簬"); + JSONObject contentJson2 = new JSONObject(); + contentJson2.put("color", "#F14242"); + contentJson2.put("content", DateUtil.dateDiff4(new Date(), separate.getEndTime())); + + JSONObject contentJson3 = new JSONObject(); + contentJson3.put("color", "#888888"); + contentJson3.put("content", "鍚庤劚绂婚個璇峰叧绯�"); + + JSONArray array = new JSONArray(); + array.add(contentJson1); + array.add(contentJson2); + array.add(contentJson3); + object.put("vipBreakTime",array); + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } String fontColor1 = "#888888"; JSONArray array = new JSONArray(); if (threeSale.getState()) { @@ -487,4 +561,51 @@ out.print(JsonUtil.loadFalseResult("鎻愰啋澶辫触")); } } + + + @RequestSerializableByKey(key = "'getInviteImgs-'+#uid") + @RequestMapping(value = "/getInviteImgs", method = RequestMethod.POST) + public void getInviteImgs(AcceptData acceptData, Long uid, Integer page, PrintWriter out, HttpServletRequest request) { + if (uid == null || uid <= 0) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (page == null || page < 1) + page = 1; + + try { + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); + if (StringUtil.isNullOrEmpty(inviteCode)) { + out.print(JsonUtil.loadFalseResult("閭�璇风爜鏈縺娲�")); + return; + } + + int count = 3; + if (page > 1) + count = Integer.MAX_VALUE; + + // 閭�璇峰浘 + List<String> imgList = spreadUserImgService.getUserSpreadImgToPage(uid, page, count, request); + + // 閭�璇疯鍒� + BusinessSystem system = new BusinessSystem(); + system.setId(4L); + system.setPlatform(1); + system.setCreatetime(java.lang.System.currentTimeMillis()); + SystemClientParams values = systemClientParamsService.getSystemClientParamsBySystemAndKey(system, "inviteRules"); + + JSONObject data = new JSONObject(); + data.put("count", spreadImgService.countAll()); + data.put("inviteCode", inviteCode); + data.put("helpLink", configService.get("invite_help_link")); + data.put("inviteRules", values.getValue().replace("\n", "<br><br>")); + data.put("imgUrlList", JsonUtil.getSimpleGsonWithDate().toJson(imgList)); + data.put("inviteLink", "http://a.app.qq.com/o/simple.jsp?pkgname=com.yeshi.ec.rebate"); + out.print(JsonUtil.loadTrue(0, JsonUtil.getSimpleGson().toJson(data), "鎴愬姛")); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + out.print(JsonUtil.loadFalseResult("閭�璇蜂俊鎭幏鍙栧け璐�")); + } + } } -- Gitblit v1.8.0