diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java index f4a164afc..f07a68911 100644 --- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java +++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java @@ -11,6 +11,7 @@ import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.common.util.servlet.ServletUtils; import com.cf.imes.module.infra.api.logger.ApiErrorLogApi; import com.cf.imes.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; +import com.fasterxml.jackson.databind.exc.InvalidFormatException; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -220,8 +221,13 @@ public class GlobalExceptionHandler { @ExceptionHandler(value = HttpMessageNotReadableException.class) public CommonResult httpMessageNotReadableExceptionHandler(HttpServletRequest req, HttpMessageNotReadableException ex) { - log.warn(String.format("==========[httpMessageNotReadableExceptionHandler]==========,%s", ex.getMessage())); - return CommonResult.error(BAD_REQUEST); + String errMsg = ex.getMessage(); + log.warn(String.format("==========[httpMessageNotReadableExceptionHandler]==========,%s", errMsg)); + Throwable cause = ex.getCause(); + if (cause instanceof InvalidFormatException) { + errMsg = ((InvalidFormatException) cause).getValue().toString(); + } + return CommonResult.error(BAD_REQUEST, errMsg); } /** diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/delay/vo/ProductDelaySaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/delay/vo/ProductDelaySaveReqVO.java index 3133d18df..3d40c58a4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/delay/vo/ProductDelaySaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/delay/vo/ProductDelaySaveReqVO.java @@ -1,5 +1,6 @@ package com.cf.imes.module.system.controller.admin.funds.delay.vo; +import com.cf.imes.framework.common.validation.NumberValid; import com.cf.imes.module.system.validation.products.DurationUnitValid; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; @@ -23,6 +24,7 @@ public class ProductDelaySaveReqVO { @Schema(description = "延期时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "{product.delay.save.duration.notNull}") + @NumberValid(name = "product.delay.duration.field") private Integer delayDuration; @Schema(description = "延期时长单位,0:年、1:月、2:日", example = "1") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceTitleSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceTitleSaveReqVO.java index b3bb2f973..bd456b030 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceTitleSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceTitleSaveReqVO.java @@ -33,7 +33,7 @@ public class InvoiceTitleSaveReqVO { @Schema(description = "发票类型,0增值税普通发票 1增值税专用发票") - @NotNull(message = "发票类型不能为空") + @NotNull(message = "{invoice.title.save.invoiceType.notNull}") @InvoiceTypeValid private Integer invoiceType; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java index 96c1f6329..0d3c409c5 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java @@ -19,8 +19,6 @@ import com.cf.imes.module.system.controller.admin.funds.organamount.vo.OrganProd import com.cf.imes.module.system.controller.admin.organ.vo.organ.*; import com.cf.imes.module.system.dal.dataobject.funds.purchase.PurchaseRecordDO; import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO; -import com.cf.imes.module.system.dal.dataobject.organ.TenantPackageDO; -import com.cf.imes.module.system.dal.mysql.organ.TenantPackageMapper; import com.cf.imes.module.system.enums.pay.DurationUnitEnum; import com.cf.imes.module.system.enums.pay.PurchaseRecordStatusEnum; import com.cf.imes.module.system.service.funds.delay.ProductDelayService; @@ -31,6 +29,7 @@ import com.cf.imes.module.system.service.user.AdminUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.groups.Default; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -57,9 +56,6 @@ public class OrganController { @Resource private OrganService organService; - @Resource - private TenantPackageMapper tenantPackageMapper; - @Resource private AdminUserService adminUserService; @@ -96,14 +92,14 @@ public class OrganController { @PostMapping("/create") @Operation(summary = "创建组织") @PreAuthorize("@ss.hasPermission('organizationLIst:create')") - public CommonResult createOrgan(@Validated(OrganSaveCreateGroup.class) @RequestBody OrganSaveReqVO createReqVO) { + public CommonResult createOrgan(@Validated({OrganSaveCreateGroup.class, Default.class}) @RequestBody OrganSaveReqVO createReqVO) { return success(organService.createOrgan(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新组织") @PreAuthorize("@ss.hasPermission('organizationLIst:update')") - public CommonResult updateOrgan(@Validated(OrganSaveUpdateGroup.class) @RequestBody OrganSaveReqVO updateReqVO) { + public CommonResult updateOrgan(@Validated({OrganSaveUpdateGroup.class, Default.class}) @RequestBody OrganSaveReqVO updateReqVO) { organService.updateOrgan(updateReqVO); return success(true); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganPageReqVO.java index 263e8e00a..b6378ceee 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganPageReqVO.java @@ -20,10 +20,6 @@ public class OrganPageReqVO extends PageParam { @Size(max = 30, message = "组织名长度不能超过30个字符") private String name; - @Schema(description = "组织名", example = "晨丰") - @Size(max = 30, message = "组织名长度不能超过30个字符") - private String exactName; - @Schema(description = "联系人", example = "晨丰") @Size(max = 30, message = "联系人长度不能超过30个字符") private String contactName; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganSaveReqVO.java index 67ac7134f..eda9e7bd8 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganSaveReqVO.java @@ -75,10 +75,6 @@ public class OrganSaveReqVO { @Schema(description = "是否大型组织") private Boolean large; - @Schema(description = "组织编号") - @Size(max = 50, message = "组织编号长度不能超过50个字符") - private String code; - @Schema(description = "地址") @Size(max = 255, message = "地址长度不能超过255个字符") private String address; @@ -87,7 +83,6 @@ public class OrganSaveReqVO { @Size(max = 200, message = "备注长度不能超过200个字符") private String remark; - @Schema(description = "省") @Size(max = 64, message = "省名称长度不能超过64个字符") private String province; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java index c85c6d286..e73bbbb79 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java @@ -42,7 +42,6 @@ public interface OrganMapper extends BaseMapperX { .likeIfPresent(OrganizationDO::getContactName, reqVO.getContactName()) .likeIfPresent(OrganizationDO::getContactMobile, reqVO.getContactMobile()) .eqIfPresent(OrganizationDO::getStatus, reqVO.getStatus()) - .eqIfPresent(OrganizationDO::getName, reqVO.getExactName()) .eqIfPresent(OrganizationDO::getProvince, reqVO.getProvince()) .eqIfPresent(OrganizationDO::getCity, reqVO.getCity()) .eqIfPresent(OrganizationDO::getCounty, reqVO.getCounty()) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java index 5a65672fd..0c9b0d5b8 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java @@ -72,12 +72,13 @@ public class ProductDelayServiceImpl implements ProductDelayService { productsDetailService.validateProductExist(purchaseRecordDO.getProductId()); /** - * 查询是否有前序的延期记录: + * 查询是否有前序的对应产品延期记录: * 1、如果有记录,延期有效期在其记录上叠加 * 2、如果没有记录,取购买记录的结束时间作为延期的开始时间,如果结束时间已经过期了,那么从今天开始算 */ ProductDelayRecordDO lastDelayRecordDO = productDelayRecordMapper.selectOne(new LambdaQueryWrapper() .eq(ProductDelayRecordDO::getOrganId, organId) + .eq(ProductDelayRecordDO::getProductId, purchaseRecordDO.getProductId()) .orderByDesc(ProductDelayRecordDO::getCreateTime) .last("limit 1")); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/common/CommonStatus.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/common/CommonStatus.java index 48ff9ee0d..efd5e88b2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/common/CommonStatus.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/common/CommonStatus.java @@ -23,7 +23,7 @@ import java.lang.annotation.Target; validatedBy = {CommonStatusValidator.class} ) public @interface CommonStatus { - String message() default "状态不合法,0:开启、1:关闭"; + String message() default "{common.status.invalid}"; Class[] groups() default {}; diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/message.properties b/cf-module-system/cf-module-system-biz/src/main/resources/message.properties index 51db48f6f..206aaa84b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/message.properties +++ b/cf-module-system/cf-module-system-biz/src/main/resources/message.properties @@ -26,6 +26,7 @@ invoice.title.save.email.notNull=邮箱不能为空 invoice.title.save.email.size=邮箱长度不能超过64个字符 invoice.title.save.fixedPhone.size=注册固定电话长度不能超过20个字符 invoice.title.save.issueType.notNull=开具类型不能为空 +invoice.title.save.invoiceType.notNull=发票类型不能为空 invoice.title.save.registeredAddress.size=注册场所地址长度不能超过64个字符 invoice.title.save.taxNumber.size=统一社会信用代码长度不能超过18个字符 invoice.title.save.title.notBlank=发票抬头不能为空 @@ -38,6 +39,7 @@ page.pageNo.notNull=页码不能为空 page.pageSize.max=每页条数最大值为 100 page.pageSize.min=每页条数最小值为 -1 page.pageSize.notNull=每页条数不能为空 +product.delay.duration.field=延期时长 product.delay.page.operator.size=操作人长度不能超过64个字符 product.delay.page.productName.size=产品名称长度不能超过64个字符 product.delay.save.duration.notNull=延期时长不能为空 @@ -104,4 +106,6 @@ aj.captcha.6205=verify请求次数超限。 assembly.config.import.orderIds.notEmpty=订单号列表不能为空 assembly.config.import.orderIds.size=订单号列表长度不能超过100 assembly.config.save.id.notNull=装备设置编号不能为空 -assembly.config.save.structure.config.notNull=装备设置结构配置不能为空 \ No newline at end of file +assembly.config.save.structure.config.notNull=装备设置结构配置不能为空 + +common.status.invalid=状态不合法 \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties b/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties index 003444b03..b4ce1320d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties +++ b/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties @@ -26,6 +26,7 @@ invoice.title.save.email.notNull=郵箱不能為空 invoice.title.save.email.size=郵箱長度不能超過 64 個字元 invoice.title.save.fixedPhone.size=註冊固定電話長度不能超過 20 個字元 invoice.title.save.issueType.notNull=開具類型不能為空 +invoice.title.save.invoiceType.notNull=發票類型不能爲空 invoice.title.save.registeredAddress.size=註冊場所地址長度不能超過 64 個字元 invoice.title.save.taxNumber.size=統一社會信用代碼長度不能超過 18 個字元 invoice.title.save.title.notBlank=發票抬頭不能為空 @@ -38,6 +39,7 @@ page.pageNo.notNull=頁碼不能為空 page.pageSize.max=每頁條數最大值為 100 page.pageSize.min=每頁條數最小值為 -1 page.pageSize.notNull=每頁條數不能為空 +product.delay.duration.field=延期時長 product.delay.page.operator.size=操作人長度不能超過 64 個字元 product.delay.page.productName.size=產品名稱長度不能超過 64 個字元 product.delay.save.duration.notNull=延期時長不能為空 @@ -91,7 +93,6 @@ pay.product.productChannelCode.notNull=產品支付渠道編碼不能為空 pay.product.productDetailsId.notNull=產品定價規則編號不能為空 pay.product.productId.notNull=產品 ID 不能為空 - aj.captcha.6110=驗證碼已失效,請重新獲取。 aj.captcha.6111=驗證失敗。 aj.captcha.6112=獲取驗證碼失敗,請聯繫管理員。 @@ -105,4 +106,6 @@ aj.captcha.6205=verify 請求次數超限。 assembly.config.import.orderIds.notEmpty=訂單號清單不能為空 assembly.config.import.orderIds.size=訂單號清單長度不能超過100 assembly.config.save.id.notNull=裝備設定編號不能為空 -assembly.config.save.structure.config.notNull=裝備設定結構配寘不能為空 \ No newline at end of file +assembly.config.save.structure.config.notNull=裝備設定結構配寘不能為空 + +common.status.invalid=狀態不合法 \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties b/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties index 38ce0f96b..83ee555ad 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties +++ b/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties @@ -26,6 +26,7 @@ invoice.title.save.email.notNull=Email cannot be empty invoice.title.save.email.size=Email length cannot exceed 64 characters invoice.title.save.fixedPhone.size=Fixed phone number length cannot exceed 20 characters invoice.title.save.issueType.notNull=Issue type cannot be empty +invoice.title.save.invoiceType.notNull=Invoice type cannot be empty invoice.title.save.registeredAddress.size=Registered address length cannot exceed 64 characters invoice.title.save.taxNumber.size=Tax identification number length cannot exceed 18 characters invoice.title.save.title.notBlank=Invoice title cannot be empty @@ -38,6 +39,7 @@ page.pageNo.notNull=Page number cannot be empty page.pageSize.max=Page size cannot exceed 100 page.pageSize.min=Page size must be at least -1 page.pageSize.notNull=Page size cannot be empty +product.delay.duration.field=Delay duration product.delay.page.operator.size=Operator length cannot exceed 64 characters product.delay.page.productName.size=Product name length cannot exceed 64 characters product.delay.save.duration.notNull=Delay duration cannot be empty @@ -104,4 +106,6 @@ aj.captcha.6205=VERIFY request limit exceeded! assembly.config.import.orderIds.notEmpty=The production order number list cannot be empty assembly.config.import.orderIds.size=The length of the production order number list cannot exceed 100 assembly.config.save.id.notNull=Assembly setting number cannot be empty -assembly.config.save.structure.config.notNull=Assembly setting structure configuration cannot be empty \ No newline at end of file +assembly.config.save.structure.config.notNull=Assembly setting structure configuration cannot be empty + +common.status.invalid=The status is illegal \ No newline at end of file