mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-10 10:19:54 +08:00
testSettleOrderLogicV2
This commit is contained in:
@@ -766,6 +766,24 @@ public class TempController extends BaseController {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调试结算订单逻辑
|
||||||
|
* http://localhost:8080/temp/testSettleOrderLogic
|
||||||
|
*/
|
||||||
|
@PostMapping("/testSettleOrderLogicV2")
|
||||||
|
public RestApiResponse<?> testSettleOrderLogicV2(@RequestBody QueryOrderDTO dto) {
|
||||||
|
RestApiResponse<?> response;
|
||||||
|
try {
|
||||||
|
// 调试结算订单逻辑
|
||||||
|
tempService.testSettleOrderLogicV2(dto.getOrderCode());
|
||||||
|
response = new RestApiResponse<>();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("调试结算订单逻辑V2error,", e);
|
||||||
|
response = new RestApiResponse<>();
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重试订单退款接口/重试退款按钮 (批量)
|
* 重试订单退款接口/重试退款按钮 (批量)
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import com.jsowell.pile.dto.ApplyRefundDTO;
|
|||||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||||
import com.jsowell.pile.dto.SettleOrderReportDTO;
|
import com.jsowell.pile.dto.SettleOrderReportDTO;
|
||||||
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
||||||
import com.jsowell.pile.mapper.PileMsgRecordMapper;
|
|
||||||
import com.jsowell.pile.service.*;
|
import com.jsowell.pile.service.*;
|
||||||
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
|
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
|
||||||
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
|
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
|
||||||
@@ -47,6 +46,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -102,7 +102,7 @@ public class TempService {
|
|||||||
private MemberAdapayRecordService memberAdapayRecordService;
|
private MemberAdapayRecordService memberAdapayRecordService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PileMsgRecordMapper pileMsgRecordMapper;
|
private PileMsgRecordService pileMsgRecordService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderDetailService orderDetailService;
|
private OrderDetailService orderDetailService;
|
||||||
@@ -126,7 +126,7 @@ public class TempService {
|
|||||||
// 根据充电桩编号,查询报文
|
// 根据充电桩编号,查询报文
|
||||||
for (OrderListVO orderVO : orderListVOS) {
|
for (OrderListVO orderVO : orderListVOS) {
|
||||||
String pileSn = orderVO.getPileSn();
|
String pileSn = orderVO.getPileSn();
|
||||||
List<PileMsgRecord> pileFeedList = pileMsgRecordMapper.getPileFeedList(pileSn);
|
// List<PileMsgRecord> pileFeedList = pileMsgRecordMapper.getPileFeedList(pileSn);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -892,15 +892,25 @@ public class TempService {
|
|||||||
orderCode, memberId, discountAmount, electricityAmountDiscount, serviceAmountDiscount, totalConsumeAmount);
|
orderCode, memberId, discountAmount, electricityAmountDiscount, serviceAmountDiscount, totalConsumeAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testSettleOrderLogicV2(String orderCode) {
|
||||||
|
// 查询订单主表
|
||||||
|
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
|
||||||
|
|
||||||
|
LocalDateTime localDateTime = DateUtils.date2LocalDateTime(orderBasicInfo.getSettlementTime());
|
||||||
|
// 开始时间为localDateTime减30秒
|
||||||
|
LocalDateTime startTime = localDateTime.minusSeconds(30);
|
||||||
|
// 结束时间为localDateTime加30秒
|
||||||
|
LocalDateTime endTime = localDateTime.plusSeconds(30);
|
||||||
|
// 查询这笔订单的交易记录原始数据
|
||||||
|
List<PileMsgRecord> pileFeedListV2 = pileMsgRecordService.getPileFeedListV2(orderBasicInfo.getPileSn(), "0x3B", startTime, endTime);
|
||||||
|
logger.info("testSettleOrderLogicV2, orderCode:{}, pileSn:{}, startTime:{}, endTime:{}, pileFeedListV2:{}",
|
||||||
|
orderCode, orderBasicInfo.getPileSn(), startTime, endTime, JSON.toJSONString(pileFeedListV2));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void testSettleOrderLogic(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
|
public void testSettleOrderLogic(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
|
||||||
AbstractProgramLogic programLogic = ProgramLogicFactory.getProgramLogic("1");
|
AbstractProgramLogic programLogic = ProgramLogicFactory.getProgramLogic("1");
|
||||||
|
|
||||||
// 获取更新数据后的orderBasicInfo对象
|
|
||||||
// programLogic.returnUpdateOrderBasicInfo(orderBasicInfo, data);
|
|
||||||
|
|
||||||
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
|
|
||||||
// OrderDetail orderDetail = programLogic.returnUpdateOrderDetail(orderBasicInfo, data);
|
|
||||||
|
|
||||||
// 查询订单详情
|
// 查询订单详情
|
||||||
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderBasicInfo.getOrderCode());
|
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderBasicInfo.getOrderCode());
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.jsowell.common.core.page.PageResponse;
|
|||||||
import com.jsowell.pile.domain.PileMsgRecord;
|
import com.jsowell.pile.domain.PileMsgRecord;
|
||||||
import com.jsowell.pile.dto.QueryPileDTO;
|
import com.jsowell.pile.dto.QueryPileDTO;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -29,4 +30,6 @@ public interface PileMsgRecordService {
|
|||||||
String generateDescription(PileMsgRecord pileMsgRecord);
|
String generateDescription(PileMsgRecord pileMsgRecord);
|
||||||
|
|
||||||
List<PileMsgRecord> getPileFeedListV2(String pileSn, String frameType, Date startTime, Date endTime);
|
List<PileMsgRecord> getPileFeedListV2(String pileSn, String frameType, Date startTime, Date endTime);
|
||||||
|
|
||||||
|
List<PileMsgRecord> getPileFeedListV2(String pileSn, String frameType, LocalDateTime startTime, LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||||
import com.jsowell.common.core.page.PageResponse;
|
import com.jsowell.common.core.page.PageResponse;
|
||||||
import com.jsowell.common.util.BytesUtil;
|
import com.jsowell.common.util.BytesUtil;
|
||||||
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
import com.jsowell.common.util.YKCUtils;
|
import com.jsowell.common.util.YKCUtils;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
@@ -18,6 +19,7 @@ import com.jsowell.pile.vo.web.PileCommunicationLogVO;
|
|||||||
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 java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -126,6 +128,11 @@ public class PileMsgRecordServiceImpl implements PileMsgRecordService {
|
|||||||
return pileMsgRecordMapper.getPileFeedListV2(pileSn, frameType, createTime, updateTime);
|
return pileMsgRecordMapper.getPileFeedListV2(pileSn, frameType, createTime, updateTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PileMsgRecord> getPileFeedListV2(String pileSn, String frameType, LocalDateTime startTime, LocalDateTime endTime) {
|
||||||
|
return this.getPileFeedListV2(pileSn, frameType, DateUtils.localDateTime2Date(startTime), DateUtils.localDateTime2Date(endTime));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析登录报文
|
* 解析登录报文
|
||||||
* @param jsonMsg
|
* @param jsonMsg
|
||||||
|
|||||||
@@ -619,7 +619,10 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderBasicInfo.setVirtualAmount(virtualAmount); // 虚拟金额
|
orderBasicInfo.setVirtualAmount(virtualAmount); // 虚拟金额
|
||||||
orderBasicInfo.setSettleAmount(dataOrderAmount.subtract(virtualAmount)); // 结算金额 = 消费金额 - 虚拟金额
|
orderBasicInfo.setSettleAmount(dataOrderAmount.subtract(virtualAmount)); // 结算金额 = 消费金额 - 虚拟金额
|
||||||
orderBasicInfo.setReason(data.getStopReasonMsg()); // 充电停止原因
|
orderBasicInfo.setReason(data.getStopReasonMsg()); // 充电停止原因
|
||||||
|
if (Objects.isNull(orderBasicInfo.getSettlementTime())) {
|
||||||
|
// 如果结算时间为空,设置当前时间为结算时间
|
||||||
orderBasicInfo.setSettlementTime(DateUtils.getNowDate()); // 结算时间
|
orderBasicInfo.setSettlementTime(DateUtils.getNowDate()); // 结算时间
|
||||||
|
}
|
||||||
updateSOC(orderBasicInfo);
|
updateSOC(orderBasicInfo);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user