mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-14 23:08:35 +08:00
修正并充订单数据工具
This commit is contained in:
@@ -34,6 +34,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -84,6 +85,9 @@ public class TempService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PileMsgRecordMapper pileMsgRecordMapper;
|
private PileMsgRecordMapper pileMsgRecordMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OrderDetailService orderDetailService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderMonitorDataService orderMonitorDataService;
|
private OrderMonitorDataService orderMonitorDataService;
|
||||||
|
|
||||||
@@ -624,28 +628,66 @@ public class TempService {
|
|||||||
* 修正并充订单数据
|
* 修正并充订单数据
|
||||||
* @param dto
|
* @param dto
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void correctCombinedChargingOrder(QueryOrderDTO dto) {
|
public void correctCombinedChargingOrder(QueryOrderDTO dto) {
|
||||||
List<String> orderCodeList = dto.getOrderCodeList();
|
List<String> orderCodeList = dto.getOrderCodeList();
|
||||||
logger.info("修正并充订单数据,订单号:{}", JSON.toJSONString(orderCodeList));
|
logger.info("修正并充订单数据工具,订单号:{}", JSON.toJSONString(orderCodeList));
|
||||||
// 查询临时表,不要重复修正
|
// 查询临时表,不要重复修正
|
||||||
String redisKey = "correct_combined_charging_order";
|
String redisKey = "correct_combined_charging_order";
|
||||||
List<String> redisResult = redisCache.getCacheList(redisKey);
|
List<String> redisResult = redisCache.getCacheList(redisKey);
|
||||||
if (CollectionUtils.isNotEmpty(redisResult)) {
|
if (CollectionUtils.isNotEmpty(redisResult)) {
|
||||||
logger.info("已修正订单:{}", JSON.toJSONString(redisResult));
|
logger.info("修正并充订单数据工具, 已修正订单:{}", JSON.toJSONString(redisResult));
|
||||||
// 过滤掉已修正的订单
|
// 过滤掉已修正的订单
|
||||||
orderCodeList.removeAll(redisResult);
|
orderCodeList.removeAll(redisResult);
|
||||||
logger.info("过滤掉已修正的订单剩余:{}", JSON.toJSONString(orderCodeList));
|
logger.info("修正并充订单数据工具. 过滤掉已修正的订单剩余:{}", JSON.toJSONString(orderCodeList));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(orderCodeList)) {
|
if (CollectionUtils.isEmpty(orderCodeList)) {
|
||||||
logger.info("无需要修正的订单");
|
logger.info("修正并充订单数据工具, 无需要修正的订单");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BigDecimal multiple = new BigDecimal("2");
|
||||||
// 查询订单主表数据
|
// 查询订单主表数据
|
||||||
List<OrderBasicInfo> orderBasicInfos = orderBasicInfoService.queryOrderList(orderCodeList);
|
List<OrderBasicInfo> orderBasicInfos = orderBasicInfoService.queryOrderList(orderCodeList);
|
||||||
|
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
|
||||||
|
orderBasicInfo.setOrderAmount(orderBasicInfo.getOrderAmount().multiply(multiple));
|
||||||
|
}
|
||||||
// 查询订单详情数据
|
// 查询订单详情数据
|
||||||
List<OrderDetail> orderDetailList = orderBasicInfoService.getOrderDetailList(orderCodeList);
|
List<OrderDetail> orderDetailList = orderBasicInfoService.getOrderDetailList(orderCodeList);
|
||||||
|
for (OrderDetail orderDetail : orderDetailList) {
|
||||||
|
// 订单总用电量
|
||||||
|
orderDetail.setTotalUsedElectricity(orderDetail.getTotalUsedElectricity().multiply(multiple));
|
||||||
|
// 订单总电费金额
|
||||||
|
orderDetail.setTotalElectricityAmount(orderDetail.getTotalElectricityAmount().multiply(multiple));
|
||||||
|
// 订单总服务费金额
|
||||||
|
orderDetail.setTotalServiceAmount(orderDetail.getTotalServiceAmount().multiply(multiple));
|
||||||
|
// 订单总金额
|
||||||
|
orderDetail.setTotalOrderAmount(orderDetail.getTotalOrderAmount().multiply(multiple));
|
||||||
|
// 尖时段
|
||||||
|
if (orderDetail.getSharpUsedElectricity() != null && orderDetail.getSharpUsedElectricity().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
orderDetail.setSharpUsedElectricity(orderDetail.getSharpUsedElectricity().multiply(multiple));
|
||||||
|
orderDetail.setSharpAmount(orderDetail.getSharpAmount().multiply(multiple));
|
||||||
|
}
|
||||||
|
// 峰时段
|
||||||
|
if (orderDetail.getPeakUsedElectricity() != null && orderDetail.getPeakUsedElectricity().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
orderDetail.setPeakUsedElectricity(orderDetail.getPeakUsedElectricity().multiply(multiple));
|
||||||
|
orderDetail.setPeakAmount(orderDetail.getPeakAmount().multiply(multiple));
|
||||||
|
}
|
||||||
|
// 平时段
|
||||||
|
if (orderDetail.getFlatUsedElectricity() != null && orderDetail.getFlatUsedElectricity().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
orderDetail.setFlatUsedElectricity(orderDetail.getFlatUsedElectricity().multiply(multiple));
|
||||||
|
orderDetail.setFlatAmount(orderDetail.getFlatAmount().multiply(multiple));
|
||||||
|
}
|
||||||
|
// 谷时段
|
||||||
|
if (orderDetail.getValleyUsedElectricity() != null && orderDetail.getValleyUsedElectricity().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
orderDetail.setValleyUsedElectricity(orderDetail.getValleyUsedElectricity().multiply(multiple));
|
||||||
|
orderDetail.setValleyAmount(orderDetail.getValleyAmount().multiply(multiple));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 更新数据库
|
||||||
|
orderBasicInfoService.updateBatch(orderBasicInfos);
|
||||||
|
orderDetailService.updateBatch(orderDetailList);
|
||||||
|
|
||||||
Map<String, List<String>> redisMap = Maps.newHashMap();
|
Map<String, List<String>> redisMap = Maps.newHashMap();
|
||||||
redisMap.put(redisKey, orderCodeList);
|
redisMap.put(redisKey, orderCodeList);
|
||||||
redisCache.batchSetCacheList(redisMap, 300, TimeUnit.DAYS);
|
redisCache.batchSetCacheList(redisMap, 300, TimeUnit.DAYS);
|
||||||
|
|||||||
Reference in New Issue
Block a user