From c79b1ebed5a42a4cbb2f824232da2a51ff22a9a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 04 十二月 2021 18:25:08 +0800 Subject: [PATCH] 功能完善 --- app/src/main/java/com/yeshi/location/app/controller/client/api/UserController.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/yeshi/location/app/controller/client/api/UserController.java b/app/src/main/java/com/yeshi/location/app/controller/client/api/UserController.java index 84e8852..fb0dbe3 100644 --- a/app/src/main/java/com/yeshi/location/app/controller/client/api/UserController.java +++ b/app/src/main/java/com/yeshi/location/app/controller/client/api/UserController.java @@ -1,11 +1,27 @@ package com.yeshi.location.app.controller.client.api; +import com.ks.lib.common.exception.ParamsException; +import com.ks.push.exception.BPushDeviceTokenException; +import com.ks.push.pojo.DO.BPushDeviceToken; +import com.ks.push.pojo.DO.PushPlatform; +import com.ks.push.service.BDeviceTokenService; import com.yeshi.location.app.dto.user.LoginInfoDTO; +import com.yeshi.location.app.entity.SystemEnum; import com.yeshi.location.app.entity.user.UserInfo; import com.yeshi.location.app.entity.user.UserLoginRecord; +import com.yeshi.location.app.entity.vip.UserVIPInfo; import com.yeshi.location.app.exception.user.LoginException; import com.yeshi.location.app.service.inter.user.UserAccountService; +import com.yeshi.location.app.service.inter.user.UserInfoService; +import com.yeshi.location.app.service.inter.vip.VIPService; +import com.yeshi.location.app.utils.ApiCodeConstant; +import com.yeshi.location.app.utils.ThreadUtil; +import com.yeshi.location.app.utils.annotation.UserLogin; import com.yeshi.location.app.vo.AcceptData; +import com.yeshi.location.app.vo.user.UserInfoVO; +import net.sf.json.util.JSONUtils; +import org.apache.commons.lang3.ThreadUtils; +import org.apache.dubbo.config.annotation.Reference; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -27,6 +43,15 @@ @Resource private UserAccountService userAccountService; + @Resource + private UserInfoService userInfoService; + + @Resource + private VIPService vipService; + + @Reference(check = false) + private BDeviceTokenService bDeviceTokenService; + @ResponseBody @RequestMapping("loginPhone") public String loginPhone(AcceptData acceptData, String phone, String vcode, String token) { @@ -40,7 +65,7 @@ loginInfo.setPhone(phone); loginInfo.setVcode(vcode); - } else if (StringUtil.isNullOrEmpty(token)) { + } else if (!StringUtil.isNullOrEmpty(token)) { loginInfo.setPhoneAuthInfo(token); } else { return JsonUtil.loadFalseResult("淇℃伅涓嶅畬鏁�"); @@ -48,6 +73,18 @@ loginInfo.setSystem(acceptData.getSystem()); try { UserInfo userInfo = userAccountService.login(loginInfo); + ThreadUtil.run(new Runnable() { + @Override + public void run() { + try { + //鐧诲綍鎴愬姛 + bDeviceTokenService.bindUid(acceptData.getSystem().name(), acceptData.getUtdId(), userInfo.getId() + ""); + } catch (Exception e) { + + } + } + }); + return JsonUtil.loadTrueResult(JsonUtil.getApiCommonGson().toJson(userInfo)); } catch (LoginException e) { return JsonUtil.loadFalseResult(e.getMessage()); @@ -55,5 +92,78 @@ } + @UserLogin(uid = "#uid") + @ResponseBody + @RequestMapping("logout") + public String logout(AcceptData acceptData, Long uid) { + try { + //瑙g粦UID + bDeviceTokenService.unBindUid(acceptData.getSystem().name(), acceptData.getUtdId()); + } catch (Exception e) { + e.printStackTrace(); + } + + return JsonUtil.loadTrueResult(""); + } + + + @UserLogin(uid = "#uid") + @ResponseBody + @RequestMapping("getUserInfo") + public String getUserInfo(AcceptData acceptData, Long uid) { + + UserInfo user = userInfoService.get(uid); + + if (user == null) { + return JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�"); + } + if (user.getStatus() == UserInfo.STATUS_FORBIDDEN) { + return JsonUtil.loadFalseResult(ApiCodeConstant.CODE_FAIL_USER_FORBIDDEN, "璐﹀彿琚皝绂�"); + } + + if (user.getStatus() == UserInfo.STATUS_OWN_DELETE) { + return JsonUtil.loadFalseResult(ApiCodeConstant.CODE_FAIL_USER_DELETE, "鐢ㄦ埛宸茶鍒犻櫎"); + } + + UserInfoVO vo = new UserInfoVO(); + vo.setId(user.getId() + ""); + vo.setNickName(user.getNickName()); + vo.setPortrait(user.getPortrait()); + + UserVIPInfo userVIPInfo = vipService.getVIPInfo(user.getId()); + if (userVIPInfo != null) { + vo.setVipExpireTime(userVIPInfo.getExpireDate().getTime()); + } + return JsonUtil.loadTrueResult(vo); + } + + @ResponseBody + @RequestMapping("uploadPushRegId") + public String uploadPushRegId(AcceptData acceptData, Long uid, String regId) { + + BPushDeviceToken deviceToken = new BPushDeviceToken(); + deviceToken.setAppCode(acceptData.getSystem().name()); + deviceToken.setDeviceId(acceptData.getUtdId()); + deviceToken.setBuildModel(acceptData.getDeviceType()); + deviceToken.setBuildVersion(acceptData.getOsVersion()); + deviceToken.setToken(regId); + deviceToken.setType(PushPlatform.jpush); + if (uid != null) { + deviceToken.setUid(uid + ""); + } + deviceToken.setVersionCode(acceptData.getVersion()); + + try { + bDeviceTokenService.save(deviceToken); + return JsonUtil.loadTrueResult(""); + } catch (BPushDeviceTokenException e) { + return JsonUtil.loadTrueResult(e.getMessage()); + } catch (ParamsException e) { + return JsonUtil.loadTrueResult(e.getMessage()); + } + + + } + } -- Gitblit v1.8.0