|
@@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xy.collections.list.JArrayList;
|
|
|
import com.xy.collections.list.JList;
|
|
@@ -68,7 +67,7 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
|
|
|
|
private AlipayDeviceService alipayDeviceService;
|
|
|
|
|
|
- private MercFeeConfigAlgorithmTypeServiceImpl mercFeeConfigAlgorithmTypeService;
|
|
|
+ private MercFeeConfigService mercFeeConfigService;
|
|
|
|
|
|
@PostMapping("del")
|
|
|
@ApiOperation("删除")
|
|
@@ -93,11 +92,15 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
|
if (cover.size() > 1) {
|
|
|
return R.fail("设备类型必须一致");
|
|
|
}
|
|
|
+ //佣金配置查询
|
|
|
+ MercFeeConfigDto.FeeConfigByMercVO mercFeeConfig = R.feignCheckData(mercFeeConfigService.getFeeConfigByMerc(new MercFeeConfigDto.FeeConfigByMerc().setMercCode(list.get(0).getMercCode())));
|
|
|
+
|
|
|
//查询设备状态信息
|
|
|
List<DeviceStatus> deviceStatuses = deviceStatusService.list(new LambdaQueryWrapper<DeviceStatus>().in(DeviceStatus::getDeviceId, deviceIds));
|
|
|
JMap<Long, DeviceStatus> deviceStatusesJMaps = new JArrayList<>(deviceStatuses).toMap(DeviceStatus::getDeviceId).cover();
|
|
|
List<String> mercCodes = new ArrayList<>();
|
|
|
- deviceAlgorithmChargingService.getMercCodes(list.get(0).getMercCode(), mercCodes);
|
|
|
+ deviceAlgorithmChargingService.getMercCodes(list.get(0).getMercCode(), mercCodes)
|
|
|
+ ;
|
|
|
//查询设备计费配置表 设备管理费
|
|
|
List<DeviceChargingConfig> deviceChargingConfigs = deviceChargingConfigService.list(new LambdaQueryWrapper<DeviceChargingConfig>()
|
|
|
.in(DeviceChargingConfig::getMercCode, mercCodes)
|
|
@@ -105,8 +108,8 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
|
.eq(DeviceChargingConfig::getDeviceType, list.get(0).getDeviceType())
|
|
|
.orderByDesc(DeviceChargingConfig::getMercCode)
|
|
|
);
|
|
|
- //有则使用,无则使用默认字典 设备管理费+代理商费用getExtraMoney
|
|
|
- int standard = Emptys.check(deviceChargingConfigs) ? (deviceChargingConfigs.get(0).getConfigValue() + deviceChargingConfigs.get(0).getExtraMoney())
|
|
|
+ //设备管理费
|
|
|
+ int standard = Emptys.check(deviceChargingConfigs) ? (deviceChargingConfigs.get(0).getConfigValue() + mercFeeConfig.getFeeDevice())
|
|
|
: SysDictUtils.getValue(EnumDeviceCharging.Code.CODE.getCode(), String.valueOf(list.get(0).getDeviceType()), Integer.class);
|
|
|
String deviceTypeName = SysDictUtils.get(EnumDeviceType.Code.CODE.getCode(), String.valueOf(list.get(0).getDeviceType())).getMsg();
|
|
|
//查询算法预充配置 设备激活
|
|
@@ -132,13 +135,6 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
|
algorithmPayConfigMap.put(algorithmId, algorithmPayConfig.getValue());
|
|
|
}
|
|
|
}
|
|
|
- //算法计费自定义
|
|
|
- List<MercFeeConfigAlgorithmType> mercFeeConfigAlgorithmTypes = mercFeeConfigAlgorithmTypeService.list(Wrappers.<MercFeeConfigAlgorithmType>lambdaQuery()
|
|
|
- .in(MercFeeConfigAlgorithmType::getMercCode, mercCodes)
|
|
|
- .in(MercFeeConfigAlgorithmType::getAlgorithmId, algorithmIds)
|
|
|
- );
|
|
|
- JMap<Long, MercFeeConfigAlgorithmType> mercFeeConfigAlgorithmTypesJMaps = Emptys.check(mercFeeConfigAlgorithmTypes) ? new JArrayList<>(mercFeeConfigAlgorithmTypes).toMap(MercFeeConfigAlgorithmType::getAlgorithmId).cover()
|
|
|
- : new JHashMap<>();
|
|
|
|
|
|
for (DeviceInfo deviceInfo : list) {
|
|
|
//封装设备信息
|
|
@@ -154,10 +150,9 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
|
String algorithmPayConfig = algorithmPayConfigMap.get(deviceInfo.getAlgorithmId());
|
|
|
DeviceAlgorithmChargingDto.AlgorithmMoonConfig algorithmMoonConfig = JSONUtil.parseObj(algorithmPayConfig).toBean(DeviceAlgorithmChargingDto.AlgorithmMoonConfig.class);
|
|
|
DeviceAlgorithmChargingDto.AlgorithmMoonConfig.Inf inf = algorithmMoonConfig.getInf();
|
|
|
- //算法计费自定义
|
|
|
- MercFeeConfigAlgorithmType mercFeeConfigAlgorithmType = mercFeeConfigAlgorithmTypesJMaps.get(deviceInfo.getAlgorithmId());
|
|
|
+
|
|
|
//单笔算法费用 代理商额外收取
|
|
|
- int extraSingleMoney = mercFeeConfigAlgorithmType == null ? 0 : mercFeeConfigAlgorithmType.getExtraSingleMoney();
|
|
|
+ int extraSingleMoney = mercFeeConfig.getFeeAlgorithm();
|
|
|
DeviceChargingDto.PayCheckVo.DeviceAlgorithmCharging infDeviceAlgorithmCharging = Beans.copy(DeviceChargingDto.PayCheckVo.DeviceAlgorithmCharging.class, deviceInfo)
|
|
|
.setDeviceTypeName(deviceTypeName)
|
|
|
.setAlgorithmId(deviceInfo.getAlgorithmId())
|
|
@@ -165,7 +160,7 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
|
//算法计费标准
|
|
|
.setStandard(BigDecimal.valueOf(algorithmMoonConfig.getPrice() + extraSingleMoney).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_DOWN).doubleValue() + "元/每笔(" + inf.getSize() + "笔)")
|
|
|
//设备激活 代理商费用 deviceTypeAlgorithmBeforConfig.getExtraMoney()
|
|
|
- .setMoney(deviceTypeAlgorithmBeforConfig == null ? inf.getMoney() : deviceTypeAlgorithmBeforConfig.getMoney() + deviceTypeAlgorithmBeforConfig.getExtraMoney());
|
|
|
+ .setMoney(deviceTypeAlgorithmBeforConfig == null ? inf.getMoney() : deviceTypeAlgorithmBeforConfig.getMoney() + mercFeeConfig.getFeeActive());
|
|
|
//封装算法包月信息
|
|
|
DeviceAlgorithmChargingDto.AlgorithmMoonConfig.Moon moon = algorithmMoonConfig.getMoon();
|
|
|
DeviceChargingDto.PayCheckVo.DeviceAlgorithmCharging moonDeviceAlgorithmCharging = Beans.copy(DeviceChargingDto.PayCheckVo.DeviceAlgorithmCharging.class, deviceInfo)
|