Forráskód Böngészése

Merge branch 'fyc-vpp' of uskycloud/usky-modules into feature/service-vpp-20260701

fuyuchuan 5 napja
szülő
commit
f11c4d7450

+ 19 - 2
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppBiddingConfig.java

@@ -34,12 +34,29 @@ public class VppBiddingConfig implements Serializable {
     private String attachmentUrl;
     @TableField("attachment_name")
     private String attachmentName;
+
+    /** 1 中长期响应
+     *  2 日内响应
+     *  3 快速响应
+     * */
     @TableField("bidding_mode")
     private Integer biddingMode;
+
     @TableField("typical_coefficient")
     private BigDecimal typicalCoefficient;
-    @TableField("advance_close_hours")
-    private Integer advanceCloseHours;
+
+    /**
+     * 提前通知最小小时数(下限,不含本值,如 8 表示 >8)
+     */
+    @TableField("notice_min_hours")
+    private BigDecimal noticeMinHours;
+
+    /**
+     * 提前通知最大小时数(上限,含本值,如 24 表示 ≤24)
+     */
+    @TableField("notice_max_hours")
+    private BigDecimal noticeMaxHours;
+
     @TableField("max_price")
     private BigDecimal maxPrice;
     @TableField("min_price")

+ 12 - 7
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppBiddingConfigServiceImpl.java

@@ -115,7 +115,8 @@ public class VppBiddingConfigServiceImpl implements VppBiddingConfigService {
         config.setAttachmentName(request.getAttachmentName());
         config.setBiddingMode(request.getBiddingMode());
         config.setTypicalCoefficient(request.getTypicalCoefficient());
-        config.setAdvanceCloseHours(request.getAdvanceCloseHours());
+        config.setNoticeMinHours(request.getNoticeMinHours());
+        config.setNoticeMaxHours(request.getNoticeMaxHours());
         config.setMaxPrice(request.getMaxPrice());
         config.setMinPrice(request.getMinPrice());
     }
@@ -131,11 +132,10 @@ public class VppBiddingConfigServiceImpl implements VppBiddingConfigService {
         vo.setAttachmentUrl(config.getAttachmentUrl());
         vo.setAttachmentName(config.getAttachmentName());
         vo.setBiddingMode(config.getBiddingMode());
-        vo.setBiddingModeName(VppBiddingConfigHelper.resolveBiddingModeName(config.getBiddingMode()));
+        // vo.setBiddingModeName(VppBiddingConfigHelper.resolveBiddingModeName(config.getBiddingMode()));
         vo.setTypicalCoefficient(config.getTypicalCoefficient());
-        vo.setAdvanceCloseHours(config.getAdvanceCloseHours());
-        vo.setAdvanceCloseHoursLabel(
-                VppBiddingConfigHelper.resolveAdvanceCloseHoursLabel(config.getAdvanceCloseHours()));
+        vo.setNoticeMinHours(config.getNoticeMinHours());
+        vo.setNoticeMaxHours(config.getNoticeMaxHours());
         vo.setMaxPrice(config.getMaxPrice());
         vo.setMinPrice(config.getMinPrice());
         vo.setUpdateTime(config.getUpdateTime());
@@ -163,8 +163,13 @@ public class VppBiddingConfigServiceImpl implements VppBiddingConfigService {
         if (request.getTypicalCoefficient() == null) {
             throw new BusinessException("典型系数不能为空");
         }
-        if (request.getAdvanceCloseHours() == null || request.getAdvanceCloseHours() <= 0) {
-            throw new BusinessException("提前截标时间须为正整数(小时)");
+        if (request.getNoticeMinHours() != null
+                && request.getNoticeMinHours().compareTo(new java.math.BigDecimal("0.5")) < 0) {
+            throw new BusinessException("提前截标最小通知时间不能小于0.5小时!");
+        }
+        if (request.getNoticeMaxHours() != null
+                && request.getNoticeMaxHours().compareTo(new java.math.BigDecimal("0.5")) < 0) {
+            throw new BusinessException("提前截标最大通知时间不能小于0.5小时!");
         }
         if (request.getMaxPrice() == null) {
             throw new BusinessException("最高价格不能为空");

+ 12 - 2
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/vo/BiddingConfigRequest.java

@@ -1,5 +1,6 @@
 package com.usky.vpp.service.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -22,8 +23,17 @@ public class BiddingConfigRequest {
     /** 1分时段竞价 2整体竞价 */
     private Integer biddingMode;
     private BigDecimal typicalCoefficient;
-    /** 提前截标时间(小时),如 24 表示 >24 小时 */
-    private Integer advanceCloseHours;
+
+    /**
+     * 提前通知最小小时数(下限,不含本值,如 8 表示 >8)
+     */
+    private BigDecimal noticeMinHours;
+
+    /**
+     * 提前通知最大小时数(上限,含本值,如 24 表示 ≤24)
+     */
+    private BigDecimal noticeMaxHours;
+
     private BigDecimal maxPrice;
     private BigDecimal minPrice;
 }

+ 12 - 4
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/vo/BiddingConfigVO.java

@@ -1,5 +1,6 @@
 package com.usky.vpp.service.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -22,12 +23,19 @@ public class BiddingConfigVO {
     private String effectivePeriod;
     private String attachmentUrl;
     private String attachmentName;
+
     private Integer biddingMode;
-    private String biddingModeName;
+    // private String biddingModeName;
     private BigDecimal typicalCoefficient;
-    private Integer advanceCloseHours;
-    /** 提前截标时间展示,如 >24 */
-    private String advanceCloseHoursLabel;
+    /**
+     * 提前通知最小小时数(下限,不含本值,如 8 表示 >8)
+     */
+    private BigDecimal noticeMinHours;
+
+    /**
+     * 提前通知最大小时数(上限,含本值,如 24 表示 ≤24)
+     */
+    private BigDecimal noticeMaxHours;
     private BigDecimal maxPrice;
     private BigDecimal minPrice;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

+ 2 - 1
service-vpp/service-vpp-biz/src/main/resources/sql/vpp_schema.sql

@@ -643,7 +643,8 @@ CREATE TABLE `vpp_bidding_config` (
     `attachment_name` VARCHAR(200) NULL COMMENT '附件原始文件名',
     `bidding_mode` TINYINT NOT NULL COMMENT '1分时段竞价 2整体竞价',
     `typical_coefficient` DECIMAL(6,4) NOT NULL COMMENT '典型系数',
-    `advance_close_hours` INT NOT NULL COMMENT '提前截标时间(小时),如24表示>24小时',
+    `notice_min_hours` decimal(5,1) DEFAULT NULL COMMENT '提前通知最小小时数(下限,不含本值,如 8 表示 >8)',
+    `notice_max_hours` decimal(5,1) DEFAULT NULL COMMENT '提前通知最大小时数(上限,含本值,如 24 表示 ≤24)',
     `max_price` DECIMAL(12,4) NOT NULL COMMENT '最高价格(元)',
     `min_price` DECIMAL(12,4) NOT NULL COMMENT '最低价格(元)',
     `site_ids` JSON NULL COMMENT '关联站点ID列表',