手动结算订单支持自定义输入金额和充电度数

This commit is contained in:
2023-03-18 15:35:29 +08:00
parent 6b3f593f3f
commit c3232cd29a
4 changed files with 53 additions and 16 deletions

View File

@@ -32,6 +32,7 @@ import com.jsowell.pile.domain.OrderPayRecord;
import com.jsowell.pile.domain.WxpayCallbackRecord;
import com.jsowell.pile.dto.BasicPileDTO;
import com.jsowell.pile.dto.GenerateOrderDTO;
import com.jsowell.pile.dto.ManualSettlementDTO;
import com.jsowell.pile.dto.PayOrderDTO;
import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO;
import com.jsowell.pile.dto.PaymentScenarioDTO;
@@ -812,7 +813,7 @@ public class OrderService {
* 人工结算订单
* @param dto
*/
public boolean manualSettlementOrder(QueryOrderDTO dto) {
public boolean manualSettlementOrder(ManualSettlementDTO dto) {
log.info("人工结算订单-begin orderCode:{}", dto.getOrderCode());
// 查询订单
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
@@ -833,18 +834,22 @@ public class OrderService {
List<String> merchantDeptIds = authorizedMap.getMerchantDeptIds();
}
// 获取最后一次实时数据
List<RealTimeMonitorData> chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode());
if (CollectionUtils.isEmpty(chargingRealTimeData)) {
log.info("人工结算订单-根据订单号:{},查不到充电桩上传的实时数据,无法进行结算", dto.getOrderCode());
return false;
String chargingAmount = dto.getChargingAmount();
String chargingDegree = dto.getChargingDegree();
if (StringUtils.isBlank(chargingAmount) || StringUtils.isBlank(chargingDegree)) {
// 获取最后一次实时数据
List<RealTimeMonitorData> chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode());
if (CollectionUtils.isNotEmpty(chargingRealTimeData)) {
RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0);
chargingAmount = realTimeMonitorData.getChargingAmount();
chargingDegree = realTimeMonitorData.getChargingDegree();
}
}
RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0);
// 组装交易记录数据
TransactionRecordsData data = new TransactionRecordsData();
data.setConsumptionAmount(realTimeMonitorData.getChargingAmount()); // 总消费金额
data.setTotalElectricity(realTimeMonitorData.getChargingDegree()); // 总用电量
data.setConsumptionAmount(chargingAmount); // 总消费金额
data.setTotalElectricity(chargingDegree); // 总用电量
data.setStopReasonMsg("人工结算订单,操作人:" + SecurityUtils.getUsername()); // 停止原因
// 结算订单

View File

@@ -7,6 +7,7 @@ import com.jsowell.common.core.page.TableDataInfo;
import com.jsowell.common.enums.BusinessType;
import com.jsowell.common.util.poi.ExcelUtil;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.dto.ManualSettlementDTO;
import com.jsowell.pile.dto.QueryOrderDTO;
import com.jsowell.pile.service.IOrderBasicInfoService;
import com.jsowell.pile.vo.web.OrderListVO;
@@ -108,7 +109,7 @@ public class OrderBasicInfoController extends BaseController {
* http://localhost:8080/order/manualSettlementOrder
*/
@PostMapping("/manualSettlementOrder")
public AjaxResult manualSettlementOrder(@RequestBody QueryOrderDTO dto) {
public AjaxResult manualSettlementOrder(@RequestBody ManualSettlementDTO dto) {
return toAjax(orderService.manualSettlementOrder(dto));
}
}