Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/商户费用' into test

tanbin 1 rok pred
rodič
commit
b542bf22d2
30 zmenil súbory, kde vykonal 1305 pridanie a 5 odobranie
  1. 19 0
      device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigAlgorithmFeign.java
  2. 19 0
      device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigAlgorithmTypeFeign.java
  3. 19 0
      device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigDeviceFeign.java
  4. 19 0
      device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigSimCardFeign.java
  5. 67 0
      device-api-service/src/main/java/com/xy/entity/MercFeeConfigAlgorithm.java
  6. 67 0
      device-api-service/src/main/java/com/xy/entity/MercFeeConfigAlgorithmType.java
  7. 64 0
      device-api-service/src/main/java/com/xy/entity/MercFeeConfigDevice.java
  8. 61 0
      device-api-service/src/main/java/com/xy/entity/MercFeeConfigSimCard.java
  9. 16 0
      device-api-service/src/main/java/com/xy/mapper/MercFeeConfigAlgorithmMapper.java
  10. 16 0
      device-api-service/src/main/java/com/xy/mapper/MercFeeConfigAlgorithmTypeMapper.java
  11. 16 0
      device-api-service/src/main/java/com/xy/mapper/MercFeeConfigDeviceMapper.java
  12. 16 0
      device-api-service/src/main/java/com/xy/mapper/MercFeeConfigSimCardMapper.java
  13. 19 0
      device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigAlgorithmMapper.xml
  14. 19 0
      device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigAlgorithmTypeMapper.xml
  15. 18 0
      device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigDeviceMapper.xml
  16. 17 0
      device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigSimCardMapper.xml
  17. 52 4
      device-api-service/src/main/java/com/xy/service/DeviceChargingConfigServiceImpl.java
  18. 85 0
      device-api-service/src/main/java/com/xy/service/MercFeeConfigAlgorithmServiceImpl.java
  19. 85 0
      device-api-service/src/main/java/com/xy/service/MercFeeConfigAlgorithmTypeServiceImpl.java
  20. 85 0
      device-api-service/src/main/java/com/xy/service/MercFeeConfigDeviceServiceImpl.java
  21. 85 0
      device-api-service/src/main/java/com/xy/service/MercFeeConfigSimCardServiceImpl.java
  22. 30 1
      device-api/src/main/java/com/xy/dto/DeviceChargingConfigDto.java
  23. 89 0
      device-api/src/main/java/com/xy/dto/MercFeeConfigAlgorithmDto.java
  24. 89 0
      device-api/src/main/java/com/xy/dto/MercFeeConfigAlgorithmTypeDto.java
  25. 86 0
      device-api/src/main/java/com/xy/dto/MercFeeConfigDeviceDto.java
  26. 83 0
      device-api/src/main/java/com/xy/dto/MercFeeConfigSimCardDto.java
  27. 16 0
      device-api/src/main/java/com/xy/service/MercFeeConfigAlgorithmService.java
  28. 16 0
      device-api/src/main/java/com/xy/service/MercFeeConfigAlgorithmTypeService.java
  29. 16 0
      device-api/src/main/java/com/xy/service/MercFeeConfigDeviceService.java
  30. 16 0
      device-api/src/main/java/com/xy/service/MercFeeConfigSimCardService.java

+ 19 - 0
device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigAlgorithmFeign.java

@@ -0,0 +1,19 @@
+package com.xy.feign;
+
+import com.xy.service.MercFeeConfigAlgorithmService;
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * 商户算法预充配置扩展 feign
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface MercFeeConfigAlgorithmFeign extends MercFeeConfigAlgorithmService {
+
+}

+ 19 - 0
device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigAlgorithmTypeFeign.java

@@ -0,0 +1,19 @@
+package com.xy.feign;
+
+import com.xy.service.MercFeeConfigAlgorithmTypeService;
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * 商户算法扣费标准配置扩展 feign
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface MercFeeConfigAlgorithmTypeFeign extends MercFeeConfigAlgorithmTypeService {
+
+}

+ 19 - 0
device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigDeviceFeign.java

@@ -0,0 +1,19 @@
+package com.xy.feign;
+
+import com.xy.service.MercFeeConfigDeviceService;
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * 商户设备管理费配置扩展 feign
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface MercFeeConfigDeviceFeign extends MercFeeConfigDeviceService {
+
+}

+ 19 - 0
device-api-cloud/src/main/java/com/xy/feign/MercFeeConfigSimCardFeign.java

@@ -0,0 +1,19 @@
+package com.xy.feign;
+
+import com.xy.service.MercFeeConfigSimCardService;
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * 商户流量卡费配置扩展 feign
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface MercFeeConfigSimCardFeign extends MercFeeConfigSimCardService {
+
+}

+ 67 - 0
device-api-service/src/main/java/com/xy/entity/MercFeeConfigAlgorithm.java

@@ -0,0 +1,67 @@
+package com.xy.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商户算法预充配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="MercFeeConfigAlgorithm对象", description="商户算法预充配置扩展")
+public class MercFeeConfigAlgorithm implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商户编码")
+    private String mercCode;
+
+    @ApiModelProperty(value = "商户id")
+    private Long mercId;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUser;
+
+    @ApiModelProperty(value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long updateUser;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "设备类型")
+    private Integer deviceType;
+
+    @ApiModelProperty(value = "算法ID")
+    private Long algorithmId;
+
+    @ApiModelProperty(value = "算法预充金额(比平台多收的金额)")
+    private Integer extraMoney;
+
+
+}

+ 67 - 0
device-api-service/src/main/java/com/xy/entity/MercFeeConfigAlgorithmType.java

@@ -0,0 +1,67 @@
+package com.xy.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商户算法扣费标准配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="MercFeeConfigAlgorithmType对象", description="商户算法扣费标准配置扩展")
+public class MercFeeConfigAlgorithmType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商户编码")
+    private String mercCode;
+
+    @ApiModelProperty(value = "商户id")
+    private Long mercId;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUser;
+
+    @ApiModelProperty(value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long updateUser;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "算法ID")
+    private Long algorithmId;
+
+    @ApiModelProperty(value = "包月费用(比平台多收的金额)")
+    private Integer extraMonthMoney;
+
+    @ApiModelProperty(value = "算法单笔金额(比平台多收的金额)")
+    private Integer extraSingleMoney;
+
+
+}

+ 64 - 0
device-api-service/src/main/java/com/xy/entity/MercFeeConfigDevice.java

@@ -0,0 +1,64 @@
+package com.xy.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商户设备管理费配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="MercFeeConfigDevice对象", description="商户设备管理费配置扩展")
+public class MercFeeConfigDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商户编码")
+    private String mercCode;
+
+    @ApiModelProperty(value = "商户id")
+    private Long mercId;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUser;
+
+    @ApiModelProperty(value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long updateUser;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "设备类型")
+    private Integer deviceType;
+
+    @ApiModelProperty(value = "设备管理费金额(比平台多收的金额)")
+    private Integer extraMoney;
+
+
+}

+ 61 - 0
device-api-service/src/main/java/com/xy/entity/MercFeeConfigSimCard.java

@@ -0,0 +1,61 @@
+package com.xy.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 商户流量卡费配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="MercFeeConfigSimCard对象", description="商户流量卡费配置扩展")
+public class MercFeeConfigSimCard implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "商户编码")
+    private String mercCode;
+
+    @ApiModelProperty(value = "商户id")
+    private Long mercId;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUser;
+
+    @ApiModelProperty(value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long updateUser;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "流量卡费金额(比平台多收的金额)")
+    private Integer extraMoney;
+
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/MercFeeConfigAlgorithmMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.MercFeeConfigAlgorithm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商户算法预充配置扩展 Mapper 接口
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public interface MercFeeConfigAlgorithmMapper extends BaseMapper<MercFeeConfigAlgorithm> {
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/MercFeeConfigAlgorithmTypeMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.MercFeeConfigAlgorithmType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商户算法扣费标准配置扩展 Mapper 接口
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public interface MercFeeConfigAlgorithmTypeMapper extends BaseMapper<MercFeeConfigAlgorithmType> {
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/MercFeeConfigDeviceMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.MercFeeConfigDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商户设备管理费配置扩展 Mapper 接口
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public interface MercFeeConfigDeviceMapper extends BaseMapper<MercFeeConfigDevice> {
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/MercFeeConfigSimCardMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.MercFeeConfigSimCard;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 商户流量卡费配置扩展 Mapper 接口
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public interface MercFeeConfigSimCardMapper extends BaseMapper<MercFeeConfigSimCard> {
+
+}

+ 19 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigAlgorithmMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xy.mapper.MercFeeConfigAlgorithmMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.MercFeeConfigAlgorithm">
+        <id column="id" property="id" />
+        <result column="merc_code" property="mercCode" />
+        <result column="merc_id" property="mercId" />
+        <result column="create_time" property="createTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+        <result column="update_time" property="updateTime" />
+        <result column="device_type" property="deviceType" />
+        <result column="algorithm_id" property="algorithmId" />
+        <result column="extra_money" property="extraMoney" />
+    </resultMap>
+
+</mapper>

+ 19 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigAlgorithmTypeMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xy.mapper.MercFeeConfigAlgorithmTypeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.MercFeeConfigAlgorithmType">
+        <id column="id" property="id" />
+        <result column="merc_code" property="mercCode" />
+        <result column="merc_id" property="mercId" />
+        <result column="create_time" property="createTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+        <result column="update_time" property="updateTime" />
+        <result column="algorithm_id" property="algorithmId" />
+        <result column="extra_month_money" property="extraMonthMoney" />
+        <result column="extra_single_money" property="extraSingleMoney" />
+    </resultMap>
+
+</mapper>

+ 18 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigDeviceMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xy.mapper.MercFeeConfigDeviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.MercFeeConfigDevice">
+        <id column="id" property="id" />
+        <result column="merc_code" property="mercCode" />
+        <result column="merc_id" property="mercId" />
+        <result column="create_time" property="createTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+        <result column="update_time" property="updateTime" />
+        <result column="device_type" property="deviceType" />
+        <result column="extra_money" property="extraMoney" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/MercFeeConfigSimCardMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xy.mapper.MercFeeConfigSimCardMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.MercFeeConfigSimCard">
+        <id column="id" property="id" />
+        <result column="merc_code" property="mercCode" />
+        <result column="merc_id" property="mercId" />
+        <result column="create_time" property="createTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+        <result column="update_time" property="updateTime" />
+        <result column="extra_money" property="extraMoney" />
+    </resultMap>
+
+</mapper>

+ 52 - 4
device-api-service/src/main/java/com/xy/service/DeviceChargingConfigServiceImpl.java

@@ -1,16 +1,18 @@
 package com.xy.service;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.map.MapUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yitter.idgen.YitIdHelper;
+import com.xy.device.EnumDeviceCharging;
 import com.xy.dto.DeviceChargingConfigDto;
 import com.xy.dto.be.MercDto;
 import com.xy.entity.DeviceChargingConfig;
 import com.xy.mapper.DeviceChargingConfigMapper;
 import com.xy.service.be.MercService;
-import com.xy.utils.Beans;
-import com.xy.utils.MybatisPlusQuery;
-import com.xy.utils.R;
+import com.xy.utils.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -22,6 +24,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -46,12 +50,56 @@ public class DeviceChargingConfigServiceImpl extends ServiceImpl<DeviceChargingC
     public R<List<DeviceChargingConfigDto.Vo>> list(@RequestBody @Validated DeviceChargingConfigDto.SelectList selectList) {
         MercDto.Vo merc = mercService.obj(new MercDto.Vo().setId(selectList.getMercId())).getData();
         LambdaQueryWrapper<DeviceChargingConfig> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, DeviceChargingConfig.class)
+                .in(DeviceChargingConfig::getDeviceType, selectList.getDeviceTypes())
                 .eq(DeviceChargingConfig::getMercCode, merc.getMercCode())
                 .build();
         List<DeviceChargingConfig> list = list(lambdaQueryWrapper);
         return R.ok(Beans.copy(DeviceChargingConfigDto.Vo.class, list));
     }
 
+    @PostMapping("listByFeeConfig")
+    @ApiOperation("设备管理费用配置查询")
+    public R<List<DeviceChargingConfigDto.FeeConfigVO>> listByFeeConfig(@RequestBody @Validated DeviceChargingConfigDto.ListByFeeConfigDTO dto) {
+        MercDto.Vo merc = mercService.obj(new MercDto.Vo().setId(dto.getMercId())).getData();
+        LambdaQueryWrapper<DeviceChargingConfig> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(dto, DeviceChargingConfig.class)
+                .in(DeviceChargingConfig::getDeviceType, dto.getDeviceTypes())
+                .eq(DeviceChargingConfig::getMercCode, merc.getMercCode())
+                .build();
+        //默认配置
+        List<DeviceChargingConfig> list = list(lambdaQueryWrapper);
+        Map<Integer, DeviceChargingConfig> typeConfigMap = MapUtil.newHashMap();
+        if (CollUtil.isNotEmpty(list)) {
+            typeConfigMap = list.stream().collect(Collectors.toMap(DeviceChargingConfig::getDeviceType, c -> c));
+        }
+        List<DeviceChargingConfigDto.FeeConfigVO> voList = new ArrayList<>();
+        List<Integer> deviceTypes = dto.getDeviceTypes();
+        for (Integer type : deviceTypes) {//默认年费,赠送天数
+            DeviceChargingConfigDto.FeeConfigVO vo = new DeviceChargingConfigDto.FeeConfigVO();
+            int defaultMoney = SysDictUtils.getValue(EnumDeviceCharging.Code.CODE.getCode(), String.valueOf(type), Integer.class);
+            //默认赠送天数
+            int giveDays = SysDictUtils.getValue(EnumDeviceCharging.Code.CODE.getCode(), EnumDeviceCharging.N_X.getCode(), Integer.class);
+            if (CollUtil.isNotEmpty(typeConfigMap) && typeConfigMap.get(type) != null) {
+                //存在自定义配置
+                DeviceChargingConfig deviceChargingConfig = typeConfigMap.get(type);
+                BeanUtil.copyProperties(deviceChargingConfig, vo);
+                vo.setDefFee(defaultMoney);
+                vo.setDefGiveDay(giveDays);
+                voList.add(vo);
+            } else {
+                //不存在,则取字典默认值
+                vo.setId(YitIdHelper.nextId());
+                vo.setConfigValue(defaultMoney);
+                vo.setDeviceType(type);
+                vo.setMercCode(merc.getMercCode());
+                vo.setDefFee(defaultMoney);
+                vo.setDefGiveDay(giveDays);
+                voList.add(vo);
+            }
+
+        }
+        return R.ok(voList);
+    }
+
     @PostMapping("saveOrUpdate")
     @ApiOperation("添加或修改")
     public R saveOrUpdate(@RequestBody @Validated DeviceChargingConfigDto.SaveOrUpdate saveOrUpdate) {
@@ -105,4 +153,4 @@ public class DeviceChargingConfigServiceImpl extends ServiceImpl<DeviceChargingC
         List<DeviceChargingConfig> list = list(lambdaQueryWrapper);
         return R.ok(Beans.copy(DeviceChargingConfigDto.Vo.class, list));
     }
-}
+}

+ 85 - 0
device-api-service/src/main/java/com/xy/service/MercFeeConfigAlgorithmServiceImpl.java

@@ -0,0 +1,85 @@
+package com.xy.service;
+
+import com.xy.entity.MercFeeConfigAlgorithm;
+import com.xy.mapper.MercFeeConfigAlgorithmMapper;
+import com.xy.service.MercFeeConfigAlgorithmService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+import com.xy.utils.R;
+import com.xy.utils.PageBean;
+import com.xy.dto.MercFeeConfigAlgorithmDto;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.PostMapping;
+import io.swagger.annotations.ApiOperation;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xy.utils.MybatisPlusQuery;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.validation.annotation.Validated;
+import com.xy.utils.Emptys;
+
+import static com.xy.utils.Beans.copy;
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+* <p>
+* 商户算法预充配置扩展 服务实现类
+* </p>
+*
+* @author 谭斌
+* @since 2024-04-07
+*/
+@Service
+@AllArgsConstructor
+@Api(tags = "商户算法预充配置扩展")
+public class MercFeeConfigAlgorithmServiceImpl extends ServiceImpl<MercFeeConfigAlgorithmMapper, MercFeeConfigAlgorithm> implements MercFeeConfigAlgorithmService {
+
+    @PostMapping("obj")
+    @ApiOperation("对象查询")
+    public R<MercFeeConfigAlgorithmDto.Vo> obj(@RequestBody MercFeeConfigAlgorithmDto.Vo vo) {
+        MercFeeConfigAlgorithmDto.SelectList selectList = copy(MercFeeConfigAlgorithmDto.SelectList.class, vo);
+        List<MercFeeConfigAlgorithmDto.Vo> list = list(selectList).getData();
+        if(Emptys.check(list)) {
+            return R.ok(list.get(0));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<MercFeeConfigAlgorithmDto.Vo>> list(@RequestBody MercFeeConfigAlgorithmDto.SelectList selectList) {
+        LambdaQueryWrapper<MercFeeConfigAlgorithm> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MercFeeConfigAlgorithm.class).build();
+        List<MercFeeConfigAlgorithm> list = list(lambdaQueryWrapper);
+        return R.ok(copy(MercFeeConfigAlgorithmDto.Vo.class, list));
+    }
+
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    public R<PageBean<MercFeeConfigAlgorithmDto.Vo>> page(@RequestBody MercFeeConfigAlgorithmDto.Page page) {
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<MercFeeConfigAlgorithm> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MercFeeConfigAlgorithm.class).build();
+        IPage<MercFeeConfigAlgorithm> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(MercFeeConfigAlgorithmDto.Vo.class, iPage));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated MercFeeConfigAlgorithmDto.Save save) {
+        MercFeeConfigAlgorithm saveInfo = copy(MercFeeConfigAlgorithm.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated MercFeeConfigAlgorithmDto.Update update) {
+        MercFeeConfigAlgorithm updateInfo = copy(MercFeeConfigAlgorithm.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 85 - 0
device-api-service/src/main/java/com/xy/service/MercFeeConfigAlgorithmTypeServiceImpl.java

@@ -0,0 +1,85 @@
+package com.xy.service;
+
+import com.xy.entity.MercFeeConfigAlgorithmType;
+import com.xy.mapper.MercFeeConfigAlgorithmTypeMapper;
+import com.xy.service.MercFeeConfigAlgorithmTypeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+import com.xy.utils.R;
+import com.xy.utils.PageBean;
+import com.xy.dto.MercFeeConfigAlgorithmTypeDto;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.PostMapping;
+import io.swagger.annotations.ApiOperation;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xy.utils.MybatisPlusQuery;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.validation.annotation.Validated;
+import com.xy.utils.Emptys;
+
+import static com.xy.utils.Beans.copy;
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+* <p>
+* 商户算法扣费标准配置扩展 服务实现类
+* </p>
+*
+* @author 谭斌
+* @since 2024-04-07
+*/
+@Service
+@AllArgsConstructor
+@Api(tags = "商户算法扣费标准配置扩展")
+public class MercFeeConfigAlgorithmTypeServiceImpl extends ServiceImpl<MercFeeConfigAlgorithmTypeMapper, MercFeeConfigAlgorithmType> implements MercFeeConfigAlgorithmTypeService {
+
+    @PostMapping("obj")
+    @ApiOperation("对象查询")
+    public R<MercFeeConfigAlgorithmTypeDto.Vo> obj(@RequestBody MercFeeConfigAlgorithmTypeDto.Vo vo) {
+        MercFeeConfigAlgorithmTypeDto.SelectList selectList = copy(MercFeeConfigAlgorithmTypeDto.SelectList.class, vo);
+        List<MercFeeConfigAlgorithmTypeDto.Vo> list = list(selectList).getData();
+        if(Emptys.check(list)) {
+            return R.ok(list.get(0));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<MercFeeConfigAlgorithmTypeDto.Vo>> list(@RequestBody MercFeeConfigAlgorithmTypeDto.SelectList selectList) {
+        LambdaQueryWrapper<MercFeeConfigAlgorithmType> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MercFeeConfigAlgorithmType.class).build();
+        List<MercFeeConfigAlgorithmType> list = list(lambdaQueryWrapper);
+        return R.ok(copy(MercFeeConfigAlgorithmTypeDto.Vo.class, list));
+    }
+
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    public R<PageBean<MercFeeConfigAlgorithmTypeDto.Vo>> page(@RequestBody MercFeeConfigAlgorithmTypeDto.Page page) {
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<MercFeeConfigAlgorithmType> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MercFeeConfigAlgorithmType.class).build();
+        IPage<MercFeeConfigAlgorithmType> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(MercFeeConfigAlgorithmTypeDto.Vo.class, iPage));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated MercFeeConfigAlgorithmTypeDto.Save save) {
+        MercFeeConfigAlgorithmType saveInfo = copy(MercFeeConfigAlgorithmType.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated MercFeeConfigAlgorithmTypeDto.Update update) {
+        MercFeeConfigAlgorithmType updateInfo = copy(MercFeeConfigAlgorithmType.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 85 - 0
device-api-service/src/main/java/com/xy/service/MercFeeConfigDeviceServiceImpl.java

@@ -0,0 +1,85 @@
+package com.xy.service;
+
+import com.xy.entity.MercFeeConfigDevice;
+import com.xy.mapper.MercFeeConfigDeviceMapper;
+import com.xy.service.MercFeeConfigDeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+import com.xy.utils.R;
+import com.xy.utils.PageBean;
+import com.xy.dto.MercFeeConfigDeviceDto;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.PostMapping;
+import io.swagger.annotations.ApiOperation;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xy.utils.MybatisPlusQuery;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.validation.annotation.Validated;
+import com.xy.utils.Emptys;
+
+import static com.xy.utils.Beans.copy;
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+* <p>
+* 商户设备管理费配置扩展 服务实现类
+* </p>
+*
+* @author 谭斌
+* @since 2024-04-07
+*/
+@Service
+@AllArgsConstructor
+@Api(tags = "商户设备管理费配置扩展")
+public class MercFeeConfigDeviceServiceImpl extends ServiceImpl<MercFeeConfigDeviceMapper, MercFeeConfigDevice> implements MercFeeConfigDeviceService {
+
+    @PostMapping("obj")
+    @ApiOperation("对象查询")
+    public R<MercFeeConfigDeviceDto.Vo> obj(@RequestBody MercFeeConfigDeviceDto.Vo vo) {
+        MercFeeConfigDeviceDto.SelectList selectList = copy(MercFeeConfigDeviceDto.SelectList.class, vo);
+        List<MercFeeConfigDeviceDto.Vo> list = list(selectList).getData();
+        if(Emptys.check(list)) {
+            return R.ok(list.get(0));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<MercFeeConfigDeviceDto.Vo>> list(@RequestBody MercFeeConfigDeviceDto.SelectList selectList) {
+        LambdaQueryWrapper<MercFeeConfigDevice> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MercFeeConfigDevice.class).build();
+        List<MercFeeConfigDevice> list = list(lambdaQueryWrapper);
+        return R.ok(copy(MercFeeConfigDeviceDto.Vo.class, list));
+    }
+
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    public R<PageBean<MercFeeConfigDeviceDto.Vo>> page(@RequestBody MercFeeConfigDeviceDto.Page page) {
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<MercFeeConfigDevice> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MercFeeConfigDevice.class).build();
+        IPage<MercFeeConfigDevice> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(MercFeeConfigDeviceDto.Vo.class, iPage));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated MercFeeConfigDeviceDto.Save save) {
+        MercFeeConfigDevice saveInfo = copy(MercFeeConfigDevice.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated MercFeeConfigDeviceDto.Update update) {
+        MercFeeConfigDevice updateInfo = copy(MercFeeConfigDevice.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 85 - 0
device-api-service/src/main/java/com/xy/service/MercFeeConfigSimCardServiceImpl.java

@@ -0,0 +1,85 @@
+package com.xy.service;
+
+import com.xy.entity.MercFeeConfigSimCard;
+import com.xy.mapper.MercFeeConfigSimCardMapper;
+import com.xy.service.MercFeeConfigSimCardService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+import com.xy.utils.R;
+import com.xy.utils.PageBean;
+import com.xy.dto.MercFeeConfigSimCardDto;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.PostMapping;
+import io.swagger.annotations.ApiOperation;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xy.utils.MybatisPlusQuery;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.validation.annotation.Validated;
+import com.xy.utils.Emptys;
+
+import static com.xy.utils.Beans.copy;
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+* <p>
+* 商户流量卡费配置扩展 服务实现类
+* </p>
+*
+* @author 谭斌
+* @since 2024-04-07
+*/
+@Service
+@AllArgsConstructor
+@Api(tags = "商户流量卡费配置扩展")
+public class MercFeeConfigSimCardServiceImpl extends ServiceImpl<MercFeeConfigSimCardMapper, MercFeeConfigSimCard> implements MercFeeConfigSimCardService {
+
+    @PostMapping("obj")
+    @ApiOperation("对象查询")
+    public R<MercFeeConfigSimCardDto.Vo> obj(@RequestBody MercFeeConfigSimCardDto.Vo vo) {
+        MercFeeConfigSimCardDto.SelectList selectList = copy(MercFeeConfigSimCardDto.SelectList.class, vo);
+        List<MercFeeConfigSimCardDto.Vo> list = list(selectList).getData();
+        if(Emptys.check(list)) {
+            return R.ok(list.get(0));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<MercFeeConfigSimCardDto.Vo>> list(@RequestBody MercFeeConfigSimCardDto.SelectList selectList) {
+        LambdaQueryWrapper<MercFeeConfigSimCard> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MercFeeConfigSimCard.class).build();
+        List<MercFeeConfigSimCard> list = list(lambdaQueryWrapper);
+        return R.ok(copy(MercFeeConfigSimCardDto.Vo.class, list));
+    }
+
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    public R<PageBean<MercFeeConfigSimCardDto.Vo>> page(@RequestBody MercFeeConfigSimCardDto.Page page) {
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<MercFeeConfigSimCard> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MercFeeConfigSimCard.class).build();
+        IPage<MercFeeConfigSimCard> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(MercFeeConfigSimCardDto.Vo.class, iPage));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated MercFeeConfigSimCardDto.Save save) {
+        MercFeeConfigSimCard saveInfo = copy(MercFeeConfigSimCard.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated MercFeeConfigSimCardDto.Update update) {
+        MercFeeConfigSimCard updateInfo = copy(MercFeeConfigSimCard.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 30 - 1
device-api/src/main/java/com/xy/dto/DeviceChargingConfigDto.java

@@ -28,11 +28,28 @@ public class DeviceChargingConfigDto {
         @ApiModelProperty(value = "商户id", required = true)
         private Long mercId;
 
-        @NotNull(message = "deviceType不能为空")
         @ApiModelProperty(value = "设备类型", required = true)
         private Integer deviceType;
+
+        @ApiModelProperty(value = "设备类型", required = true)
+        private List<Integer> deviceTypes;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class ListByFeeConfigDTO extends Vo {
+
+        @NotNull(message = "mercId不能为空")
+        @ApiModelProperty(value = "商户id", required = true)
+        private Long mercId;
+
+
+        @NotEmpty(message = "设备类型不可为空")
+        @ApiModelProperty(value = "设备类型", required = true)
+        private List<Integer> deviceTypes;
     }
 
+
     @Data
     @Accessors(chain = true)
     public static class SaveOrUpdate {
@@ -99,4 +116,16 @@ public class DeviceChargingConfigDto {
 
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class FeeConfigVO extends Vo {
+
+        @ApiModelProperty(value = "默认赠送年费")
+        private Integer defFee;
+        @ApiModelProperty(value = "默认赠送天数")
+        private Integer defGiveDay;
+
+
+    }
+
 }

+ 89 - 0
device-api/src/main/java/com/xy/dto/MercFeeConfigAlgorithmDto.java

@@ -0,0 +1,89 @@
+package com.xy.dto;
+
+import java.time.LocalDateTime;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import com.xy.utils.PageBean;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * <p>
+ * 商户算法预充配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public class MercFeeConfigAlgorithmDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Update extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+
+        @ApiModelProperty(value = "ID")
+        private Long id;
+
+        @ApiModelProperty(value = "商户编码")
+        private String mercCode;
+
+        @ApiModelProperty(value = "商户id")
+        private Long mercId;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "创建人")
+        private Long createUser;
+
+        @ApiModelProperty(value = "更新人")
+        private Long updateUser;
+
+        @ApiModelProperty(value = "更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime updateTime;
+
+        @ApiModelProperty(value = "设备类型")
+        private Integer deviceType;
+
+        @ApiModelProperty(value = "算法ID")
+        private Long algorithmId;
+
+        @ApiModelProperty(value = "算法预充金额(比平台多收的金额)")
+        private Integer extraMoney;
+
+
+    }
+
+}

+ 89 - 0
device-api/src/main/java/com/xy/dto/MercFeeConfigAlgorithmTypeDto.java

@@ -0,0 +1,89 @@
+package com.xy.dto;
+
+import java.time.LocalDateTime;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import com.xy.utils.PageBean;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * <p>
+ * 商户算法扣费标准配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public class MercFeeConfigAlgorithmTypeDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Update extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+
+        @ApiModelProperty(value = "ID")
+        private Long id;
+
+        @ApiModelProperty(value = "商户编码")
+        private String mercCode;
+
+        @ApiModelProperty(value = "商户id")
+        private Long mercId;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "创建人")
+        private Long createUser;
+
+        @ApiModelProperty(value = "更新人")
+        private Long updateUser;
+
+        @ApiModelProperty(value = "更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime updateTime;
+
+        @ApiModelProperty(value = "算法ID")
+        private Long algorithmId;
+
+        @ApiModelProperty(value = "包月费用(比平台多收的金额)")
+        private Integer extraMonthMoney;
+
+        @ApiModelProperty(value = "算法单笔金额(比平台多收的金额)")
+        private Integer extraSingleMoney;
+
+
+    }
+
+}

+ 86 - 0
device-api/src/main/java/com/xy/dto/MercFeeConfigDeviceDto.java

@@ -0,0 +1,86 @@
+package com.xy.dto;
+
+import java.time.LocalDateTime;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import com.xy.utils.PageBean;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * <p>
+ * 商户设备管理费配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public class MercFeeConfigDeviceDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Update extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+
+        @ApiModelProperty(value = "ID")
+        private Long id;
+
+        @ApiModelProperty(value = "商户编码")
+        private String mercCode;
+
+        @ApiModelProperty(value = "商户id")
+        private Long mercId;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "创建人")
+        private Long createUser;
+
+        @ApiModelProperty(value = "更新人")
+        private Long updateUser;
+
+        @ApiModelProperty(value = "更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime updateTime;
+
+        @ApiModelProperty(value = "设备类型")
+        private Integer deviceType;
+
+        @ApiModelProperty(value = "设备管理费金额(比平台多收的金额)")
+        private Integer extraMoney;
+
+
+    }
+
+}

+ 83 - 0
device-api/src/main/java/com/xy/dto/MercFeeConfigSimCardDto.java

@@ -0,0 +1,83 @@
+package com.xy.dto;
+
+import java.time.LocalDateTime;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import com.xy.utils.PageBean;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * <p>
+ * 商户流量卡费配置扩展
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+public class MercFeeConfigSimCardDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Update extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+
+        @ApiModelProperty(value = "ID")
+        private Long id;
+
+        @ApiModelProperty(value = "商户编码")
+        private String mercCode;
+
+        @ApiModelProperty(value = "商户id")
+        private Long mercId;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "创建人")
+        private Long createUser;
+
+        @ApiModelProperty(value = "更新人")
+        private Long updateUser;
+
+        @ApiModelProperty(value = "更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime updateTime;
+
+        @ApiModelProperty(value = "流量卡费金额(比平台多收的金额)")
+        private Integer extraMoney;
+
+
+    }
+
+}

+ 16 - 0
device-api/src/main/java/com/xy/service/MercFeeConfigAlgorithmService.java

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 商户算法预充配置扩展 服务类
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@RestMappingController("/merc-fee-config-algorithm")
+public interface MercFeeConfigAlgorithmService {
+
+}

+ 16 - 0
device-api/src/main/java/com/xy/service/MercFeeConfigAlgorithmTypeService.java

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 商户算法扣费标准配置扩展 服务类
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@RestMappingController("/merc-fee-config-algorithm-type")
+public interface MercFeeConfigAlgorithmTypeService {
+
+}

+ 16 - 0
device-api/src/main/java/com/xy/service/MercFeeConfigDeviceService.java

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 商户设备管理费配置扩展 服务类
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@RestMappingController("/merc-fee-config-device")
+public interface MercFeeConfigDeviceService {
+
+}

+ 16 - 0
device-api/src/main/java/com/xy/service/MercFeeConfigSimCardService.java

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 商户流量卡费配置扩展 服务类
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-07
+ */
+@RestMappingController("/merc-fee-config-sim-card")
+public interface MercFeeConfigSimCardService {
+
+}