Quellcode durchsuchen

商管端-费用支付发起添加代理商费用

tanbin vor 1 Jahr
Ursprung
Commit
c57abb9967

+ 12 - 1
device-api-service/src/main/java/com/xy/service/DeviceTypeAlgorithmBeforConfigServiceImpl.java

@@ -58,11 +58,16 @@ public class DeviceTypeAlgorithmBeforConfigServiceImpl extends ServiceImpl<Devic
 
     private AlgorithmService algorithmService;
     private MercService mercService;
+    private DeviceAlgorithmChargingServiceImpl deviceAlgorithmChargingService;
 
     @Override
     @ApiOperation("对象查询")
     public R<DeviceTypeAlgorithmBeforConfigDto.Vo> obj(@RequestBody DeviceTypeAlgorithmBeforConfigDto.Vo vo) {
+        MercDto.Vo merc = R.feignCheckData(mercService.obj(new MercDto.Vo().setId(vo.getMercId())));
+        List<String> mercCodes = new ArrayList<>();
+        deviceAlgorithmChargingService.getMercCodes(merc.getMercCode(), mercCodes);
         DeviceTypeAlgorithmBeforConfigDto.SelectList selectList = copy(DeviceTypeAlgorithmBeforConfigDto.SelectList.class, vo);
+        selectList.setMercCodes(mercCodes);
         List<DeviceTypeAlgorithmBeforConfigDto.Vo> list = list(selectList).getData();
         if (Emptys.check(list)) {
             return R.ok(list.get(0));
@@ -73,7 +78,13 @@ public class DeviceTypeAlgorithmBeforConfigServiceImpl extends ServiceImpl<Devic
     @PostMapping("list")
     @ApiOperation("集合查询")
     public R<List<DeviceTypeAlgorithmBeforConfigDto.Vo>> list(@RequestBody DeviceTypeAlgorithmBeforConfigDto.SelectList selectList) {
-        LambdaQueryWrapper<DeviceTypeAlgorithmBeforConfig> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, DeviceTypeAlgorithmBeforConfig.class).build();
+        List<String> mercCodes = selectList.getMercCodes();
+        if (CollUtil.isNotEmpty(mercCodes)) {
+            //优先编码查询
+            selectList.setMercId(null);
+        }
+        LambdaQueryWrapper<DeviceTypeAlgorithmBeforConfig> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, DeviceTypeAlgorithmBeforConfig.class).build()
+                .in(CollUtil.isNotEmpty(mercCodes), DeviceTypeAlgorithmBeforConfig::getMercCode, mercCodes);
         List<DeviceTypeAlgorithmBeforConfig> list = list(lambdaQueryWrapper);
         return R.ok(copy(DeviceTypeAlgorithmBeforConfigDto.Vo.class, list));
     }

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

@@ -153,6 +153,37 @@ public class MercFeeConfigSimCardServiceImpl extends ServiceImpl<MercFeeConfigSi
         return R.ok(deviceSimMercList);
     }
 
+    @Override
+    @ApiOperation("商户自定义流量卡费用")
+    public R<List<MercFeeConfigSimCardDto.DeviceSimPayVO>> listByMerc(MercFeeConfigAlgorithmTypeDto.SimPayQueryDTO dto) {
+        Long mercId = dto.getMercId();
+        MercDto.Vo merc = R.feignCheckData(mercService.obj(new MercDto.Vo().setId(mercId)));
+        String mercCode = merc.getMercCode();
+        List<String> mercCodes = new ArrayList<>();
+        deviceAlgorithmChargingService.getMercCodes(mercCode, mercCodes);
+        //查询默认算法信息
+        //流量卡费-平台默认配置
+        Integer money = SysDictUtils.getValue(EnumSimConfig.Code.CODE.getCode(), EnumSimConfig.money.getCode(), Integer.class);
+        String name = SysDictUtils.getValue(EnumSimConfig.Code.CODE.getCode(), EnumSimConfig.name.getCode(), String.class);
+
+        // 设备管理费-商家自定义费用
+        List<MercFeeConfigSimCardDto.DeviceSimPayVO> deviceSimMercList = new ArrayList<>();
+        LambdaQueryWrapper<MercFeeConfigSimCard> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(dto, MercFeeConfigSimCard.class)
+                .in(MercFeeConfigSimCard::getMercCode, mercCodes)
+                .build();
+        List<MercFeeConfigSimCard> list = list(lambdaQueryWrapper);
+        if (CollUtil.isNotEmpty(list)) {
+            for (MercFeeConfigSimCard cfg : list) {
+                MercFeeConfigSimCardDto.DeviceSimPayVO deviceSimMercVO = BeanUtil.copyProperties(cfg, MercFeeConfigSimCardDto.DeviceSimPayVO.class);
+                deviceSimMercVO.setName(name).setMoney(money + cfg.getExtraMoney());
+                deviceSimMercList.add(deviceSimMercVO);
+            }
+        }
+
+        return R.ok(deviceSimMercList);
+    }
+
+
     @PostMapping("save")
     @ApiOperation("添加")
     public R save(@RequestBody @Validated MercFeeConfigSimCardDto.Save save) {

+ 5 - 2
device-api/src/main/java/com/xy/dto/DeviceChargingConfigDto.java

@@ -24,10 +24,13 @@ public class DeviceChargingConfigDto {
     @Accessors(chain = true)
     public static class SelectList extends Vo {
 
-        @NotNull(message = "mercId不能为空")
+
         @ApiModelProperty(value = "商户id", required = true)
         private Long mercId;
 
+        @ApiModelProperty(value = "商户id", required = true)
+        private List<String> mercCodes;
+
         @ApiModelProperty(value = "设备类型", required = true)
         private Integer deviceType;
 
@@ -52,7 +55,7 @@ public class DeviceChargingConfigDto {
     @Data
     @Accessors(chain = true)
     public static class Save extends Vo {
-       
+
 
         @NotNull(message = "mercId不能为空")
         @ApiModelProperty(value = "商户id")

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

@@ -23,6 +23,8 @@ public class DeviceTypeAlgorithmBeforConfigDto {
     @Accessors(chain = true)
     public static class SelectList extends Vo {
 
+        @ApiModelProperty(value = "商户编码")
+        private List<String> mercCodes;
     }
 
     @Data

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

@@ -1,6 +1,15 @@
 package com.xy.service;
 
 import com.xy.annotate.RestMappingController;
+import com.xy.dto.MercFeeConfigAlgorithmTypeDto;
+import com.xy.dto.MercFeeConfigSimCardDto;
+import com.xy.utils.R;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +22,13 @@ import com.xy.annotate.RestMappingController;
 @RestMappingController("/merc-fee-config-sim-card")
 public interface MercFeeConfigSimCardService {
 
+    /**
+     * 商户自定义流量卡费用
+     *
+     * @param dto
+     * @return
+     */
+    @PostMapping("listByMerc")
+    R<List<MercFeeConfigSimCardDto.DeviceSimPayVO>> listByMerc(@RequestBody @Validated MercFeeConfigAlgorithmTypeDto.SimPayQueryDTO dto);
+
 }