From 5710fee2bd5c323096377a72d837050dd52d93b1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 03 一月 2023 14:32:14 +0800
Subject: [PATCH] 修复抖音订单更新问题/修复用户注销却自动封禁的bug
---
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java | 717 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 359 insertions(+), 358 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java
index 0e25b4c..c60632a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java
@@ -1,358 +1,359 @@
-package com.yeshi.fanli.controller.wxmp.v1;
-
-import java.io.PrintWriter;
-import java.math.BigDecimal;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.multipart.MultipartFile;
-import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.entity.wx.WXMPSessionInfo;
-import org.yeshi.utils.wx.WXXCXUtil;
-
-import com.google.gson.GsonBuilder;
-import com.yeshi.fanli.dto.WXMPAcceptData;
-import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.user.ThreeSale;
-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.system.BusinessSystem;
-import com.yeshi.fanli.exception.user.UserInfoException;
-import com.yeshi.fanli.exception.user.UserInfoExtraException;
-import com.yeshi.fanli.service.inter.config.BusinessSystemService;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.user.MaskKeyService;
-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.invite.ThreeSaleSerivce;
-import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
-import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.ThreadUtil;
-import com.yeshi.fanli.util.VersionUtil;
-import com.yeshi.fanli.util.annotation.UserActive;
-import com.yeshi.fanli.vo.user.UserInfoExtraVO;
-
-import net.sf.json.JSONObject;
-
-@Controller("WXMPUserController")
-@RequestMapping("/wxmp/api/v1/user")
-public class UserController {
-
- public final static String WXMP_SESSION_INFO_KEY = "WXMP-SESSION-INFO";
-
- @Resource
- private UserInfoExtraService userInfoExtraService;
-
- @Resource
- private MaskKeyService maskKeyService;
-
- @Resource
- private UserInfoService userInfoService;
-
- @Resource
- private UserInfoModifyRecordService userInfoModifyRecordService;
-
- @Resource
- private UserVIPInfoService userVIPInfoService;
-
- @Resource
- private UserActiveLogService userActiveLogService;
-
- @Resource
- private BusinessSystemService businessSystemService;
-
- @Resource
- private UserCustomSettingsService userCustomSettingsService;
-
- @Resource
- private ThreeSaleSerivce threeSaleSerivce;
-
- @Resource
- private ConfigService configService;
-
- @Resource
- private UserVipConfigService userVipConfigService;
-
- /**
- * 鑾峰彇openId
- *
- * @param acceptData
- * @param code
- * @param out
- */
- @RequestMapping("getOpenId")
- public void getOpenId(WXMPAcceptData acceptData, String code, HttpSession session, PrintWriter out) {
- if (StringUtil.isNullOrEmpty(code)) {
- out.print(JsonUtil.loadFalseResult("code涓虹┖"));
- return;
- }
-
- WXMPSessionInfo info = WXXCXUtil.getSessionInfo(Constant.WXMP_APP_INFO, code);
- if (info != null) {
- session.setAttribute(WXMP_SESSION_INFO_KEY, info);
- JSONObject data = new JSONObject();
- data.put("openId", info.getOpenId());
- out.print(JsonUtil.loadTrueResult(data));
- } else {
- out.print(JsonUtil.loadFalseResult("openId鑾峰彇澶辫触"));
- }
- }
-
- @RequestMapping(value = "saveInfo")
- public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid,
- String inviteCode, MultipartFile qrCodeFile, HttpServletRequest request, PrintWriter out) {
- try {
- if (uid == null) {
- out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
- return;
- }
-
- // 淇敼鏄电О
- if (!StringUtil.isNullOrEmpty(nickName)) {
- if (nickName.length() > 200) {
- 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);
- if (userInfoExtra != null) {
- UserInfoExtra extra = new UserInfoExtra();
- extra.setId(userInfoExtra.getId());
- extra.setSex(sex);
- userInfoExtraService.saveUserInfoExtra(extra);
-
- userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + "");
- }
- }
-
- if (!StringUtil.isNullOrEmpty(inviteCode)) {// 閭�璇风爜涓嶄负绌�
- inviteCode = inviteCode.trim();
- if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
-
- if (!userVIPInfoService.isVIP(uid)) {
- out.print(JsonUtil.loadFalseResult(20, "鍙湁瓒呯骇浼氬憳鎵嶈兘淇敼"));
- return;
- }
-
- try {
- userInfoExtraService.updateInviteCodeVip(inviteCode, uid);
- out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
- return;
- } catch (UserInfoExtraException e) {
- out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
- }
- } else {
- out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜蹇呴』涓�4鍒�12浣�"));
- return;
- }
- }
-
- // 浜岀淮鐮�
- if (qrCodeFile != null) {
- userInfoExtraService.uploadERCode(qrCodeFile, uid);
- }
-
- out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
- } catch (UserInfoException e) {
- out.print(JsonUtil.loadFalseResult(e.getMsg()));
- e.printStackTrace();
- } catch (Exception e) {
- out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触"));
- e.printStackTrace();
- }
- }
-
- private void outUserInfoHandle(UserInfo user) {
-
- // 绾㈠寘澶勭悊
- user.setTotalHongBao(new BigDecimal(0));
- user.setNoOpenHongBao(new BigDecimal(0));
- user.setCanOpenHongBao(new BigDecimal(0));
-
- // 鐢佃瘽鍙风爜澶勭悊
- if (!StringUtil.isNullOrEmpty(user.getPhone())) {
- if (user.getPhone().length() > 5) {
- String phone = user.getPhone().substring(0, 3);
- phone += "******";
- phone += user.getPhone().substring(user.getPhone().length() - 2, user.getPhone().length());
- user.setPhone(phone);
- }
- }
-
- UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
- if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
- String picture = userInfoExtra.getUserRank().getPicture();
- String icon = userInfoExtra.getUserRank().getIcon();
- user.setRankNamePicture(picture);
- user.setRankIcon(icon);
- }
- }
-
- /**
- * 鑾峰彇鐢ㄦ埛淇℃伅
- *
- * @param acceptData
- * @param form
- * @param requst
- * @param out
- */
- @UserActive(uid = "#uid")
- @RequestMapping(value = "getUserInfo")
- public void getuserinfoNew(WXMPAcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) {
- try {
- BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
- acceptData.getAppId());
- if (system == null) {
- out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
- return;
- }
-
- if (uid == null) {
- out.print(JsonUtil.loadFalseResult("璇锋眰鍙傛暟涓虹┖"));
- return;
- }
-
- UserInfo userInfo = userInfoService.getUserInfo(uid);
-
- // 娣诲姞鐢ㄦ埛娲昏穬璁板綍
- UserActiveLog userActiveLog = new UserActiveLog();
- userActiveLog.setChannel("wxmp");
- userActiveLog.setIp(requst.getRemoteHost());
- userActiveLog.setUid(userInfo.getId());
- userActiveLog.setVersionCode(acceptData.getVersion());
- userActiveLog.setOsVersion(acceptData.getWxVersion());
- userActiveLog.setDeviceType("wxmp");
- userActiveLog.setDevice(acceptData.getDevice());
- userActiveLogService.addUserActiveLog(userActiveLog);
-
- // 澶勭悊鐢ㄦ埛淇℃伅
- outUserInfoHandle(userInfo);
- userInfo.setVip(userVIPInfoService.isVIP(uid));
-
- GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
- JSONObject data = new JSONObject();
-
- boolean tailor = false;
- int welfareCenterNews = 0;
- String invitCode = null;
- UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra != null) {
- if (userInfoExtra.getCouponNews() != null) {
- welfareCenterNews = userInfoExtra.getCouponNews();
- }
- // vip閭�璇风爜浼樺厛
- if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
- invitCode = userInfoExtra.getInviteCodeVip();
- } else if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
- tailor = true;
- invitCode = userInfoExtra.getInviteCode();
- }
-
- if (userInfoExtra.getUserRank() != null) {
- String picture = userInfoExtra.getUserRank().getPicture();
- String icon = userInfoExtra.getUserRank().getIcon();
- userInfo.setRankNamePicture(picture);
- userInfo.setRankIcon(icon);
- } else {
- userInfo.setRankNamePicture(null);
- userInfo.setRankIcon(null);
- }
-
- if (userInfoExtra.getSex() != null)
- userInfo.setSex(userInfoExtra.getSex());
-
- if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin()))
- userInfo.setWeiXin(userInfoExtra.getWeiXin());
-
- // 浜岀淮鐮�
- userInfo.setErCode(userInfoExtra.getErCode());
- }
- // 鏄剧ず閭�璇风爜鐗瑰埗鍏ュ彛
- data.put("tailor", tailor);
-
- userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜岀洿鎺ョ矇涓濆彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�");
-
- data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
- data.put("invitCode", invitCode); // 閭�璇风爜
- if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip()))
- data.put("invitCodeUpdated", true);// 閭�璇风爜鏄惁宸茬粡淇敼杩�
- else
- data.put("invitCodeUpdated", false);
- data.put("vipLink", userVipConfigService.getValueByKey("vip_link"));// 瓒呯骇浼氬憳鍗囩骇閾炬帴
-
- if (!StringUtil.isNullOrEmpty(invitCode)) {
- String bossName = "";
- ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
- if (threeSale != null && threeSale.getBoss() != null) {
- bossName = threeSale.getBoss().getNickName();
- }
- data.put("bossName", bossName);
- }
-
- out.print(JsonUtil.loadTrueResult(data));
-
- final UserInfo uuser = userInfo;
- ThreadUtil.run(new Runnable() {
- public void run() {
- // 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
- userInfoExtraService.getInviteCodeByUid(uuser.getId());
-
- // 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔�
- try {
- userInfoExtraService.updateUserRankByUid(uuser.getId());
- } catch (UserInfoExtraException e) {
- e.printStackTrace();
- }
- }
- });
-
- } catch (UserInfoException e) {
- out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
- } catch (Exception e) {
- out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
- e.printStackTrace();
- }
- }
-
-}
+package com.yeshi.fanli.controller.wxmp.v1;
+
+import java.io.PrintWriter;
+import java.math.BigDecimal;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.multipart.MultipartFile;
+import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.entity.wx.WXMPSessionInfo;
+import org.yeshi.utils.wx.WXXCXUtil;
+
+import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dto.WXMPAcceptData;
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
+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.system.BusinessSystem;
+import com.yeshi.fanli.exception.user.UserInfoException;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.user.MaskKeyService;
+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.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.util.annotation.UserActive;
+import com.yeshi.fanli.vo.user.UserInfoExtraVO;
+
+import net.sf.json.JSONObject;
+
+@Controller("WXMPUserController")
+@RequestMapping("/wxmp/api/v1/user")
+public class UserController {
+
+ public final static String WXMP_SESSION_INFO_KEY = "WXMP-SESSION-INFO";
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private MaskKeyService maskKeyService;
+
+ @Resource
+ private UserInfoService userInfoService;
+
+ @Resource
+ private UserInfoModifyRecordService userInfoModifyRecordService;
+
+ @Resource
+ private UserVIPInfoService userVIPInfoService;
+
+ @Resource
+ private UserActiveLogService userActiveLogService;
+
+ @Resource
+ private BusinessSystemService businessSystemService;
+
+ @Resource
+ private UserCustomSettingsService userCustomSettingsService;
+
+ @Resource
+ private ThreeSaleSerivce threeSaleSerivce;
+
+ @Resource
+ private ConfigService configService;
+
+ @Resource
+ private UserVipConfigService userVipConfigService;
+
+ /**
+ * 鑾峰彇openId
+ *
+ * @param acceptData
+ * @param code
+ * @param out
+ */
+ @RequestMapping("getOpenId")
+ public void getOpenId(WXMPAcceptData acceptData, String code, HttpSession session, PrintWriter out) {
+ if (StringUtil.isNullOrEmpty(code)) {
+ out.print(JsonUtil.loadFalseResult("code涓虹┖"));
+ return;
+ }
+
+ WXMPSessionInfo info = WXXCXUtil.getSessionInfo(Constant.WXMP_APP_INFO, code);
+ if (info != null) {
+ session.setAttribute(WXMP_SESSION_INFO_KEY, info);
+ JSONObject data = new JSONObject();
+ data.put("openId", info.getOpenId());
+ out.print(JsonUtil.loadTrueResult(data));
+ } else {
+ out.print(JsonUtil.loadFalseResult("openId鑾峰彇澶辫触"));
+ }
+ }
+
+ @RequestMapping(value = "saveInfo")
+ public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid,
+ String inviteCode, MultipartFile qrCodeFile, HttpServletRequest request, PrintWriter out) {
+ try {
+ if (uid == null) {
+ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ // 淇敼鏄电О
+ if (!StringUtil.isNullOrEmpty(nickName)) {
+ if (nickName.length() > 200) {
+ 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);
+ if (userInfoExtra != null) {
+ UserInfoExtra extra = new UserInfoExtra();
+ extra.setId(userInfoExtra.getId());
+ extra.setSex(sex);
+ userInfoExtraService.saveUserInfoExtra(extra);
+
+ userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + "");
+ }
+ }
+
+ if (!StringUtil.isNullOrEmpty(inviteCode)) {// 閭�璇风爜涓嶄负绌�
+ inviteCode = inviteCode.trim();
+ if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
+
+ if (!userVIPInfoService.isVIP(uid)) {
+ out.print(JsonUtil.loadFalseResult(20, "鍙湁瓒呯骇浼氬憳鎵嶈兘淇敼"));
+ return;
+ }
+
+ try {
+ userInfoExtraService.updateInviteCodeVip(inviteCode, uid);
+ out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+ return;
+ } catch (UserInfoExtraException e) {
+ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
+ }
+ } else {
+ out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜蹇呴』涓�4鍒�12浣�"));
+ return;
+ }
+ }
+
+ // 浜岀淮鐮�
+ if (qrCodeFile != null) {
+ userInfoExtraService.uploadERCode(qrCodeFile, uid);
+ }
+
+ out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+ } catch (UserInfoException e) {
+ out.print(JsonUtil.loadFalseResult(e.getMsg()));
+ e.printStackTrace();
+ } catch (Exception e) {
+ out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+ private void outUserInfoHandle(UserInfo user) {
+
+ // 绾㈠寘澶勭悊
+ user.setTotalHongBao(new BigDecimal(0));
+ user.setNoOpenHongBao(new BigDecimal(0));
+ user.setCanOpenHongBao(new BigDecimal(0));
+
+ // 鐢佃瘽鍙风爜澶勭悊
+ if (!StringUtil.isNullOrEmpty(user.getPhone())) {
+ if (user.getPhone().length() > 5) {
+ String phone = user.getPhone().substring(0, 3);
+ phone += "******";
+ phone += user.getPhone().substring(user.getPhone().length() - 2, user.getPhone().length());
+ user.setPhone(phone);
+ }
+ }
+
+ UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
+ if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
+ String picture = userInfoExtra.getUserRank().getPicture();
+ String icon = userInfoExtra.getUserRank().getIcon();
+ user.setRankNamePicture(picture);
+ user.setRankIcon(icon);
+ }
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛淇℃伅
+ *
+ * @param acceptData
+ * @param form
+ * @param requst
+ * @param out
+ */
+ @UserActive(uid = "#uid")
+ @RequestMapping(value = "getUserInfo")
+ public void getuserinfoNew(WXMPAcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) {
+ try {
+ BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+ acceptData.getAppId(),acceptData.getSystem());
+ if (system == null) {
+ out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+ return;
+ }
+
+ if (uid == null) {
+ out.print(JsonUtil.loadFalseResult("璇锋眰鍙傛暟涓虹┖"));
+ return;
+ }
+
+ UserInfo userInfo = userInfoService.getUserInfo(uid);
+
+ // 娣诲姞鐢ㄦ埛娲昏穬璁板綍
+ UserActiveLog userActiveLog = new UserActiveLog();
+ userActiveLog.setChannel("wxmp");
+ userActiveLog.setIp(requst.getRemoteHost());
+ userActiveLog.setUid(userInfo.getId());
+ userActiveLog.setVersionCode(acceptData.getVersion());
+ userActiveLog.setOsVersion(acceptData.getWxVersion());
+ userActiveLog.setDeviceType("wxmp");
+ userActiveLog.setDevice(acceptData.getDevice());
+ userActiveLogService.addUserActiveLog(userActiveLog);
+
+
+ // 澶勭悊鐢ㄦ埛淇℃伅
+ outUserInfoHandle(userInfo);
+ userInfo.setVip(userVIPInfoService.isVIP(uid));
+
+ GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+ JSONObject data = new JSONObject();
+
+ boolean tailor = false;
+ int welfareCenterNews = 0;
+ String invitCode = null;
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra != null) {
+ if (userInfoExtra.getCouponNews() != null) {
+ welfareCenterNews = userInfoExtra.getCouponNews();
+ }
+ // vip閭�璇风爜浼樺厛
+ if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
+ invitCode = userInfoExtra.getInviteCodeVip();
+ } else if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+ tailor = true;
+ invitCode = userInfoExtra.getInviteCode();
+ }
+
+ if (userInfoExtra.getUserRank() != null) {
+ String picture = userInfoExtra.getUserRank().getPicture();
+ String icon = userInfoExtra.getUserRank().getIcon();
+ userInfo.setRankNamePicture(picture);
+ userInfo.setRankIcon(icon);
+ } else {
+ userInfo.setRankNamePicture(null);
+ userInfo.setRankIcon(null);
+ }
+
+ if (userInfoExtra.getSex() != null)
+ userInfo.setSex(userInfoExtra.getSex());
+
+ if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin()))
+ userInfo.setWeiXin(userInfoExtra.getWeiXin());
+
+ // 浜岀淮鐮�
+ userInfo.setErCode(userInfoExtra.getErCode());
+ }
+ // 鏄剧ず閭�璇风爜鐗瑰埗鍏ュ彛
+ data.put("tailor", tailor);
+
+ userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜岀洿鎺ョ矇涓濆彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�");
+
+ data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
+ data.put("invitCode", invitCode); // 閭�璇风爜
+ if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip()))
+ data.put("invitCodeUpdated", true);// 閭�璇风爜鏄惁宸茬粡淇敼杩�
+ else
+ data.put("invitCodeUpdated", false);
+ data.put("vipLink", userVipConfigService.getValueByKey("vip_link"));// 瓒呯骇浼氬憳鍗囩骇閾炬帴
+
+ if (!StringUtil.isNullOrEmpty(invitCode)) {
+ String bossName = "";
+ ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
+ if (threeSale != null && threeSale.getBoss() != null) {
+ bossName = threeSale.getBoss().getNickName();
+ }
+ data.put("bossName", bossName);
+ }
+
+ out.print(JsonUtil.loadTrueResult(data));
+
+ final UserInfo uuser = userInfo;
+ ThreadUtil.run(new Runnable() {
+ public void run() {
+ // 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
+ userInfoExtraService.getInviteCodeByUid(uuser.getId());
+
+ // 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔�
+ try {
+ userInfoExtraService.updateUserRankByUid(uuser.getId());
+ } catch (UserInfoExtraException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ } catch (UserInfoException e) {
+ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+ } catch (Exception e) {
+ out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+}
--
Gitblit v1.8.0