testSettleOrderLogicV2

This commit is contained in:
Guoqs
2025-03-26 20:32:12 +08:00
parent 670a35c9a1
commit fdee4a7d8c
5 changed files with 51 additions and 10 deletions

View File

@@ -766,6 +766,24 @@ public class TempController extends BaseController {
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;
}
/**
* 重试订单退款接口/重试退款按钮 (批量)

View File

@@ -30,7 +30,6 @@ import com.jsowell.pile.dto.ApplyRefundDTO;
import com.jsowell.pile.dto.QueryOrderDTO;
import com.jsowell.pile.dto.SettleOrderReportDTO;
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
import com.jsowell.pile.mapper.PileMsgRecordMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
@@ -47,6 +46,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -102,7 +102,7 @@ public class TempService {
private MemberAdapayRecordService memberAdapayRecordService;
@Autowired
private PileMsgRecordMapper pileMsgRecordMapper;
private PileMsgRecordService pileMsgRecordService;
@Autowired
private OrderDetailService orderDetailService;
@@ -126,7 +126,7 @@ public class TempService {
// 根据充电桩编号,查询报文
for (OrderListVO orderVO : orderListVOS) {
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);
}
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) {
AbstractProgramLogic programLogic = ProgramLogicFactory.getProgramLogic("1");
// 获取更新数据后的orderBasicInfo对象
// programLogic.returnUpdateOrderBasicInfo(orderBasicInfo, data);
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
// OrderDetail orderDetail = programLogic.returnUpdateOrderDetail(orderBasicInfo, data);
// 查询订单详情
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderBasicInfo.getOrderCode());

View File

@@ -4,6 +4,7 @@ import com.jsowell.common.core.page.PageResponse;
import com.jsowell.pile.domain.PileMsgRecord;
import com.jsowell.pile.dto.QueryPileDTO;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -29,4 +30,6 @@ public interface PileMsgRecordService {
String generateDescription(PileMsgRecord pileMsgRecord);
List<PileMsgRecord> getPileFeedListV2(String pileSn, String frameType, Date startTime, Date endTime);
List<PileMsgRecord> getPileFeedListV2(String pileSn, String frameType, LocalDateTime startTime, LocalDateTime endTime);
}

View File

@@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.util.BytesUtil;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.YKCUtils;
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.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -126,6 +128,11 @@ public class PileMsgRecordServiceImpl implements PileMsgRecordService {
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

View File

@@ -619,7 +619,10 @@ public abstract class AbstractProgramLogic implements InitializingBean {
orderBasicInfo.setVirtualAmount(virtualAmount); // 虚拟金额
orderBasicInfo.setSettleAmount(dataOrderAmount.subtract(virtualAmount)); // 结算金额 = 消费金额 - 虚拟金额
orderBasicInfo.setReason(data.getStopReasonMsg()); // 充电停止原因
orderBasicInfo.setSettlementTime(DateUtils.getNowDate()); // 结算时间
if (Objects.isNull(orderBasicInfo.getSettlementTime())) {
// 如果结算时间为空,设置当前时间为结算时间
orderBasicInfo.setSettlementTime(DateUtils.getNowDate()); // 结算时间
}
updateSOC(orderBasicInfo);
/*