|
@@ -13,11 +13,14 @@ import com.xy.collections.list.JArrayList;
|
|
|
import com.xy.collections.list.JList;
|
|
|
import com.xy.config.DeviceThreadPoolConfig;
|
|
|
import com.xy.config.FileConfig;
|
|
|
+import com.xy.device.EnumSimConfig;
|
|
|
import com.xy.dto.DeviceSimChargeDto;
|
|
|
import com.xy.dto.MercFeeConfigDto;
|
|
|
import com.xy.dto.OrderMercManageDto;
|
|
|
import com.xy.dto.be.MercDto;
|
|
|
+import com.xy.entity.DeviceSim;
|
|
|
import com.xy.entity.DeviceSimCharge;
|
|
|
+import com.xy.entity.SysDictRedis;
|
|
|
import com.xy.mapper.DeviceSimChargeMapper;
|
|
|
import com.xy.service.be.MercService;
|
|
|
import com.xy.util.ExcelUtils;
|
|
@@ -36,6 +39,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.File;
|
|
|
import java.io.InputStream;
|
|
|
import java.io.OutputStream;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
@@ -72,6 +76,8 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
|
|
|
|
private MercFeeConfigService mercFeeConfigService;
|
|
|
|
|
|
+ private DeviceSimServiceImpl deviceSimService;
|
|
|
+
|
|
|
|
|
|
@PostMapping("page")
|
|
|
@ApiOperation("分页查询")
|
|
@@ -130,9 +136,19 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
|
).target(() -> mercService.list(new MercDto.SelectList().setMercIds(new JArrayList<>(records).getProperty(DeviceSimChargeDto.PageByTopMercVO::getMercId).comparing())).getData()
|
|
|
, DeviceSimChargeDto.PageByTopMercVO::getMercId, DeviceSimChargeDto.PageByTopMercVO::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
|
.builder();
|
|
|
+ List<String> simIds = records.stream().map(DeviceSimChargeDto.PageByTopMercVO::getSimId).collect(Collectors.toList());
|
|
|
+ List<DeviceSim> deviceSims = deviceSimService.listByIds(simIds);
|
|
|
+ Map<String, DeviceSim> deviceSimMap = MapUtil.newHashMap();
|
|
|
+ if (CollUtil.isNotEmpty(deviceSims)) {
|
|
|
+ deviceSimMap = deviceSims.stream().collect(Collectors.toMap(DeviceSim::getId, ds -> ds));
|
|
|
+ }
|
|
|
+ Map<String, SysDictRedis> simConfig = SysDictUtils.get(EnumSimConfig.Code.CODE.getCode());
|
|
|
+
|
|
|
+ Integer value = Integer.valueOf(simConfig.get(EnumSimConfig.N_200.getCode()).getValue());
|
|
|
|
|
|
for (DeviceSimChargeDto.PageByTopMercVO record : records) {
|
|
|
Long mercId = record.getMercId();
|
|
|
+ String simId = record.getSimId();
|
|
|
//佣金初始化
|
|
|
Integer extraMoney = 0;
|
|
|
MercFeeConfigDto.ListFeeConfigByMercVO listFeeConfigByMercVO = configByMercVOMap.get(mercId);
|
|
@@ -140,6 +156,24 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
|
extraMoney = listFeeConfigByMercVO.getFeeConfig().getFeeSimcard();
|
|
|
record.setAgentMoney(extraMoney);
|
|
|
}
|
|
|
+ DeviceSim sim = deviceSimMap.get(simId);
|
|
|
+ //封装过期状态说明
|
|
|
+ if (Emptys.check(sim)) {
|
|
|
+ LocalDateTime timeout = sim.getTimeout();
|
|
|
+ if (timeout == null) {
|
|
|
+ record.setTimeoutStatus("未初始化");
|
|
|
+ } else {
|
|
|
+ String timeoutStatus;
|
|
|
+ long s = DataTime.diff(LocalDateTime.now(), timeout, "s");
|
|
|
+ if (s <= 0) {
|
|
|
+ timeoutStatus = "欠费(" + (~(s / 86400 - 1)) + "天)";
|
|
|
+ } else {
|
|
|
+ timeoutStatus = s <= value * 86400 ? "即将到期(" + s / 86400 + "天)" : "正常(" + s / 86400 + "天)";
|
|
|
+ }
|
|
|
+ record.setTimeoutStatus(timeoutStatus);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
return R.ok(voPageBean);
|