From d9d582b117ec66c2cd335c9746fb005801c7564f Mon Sep 17 00:00:00 2001 From: zuoqinbo Date: Fri, 24 Nov 2023 09:50:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=B4=A6=E6=88=B7=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/init.sql | 1 + .../client/feign/PlatUserRoleChangeApi.java | 4 +- .../client/model/enums/ChangeActionType.java | 34 ++++++++++++++++ .../tyr/client/model/enums/ChangeType.java | 40 +++++++++++++++++++ .../model/req/PlatAccountChangeLogReq.java | 20 +++++++++- .../model/req/PlatAccountChangeQuery.java | 4 +- .../model/res/PlatAccountChangeLogResp.java | 9 +++++ .../change/PlatUserRoleChangeController.java | 3 ++ .../entity/PlatUserAccountChangeLog.java | 6 +++ .../impl/PlatUserRoleChangeService.java | 13 ++++++ 10 files changed, 130 insertions(+), 4 deletions(-) create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeActionType.java create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeType.java diff --git a/sql/init.sql b/sql/init.sql index cf10d56b..c346fe31 100644 --- a/sql/init.sql +++ b/sql/init.sql @@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS plat_user_role_job_change ( id bigint auto_increment comment '主键', axzo_user_id bigint default 0 not null comment '安心筑id', + request_id varchar(64) default 0 not null comment '请求ID', change_type varchar(20) default '' not null comment '变更类型', change_detail varchar(256) default '' not null comment '变更详情', operator varchar(50) not null comment '变更操作人', diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PlatUserRoleChangeApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PlatUserRoleChangeApi.java index 8d7aea47..82e74ad4 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PlatUserRoleChangeApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PlatUserRoleChangeApi.java @@ -31,7 +31,7 @@ public interface PlatUserRoleChangeApi { * @param req 户变更日志 * @return */ - @PostMapping(value = "/api/v1/plat/user/change/log") + @PostMapping(value = "/api/v1/plat/account/change/log") ApiResult savePlatUserAccountChangeLog(@RequestBody @Validated PlatAccountChangeLogReq req); /** @@ -40,7 +40,7 @@ public interface PlatUserRoleChangeApi { * @param platAccountChangeQuery 查询条件 * @return 返回账户变动记录列表 */ - @PostMapping(value = "/api/v1/plat/user/change/log/query") + @PostMapping(value = "/api/v1/plat/account/change/log/query") ApiPageResult queryPlatUserAccountChangeLog(@RequestBody @Validated PlatAccountChangeQuery platAccountChangeQuery); diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeActionType.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeActionType.java new file mode 100644 index 00000000..007a436e --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeActionType.java @@ -0,0 +1,34 @@ +package cn.axzo.tyr.client.model.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 账户变更类型 + * + * @author zuoqinbo + * @version V1.0 + * @Date 2023/11/24 11:05 + */ +@Getter +@AllArgsConstructor +public enum ChangeActionType { + /** + * 加入 + */ + JOIN("join", "加入"), + /** + * 添加 + */ + ADD("add", "添加"), + /** + * 移除 + */ + REMOVE("remove", "移除"), + ; + + private final String code; + + private final String desc; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeType.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeType.java new file mode 100644 index 00000000..5a8764b4 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/enums/ChangeType.java @@ -0,0 +1,40 @@ +package cn.axzo.tyr.client.model.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * 账户变更类型 + * + * @version V1.0 + * @author: zuoqinbo + * @date: 2023/11/24 11:05 + */ +@Getter +@AllArgsConstructor +public enum ChangeType { + /** + * 离职 + */ + DIMISSION("dimission", "离职"), + /** + * 角色变动 + */ + ROLE_CHANGE("role_change", "角色变动"), + /** + * 部门变动 + */ + ORGANIZATION_CHANGE("organization_change", "部门变动"), + /** + * 岗位变动 + */ + JOB_CHANGE("job_change", "岗位变动"), + ; + + private String code; + private String desc; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeLogReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeLogReq.java index ac9eb0df..3f3c908c 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeLogReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeLogReq.java @@ -5,6 +5,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.Date; @@ -17,26 +19,42 @@ import java.util.Date; */ @Data @Builder +@AllArgsConstructor +@NoArgsConstructor public class PlatAccountChangeLogReq { /** * 安心筑id */ + @NotNull(message = "axzoUserId is required") private Long axzoUserId; /** - * 变更类型 + * 请求ID */ + private String requestId; + + /** + * 变更类型 + * + * @see cn.axzo.tyr.client.model.enums.ChangeType + */ + @NotEmpty(message = "changeType is required") private String changeType; /** * 变更详情 + * 变更动作:变更模板 + * + * @see cn.axzo.tyr.client.model.enums.ChangeActionType */ + @NotEmpty(message = "changeDetail is required") private String changeDetail; /** * operator */ + @NotEmpty(message = "operator is required") private String operator; /** diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeQuery.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeQuery.java index fe36740a..7270de9a 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeQuery.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PlatAccountChangeQuery.java @@ -4,6 +4,8 @@ import cn.axzo.core.domain.PageRequest; import lombok.Builder; import lombok.Data; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.Date; @@ -15,12 +17,12 @@ import java.util.Date; * @date 2023/11/23 18:03 */ @Data -@Builder public class PlatAccountChangeQuery extends PageRequest { /** * 安心筑id */ + @NotNull(message = "axzoUserId is required") private Long axzoUserId; diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/PlatAccountChangeLogResp.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/PlatAccountChangeLogResp.java index 94841520..5eef989e 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/PlatAccountChangeLogResp.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/PlatAccountChangeLogResp.java @@ -1,7 +1,9 @@ package cn.axzo.tyr.client.model.res; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Date; @@ -15,6 +17,8 @@ import java.util.Date; */ @Data @Builder +@AllArgsConstructor +@NoArgsConstructor public class PlatAccountChangeLogResp { /** @@ -22,6 +26,11 @@ public class PlatAccountChangeLogResp { */ private Long axzoUserId; + /** + * requestId + */ + private String requestId; + /** * 变更类型 */ diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/change/PlatUserRoleChangeController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/change/PlatUserRoleChangeController.java index 79eb1ffd..f7eab22a 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/change/PlatUserRoleChangeController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/change/PlatUserRoleChangeController.java @@ -11,6 +11,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; + /** * tyr * @@ -23,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor public class PlatUserRoleChangeController implements PlatUserRoleChangeApi { + @Resource private PlatUserRoleChangeService roleChangeService; @Override diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/PlatUserAccountChangeLog.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/PlatUserAccountChangeLog.java index fbea03b9..47ed1e10 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/PlatUserAccountChangeLog.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/PlatUserAccountChangeLog.java @@ -34,6 +34,12 @@ public class PlatUserAccountChangeLog extends BaseEntity queryPlatUserAccountChangeLog(PlatAccountChangeQuery platAccountChangeQuery) { + if (platAccountChangeQuery.getAxzoUserId() == null) { + throw new ServiceException("axzoUserId不能为空!"); + } IPage page = userRoleChangeDao.lambdaQuery() .eq(PlatUserAccountChangeLog::getAxzoUserId, platAccountChangeQuery.getAxzoUserId()) .page(platAccountChangeQuery.toPage());