This commit is contained in:
六如
2024-10-05 21:13:29 +08:00
parent c08fec74c9
commit d9fb25dc0a
31 changed files with 695 additions and 226 deletions

View File

@@ -0,0 +1,14 @@
package com.gitee.sop.adminbackend.common;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author 六如
*/
@Data
public class IdParam {
@NotNull(message = "id不能为空")
private Long id;
}

View File

@@ -0,0 +1,33 @@
package com.gitee.sop.adminbackend.common;
import lombok.Getter;
import java.util.Objects;
/**
* @author 六如
*/
@Getter
public enum StatusEnum {
DISABLED((byte)0),
ENABLE((byte)1),
SET_PWD((byte)2),
;
private final int status;
public static StatusEnum of(Integer value) {
for (StatusEnum statusEnum : StatusEnum.values()) {
if (Objects.equals(statusEnum.status, value)) {
return statusEnum;
}
}
return DISABLED;
}
StatusEnum(byte style) {
this.status = style;
}
}

View File

@@ -0,0 +1,80 @@
package com.gitee.sop.adminbackend.controller.serve;
import com.gitee.fastmybatis.core.PageInfo;
import com.gitee.fastmybatis.core.query.Query;
import com.gitee.sop.adminbackend.common.IdParam;
import com.gitee.sop.adminbackend.common.Result;
import com.gitee.sop.adminbackend.controller.serve.req.ApiInfoParam;
import com.gitee.sop.adminbackend.dao.entity.ApiInfo;
import com.gitee.sop.adminbackend.service.serve.ApiInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 接口管理
*
* @author 六如
*/
@RestController
@RequestMapping("serve/api")
public class ApiInfoController {
@Autowired
private ApiInfoService apiInfoService;
/**
* 分页查询
*
* @param param
* @return
*/
@GetMapping("/page")
public Result<PageInfo<ApiInfo>> page(ApiInfoParam param) {
Query query = param.toQuery();
query.orderByDesc("id");
PageInfo<ApiInfo> pageInfo = apiInfoService.page(query);
return Result.ok(pageInfo);
}
/**
* 新增记录
*
* @param user
* @return 返回添加后的主键值
*/
@PostMapping("/add")
public Result<Long> add(@Validated @RequestBody ApiInfo user) {
apiInfoService.save(user);
// 返回添加后的主键值
return Result.ok(user.getId());
}
/**
* 修改记录
*
* @param user 表单数据
* @return 返回影响行数
*/
@PostMapping("/update")
public Result<Integer> update(@Validated @RequestBody ApiInfo user) {
return Result.ok(apiInfoService.update(user));
}
/**
* 删除记录
*
* @param param 主键id
* @return 返回影响行数
*/
@PostMapping("/delete")
public Result<Integer> delete(@Validated @RequestBody IdParam param) {
return Result.ok(apiInfoService.deleteById(param.getId()));
}
}

View File

@@ -0,0 +1,18 @@
package com.gitee.sop.adminbackend.controller.serve.req;
import com.gitee.fastmybatis.core.query.Operator;
import com.gitee.fastmybatis.core.query.annotation.Condition;
import com.gitee.fastmybatis.core.query.param.PageParam;
import lombok.Data;
/**
* @author 六如
*/
@Data
public class ApiInfoParam extends PageParam {
@Condition(operator = Operator.like)
private String apiName;
}

View File

@@ -1,11 +1,12 @@
package com.gitee.sop.adminbackend.dao.entity;
import java.time.LocalDateTime;
import com.gitee.fastmybatis.annotation.Pk;
import com.gitee.fastmybatis.annotation.PkStrategy;
import com.gitee.fastmybatis.annotation.Table;
import lombok.Data;
import java.time.LocalDateTime;
import lombok.Data;
/**
@@ -35,6 +36,16 @@ public class ApiInfo {
*/
private String apiVersion;
/**
* 接口描述
*/
private String description;
/**
* 备注
*/
private String remark;
/**
* 接口class
*/
@@ -61,7 +72,7 @@ public class ApiInfo {
private Integer isNeedToken;
/**
* 状态,1-启用,0-禁用
* 1启用2禁用
*/
private Integer status;

View File

@@ -0,0 +1,15 @@
package com.gitee.sop.adminbackend.service.serve;
import com.gitee.fastmybatis.core.support.LambdaService;
import com.gitee.sop.adminbackend.dao.entity.ApiInfo;
import com.gitee.sop.adminbackend.dao.mapper.ApiInfoMapper;
import org.springframework.stereotype.Service;
/**
* @author 六如
*/
@Service
public class ApiInfoService implements LambdaService<ApiInfo, ApiInfoMapper> {
}

View File

@@ -1,7 +1,6 @@
package com.gitee.sop.adminbackend.service.sys.login;
import com.alibaba.nacos.shaded.com.google.common.collect.Sets;
import com.gitee.fastmybatis.core.query.Query;
import com.gitee.sop.adminbackend.common.ConfigKeyEnum;
import com.gitee.sop.adminbackend.common.exception.BizException;
import com.gitee.sop.adminbackend.config.Configs;
@@ -11,7 +10,7 @@ import com.gitee.sop.adminbackend.service.sys.login.dto.LoginDTO;
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginForm;
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginResult;
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginUser;
import com.gitee.sop.adminbackend.service.sys.login.enums.AdminUserStatusEnum;
import com.gitee.sop.adminbackend.common.StatusEnum;
import com.gitee.sop.adminbackend.service.sys.login.enums.RegTypeEnum;
import com.gitee.sop.adminbackend.util.CopyUtil;
import com.gitee.sop.adminbackend.util.GenerateUtil;
@@ -26,7 +25,6 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -68,7 +66,7 @@ public class LoginService {
}
private LoginUser buildLoginUser(SysAdminUser userInfo) {
if (AdminUserStatusEnum.of(userInfo.getStatus()) == AdminUserStatusEnum.DISABLED) {
if (StatusEnum.of(userInfo.getStatus()) == StatusEnum.DISABLED) {
throw new BizException("账号已禁用,请联系管理员");
}
// 登录成功
@@ -125,7 +123,7 @@ public class LoginService {
userInfo.setPassword(GenerateUtil.getUUID());
userInfo.setNickname(loginResult.getNickname());
userInfo.setAvatar("");
userInfo.setStatus(AdminUserStatusEnum.ENABLE.getStatus());
userInfo.setStatus(StatusEnum.ENABLE.getStatus());
userInfo.setRegType(loginResult.getRegTypeEnum().getValue());
userInfo.setEmail(loginResult.getEmail());
sysAdminUserService.save(userInfo);

View File

@@ -1,34 +0,0 @@
package com.gitee.sop.adminbackend.service.sys.login.enums;
import java.util.Objects;
/**
* @author 六如
*/
public enum AdminUserStatusEnum {
DISABLED((byte)0),
ENABLE((byte)1),
SET_PWD((byte)2),
;
private final int status;
public static AdminUserStatusEnum of(Integer value) {
for (AdminUserStatusEnum adminUserStatusEnum : AdminUserStatusEnum.values()) {
if (Objects.equals(adminUserStatusEnum.status, value)) {
return adminUserStatusEnum;
}
}
return DISABLED;
}
AdminUserStatusEnum(byte style) {
this.status = style;
}
public int getStatus() {
return status;
}
}

View File

@@ -5,7 +5,7 @@ import com.gitee.sop.adminbackend.dao.entity.SysAdminUser;
import com.gitee.sop.adminbackend.service.sys.SysAdminUserService;
import com.gitee.sop.adminbackend.service.sys.login.UserCacheManager;
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginUser;
import com.gitee.sop.adminbackend.service.sys.login.enums.AdminUserStatusEnum;
import com.gitee.sop.adminbackend.common.StatusEnum;
import com.gitee.sop.adminbackend.util.CopyUtil;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@@ -75,7 +75,7 @@ public class DefaultUserCacheManager implements UserCacheManager, InitializingBe
log.warn("登录用户不存在userId{}", id);
return null;
}
if (userInfo.getStatus() == AdminUserStatusEnum.DISABLED.getStatus()) {
if (userInfo.getStatus() == StatusEnum.DISABLED.getStatus()) {
log.warn("用户被禁用, userId:{}, username:{}, nickname:{}", userInfo.getId(), userInfo.getUsername(), userInfo.getNickname());
return null;
}