From b26be5fcb29b068bd2ade0080d105648e65d5a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=BE=99?= Date: Fri, 21 Feb 2025 10:29:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:(feature/REQ-3581)=20=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E9=80=9A=E7=94=A8=E7=9A=84=E6=9B=B4=E6=96=B0=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E7=AD=BE=E8=AF=81=E8=AE=B0=E5=BD=95=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=B2=A1=E6=9C=89=E8=AE=B0=E5=BD=95=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E5=92=8C=E5=8F=91=E9=80=81mq?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/changerecord/ChangeRecordApi.java | 9 ++++ .../visa/api/request/UpdateVisaChangeReq.java | 48 +++++++++++++++++++ .../visa/server/config/BizResultCode.java | 17 +++++++ .../controller/ChangeRecordController.java | 7 +++ .../visa/server/domain/ChangeRecord.java | 14 ++++++ .../server/service/ChangeRecordService.java | 2 + .../service/impl/ChangeRecordServiceImpl.java | 27 +++++++++++ 7 files changed, 124 insertions(+) create mode 100644 visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/UpdateVisaChangeReq.java create mode 100644 visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/BizResultCode.java diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java index 4d02ef5e..b1bb6e0b 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java @@ -7,6 +7,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq; import cn.axzo.nanopart.visa.api.request.FetchVisaAllConfirmReq; import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq; +import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq; import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq; @@ -174,4 +175,12 @@ public interface ChangeRecordApi { @PostMapping("/api/visa/change/list") ApiPageResult list(@RequestBody @Validated VisaSearchReq req); + /** + * 更新变更签证记录 + * @param req + * @return + */ + @PostMapping("/api/visa/change/update") + ApiResult update(@RequestBody @Validated UpdateVisaChangeReq req); + } diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/UpdateVisaChangeReq.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/UpdateVisaChangeReq.java new file mode 100644 index 00000000..f71f6c83 --- /dev/null +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/UpdateVisaChangeReq.java @@ -0,0 +1,48 @@ +package cn.axzo.nanopart.visa.api.request; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class UpdateVisaChangeReq { + + /** + * 变更签证id + */ + @NotNull(message = "变更签证id不能为空") + private Long visaId; + + /** + * 变更签证更新操作人personId + */ + @NotNull(message = "操作人不能为空") + private Long operatorId; + + /** + * 变更签证用印操作 + */ + private VisaStampAction visaStampAction; + + /** + * 更新场景,用于记录日志, + */ + private String scene; + + @Getter + @AllArgsConstructor(access = AccessLevel.PRIVATE) + public enum VisaStampAction { + + COMPLETE("完成用印"); + + private String desc; + } +} diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/BizResultCode.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/BizResultCode.java new file mode 100644 index 00000000..35ab40fc --- /dev/null +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/config/BizResultCode.java @@ -0,0 +1,17 @@ +package cn.axzo.nanopart.visa.server.config; + +import cn.axzo.foundation.result.IResultCode; +import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum BizResultCode implements IResultCode { + + CHANGE_RECORD_NOT_FOUND("100001", "变更签证记录不存在"), + VISA_STAMP_STATUS_ERROR("100002", "变更签证记录用印状态错误"); + + private String errorCode; + private String errorMessage; +} diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java index d126bd6c..0e73800d 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java @@ -10,6 +10,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq; import cn.axzo.nanopart.visa.api.request.FetchVisaAllConfirmReq; import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq; +import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq; import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq; @@ -181,4 +182,10 @@ public class ChangeRecordController implements ChangeRecordApi { return ApiResult.ok(changeRecordBillService.getBillIfRelated(req)); } + @Override + public ApiResult update(UpdateVisaChangeReq req) { + changeRecordService.update(req); + return ApiResult.ok(); + } + } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java index 3b3668bd..e8099620 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java @@ -3,6 +3,8 @@ package cn.axzo.nanopart.visa.server.domain; import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum; import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum; +import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq; +import cn.axzo.nanopart.visa.server.config.BizResultCode; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -10,6 +12,8 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.Table; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,6 +23,7 @@ import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.Date; +import java.util.Optional; /** * @author xudawei @@ -162,4 +167,13 @@ public class ChangeRecord extends BaseEntity { @TableField(value = "update_by") private Long updateBy; + private static final Table VISA_STAMP_STATUS_ACTION = HashBasedTable.create(); + + static { + VISA_STAMP_STATUS_ACTION.put(VisaStampStatusEnum.WITH_PRINT, UpdateVisaChangeReq.VisaStampAction.COMPLETE, VisaStampStatusEnum.USED_PRINTS); + } + + public VisaStampStatusEnum nextStampStatus(UpdateVisaChangeReq.VisaStampAction action) { + return Optional.ofNullable(VISA_STAMP_STATUS_ACTION.get(this.getStampStatus(), action)).orElseThrow(BizResultCode.VISA_STAMP_STATUS_ERROR::toException); + } } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java index 93630cde..2142b834 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java @@ -5,6 +5,7 @@ import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq; import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq; +import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq; import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq; @@ -145,4 +146,5 @@ public interface ChangeRecordService extends IService { */ PageData list(VisaSearchReq req); + void update(UpdateVisaChangeReq req); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 57e91114..67052868 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -16,6 +16,7 @@ import cn.axzo.basics.report.api.req.ReportFileReq; import cn.axzo.basics.report.api.sheet.SheetWrapper; import cn.axzo.digital.req.ListRectifyOrderReq; import cn.axzo.digital.resp.RectifyOrderResp; +import cn.axzo.foundation.exception.Axssert; import cn.axzo.foundation.page.PageResp; import cn.axzo.framework.domain.ServiceException; import cn.axzo.framework.domain.web.result.PageData; @@ -40,6 +41,7 @@ import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum; import cn.axzo.nanopart.visa.api.enums.VisaRelationVarTypeEnum; +import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum; import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum; import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq; @@ -47,6 +49,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.api.request.CheckVisaWithVisaIdReq; import cn.axzo.nanopart.visa.api.request.GetBillIfRelatedReq; import cn.axzo.nanopart.visa.api.request.ImGroupOperationClearReq; +import cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq; import cn.axzo.nanopart.visa.api.request.VisaChangeApproveOnlyReq; import cn.axzo.nanopart.visa.api.request.VisaChangeDiscussCreateReq; @@ -162,6 +165,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.MSG_CENTER_APP_COD import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_INITIATOR_NAME; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_TOPIC; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY; +import static cn.axzo.nanopart.visa.server.config.BizResultCode.CHANGE_RECORD_NOT_FOUND; import static cn.axzo.nanopart.visa.server.utils.Constants.DATE_FORMAT; import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING; @@ -1855,6 +1859,13 @@ public class ChangeRecordServiceImpl extends ServiceImpl Date: Fri, 21 Feb 2025 10:33:41 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:(feature/REQ-3581)=20=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ChangeRecordServiceImpl.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 67052868..91802c60 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -1859,14 +1859,6 @@ public class ChangeRecordServiceImpl extends ServiceImpl