12 changed files with 209 additions and 56 deletions
-
9src/main/java/com/iflytop/gd/GraphiteDigesterServiceApplication.java
-
12src/main/java/com/iflytop/gd/system/common/enums/Deleted.java
-
24src/main/java/com/iflytop/gd/system/common/enums/DeletedEnum.java
-
12src/main/java/com/iflytop/gd/system/common/enums/FixedUser.java
-
24src/main/java/com/iflytop/gd/system/common/enums/StatusEnum.java
-
7src/main/java/com/iflytop/gd/system/common/enums/UsrRole.java
-
8src/main/java/com/iflytop/gd/system/config/SwaggerConfig.java
-
74src/main/java/com/iflytop/gd/system/controller/UserController.java
-
13src/main/java/com/iflytop/gd/system/mapper/UserMapper.java
-
43src/main/java/com/iflytop/gd/system/model/entity/User.java
-
32src/main/java/com/iflytop/gd/system/service/UserService.java
-
7src/main/resources/sql/init.sql
@ -0,0 +1,12 @@ |
|||
package com.iflytop.gd.system.common.enums; |
|||
|
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* 删除状态枚举 |
|||
*/ |
|||
@Getter |
|||
public enum Deleted { |
|||
ENABLE, |
|||
DISABLE |
|||
} |
@ -1,24 +0,0 @@ |
|||
package com.iflytop.gd.system.common.enums; |
|||
|
|||
import com.iflytop.gd.system.common.base.IBaseEnum; |
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* 删除状态枚举 |
|||
*/ |
|||
@Getter |
|||
public enum DeletedEnum implements IBaseEnum<Integer> { |
|||
|
|||
ENABLE(1, "删除"), |
|||
DISABLE(0, "未删除"); |
|||
|
|||
private final Integer value; |
|||
|
|||
|
|||
private final String label; |
|||
|
|||
DeletedEnum(Integer value, String label) { |
|||
this.value = value; |
|||
this.label = label; |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.iflytop.gd.system.common.enums; |
|||
|
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* 系統固定用户 |
|||
*/ |
|||
@Getter |
|||
public enum FixedUser { |
|||
ENABLE, |
|||
DISABLE |
|||
} |
@ -1,24 +0,0 @@ |
|||
package com.iflytop.gd.system.common.enums; |
|||
|
|||
import com.iflytop.gd.system.common.base.IBaseEnum; |
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* 状态枚举 |
|||
*/ |
|||
@Getter |
|||
public enum StatusEnum implements IBaseEnum<Integer> { |
|||
|
|||
ENABLE(1, "启用"), |
|||
DISABLE(0, "禁用"); |
|||
|
|||
private final Integer value; |
|||
|
|||
|
|||
private final String label; |
|||
|
|||
StatusEnum(Integer value, String label) { |
|||
this.value = value; |
|||
this.label = label; |
|||
} |
|||
} |
@ -0,0 +1,7 @@ |
|||
package com.iflytop.gd.system.common.enums; |
|||
|
|||
public enum UsrRole { |
|||
ADMIN, |
|||
DEVELOPER, |
|||
USER; |
|||
} |
@ -0,0 +1,74 @@ |
|||
package com.iflytop.gd.system.controller; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.iflytop.gd.system.common.base.BasePageQuery; |
|||
import com.iflytop.gd.system.common.result.PageResult; |
|||
import com.iflytop.gd.system.common.result.Result; |
|||
import com.iflytop.gd.system.common.result.ResultCode; |
|||
import com.iflytop.gd.system.model.entity.User; |
|||
import com.iflytop.gd.system.service.UserService; |
|||
import io.swagger.v3.oas.annotations.Operation; |
|||
import io.swagger.v3.oas.annotations.Parameter; |
|||
import io.swagger.v3.oas.annotations.tags.Tag; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
@Tag(name = "用户接口") |
|||
@RestController |
|||
@RequestMapping("/api/user") |
|||
@RequiredArgsConstructor |
|||
@Slf4j |
|||
public class UserController { |
|||
private final UserService userService; |
|||
|
|||
@Operation(summary = "用户列表") |
|||
@GetMapping("/list") |
|||
public PageResult<User> getAllUsers(BasePageQuery pageQuery) { |
|||
IPage<User> result = userService.page(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), null); |
|||
return PageResult.success(result); |
|||
} |
|||
|
|||
@Operation(summary = "添加新用户") |
|||
@PostMapping("") |
|||
public Result<String> addUser(@RequestBody User user) { |
|||
User existingUser = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, user.getUsername())); |
|||
if (existingUser == null) { |
|||
boolean isSuccess = userService.save(user); |
|||
if (isSuccess) { |
|||
return Result.success(); |
|||
} |
|||
} else { |
|||
return Result.failed(ResultCode.USER_ALREADY_EXISTS); |
|||
} |
|||
return Result.failed(); |
|||
} |
|||
|
|||
@Operation(summary = "当前用户信息") |
|||
@GetMapping("/current") |
|||
public Result<User> currentUser() { |
|||
return Result.success(userService.getCurrentUser()); |
|||
} |
|||
|
|||
@Operation(summary = "更新用户信息") |
|||
@PutMapping("") |
|||
public Result<String> updateUser(@RequestBody User user) { |
|||
boolean isSuccess = userService.updateById(user); |
|||
if (isSuccess) { |
|||
return Result.success(); |
|||
} |
|||
return Result.failed(); |
|||
} |
|||
|
|||
@Operation(summary = "删除用户") |
|||
@DeleteMapping("/{ids}") |
|||
public Result<String> deleteUser(@Parameter(description = "用户ID,多个以英文逗号(,)分割") @PathVariable String ids) { |
|||
boolean isSuccess = userService.deleteUser(ids); |
|||
if (isSuccess) { |
|||
return Result.success(); |
|||
} |
|||
return Result.failed(); |
|||
} |
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.iflytop.gd.system.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.iflytop.gd.system.model.entity.User; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* 用户持久层接口 |
|||
*/ |
|||
@Mapper |
|||
public interface UserMapper extends BaseMapper<User> { |
|||
|
|||
} |
@ -0,0 +1,43 @@ |
|||
package com.iflytop.gd.system.model.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.iflytop.gd.system.common.base.BaseEntity; |
|||
import com.iflytop.gd.system.common.enums.Deleted; |
|||
import com.iflytop.gd.system.common.enums.FixedUser; |
|||
import com.iflytop.gd.system.common.enums.UsrRole; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import jakarta.validation.constraints.NotBlank; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
/** |
|||
* 用户实体 |
|||
*/ |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@Schema(description = "用户") |
|||
@TableName("user") |
|||
@Data |
|||
public class User extends BaseEntity { |
|||
|
|||
@NotBlank() |
|||
@Schema(description = "用户名") |
|||
private String username; |
|||
|
|||
@NotBlank() |
|||
@Schema(description = "昵称") |
|||
private String nickname; |
|||
|
|||
@NotBlank() |
|||
@Schema(description = "密码") |
|||
private String password; |
|||
|
|||
@Schema(description = "人员角色") |
|||
private UsrRole role; |
|||
|
|||
@Schema(description = "是否删除(0-否 1-是)") |
|||
private Deleted deleted; |
|||
|
|||
@Schema(description = "是否是系统固定用户") |
|||
private FixedUser fixedUser; |
|||
|
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.iflytop.gd.system.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.iflytop.gd.system.mapper.UserMapper; |
|||
import com.iflytop.gd.system.model.entity.User; |
|||
import lombok.Getter; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.Setter; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 用户业务实现类 |
|||
*/ |
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class UserService extends ServiceImpl<UserMapper, User> { |
|||
@Getter |
|||
@Setter |
|||
private User currentUser; |
|||
|
|||
public boolean deleteUser(String idsStr) { |
|||
List<Long> ids = Arrays.stream(idsStr.split(",")) |
|||
.map(Long::parseLong) |
|||
.collect(Collectors.toList()); |
|||
return this.removeByIds(ids); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue