donglang 2 часов назад
Родитель
Сommit
eb19306884

+ 28 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ParkingChangeStrategyController.java

@@ -4,10 +4,7 @@ package com.sckw.transport.controller;
 import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.transport.model.ParkingChangeStrategySaveParam;
-import com.sckw.transport.model.param.ParkingChangeStrategyQueryParam;
-import com.sckw.transport.model.param.ParkingChangeStrategyResp;
-import com.sckw.transport.model.param.ParkingChangeStrategyUnitResp;
-import com.sckw.transport.model.param.ParkingChangeStrategyUnitSaveParam;
+import com.sckw.transport.model.param.*;
 import com.sckw.transport.service.ParkingChangeStrategyService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -98,4 +95,31 @@ public class ParkingChangeStrategyController {
     }
 
 
+    /**
+     * 查询收费策略开关
+     *
+     * @param
+     * @return
+     */
+    @Operation(summary = "查询收费策略开关", description = "查询收费策略开关")
+    @PostMapping("/querySwitch")
+    public BaseResult<ParkingStrategySwitchResp> querySwitch(){
+        ParkingStrategySwitchResp resp = parkingChangeStrategyService.querySwitch();
+        return BaseResult.success(resp);
+    }
+
+    /**
+     * 修改收费策略开关
+     *
+     * @param
+     * @return
+     */
+    @Operation(summary = "查询收费策略开关", description = "查询收费策略开关")
+    @PostMapping("/updateSwitch")
+    public BaseResult updateSwitch(@RequestBody @Valid ParkingStrategySwitchSaveParam param){
+        parkingChangeStrategyService.updateSwitch(param);
+        return BaseResult.success();
+    }
+
+
 }

+ 17 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtParkingStrategySwitchMapper.java

@@ -0,0 +1,17 @@
+package com.sckw.transport.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.transport.model.KwtParkingChargeStrategy;
+import com.sckw.transport.model.KwtParkingStrategySwitch;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author zk
+ * @desc 收费策略开关
+ * @date 2026/01/06
+ */
+@Mapper
+public interface KwtParkingStrategySwitchMapper extends BaseMapper<KwtParkingStrategySwitch> {
+
+
+}

+ 53 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtParkingStrategySwitch.java

@@ -0,0 +1,53 @@
+package com.sckw.transport.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author lfdc
+ * @description 收费策略
+ * @date 2023-06-26 16:06:12
+ */
+@Data
+@TableName("kwt_parking_strategy_switch")
+public class KwtParkingStrategySwitch implements Serializable {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 状态(0-关闭,1-开启)
+     */
+    private Integer status;
+
+    /**
+     * 默认费用
+     */
+    private BigDecimal defaultFee;
+
+    /**
+     * 创建人
+     */
+    private Long createUser;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人更新人
+     */
+    private Long updateUser;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

+ 36 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/ParkingStrategySwitchResp.java

@@ -0,0 +1,36 @@
+package com.sckw.transport.model.param;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 查询收费策略开关
+ * @create :2025-11-11 20:16:00
+ */
+@Data
+public class ParkingStrategySwitchResp implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6153312023002477484L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 状态开关
+     */
+    private Integer status;
+
+    /**
+     * 默认费用
+     */
+    private BigDecimal defaultFee;
+
+}

+ 43 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/ParkingStrategySwitchSaveParam.java

@@ -0,0 +1,43 @@
+package com.sckw.transport.model.param;
+
+import com.sckw.core.web.request.PageReq;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author :donglang
+ * @version :1.0
+ * @description : 收费策略
+ * @create :2026-01-05 08:59:00
+ */
+@Data
+public class ParkingStrategySwitchSaveParam extends PageReq implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -5431003248533000828L;
+
+    /**
+     * 收费策略id
+     */
+    @NotNull(message = "收费策略id不能为空")
+    @Schema(description = "收费策略id")
+    private Long id;
+
+    /**
+     * 状态开关(0-关闭、1-开启)
+     */
+    @NotNull(message = "状态开关不能为空")
+    @Schema(description = "状态开关")
+    private Integer status;
+
+    /**
+     * 默认费用
+     */
+    private BigDecimal defaultFee;
+}

+ 31 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtParkingStrategySwitchRepository.java

@@ -0,0 +1,31 @@
+package com.sckw.transport.repository;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.transport.dao.KwtParkingChangeStrategyMapper;
+import com.sckw.transport.dao.KwtParkingStrategySwitchMapper;
+import com.sckw.transport.model.KwtParkingChargeStrategy;
+import com.sckw.transport.model.KwtParkingStrategySwitch;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @Author: 门卫车辆订单
+ * @CreateTime: 2025-10-12
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Repository
+public class KwtParkingStrategySwitchRepository extends ServiceImpl<KwtParkingStrategySwitchMapper, KwtParkingStrategySwitch> {
+
+
+    public KwtParkingStrategySwitch queryParkingStrategySwitch() {
+        return getOne(
+                Wrappers.<KwtParkingStrategySwitch>lambdaQuery()
+                        .orderByDesc(KwtParkingStrategySwitch::getId)
+                        .last("limit 1"));
+    }
+
+}

+ 45 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ParkingChangeStrategyService.java

@@ -16,13 +16,12 @@ import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.transport.model.KwtParkingChargeStrategy;
 import com.sckw.transport.model.KwtParkingChargeStrategyUnit;
+import com.sckw.transport.model.KwtParkingStrategySwitch;
 import com.sckw.transport.model.ParkingChangeStrategySaveParam;
-import com.sckw.transport.model.param.ParkingChangeStrategyQueryParam;
-import com.sckw.transport.model.param.ParkingChangeStrategyResp;
-import com.sckw.transport.model.param.ParkingChangeStrategyUnitResp;
-import com.sckw.transport.model.param.ParkingChangeStrategyUnitSaveParam;
+import com.sckw.transport.model.param.*;
 import com.sckw.transport.repository.KwtParkingChangeStrategyRepository;
 import com.sckw.transport.repository.KwtParkingChangeStrategyUnitRepository;
+import com.sckw.transport.repository.KwtParkingStrategySwitchRepository;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -48,6 +47,8 @@ public class ParkingChangeStrategyService {
 
     private final KwtParkingChangeStrategyRepository parkingChangeStrategyRepository;
     private final KwtParkingChangeStrategyUnitRepository parkingChangeStrategyUnitRepository;
+    private final KwtParkingStrategySwitchRepository parkingStrategySwitchRepository;
+
 
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
    RemoteSystemService remoteSystemService;
@@ -243,4 +244,44 @@ public class ParkingChangeStrategyService {
         return entCacheResDto.getFirmName();
     }
 
+
+    /**
+     * 查询收费策略开关
+     */
+    public ParkingStrategySwitchResp querySwitch() {
+        log.info("查询收费策略开关");
+
+        ParkingStrategySwitchResp resp = new ParkingStrategySwitchResp();
+        resp.setStatus(Global.NO);
+        KwtParkingStrategySwitch strategySwitch = parkingStrategySwitchRepository.queryParkingStrategySwitch();
+        if (strategySwitch == null) {
+           return resp;
+        }
+
+        resp.setId(strategySwitch.getId());
+        resp.setStatus(strategySwitch.getStatus());
+        resp.setDefaultFee(strategySwitch.getDefaultFee());
+        log.info("收费策略开关查询结束,开关状态:{}", Objects.equals(strategySwitch.getStatus(), Global.YES) ? "开启" : "关闭");
+        return resp;
+    }
+
+    /**
+     * 查询收费策略开关
+     */
+    public void updateSwitch(ParkingStrategySwitchSaveParam param) {
+        log.info("修改收费策略开关");
+
+        KwtParkingStrategySwitch strategySwitch = parkingStrategySwitchRepository.getById(param.getId());
+        if (strategySwitch == null) {
+            throw new BusinessPlatfromException(ErrorCodeEnum.DRIVER_NOT_FOUND, "收费策略开关不存在");
+        }
+
+        if (Objects.equals(param.getStatus(), Global.YES)  && param.getDefaultFee() == null) {
+            throw new BusinessPlatfromException(ErrorCodeEnum.DRIVER_NOT_FOUND, "开关打开后,默认费用不能为空");
+        }
+        strategySwitch.setStatus(strategySwitch.getStatus());
+        strategySwitch.setDefaultFee(strategySwitch.getDefaultFee());
+        parkingStrategySwitchRepository.updateById(strategySwitch);
+    }
+
 }

+ 12 - 0
sql/2026/01/2026_01_06_donglang_create.sql

@@ -161,3 +161,15 @@ CREATE TABLE `kwt_parking_wallet_fee_balance` (
                                           PRIMARY KEY (`id`) USING BTREE
 ) comment '预存服务费明细';
 
+CREATE TABLE `kwt_parking_strategy_switch` (
+                                                  `id`                            bigint          NOT NULL AUTO_INCREMENT COMMENT '主键',
+                                                   status                          int             NOT NULL DEFAULT '0' COMMENT '状态(0-关闭,1-开启)',
+                                                   default_fee                decimal(16,2)   NOT NULL DEFAULT '0.00' COMMENT '默认服务费',
+                                                  create_time                     datetime        NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                                  update_time                     datetime        NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '更新时间',
+                                                  create_user                     bigint          NOT NULL DEFAULT '-1' COMMENT '创建人',
+                                                  update_user                     bigint          NOT NULL DEFAULT '-1' COMMENT '更新人',
+                                                  PRIMARY KEY (`id`) USING BTREE
+) comment '收费策开关表';
+
+