From 102d28bea0950112ced1ff0bb8c57f861cda72da Mon Sep 17 00:00:00 2001 From: xiongfeng Date: Mon, 4 Jul 2022 18:38:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=80=E7=BB=9F=E4=B8=80=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=AF=B9=E8=B1=A1=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basedemo/common/enums/SystemStatus.java | 22 ++++++++++ .../xf/basedemo/common/model/LoginUser.java | 2 + .../cn/xf/basedemo/common/model/RetObj.java | 41 ++++++++++++++++++- .../basedemo/controller/UserController.java | 3 +- .../cn/xf/basedemo/service/UserService.java | 3 +- .../service/impl/UserServiceImpl.java | 18 +++++--- src/main/resources/application-dev.yml | 32 +++++++-------- 7 files changed, 95 insertions(+), 26 deletions(-) create mode 100644 src/main/java/cn/xf/basedemo/common/enums/SystemStatus.java diff --git a/src/main/java/cn/xf/basedemo/common/enums/SystemStatus.java b/src/main/java/cn/xf/basedemo/common/enums/SystemStatus.java new file mode 100644 index 0000000..764de77 --- /dev/null +++ b/src/main/java/cn/xf/basedemo/common/enums/SystemStatus.java @@ -0,0 +1,22 @@ +package cn.xf.basedemo.common.enums; + +import lombok.Getter; + +@Getter +public enum SystemStatus { + + SUSSES(200, "请求成功"), + UNAVAILABILITY(401, "token无效"), + ERROR(500, "系统异常") + ; + + + private Integer code; + + private String errorMessage; + + SystemStatus(Integer code, String errorMessage) { + this.code = code; + this.errorMessage = errorMessage; + } +} diff --git a/src/main/java/cn/xf/basedemo/common/model/LoginUser.java b/src/main/java/cn/xf/basedemo/common/model/LoginUser.java index ad817f8..ced5ebc 100644 --- a/src/main/java/cn/xf/basedemo/common/model/LoginUser.java +++ b/src/main/java/cn/xf/basedemo/common/model/LoginUser.java @@ -19,4 +19,6 @@ public class LoginUser { private String account; private String phone; + + private String token; } diff --git a/src/main/java/cn/xf/basedemo/common/model/RetObj.java b/src/main/java/cn/xf/basedemo/common/model/RetObj.java index bae12e5..282a3c2 100644 --- a/src/main/java/cn/xf/basedemo/common/model/RetObj.java +++ b/src/main/java/cn/xf/basedemo/common/model/RetObj.java @@ -1,5 +1,6 @@ package cn.xf.basedemo.common.model; +import cn.xf.basedemo.common.enums.SystemStatus; import lombok.Data; /** @@ -18,9 +19,47 @@ public class RetObj { private T data; + public RetObj(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public RetObj(T data) { + this.data = data; + } + + public RetObj(SystemStatus status) { + this.code = status.getCode(); + this.message = status.getErrorMessage(); + } + + public RetObj(SystemStatus status, T data) { + this.code = status.getCode(); + this.message = status.getErrorMessage(); + this.data = data; + } + + public RetObj(Integer code, String errorMsg) { + this.code = code; + this.message = errorMsg; + } + public static RetObj success() { - return new RetObj(); + return new RetObj(SystemStatus.SUSSES); + } + + public static RetObj success(T data) { + return new RetObj(SystemStatus.SUSSES, data); } + public static RetObj error(SystemStatus status) { + return new RetObj(status); + } + + public static RetObj error(String errorMsg) { + return new RetObj(SystemStatus.ERROR.getCode(), errorMsg); + } + } diff --git a/src/main/java/cn/xf/basedemo/controller/UserController.java b/src/main/java/cn/xf/basedemo/controller/UserController.java index 5d116d3..4d4c251 100644 --- a/src/main/java/cn/xf/basedemo/controller/UserController.java +++ b/src/main/java/cn/xf/basedemo/controller/UserController.java @@ -1,5 +1,6 @@ package cn.xf.basedemo.controller; +import cn.xf.basedemo.common.model.RetObj; import cn.xf.basedemo.model.res.LoginInfoRes; import cn.xf.basedemo.service.UserService; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -28,7 +29,7 @@ public class UserController { @ApiOperation(value = "用户登录", notes = "用户登录") @ApiOperationSupport(order = 1) @PostMapping("/login") - public String login(@RequestBody LoginInfoRes res){ + public RetObj login(@RequestBody LoginInfoRes res){ return userService.login(res); } diff --git a/src/main/java/cn/xf/basedemo/service/UserService.java b/src/main/java/cn/xf/basedemo/service/UserService.java index ced1f11..91d1dbd 100644 --- a/src/main/java/cn/xf/basedemo/service/UserService.java +++ b/src/main/java/cn/xf/basedemo/service/UserService.java @@ -1,5 +1,6 @@ package cn.xf.basedemo.service; +import cn.xf.basedemo.common.model.RetObj; import cn.xf.basedemo.model.res.LoginInfoRes; /** @@ -11,5 +12,5 @@ import cn.xf.basedemo.model.res.LoginInfoRes; **/ public interface UserService { - String login(LoginInfoRes res); + RetObj login(LoginInfoRes res); } diff --git a/src/main/java/cn/xf/basedemo/service/impl/UserServiceImpl.java b/src/main/java/cn/xf/basedemo/service/impl/UserServiceImpl.java index c93fc8c..0da37c9 100644 --- a/src/main/java/cn/xf/basedemo/service/impl/UserServiceImpl.java +++ b/src/main/java/cn/xf/basedemo/service/impl/UserServiceImpl.java @@ -2,6 +2,7 @@ package cn.xf.basedemo.service.impl; import cn.xf.basedemo.common.model.LoginInfo; import cn.xf.basedemo.common.model.LoginUser; +import cn.xf.basedemo.common.model.RetObj; import cn.xf.basedemo.common.utils.JwtTokenUtils; import cn.xf.basedemo.common.utils.RSAUtils; import cn.xf.basedemo.config.GlobalConfig; @@ -11,6 +12,7 @@ import cn.xf.basedemo.model.res.LoginInfoRes; import cn.xf.basedemo.service.UserService; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -45,7 +47,7 @@ public class UserServiceImpl implements UserService { private RedisTemplate redisTemplate; @Override - public String login(LoginInfoRes res) { + public RetObj login(LoginInfoRes res) { if (Objects.isNull(res) || StringUtils.isEmpty(res.getEncryptedData())) { return null; @@ -56,9 +58,14 @@ public class UserServiceImpl implements UserService { } catch (Exception e) { log.error("解密失败------", e); } - LoginInfo loginInfo = objectMapper.convertValue(loginJson, LoginInfo.class); + LoginInfo loginInfo = null; + try { + loginInfo = objectMapper.readValue(loginJson, LoginInfo.class); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } if (StringUtils.isNotBlank(loginInfo.check())) { - return loginInfo.check(); + return RetObj.error(loginInfo.check()); } //校验登录账号密码 QueryWrapper queryWrapper = new QueryWrapper(); @@ -66,7 +73,7 @@ public class UserServiceImpl implements UserService { queryWrapper.eq("password", loginInfo.getPwd()); User user = userMapper.selectOne(queryWrapper); if (Objects.isNull(user)) { - return "账号或密码错误"; + return RetObj.error("账号或密码错误"); } LoginUser loginUser = new LoginUser(); loginUser.setId(user.getId()); @@ -75,10 +82,11 @@ public class UserServiceImpl implements UserService { loginUser.setPhone(user.getPhone()); String token = JwtTokenUtils.createToken(user.getId()); + loginUser.setToken(token); redisTemplate.opsForValue().set("token:" + token, JSONObject.toJSONString(loginUser), 3600, TimeUnit.SECONDS); redisTemplate.opsForValue().set("user_login_token:" + user.getId(), token, 3600, TimeUnit.SECONDS); - return "登录成功"; + return RetObj.success(loginUser); } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index a1c352f..44d0562 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -41,25 +41,21 @@ global: rsaPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC_F5UQC1QWsu3QsESQBz9M-GDA9Atm0qVSvwIsy568lyRLi-nq3VvvnmgrlL4yTbngFzyfb2Dn35cNCHsBvIaGuCY3_PpzPqMzVpxr2QlEkhEX9atnJQ1rWexS8QeZtPjpiIwoQrChTzXjD_sYUkDrqSykFplyivf0NSO2WqCBdwIDAQAB rsaPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL8XlRALVBay7dCwRJAHP0z4YMD0C2bSpVK_AizLnryXJEuL6erdW--eaCuUvjJNueAXPJ9vYOfflw0IewG8hoa4Jjf8-nM-ozNWnGvZCUSSERf1q2clDWtZ7FLxB5m0-OmIjChCsKFPNeMP-xhSQOupLKQWmXKK9_Q1I7ZaoIF3AgMBAAECgYBxTUA61Ry0oL7U_86HP2TO9G4ZuhmQi9EucMaPXOPvmgYRLRIzCbDbMKc_P-BN3zwYnG57cgSZNz9OoPqeGvP_oVTnkoEpVkCSV-JP2p_DK09LdbDqszJXMrxAkPmWGUw8IRMcTJT1xJJcgzFE6T0CmTo-Vk47AnmqfJD4U6o74QJBAPRjVUJKZnrMSnSqKPDL2ThgTo8h7-KFxl_Z-g724lTOFiCmBpi6nCWAcuacFRrrYqxF-r9c4zdIyR7AvLROql8CQQDIK_kRF52dVtwShciZhyeUBLoi0nWV9F8mMGt60NTEER9zPEgPsv2aVn8h97KMWOwmd2Da4EPm25QxOuaKQC_pAkBczcfXp5co9KElkmR_pHl1jiTm97U3qSM-zPDHc_tYxvXiKgoBP4QCPbfkWMsu8MoEr4Jb3vMt0EcHlZtTQTgzAkAfmNla-lhV4sUgY1_T5EK6GbjsED6hag6u74u3ukkrnexR-10ApWdkumydBwV3I_464DM4uZfeVCDjWIHVpuYpAkEA6QLPztGD4V8Q1PqTEeSF3i68CKPM8vO1_mCH2JD7qsqDQcIKkczj5rTg7hlOKwB9V6gSw4CbnOF6moTooRD-cQ - - - ##redis -#redis: -# dynamic: -# datasource: -# token: -# database: 1 -# host: 192.168.10.113 -# port: 6379 -# password: '123456' -# lettuce: -# pool: -# max-active: 8 -# max-wait: -1ms -# max-idle: 8 -# min-idle: 0 -# timeout: 3000ms +redis: + datasource: + token: + database: 1 + host: 122.112.153.128 + port: 6379 + password: 'redis' + lettuce: + pool: + max-active: 8 + max-wait: -1ms + max-idle: 8 + min-idle: 0 + timeout: 3000ms # res: # database: 0 # host: 192.168.10.113