ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/TransactionRecordClientFallbackFactory.java
New file @@ -0,0 +1,26 @@ package com.ruoyi.integration.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.integration.api.feignClient.TransactionRecordClient; import com.ruoyi.integration.api.model.TransactionRecord; import org.springframework.cloud.openfeign.FallbackFactory; /** * @author zhibing.pu * @Date 2025/2/13 14:20 */ public class TransactionRecordClientFallbackFactory implements FallbackFactory<TransactionRecordClient> { @Override public TransactionRecordClient create(Throwable cause) { return new TransactionRecordClient() { @Override public R<TransactionRecord> findTransactionRecord(String code) { return R.fail("根据订单流水号查询账单数据失败:" + cause.getMessage()); } }; } } ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/TransactionRecordClient.java
New file @@ -0,0 +1,26 @@ package com.ruoyi.integration.api.feignClient; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.integration.api.factory.TransactionRecordClientFallbackFactory; import com.ruoyi.integration.api.model.TransactionRecord; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; /** * @author zhibing.pu * @Date 2025/2/13 14:20 */ @FeignClient(contextId = "TransactionRecordClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = TransactionRecordClientFallbackFactory.class) public interface TransactionRecordClient { /** * 根据订单流水号查询账单数据 * @param code * @return */ @PostMapping("/transactionRecord/findTransactionRecord") R<TransactionRecord> findTransactionRecord(@RequestParam(value = "code") String code); } ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -8,4 +8,5 @@ com.ruoyi.integration.api.factory.IotInterfaceFallbackFactory com.ruoyi.integration.api.factory.SecurityDetectionFallbackFactory com.ruoyi.integration.api.factory.BmsDemandAndChargerExportationFallbackFactory com.ruoyi.integration.api.factory.TCECClientFallbackFactory com.ruoyi.integration.api.factory.TCECClientFallbackFactory com.ruoyi.integration.api.factory.TransactionRecordClientFallbackFactory ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/TransactionRecordController.java
New file @@ -0,0 +1,35 @@ package com.ruoyi.integration.controller; import com.ruoyi.common.core.domain.R; import com.ruoyi.integration.api.model.TransactionRecord; import com.ruoyi.integration.mongodb.service.TransactionRecordService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * @author zhibing.pu * @Date 2025/2/13 14:17 */ @RestController @RequestMapping("/transactionRecord") public class TransactionRecordController { @Resource private TransactionRecordService transactionRecordService; /** * 根据订单流水号查询账单数据 * @param code * @return */ @PostMapping("/findTransactionRecord") public R<TransactionRecord> findTransactionRecord(@RequestParam(value = "code") String code){ TransactionRecord transactionRecord = transactionRecordService.findOne(code); return R.ok(transactionRecord); } } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -2186,4 +2186,16 @@ public R tripartitePlatformStopCharge(@RequestParam("startChargeSeq") String startChargeSeq){ return chargingOrderService.tripartitePlatformStopCharge(startChargeSeq); } /** * 临时接口 * 获取充电后没有扣除费用的数据 * @return */ @GetMapping("/getNotPaymentChargingOrder") public R getNotPaymentChargingOrder(){ return chargingOrderService.getNotPaymentChargingOrder(); } } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -294,4 +294,11 @@ * @return */ R tripartitePlatformStopCharge(@RequestParam("startChargeSeq") String startChargeSeq); /** * 获取充电后没有扣除费用的数据 * @return */ R getNotPaymentChargingOrder(); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -206,6 +206,9 @@ @Resource private OperatorClient operatorClient; @Resource private TransactionRecordClient transactionRecordClient; @@ -3754,4 +3757,24 @@ }); return R.ok(); } /** * 获取充电后没有扣除费用的数据 * @return */ @Override public R getNotPaymentChargingOrder() { List<TChargingOrder> list = this.list(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getPaymentAmount, 0) .ne(TChargingOrder::getElectricity, 0).in(TChargingOrder::getStatus, Arrays.asList(4, 5))); List<Map<String, Object>> mapList = new ArrayList<>(); for (TChargingOrder order : list) { TransactionRecord transactionRecord = transactionRecordClient.findTransactionRecord(order.getCode()).getData(); Map<String, Object> map = new HashMap<>(); map.put("order", order); map.put("transactionRecord", transactionRecord); mapList.add(map); } return R.ok(mapList); } }