李进 1 жил өмнө
parent
commit
9780349db4

+ 49 - 0
device-api-service/src/main/java/com/xy/entity/DeviceTypeAlgorithmBeforConfig.java

@@ -0,0 +1,49 @@
+package com.xy.entity;
+
+import java.time.LocalDateTime;
+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 lijin
+ * @since 2023-07-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="DeviceTypeAlgorithmBeforConfig对象", description="设备类型算法预充配置")
+public class DeviceTypeAlgorithmBeforConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    @ApiModelProperty(value = "商户id")
+    private Long mercId;
+
+    @ApiModelProperty(value = "设备类型")
+    private Integer deviceType;
+
+    @ApiModelProperty(value = "算法id")
+    private Integer algorithmId;
+
+    @ApiModelProperty(value = "预充金额;单位:分")
+    private Integer money;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+
+
+}

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

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.DeviceTypeAlgorithmBeforConfig;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 设备类型算法预充配置 Mapper 接口
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-07-10
+ */
+public interface DeviceTypeAlgorithmBeforConfigMapper extends BaseMapper<DeviceTypeAlgorithmBeforConfig> {
+
+}

+ 15 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/DeviceTypeAlgorithmBeforConfigMapper.xml

@@ -0,0 +1,15 @@
+<?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.DeviceTypeAlgorithmBeforConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.DeviceTypeAlgorithmBeforConfig">
+        <result column="id" property="id" />
+        <result column="merc_id" property="mercId" />
+        <result column="device_type" property="deviceType" />
+        <result column="money" property="money" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>

+ 9 - 1
device-api-service/src/main/java/com/xy/service/DeviceChargingServiceImpl.java

@@ -13,6 +13,7 @@ import com.xy.dto.DeviceChargingDto;
 import com.xy.dto.DeviceInfoDto;
 import com.xy.entity.DeviceCharging;
 import com.xy.entity.DeviceChargingHistory;
+import com.xy.entity.DeviceTypeAlgorithmBeforConfig;
 import com.xy.entity.SysDictRedis;
 import com.xy.error.CommRuntimeException;
 import com.xy.mapper.DeviceChargingMapper;
@@ -54,6 +55,8 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
 
     private DeviceChargingServiceImpl deviceChargingService;
 
+    private DeviceTypeAlgorithmBeforConfigServiceImpl deviceTypeAlgorithmBeforConfigService;
+
     @PostMapping("payCheck")
     @ApiOperation("购买反显")
     public R<DeviceChargingDto.PayCheckVo> payCheck(@RequestBody @Validated DeviceChargingDto.PayCheck payCheck) {
@@ -70,6 +73,11 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
                 .setStandard(BigDecimal.valueOf(standard).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_DOWN).doubleValue() + "元/年")
                 .setMoney(standard);
         //封装算法购买信息
+        DeviceTypeAlgorithmBeforConfig deviceTypeAlgorithmBeforConfig = deviceTypeAlgorithmBeforConfigService.getOne(new LambdaQueryWrapper<DeviceTypeAlgorithmBeforConfig>()
+                .eq(DeviceTypeAlgorithmBeforConfig::getDeviceType, deviceInfo.getDeviceType())
+                .eq(DeviceTypeAlgorithmBeforConfig::getMercId, deviceInfo.getMercId())
+                .eq(DeviceTypeAlgorithmBeforConfig::getAlgorithmId, deviceInfo.getAlgorithmId())
+        );
         SysDictRedis moonAlgorithmTypes = SysDictUtils.get(EnumAlgorithmTypes.Code.CODE.getCode(), String.valueOf(deviceInfo.getAlgorithmId()));
         String algorithmPayConfig = SysDictUtils.getValue(EnumAlgorithmPayConfig.Code.CODE.getCode(), String.valueOf(deviceInfo.getAlgorithmId()), String.class);
         DeviceAlgorithmChargingDto.AlgorithmMoonConfig algorithmMoonConfig = JSONUtil.parseObj(algorithmPayConfig).toBean(DeviceAlgorithmChargingDto.AlgorithmMoonConfig.class);
@@ -79,7 +87,7 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
                 .setAlgorithmId(deviceInfo.getAlgorithmId())
                 .setAlgorithmName(moonAlgorithmTypes.getMsg())
                 .setStandard(BigDecimal.valueOf(algorithmMoonConfig.getPrice()).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_DOWN).doubleValue() + "元/每笔(" + inf.getSize() + "笔)")
-                .setMoney(inf.getMoney());
+                .setMoney(deviceTypeAlgorithmBeforConfig == null ? inf.getMoney() : deviceTypeAlgorithmBeforConfig.getMoney());
         //封装算法包月信息
         DeviceAlgorithmChargingDto.AlgorithmMoonConfig.Moon moon = algorithmMoonConfig.getMoon();
         DeviceChargingDto.PayCheckVo.DeviceAlgorithmCharging moonDeviceAlgorithmCharging = Beans.copy(DeviceChargingDto.PayCheckVo.DeviceAlgorithmCharging.class, deviceInfo)

+ 71 - 0
device-api-service/src/main/java/com/xy/service/DeviceTypeAlgorithmBeforConfigServiceImpl.java

@@ -0,0 +1,71 @@
+package com.xy.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.DeviceTypeAlgorithmBeforConfigDto;
+import com.xy.entity.DeviceTypeAlgorithmBeforConfig;
+import com.xy.mapper.DeviceTypeAlgorithmBeforConfigMapper;
+import com.xy.utils.Emptys;
+import com.xy.utils.MybatisPlusQuery;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+import static com.xy.utils.Beans.copy;
+
+
+/**
+ * <p>
+ * 设备类型算法预充配置 服务实现类
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-07-10
+ */
+@Service
+@AllArgsConstructor
+@Api(tags = "设备类型算法预充配置")
+public class DeviceTypeAlgorithmBeforConfigServiceImpl extends ServiceImpl<DeviceTypeAlgorithmBeforConfigMapper, DeviceTypeAlgorithmBeforConfig> implements DeviceTypeAlgorithmBeforConfigService {
+
+    @PostMapping("obj")
+    @ApiOperation("对象查询")
+    public R<DeviceTypeAlgorithmBeforConfigDto.Vo> obj(@RequestBody DeviceTypeAlgorithmBeforConfigDto.Vo vo) {
+        DeviceTypeAlgorithmBeforConfigDto.SelectList selectList = copy(DeviceTypeAlgorithmBeforConfigDto.SelectList.class, vo);
+        List<DeviceTypeAlgorithmBeforConfigDto.Vo> list = list(selectList).getData();
+        if (Emptys.check(list)) {
+            return R.ok(list.get(0));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<DeviceTypeAlgorithmBeforConfigDto.Vo>> list(@RequestBody DeviceTypeAlgorithmBeforConfigDto.SelectList selectList) {
+        LambdaQueryWrapper<DeviceTypeAlgorithmBeforConfig> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, DeviceTypeAlgorithmBeforConfig.class).build();
+        List<DeviceTypeAlgorithmBeforConfig> list = list(lambdaQueryWrapper);
+        return R.ok(copy(DeviceTypeAlgorithmBeforConfigDto.Vo.class, list));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated DeviceTypeAlgorithmBeforConfigDto.Save save) {
+        DeviceTypeAlgorithmBeforConfig saveInfo = copy(DeviceTypeAlgorithmBeforConfig.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated DeviceTypeAlgorithmBeforConfigDto.Update update) {
+        DeviceTypeAlgorithmBeforConfig updateInfo = copy(DeviceTypeAlgorithmBeforConfig.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 68 - 0
device-api/src/main/java/com/xy/dto/DeviceTypeAlgorithmBeforConfigDto.java

@@ -0,0 +1,68 @@
+package com.xy.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 设备类型算法预充配置
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-07-10
+ */
+public class DeviceTypeAlgorithmBeforConfigDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @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 = "商户id")
+        private Long mercId;
+
+        @ApiModelProperty(value = "设备类型")
+        private Integer deviceType;
+
+        @ApiModelProperty(value = "算法id")
+        private Integer algorithmId;
+
+        @ApiModelProperty(value = "预充金额;单位:分")
+        private Integer money;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime updateTime;
+
+
+    }
+
+}

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

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 设备类型算法预充配置 服务类
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-07-10
+ */
+@RestMappingController("/device-type-algorithm-befor-config")
+public interface DeviceTypeAlgorithmBeforConfigService {
+
+}