From 5405154d6979f1b50ce2d881bb164b1acca80b6d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 15 一月 2021 18:58:18 +0800
Subject: [PATCH] 修改相关bug

---
 service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java
index 646a9fa..50a590d 100644
--- a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java
+++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java
@@ -7,19 +7,26 @@
 import com.ks.app.entity.AppInfo;
 import com.ks.daylucky.exception.UserInfoException;
 import com.ks.daylucky.exception.UserInfoExtraException;
+import com.ks.daylucky.pojo.DO.AppConfig;
 import com.ks.daylucky.pojo.DO.UserInfo;
+import com.ks.daylucky.pojo.DO.UserInfoExtra;
 import com.ks.daylucky.pojo.DO.UserMsg;
 import com.ks.daylucky.pojo.DTO.AlipayUserInfo;
+import com.ks.daylucky.pojo.DTO.ConfigKeyEnum;
 import com.ks.daylucky.pojo.DTO.TokenDTO;
 import com.ks.daylucky.pojo.DTO.UserMsgSettings;
 import com.ks.daylucky.pojo.VO.AcceptData;
+import com.ks.daylucky.pojo.VO.UserConfigVO;
+import com.ks.daylucky.pojo.VO.UserMsgVO;
+import com.ks.daylucky.service.AppConfigService;
 import com.ks.daylucky.service.UserInfoExtraService;
 import com.ks.daylucky.service.UserInfoService;
 import com.ks.daylucky.service.UserMsgService;
 import com.ks.daylucky.util.Constant;
-import com.ks.daylucky.util.RSA2Encryptor;
 import com.ks.daylucky.util.RSAUtil;
 import com.ks.daylucky.util.UserInfoUtil;
+import com.ks.daylucky.util.annotation.RequestSerializable;
+import com.ks.daylucky.util.factory.vo.UserMsgVOFactory;
 import net.sf.json.JSONObject;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -33,6 +40,7 @@
 
 import javax.annotation.Resource;
 import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
 import java.util.List;
 
 @Controller
@@ -47,12 +55,16 @@
     @Resource
     private UserMsgService userMsgService;
 
+    @Resource
+    private AppConfigService appConfigService;
+
     private AlipayAppInfo getAlipayAppInfo(AppInfo app) {
         AppAlipayInfoWithBLOBs alipay = app.getAlipayInfo();
         AlipayAppInfo info = new AlipayAppInfo(alipay.getAlipayAppId(), alipay.getAlipayPrivateKey(), new AlipayCertInfo(new ByteArrayInputStream(alipay.getAlipayAppCertPublicKey()), new ByteArrayInputStream(alipay.getAlipayPublicCert()), new ByteArrayInputStream(alipay.getAlipayRootCert())));
         return info;
     }
 
+    @RequestSerializable(key = "'getToken-'+#alipayCode")
     @ResponseBody
     @RequestMapping("getToken")
     public String getToken(AcceptData acceptData, String alipayCode, String wxCode) {
@@ -127,6 +139,21 @@
         user.setNickName(alipayUserInfo.getNickName());
         user.setAlipayNickName(alipayUserInfo.getNickName());
         user.setAlipayPortrait(alipayUserInfo.getAvatar());
+        if (user.getPortrait() != null && user.getPortrait().endsWith("undefined")) {
+            user.setPortrait(null);
+        }
+
+        if (StringUtil.isNullOrEmpty(user.getNickName())) {
+            AppConfig config = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.defaultNickNamePrefix, acceptData.getVersion());
+            user.setNickName(config.getValue() + acceptData.getUid());
+        }
+
+        if (StringUtil.isNullOrEmpty(user.getPortrait())) {
+            AppConfig config = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.defaultPortrait, acceptData.getVersion());
+            user.setPortrait(config.getValue());
+        }
+
+
         userInfoService.updateUserInfo(user);
 
         user = userInfoService.getUserDetail(user.getId());
@@ -188,14 +215,42 @@
     @RequestMapping("getUserMsgList")
     public String getUserMsgList(AcceptData acceptData, int page) {
         List<UserMsg> msgList = userMsgService.getUserMsgList(acceptData.getUid(), page, Constant.PAGE_SIZE);
+        List<UserMsgVO> voList = new ArrayList<>();
+        if (msgList != null) {
+            for (UserMsg userMsg : msgList) {
+                voList.add(UserMsgVOFactory.create(userMsg));
+            }
+        }
+
+
         long count = userMsgService.countUserMsg(acceptData.getUid());
-        Gson gson = JsonUtil.getConvertDateToShortNameBuilder(new GsonBuilder().excludeFieldsWithoutExposeAnnotation()).create();
+        Gson gson = JsonUtil.getConvertDateToShortNameBuilder(new GsonBuilder()).create();
 
         JSONObject data = new JSONObject();
-        data.put("data", gson.toJson(msgList));
+        data.put("data", gson.toJson(voList));
         data.put("count", count);
+
+        //璁剧疆娑堟伅宸茶
+        try {
+            userInfoExtraService.setMsgRead(acceptData.getUid());
+        } catch (UserInfoExtraException e) {
+            e.printStackTrace();
+        }
         return JsonUtil.loadTrueResult(data);
     }
 
+    @ResponseBody
+    @RequestMapping("getUserConfig")
+    public String getUserConfig(AcceptData acceptData) {
+        //娑堟伅鏈鏁�
+        UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(acceptData.getUid());
+        if (extra == null) {
+            return JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�");
+        }
+        UserConfigVO vo = new UserConfigVO();
+        vo.setMsgCount(extra.getMsgUnreadCount());
+        return JsonUtil.loadTrueResult(vo);
+    }
+
 
 }

--
Gitblit v1.8.0