|
@@ -9,7 +9,6 @@ import com.xy.collections.map.JMap;
|
|
import com.xy.device.EnumDeviceCharging;
|
|
import com.xy.device.EnumDeviceCharging;
|
|
import com.xy.device.EnumDeviceChargingHistoryStatus;
|
|
import com.xy.device.EnumDeviceChargingHistoryStatus;
|
|
import com.xy.dto.DeviceChargingDto;
|
|
import com.xy.dto.DeviceChargingDto;
|
|
-import com.xy.dto.DeviceChargingHistoryDto;
|
|
|
|
import com.xy.dto.DeviceInfoDto;
|
|
import com.xy.dto.DeviceInfoDto;
|
|
import com.xy.entity.DeviceCharging;
|
|
import com.xy.entity.DeviceCharging;
|
|
import com.xy.entity.DeviceChargingHistory;
|
|
import com.xy.entity.DeviceChargingHistory;
|
|
@@ -20,6 +19,7 @@ import com.xy.utils.*;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
|
+import lombok.SneakyThrows;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -30,7 +30,8 @@ import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
-import static com.xy.utils.PlusBeans.*;
|
|
|
|
|
|
+import static com.xy.utils.PlusBeans.toIPage;
|
|
|
|
+import static com.xy.utils.PlusBeans.toPageBean;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -75,22 +76,27 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
|
|
@PostMapping("page")
|
|
@PostMapping("page")
|
|
@ApiOperation("分页查询")
|
|
@ApiOperation("分页查询")
|
|
public R<PageBean<DeviceChargingDto.PageVo>> page(@RequestBody DeviceChargingDto.Page page) {
|
|
public R<PageBean<DeviceChargingDto.PageVo>> page(@RequestBody DeviceChargingDto.Page page) {
|
|
|
|
+ Integer value = SysDictUtils.getValue(EnumDeviceCharging.Code.CODE.getCode(), EnumDeviceCharging.N_200.getCode(), Integer.class);
|
|
|
|
+ String theTime = DataTime.getStringAround(0, 0, value, 0, 0, 0);
|
|
|
|
+ page.setThisTime(LocalDateTime.now()).setTheTime(DataTime.toLocal(theTime));
|
|
IPage<DeviceChargingDto.PageVo> iPage = baseMapper.page(toIPage(page.getPage()), page);
|
|
IPage<DeviceChargingDto.PageVo> iPage = baseMapper.page(toIPage(page.getPage()), page);
|
|
List<DeviceChargingDto.PageVo> records = iPage.getRecords();
|
|
List<DeviceChargingDto.PageVo> records = iPage.getRecords();
|
|
if (Emptys.check(records)) {
|
|
if (Emptys.check(records)) {
|
|
Map<String, SysDictRedis> stringSysDictRedisMap = SysDictUtils.get(EnumDeviceCharging.Code.CODE.getCode());
|
|
Map<String, SysDictRedis> stringSysDictRedisMap = SysDictUtils.get(EnumDeviceCharging.Code.CODE.getCode());
|
|
for (DeviceChargingDto.PageVo record : records) {
|
|
for (DeviceChargingDto.PageVo record : records) {
|
|
- DeviceInfoDto.Vo deviceInfo = record.getDeviceInfo();
|
|
|
|
- //封装最新计费历史信息
|
|
|
|
- LambdaQueryWrapper<DeviceChargingHistory> lambdaQueryWrapper = new LambdaQueryWrapper<DeviceChargingHistory>()
|
|
|
|
- .eq(DeviceChargingHistory::getDeviceId, deviceInfo.getDeviceId())
|
|
|
|
- .orderByDesc(DeviceChargingHistory::getCreateTime)
|
|
|
|
- .last("limit 1");
|
|
|
|
- DeviceChargingHistory deviceChargingHistory = deviceChargingHistoryService.getOne(lambdaQueryWrapper);
|
|
|
|
- if (deviceChargingHistory != null) {
|
|
|
|
- record.setDeviceChargingHistory(copy(DeviceChargingHistoryDto.Vo.class, deviceChargingHistory));
|
|
|
|
|
|
+ //封装过期状态说明
|
|
|
|
+ String timeoutStatus;
|
|
|
|
+ DeviceChargingDto.Vo deviceCharging = record.getDeviceCharging();
|
|
|
|
+ LocalDateTime timeout = deviceCharging.getTimeout();
|
|
|
|
+ long s = DataTime.diff(page.getThisTime(), timeout, "s");
|
|
|
|
+ if (s <= 0) {
|
|
|
|
+ timeoutStatus = "欠费(" + (~(s / 86400 - 1)) + "天)";
|
|
|
|
+ } else {
|
|
|
|
+ timeoutStatus = s <= value * 86400 ? "即将到期(" + s / 86400 + "天)" : "正常(" + s / 86400 + "天)";
|
|
}
|
|
}
|
|
|
|
+ record.getDeviceCharging().setTimeoutStatus(timeoutStatus);
|
|
//封装计费标准金额
|
|
//封装计费标准金额
|
|
|
|
+ DeviceInfoDto.Vo deviceInfo = record.getDeviceInfo();
|
|
SysDictRedis sysDictRedis = stringSysDictRedisMap.get(deviceInfo.getDeviceType().toString());
|
|
SysDictRedis sysDictRedis = stringSysDictRedisMap.get(deviceInfo.getDeviceType().toString());
|
|
if (sysDictRedis != null) {
|
|
if (sysDictRedis != null) {
|
|
record.setChargingMoney(Integer.valueOf(sysDictRedis.getValue()));
|
|
record.setChargingMoney(Integer.valueOf(sysDictRedis.getValue()));
|