From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java | 719 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 359 insertions(+), 360 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 75e6abe..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,360 +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); - - 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); - - // 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); // 閭�璇风爜 - 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