mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、修复组织产品过期无法购买产品;2、修复组织更新会校验产品列表;3、优化token中产品id不存在时的提示;
This commit is contained in:
+2
-1
@@ -25,6 +25,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -81,7 +82,7 @@ public class OrganController {
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建组织")
|
||||
@PreAuthorize("@ss.hasPermission('organizationLIst:create')")
|
||||
public CommonResult<Long> createOrgan(@Valid @RequestBody OrganSaveReqVO createReqVO) {
|
||||
public CommonResult<Long> createOrgan(@Validated(OrganSaveCreateGroup.class) @RequestBody OrganSaveReqVO createReqVO) {
|
||||
return success(organService.createOrgan(createReqVO));
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -13,22 +13,22 @@ import java.time.LocalDate;
|
||||
@Schema(description = "管理后台 - 组织创建购买产品 Request VO")
|
||||
@Data
|
||||
public class OrganCreateProductPurchaseReqVO {
|
||||
@Schema(description = "产品编号",example = "1")
|
||||
@NotNull(message = "产品编号不能为空")
|
||||
@Schema(description = "产品编号", example = "1")
|
||||
@NotNull(message = "产品编号不能为空", groups = {OrganSaveCreateGroup.class})
|
||||
private Long productId;
|
||||
|
||||
@Schema(description = "定价规则编号",example = "1")
|
||||
@NotNull(message = "定价规则编号不能为空")
|
||||
@Schema(description = "定价规则编号", example = "1")
|
||||
@NotNull(message = "定价规则编号不能为空", groups = {OrganSaveCreateGroup.class})
|
||||
private Long productDetailsId;
|
||||
|
||||
@Schema(description = "产品购买金额,单位:元", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
@NotNull(message = "产品购买金额不能为空")
|
||||
@NotNull(message = "产品购买金额不能为空", groups = {OrganSaveCreateGroup.class})
|
||||
@DecimalMin(value = "0.01", message = "产品购买金额必须大于零")
|
||||
@DecimalMax(value = "100000", message = "产品购买金额不能超过十万")
|
||||
@Digits(integer = 6, fraction = 2, message = "产品购买金额格式不正确")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "产品有效时间")
|
||||
@NotNull(message = "产品有效时间不能为空")
|
||||
@NotNull(message = "产品有效时间不能为空", groups = {OrganSaveCreateGroup.class})
|
||||
private LocalDate productExpireDate;
|
||||
}
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.cf.imes.module.system.controller.admin.organ.vo.organ;
|
||||
|
||||
/**
|
||||
* 组织新增请求校验组
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/9/24 16:28
|
||||
*/
|
||||
public interface OrganSaveCreateGroup {
|
||||
}
|
||||
+12
-1
@@ -10,6 +10,7 @@ import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.date.LocalDateTimeUtils;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.module.system.controller.admin.funds.delay.vo.ProductDelayRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.organamount.vo.TotalSalesAmountRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.products.vo.productDetails.ProductDetailsPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.purchase.vo.OrgEarliestPurchaseProductRespVO;
|
||||
@@ -30,6 +31,7 @@ import com.cf.imes.module.system.enums.pay.ProductDurationUnitEnum;
|
||||
import com.cf.imes.module.system.enums.pay.PurchaseRecordStatusEnum;
|
||||
import com.cf.imes.module.system.enums.pay.TradeTypeEnum;
|
||||
import com.cf.imes.module.system.framework.snowflake.config.MybatisIdProperties;
|
||||
import com.cf.imes.module.system.service.funds.delay.ProductDelayService;
|
||||
import com.cf.imes.module.system.service.funds.products.ProductsDetailService;
|
||||
import com.cf.imes.module.system.service.organ.OrganService;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -70,6 +72,10 @@ public class PurchaseServiceImpl implements PurchaseService {
|
||||
@Lazy
|
||||
private OrganService organService;
|
||||
|
||||
@Resource
|
||||
@Lazy
|
||||
private ProductDelayService productDelayService;
|
||||
|
||||
@Override
|
||||
public PurchaseRecordDO getRecord(Long id) {
|
||||
return purchaseRecordMapper.selectById(id);
|
||||
@@ -119,12 +125,17 @@ public class PurchaseServiceImpl implements PurchaseService {
|
||||
// 查询购买记录中还有效的最晚一条
|
||||
PurchaseRecordDO purchaseRecordDO = purchaseRecordMapper.selectOne(new LambdaQueryWrapper<PurchaseRecordDO>()
|
||||
.eq(PurchaseRecordDO::getOrganId, organId)
|
||||
.gt(PurchaseRecordDO::getEndTime, LocalDateTime.now())
|
||||
.eq(PurchaseRecordDO::getDeleted, false)
|
||||
.eq(PurchaseRecordDO::getStatus, PurchaseRecordStatusEnum.ACTIVE.getStatus())
|
||||
.orderByDesc(PurchaseRecordDO::getCreateTime)
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isNotNull(purchaseRecordDO)) {
|
||||
// 查询延期记录
|
||||
List<ProductDelayRespVO> recordsByPurchaseId = productDelayService.getRecordsByPurchaseId(purchaseRecordDO.getId(), organId);
|
||||
if(CollUtil.isNotEmpty(recordsByPurchaseId)) {
|
||||
// 延期记录是按自增id逆序的,第一条的延期后时间作为产品到期时间
|
||||
purchaseRecordDO.setEndTime(recordsByPurchaseId.get(0).getDelayTime());
|
||||
}
|
||||
return new OrgEarliestPurchaseProductRespVO(purchaseRecordDO, productsDetailMapper.selectById(purchaseRecordDO.getProductDetailsId()));
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -199,6 +199,12 @@ chenfeng:
|
||||
ignore-product-urls:
|
||||
- /admin-api/system/auth/get-permission-info
|
||||
- /admin-api/system/dict-data/list-all-simple
|
||||
- /admin-api/system/amount
|
||||
- /admin-api/system/organ/get
|
||||
- /admin-api/system/products/available
|
||||
- /admin-api/system/product-details/organ/purchase
|
||||
- /admin-api/system/purchase
|
||||
- /admin-api/system/pay/product
|
||||
ignore-tables:
|
||||
- system_organization
|
||||
- system_tenant_package
|
||||
|
||||
@@ -215,6 +215,12 @@ chenfeng:
|
||||
ignore-product-urls:
|
||||
- /admin-api/system/auth/get-permission-info
|
||||
- /admin-api/system/dict-data/list-all-simple
|
||||
- /admin-api/system/amount
|
||||
- /admin-api/system/organ/get
|
||||
- /admin-api/system/products/available
|
||||
- /admin-api/system/product-details/organ/purchase
|
||||
- /admin-api/system/purchase
|
||||
- /admin-api/system/pay/product
|
||||
ignore-tables:
|
||||
- system_organization
|
||||
- system_tenant_package
|
||||
|
||||
Reference in New Issue
Block a user