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 | 92 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 90 insertions(+), 2 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 735119e..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,16 +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.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; @@ -30,6 +40,7 @@ import javax.annotation.Resource; import java.io.ByteArrayInputStream; +import java.util.ArrayList; import java.util.List; @Controller @@ -44,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) { @@ -75,6 +90,7 @@ user = new UserInfo(); user.setAppId(acceptData.getApp().getId()); user.setIdentifyCode(identifyCode); + user.setAlipayUid(identifyCode); try { Long uid = userInfoService.addUserInfo(user); user.setId(uid); @@ -98,6 +114,50 @@ if (user == null) { return JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�"); } + return JsonUtil.loadTrueResult(JsonUtil.getApiCommonGson().toJson(user)); + } + + /** + * 鏀粯瀹濈敤鎴蜂俊鎭笂浼� + * + * @param acceptData + * @param userInfo + * @return + */ + @ResponseBody + @RequestMapping("uploadAlipayUserInfo") + public String uploadAlipayUserInfo(AcceptData acceptData, String userInfo) { + String decryptStr = RSAUtil.decrypt(userInfo); + if (StringUtil.isNullOrEmpty(decryptStr)) { + return JsonUtil.loadFalseResult("鐢ㄦ埛淇℃伅鑾峰彇澶辫触"); + } + AlipayUserInfo alipayUserInfo = JsonUtil.getSimpleGson().fromJson(decryptStr, AlipayUserInfo.class); + + UserInfo user = new UserInfo(); + user.setId(acceptData.getUid()); + user.setPortrait(alipayUserInfo.getAvatar()); + 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()); + return JsonUtil.loadTrueResult(JsonUtil.getApiCommonGson().toJson(user)); } @@ -155,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