diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/ApprovalStatusConstant.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/ApprovalStatusConstant.java new file mode 100644 index 00000000..3cc92b8f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/ApprovalStatusConstant.java @@ -0,0 +1,24 @@ +package org.springblade.desk.common.constant; + +/** + * @author 石玖洲 + * @Description + * @create 2026-02-26 11:14 + */ +public interface ApprovalStatusConstant { + + /** + * 待审核 + */ + Integer WAITING = 0; + + /** + * 审核通过 + */ + Integer PASS = 1; + + /** + * 审核失败 + */ + Integer REJECT = 2; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/BizTypeConstant.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/BizTypeConstant.java new file mode 100644 index 00000000..955d0237 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/BizTypeConstant.java @@ -0,0 +1,9 @@ +package org.springblade.desk.common.constant; + +/** + * @author 石玖洲 + * @Description + * @create 2026-02-26 14:40 + */ +public interface BizTypeConstant { +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java new file mode 100644 index 00000000..532f306f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java @@ -0,0 +1,64 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.feign; + +import org.springblade.core.tool.api.R; +import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 审批记录表 Feign接口类 + * + * @author BladeX + * @since 2026-02-26 + */ +@FeignClient( + value = "blade-desk" +) +public interface IMesApprovalRecordClient { + + String API_PREFIX = "/feign/client/mesApprovalRecord"; + String SAVE = API_PREFIX + "/save"; + String UPDATE = API_PREFIX + "/update"; + + /** + * 新增审批记录表 + * @param mesApprovalRecord 审批记录表 + * @return 结果 + */ + @PostMapping(SAVE) + R save(@RequestBody MesApprovalRecordEntity mesApprovalRecord); + + /** + * 修改审批记录表 + * @param mesApprovalRecord 审批记录表 + * @return 结果 + */ + @PostMapping(UPDATE) + R update(@RequestBody MesApprovalRecordEntity mesApprovalRecord); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesNotifyMessageClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesNotifyMessageClient.java new file mode 100644 index 00000000..8c5376e7 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesNotifyMessageClient.java @@ -0,0 +1,57 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.feign; + +import org.springblade.core.tool.api.R; +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 通知消息 Feign接口类 + * + * @author BladeX + * @since 2026-02-26 + */ +@FeignClient( + value = "blade-desk" +) +public interface IMesNotifyMessageClient { + + String API_PREFIX = "/feign/client/mesNotifyMessage"; + String SAVE = API_PREFIX + "/save"; + + /** + * 获取通知消息列表 + * + * @param mesNotifyMessage 通知消息 + * @return 结果 + */ + @PostMapping(SAVE) + R save(@RequestBody MesNotifyMessageEntity mesNotifyMessage); + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/dto/MesApprovalRecordDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/dto/MesApprovalRecordDTO.java new file mode 100644 index 00000000..43efdabc --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/dto/MesApprovalRecordDTO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.pojo.dto; + +import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 审批记录表 数据传输对象实体类 + * + * @author BladeX + * @since 2026-02-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class MesApprovalRecordDTO extends MesApprovalRecordEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/dto/MesNotifyMessageDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/dto/MesNotifyMessageDTO.java new file mode 100644 index 00000000..ce90ff12 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/dto/MesNotifyMessageDTO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.pojo.dto; + +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 通知消息 数据传输对象实体类 + * + * @author BladeX + * @since 2026-02-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class MesNotifyMessageDTO extends MesNotifyMessageEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesApprovalRecordEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesApprovalRecordEntity.java new file mode 100644 index 00000000..a8875f70 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesApprovalRecordEntity.java @@ -0,0 +1,90 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; +import java.io.Serial; + +/** + * 审批记录表 实体类 + * + * @author BladeX + * @since 2026-02-26 + */ +@Data +@TableName("MES_APPROVAL_RECORD") +@Schema(description = "MesApprovalRecord对象") +@EqualsAndHashCode(callSuper = true) +public class MesApprovalRecordEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 业务ID + */ + @Schema(description = "业务ID") + private Long bizId; + /** + * 业务类型 + */ + @Schema(description = "业务类型") + private String bizType; + /** + * 流程内容 + */ + @Schema(description = "流程内容") + private String content; + /** + * 当前角色ID + */ + @Schema(description = "当前角色ID") + private Long currentRoleId; + /** + * 当前角色名称 + */ + private String currentRoleName; + /** + * 下一个流程节点角色ID + */ + @Schema(description = "下一个流程节点角色ID") + private Long nextRoleId; + /** + * 下一个流程节点角色ID + */ + @Schema(description = "下一个流程节点角色名称") + private String nextRoleName; + /** + * 审批意见 + */ + @Schema(description = "审批意见") + private String opinion; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesNotifyMessageEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesNotifyMessageEntity.java new file mode 100644 index 00000000..75fa0187 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesNotifyMessageEntity.java @@ -0,0 +1,61 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; +import java.io.Serial; + +/** + * 通知消息 实体类 + * + * @author BladeX + * @since 2026-02-26 + */ +@Data +@TableName("MES_NOTIFY_MESSAGE") +@Schema(description = "MesNotifyMessage对象") +@EqualsAndHashCode(callSuper = true) +public class MesNotifyMessageEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程内容 + */ + @Schema(description = "流程内容") + private String content; + /** + * 接收人ID + */ + @Schema(description = "接收人ID") + private Long receiveUserId; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java new file mode 100644 index 00000000..6259e521 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.pojo.vo; + +import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 审批记录表 视图实体类 + * + * @author BladeX + * @since 2026-02-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class MesApprovalRecordVO extends MesApprovalRecordEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java new file mode 100644 index 00000000..6bbff133 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java @@ -0,0 +1,46 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.common.pojo.vo; + +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 通知消息 视图实体类 + * + * @author BladeX + * @since 2026-02-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class MesNotifyMessageVO extends MesNotifyMessageEntity { + @Serial + private static final long serialVersionUID = 1L; + + private String createUserName; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MyHistoryMesApprovalRecordVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MyHistoryMesApprovalRecordVO.java new file mode 100644 index 00000000..00fae4eb --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MyHistoryMesApprovalRecordVO.java @@ -0,0 +1,34 @@ +package org.springblade.desk.common.pojo.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author 石玖洲 + * @Description 我的历史审批 + * @create 2026-02-26 9:56 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class MyHistoryMesApprovalRecordVO extends MesApprovalRecordVO{ + + /** + * 当前节点名称 + */ + private String currentNodeName; + + /** + * 是否审阅结束 + */ + private Boolean endStatus; + + /** + * 流程发起人 + */ + private String startUserName; + + /** + * 流程节点名称 + */ + private String currentFlowNodeName; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MyMesApprovalRecordVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MyMesApprovalRecordVO.java new file mode 100644 index 00000000..c3c06469 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MyMesApprovalRecordVO.java @@ -0,0 +1,16 @@ +package org.springblade.desk.common.pojo.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author 石玖洲 + * @Description 我的审批VO展示类 + * @create 2026-02-26 9:55 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class MyMesApprovalRecordVO extends MesApprovalRecordVO{ + + private String createUserName; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java new file mode 100644 index 00000000..8c243aaa --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java @@ -0,0 +1,79 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
+import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
+import org.springblade.desk.common.service.IMesApprovalRecordService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 审批记录表 控制器
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/mesApprovalRecord")
+@Tag(name = "审批记录表", description = "审批记录表接口")
+public class MesApprovalRecordController extends BladeController {
+
+ private final IMesApprovalRecordService mesApprovalRecordService;
+
+ /**
+ * 审批记录表 我的审批记录分页
+ */
+ @GetMapping("/pageMyApprovalRecord")
+ @Operation(summary = "获取我的审批分页", description = "传入mesApprovalRecord")
+ public R
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
+import org.springblade.desk.common.service.IMesNotifyMessageService;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 通知消息 控制器
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/mesNotifyMessage")
+@Tag(name = "通知消息", description = "通知消息接口")
+public class MesNotifyMessageController extends BladeController {
+
+ private final IMesNotifyMessageService mesNotifyMessageService;
+
+ /**
+ * 通知消息 自定义分页
+ */
+ @GetMapping("/page")
+ @Operation(summary = "分页", description = "传入mesNotifyMessage")
+ public R
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.feign;
+
+import lombok.AllArgsConstructor;
+import io.swagger.v3.oas.annotations.Hidden;
+import org.springblade.core.tool.api.R;
+import org.springblade.desk.common.constant.ApprovalStatusConstant;
+import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
+import org.springblade.desk.common.service.IMesApprovalRecordService;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 审批记录表 Feign实现类
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+@Hidden
+@RestController
+@AllArgsConstructor
+public class MesApprovalRecordClient implements IMesApprovalRecordClient {
+
+ private final IMesApprovalRecordService mesApprovalRecordService;
+
+ @Override
+ public R save(MesApprovalRecordEntity mesApprovalRecord) {
+ mesApprovalRecord.setStatus(ApprovalStatusConstant.WAITING);
+ mesApprovalRecordService.save(mesApprovalRecord);
+ return R.success();
+ }
+
+ @Override
+ public R update(MesApprovalRecordEntity mesApprovalRecord) {
+ mesApprovalRecordService.updateById(mesApprovalRecord);
+ return R.success();
+ }
+}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesNotifyMessageClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesNotifyMessageClient.java
new file mode 100644
index 00000000..8f128092
--- /dev/null
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesNotifyMessageClient.java
@@ -0,0 +1,54 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.feign;
+
+import io.swagger.v3.oas.annotations.Hidden;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tool.api.R;
+import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
+import org.springblade.desk.common.service.IMesNotifyMessageService;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 通知消息 Feign实现类
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+@Hidden
+@RestController
+@AllArgsConstructor
+public class MesNotifyMessageClient implements IMesNotifyMessageClient {
+
+ private final IMesNotifyMessageService mesNotifyMessageService;
+
+
+ @Override
+ public R save(MesNotifyMessageEntity mesNotifyMessage) {
+ mesNotifyMessageService.save(mesNotifyMessage);
+ return R.success();
+ }
+}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/ApprovalRecordMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/ApprovalRecordMapper.xml
new file mode 100644
index 00000000..4a5587f2
--- /dev/null
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/ApprovalRecordMapper.xml
@@ -0,0 +1,34 @@
+
+
+
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
+import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
+import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
+
+import java.util.List;
+
+/**
+ * 审批记录表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+public interface MesApprovalRecordMapper extends BaseMapper
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
+import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
+
+import java.util.List;
+
+/**
+ * 通知消息 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+public interface MesNotifyMessageMapper extends BaseMapper
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
+import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
+import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
+
+/**
+ * 审批记录表 服务类
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+public interface IMesApprovalRecordService extends BaseService
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
+import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
+
+/**
+ * 通知消息 服务类
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+public interface IMesNotifyMessageService extends BaseService
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.common.utils.CommonUtil;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.desk.common.constant.ApprovalStatusConstant;
+import org.springblade.desk.common.mapper.MesApprovalRecordMapper;
+import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
+import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
+import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
+import org.springblade.desk.common.service.IMesApprovalRecordService;
+import org.springblade.system.cache.UserCache;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 审批记录表 服务实现类
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+@Service
+public class MesApprovalRecordServiceImpl extends BaseServiceImpl
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.desk.common.mapper.MesNotifyMessageMapper;
+import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
+import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
+import org.springblade.desk.common.service.IMesNotifyMessageService;
+import org.springblade.system.cache.UserCache;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 通知消息 服务实现类
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+@Service
+public class MesNotifyMessageServiceImpl extends BaseServiceImpl
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
+import org.springblade.desk.common.pojo.vo.MesApprovalRecordVO;
+import java.util.Objects;
+
+/**
+ * 审批记录表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+public class MesApprovalRecordWrapper extends BaseEntityWrapper
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.desk.common.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
+import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
+import java.util.Objects;
+
+/**
+ * 通知消息 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2026-02-26
+ */
+public class MesNotifyMessageWrapper extends BaseEntityWrapper