|
@@ -1,15 +1,27 @@
|
|
|
package com.xy.service;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xy.annotation.LogOperate;
|
|
|
+import com.xy.collections.list.JList;
|
|
|
+import com.xy.device.EnumAlgorithmPayConfig;
|
|
|
+import com.xy.device.EnumAlgorithmTypes;
|
|
|
+import com.xy.dto.AlgorithmDto;
|
|
|
+import com.xy.dto.DeviceAlgorithmChargingDto;
|
|
|
import com.xy.dto.DeviceTypeAlgorithmBeforConfigDto;
|
|
|
+import com.xy.entity.DeviceInfo;
|
|
|
import com.xy.entity.DeviceTypeAlgorithmBeforConfig;
|
|
|
+import com.xy.entity.SysDictRedis;
|
|
|
import com.xy.mapper.DeviceTypeAlgorithmBeforConfigMapper;
|
|
|
import com.xy.utils.Emptys;
|
|
|
import com.xy.utils.MybatisPlusQuery;
|
|
|
import com.xy.utils.R;
|
|
|
+import com.xy.utils.SysDictUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiModelProperty;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -18,7 +30,11 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.xy.utils.Beans.copy;
|
|
|
|
|
@@ -36,6 +52,8 @@ import static com.xy.utils.Beans.copy;
|
|
|
@Api(tags = "设备类型算法预充配置")
|
|
|
public class DeviceTypeAlgorithmBeforConfigServiceImpl extends ServiceImpl<DeviceTypeAlgorithmBeforConfigMapper, DeviceTypeAlgorithmBeforConfig> implements DeviceTypeAlgorithmBeforConfigService {
|
|
|
|
|
|
+ private AlgorithmService algorithmService;
|
|
|
+
|
|
|
@Override
|
|
|
@ApiOperation("对象查询")
|
|
|
public R<DeviceTypeAlgorithmBeforConfigDto.Vo> obj(@RequestBody DeviceTypeAlgorithmBeforConfigDto.Vo vo) {
|
|
@@ -55,6 +73,66 @@ public class DeviceTypeAlgorithmBeforConfigServiceImpl extends ServiceImpl<Devic
|
|
|
return R.ok(copy(DeviceTypeAlgorithmBeforConfigDto.Vo.class, list));
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("deviceActiveFeeList")
|
|
|
+ @ApiOperation("费用管理-设备激活费用查询")
|
|
|
+ public R<DeviceTypeAlgorithmBeforConfigDto.DeviceActiveFeeVO> deviceActiveFeeList(@RequestBody DeviceTypeAlgorithmBeforConfigDto.DeviceActiveFeeDTO dto) {
|
|
|
+ DeviceTypeAlgorithmBeforConfigDto.DeviceActiveFeeVO vo = new DeviceTypeAlgorithmBeforConfigDto.DeviceActiveFeeVO();
|
|
|
+ Long mercId = dto.getMercId();
|
|
|
+ LambdaQueryWrapper<DeviceTypeAlgorithmBeforConfig> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(dto, DeviceTypeAlgorithmBeforConfig.class).build();
|
|
|
+ List<DeviceTypeAlgorithmBeforConfig> list = list(lambdaQueryWrapper);
|
|
|
+ //查询默认算法信息
|
|
|
+ List<AlgorithmDto.ListNameId> listNameIds = R.feignCheckData(algorithmService.ListNameId());
|
|
|
+ List<Long> algorithmIds = listNameIds.stream().map(AlgorithmDto.ListNameId::getId).collect(Collectors.toList());
|
|
|
+ Map<Long, String> agMap = listNameIds.stream().collect(Collectors.toMap(AlgorithmDto.ListNameId::getId, AlgorithmDto.ListNameId::getName));
|
|
|
+// Map<Long, String> moonAlgorithmTypesMap = new HashMap<>();
|
|
|
+ Map<Long, String> algorithmPayConfigMap = new HashMap<>();
|
|
|
+ for (Long algorithmId : algorithmIds) {
|
|
|
+ SysDictRedis moonAlgorithmTypes = SysDictUtils.get(EnumAlgorithmTypes.Code.CODE.getCode(), String.valueOf(algorithmId));
|
|
|
+ //算法类型对应的字典配置的默认激活费(无设备类型)
|
|
|
+ SysDictRedis algorithmPayConfig = SysDictUtils.get(EnumAlgorithmPayConfig.Code.CODE.getCode(), String.valueOf(algorithmId));
|
|
|
+// if (Emptys.check(moonAlgorithmTypes)) {
|
|
|
+// moonAlgorithmTypesMap.put(algorithmId, moonAlgorithmTypes.getMsg());
|
|
|
+// }
|
|
|
+ if (Emptys.check(algorithmPayConfig)) {
|
|
|
+ algorithmPayConfigMap.put(algorithmId, algorithmPayConfig.getValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //字典默认配置
|
|
|
+ List<DeviceTypeAlgorithmBeforConfigDto.DeviceActiveDictVO> deviceActiveDicts = new ArrayList<>();
|
|
|
+
|
|
|
+ for (Long algorithmId : algorithmIds) {
|
|
|
+ String algorithmName = agMap.get(algorithmId);
|
|
|
+ String algorithmPayConfig = algorithmPayConfigMap.get(algorithmId);
|
|
|
+ DeviceAlgorithmChargingDto.AlgorithmMoonConfig algorithmMoonConfig = JSONUtil.parseObj(algorithmPayConfig).toBean(DeviceAlgorithmChargingDto.AlgorithmMoonConfig.class);
|
|
|
+ DeviceAlgorithmChargingDto.AlgorithmMoonConfig.Inf inf = algorithmMoonConfig.getInf();
|
|
|
+ Integer money = inf.getMoney();
|
|
|
+ DeviceTypeAlgorithmBeforConfigDto.DeviceActiveDictVO dictVO = new DeviceTypeAlgorithmBeforConfigDto.DeviceActiveDictVO();
|
|
|
+ dictVO.setAlgorithmId(algorithmId);
|
|
|
+ dictVO.setAlgorithmName(algorithmName);
|
|
|
+ dictVO.setMoney(money);
|
|
|
+ dictVO.setSize(inf.getSize());
|
|
|
+ deviceActiveDicts.add(dictVO);
|
|
|
+ }
|
|
|
+ //平台给商家定义的配置
|
|
|
+ List<DeviceTypeAlgorithmBeforConfigDto.DeviceActiveMercFeeVO> deviceActiveMercFees = new ArrayList<>();
|
|
|
+ if (CollUtil.isNotEmpty(list)) {
|
|
|
+ //平台给商家自定义的设备激活费用,多了个设备类型
|
|
|
+ BeanUtil.copyToList(list, DeviceTypeAlgorithmBeforConfigDto.DeviceActiveMercFeeVO.class);
|
|
|
+ for (DeviceTypeAlgorithmBeforConfig db : list) {
|
|
|
+ DeviceTypeAlgorithmBeforConfigDto.DeviceActiveMercFeeVO dbData = new DeviceTypeAlgorithmBeforConfigDto.DeviceActiveMercFeeVO();
|
|
|
+ BeanUtil.copyProperties(db, dbData);
|
|
|
+ String algorithmName = agMap.get(db.getAlgorithmId());
|
|
|
+ dbData.setAlgorithmName(algorithmName);
|
|
|
+ deviceActiveMercFees.add(dbData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setDeviceActiveDicts(deviceActiveDicts);
|
|
|
+ vo.setDeviceActiveMercFees(deviceActiveMercFees);
|
|
|
+ return R.ok(vo);
|
|
|
+ }
|
|
|
+
|
|
|
@LogOperate
|
|
|
@PostMapping("save")
|
|
|
@ApiOperation("添加")
|
|
@@ -85,4 +163,4 @@ public class DeviceTypeAlgorithmBeforConfigServiceImpl extends ServiceImpl<Devic
|
|
|
removeById(delete.getId());
|
|
|
return R.ok();
|
|
|
}
|
|
|
-}
|
|
|
+}
|