!284 更新常量 GenConstants,优化 Map 返回结构

* update 优化返回结构, 将 Map 改为指定 Vo 对象 ;
* update GenConstants 扩展数据库数据类型, 更新 BO, VO, ENTITY 字段, 并移动到 generator 模块 ;
This commit is contained in:
MichelleChung
2023-02-03 01:47:41 +00:00
committed by 疯狂的狮子Li
parent 5cce09b5c2
commit 2787212362
23 changed files with 361 additions and 78 deletions

View File

@ -18,6 +18,7 @@ import com.ruoyi.common.sms.entity.SmsResult;
import com.ruoyi.common.web.config.properties.CaptchaProperties;
import com.ruoyi.common.web.enums.CaptchaType;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.web.domain.vo.CaptchaVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.expression.Expression;
@ -79,10 +80,12 @@ public class CaptchaController {
* 生成验证码
*/
@GetMapping("/captchaImage")
public R<Map<String, Object>> getCode() {
public R<CaptchaVo> getCode() {
CaptchaVo captchaVo = new CaptchaVo();
boolean captchaEnabled = configService.selectCaptchaEnabled();
if (!captchaEnabled) {
return R.ok(Map.of("captchaEnabled", false));
captchaVo.setCaptchaEnabled(false);
return R.ok(captchaVo);
}
// 保存验证码信息
String uuid = IdUtil.simpleUUID();
@ -102,7 +105,9 @@ public class CaptchaController {
code = exp.getValue(String.class);
}
RedisUtils.setCacheObject(verifyKey, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
return R.ok(Map.of("uuid", uuid, "img", captcha.getImageBase64()));
captchaVo.setUuid(uuid);
captchaVo.setImg(captcha.getImageBase64());
return R.ok(captchaVo);
}
}

View File

@ -1,7 +1,6 @@
package com.ruoyi.web.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
@ -13,6 +12,8 @@ import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysLoginService;
import com.ruoyi.web.domain.vo.UserInfoVo;
import com.ruoyi.web.domain.vo.LoginVo;
import jakarta.validation.constraints.NotBlank;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@ -22,7 +23,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 登录验证
@ -46,11 +46,13 @@ public class SysLoginController {
*/
@SaIgnore
@PostMapping("/login")
public R<Map<String, Object>> login(@Validated @RequestBody LoginBody loginBody) {
public R<LoginVo> login(@Validated @RequestBody LoginBody loginBody) {
LoginVo loginVo = new LoginVo();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
return R.ok(Map.of(Constants.TOKEN, token));
loginVo.setToken(token);
return R.ok(loginVo);
}
/**
@ -61,10 +63,12 @@ public class SysLoginController {
*/
@SaIgnore
@PostMapping("/smsLogin")
public R<Map<String, Object>> smsLogin(@Validated @RequestBody SmsLoginBody smsLoginBody) {
public R<LoginVo> smsLogin(@Validated @RequestBody SmsLoginBody smsLoginBody) {
LoginVo loginVo = new LoginVo();
// 生成令牌
String token = loginService.smsLogin(smsLoginBody.getPhonenumber(), smsLoginBody.getSmsCode());
return R.ok(Map.of(Constants.TOKEN, token));
loginVo.setToken(token);
return R.ok(loginVo);
}
/**
@ -75,10 +79,12 @@ public class SysLoginController {
*/
@SaIgnore
@PostMapping("/xcxLogin")
public R<Map<String, Object>> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
public R<LoginVo> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
LoginVo loginVo = new LoginVo();
// 生成令牌
String token = loginService.xcxLogin(xcxCode);
return R.ok(Map.of(Constants.TOKEN, token));
loginVo.setToken(token);
return R.ok(loginVo);
}
/**
@ -97,14 +103,14 @@ public class SysLoginController {
* @return 用户信息
*/
@GetMapping("getInfo")
public R<Map<String, Object>> getInfo() {
public R<UserInfoVo> getInfo() {
UserInfoVo userInfoVo = new UserInfoVo();
LoginUser loginUser = LoginHelper.getLoginUser();
SysUser user = userService.selectUserById(loginUser.getUserId());
return R.ok(Map.of(
"user", user,
"roles", loginUser.getRolePermission(),
"permissions", loginUser.getMenuPermission()
));
userInfoVo.setUser(user);
userInfoVo.setPermissions(loginUser.getMenuPermission());
userInfoVo.setRoles(loginUser.getRolePermission());
return R.ok(userInfoVo);
}
/**

View File

@ -0,0 +1,25 @@
package com.ruoyi.web.domain.vo;
import lombok.Data;
/**
* 验证码信息
*
* @author Michelle.Chung
*/
@Data
public class CaptchaVo {
/**
* 是否开启验证码
*/
private Boolean captchaEnabled = true;
private String uuid;
/**
* 验证码图片
*/
private String img;
}

View File

@ -0,0 +1,15 @@
package com.ruoyi.web.domain.vo;
import lombok.Data;
/**
* 登录验证信息
*
* @author Michelle.Chung
*/
@Data
public class LoginVo {
private String token;
}

View File

@ -0,0 +1,31 @@
package com.ruoyi.web.domain.vo;
import com.ruoyi.system.domain.SysUser;
import lombok.Data;
import java.util.Set;
/**
* 登录用户信息
*
* @author Michelle.Chung
*/
@Data
public class UserInfoVo {
/**
* 用户基本信息
*/
private SysUser user;
/**
* 菜单权限
*/
private Set<String> permissions;
/**
* 角色权限
*/
private Set<String> roles;
}