From afe70962a8aeaed5ea761835e803e5812df5e9c3 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 15 六月 2020 16:07:51 +0800
Subject: [PATCH] 云发单支付金额0.01
---
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserController.java | 205 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 195 insertions(+), 10 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 a252aca..499ee68 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,6 +1,7 @@
package com.yeshi.fanli.controller.wxmp.v1;
import java.io.PrintWriter;
+import java.math.BigDecimal;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -8,24 +9,40 @@
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;
@@ -37,18 +54,36 @@
@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
@@ -74,8 +109,7 @@
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) {
@@ -153,14 +187,12 @@
return;
}
}
-
+
// 浜岀淮鐮�
if (qrCodeFile != null) {
userInfoExtraService.uploadERCode(qrCodeFile, uid);
}
-
-
-
+
out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
} catch (UserInfoException e) {
out.print(JsonUtil.loadFalseResult(e.getMsg()));
@@ -171,4 +203,157 @@
}
}
+ 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();
+ }
+ }
+
}
--
Gitblit v1.8.0