diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/InternalOrderController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/InternalOrderController.java new file mode 100644 index 000000000..44b8c5fcf --- /dev/null +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/InternalOrderController.java @@ -0,0 +1,42 @@ +package com.jsowell.web.controller.pile; + +import com.jsowell.common.core.controller.BaseController; +import com.jsowell.common.core.domain.AjaxResult; +import com.jsowell.pile.service.OrderBasicInfoService; +import com.jsowell.pile.vo.UnsplitOrderFieldsVO; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Set; + +/** + * 内部查询接口(仅供 Task/脚本 调用,不对外暴露鉴权) + * 用于 PRE 环境向本地数据库查询订单补齐字段 + */ +@RestController +@RequestMapping("/internal/order") +public class InternalOrderController extends BaseController { + + @Autowired + private OrderBasicInfoService orderBasicInfoService; + + /** + * 批量查询未分账订单补齐所需字段 + * POST /internal/order/unsplit-fields + * Body: ["C202401010001", "C202401010002", ...] + * 返回:order_code, pile_sn, settle_amount, refund_amount + */ + @PostMapping("/unsplit-fields") + public AjaxResult getUnsplitOrderFields(@RequestBody Set orderCodes) { + if (CollectionUtils.isEmpty(orderCodes)) { + return AjaxResult.error("orderCodes 不能为空"); + } + List list = orderBasicInfoService.selectUnsplitOrderFields(orderCodes); + return AjaxResult.success(list); + } +} diff --git a/jsowell-admin/src/main/resources/application-pre.yml b/jsowell-admin/src/main/resources/application-pre.yml index eecf00098..c5496fbf0 100644 --- a/jsowell-admin/src/main/resources/application-pre.yml +++ b/jsowell-admin/src/main/resources/application-pre.yml @@ -299,3 +299,7 @@ dubbo: port: -1 consumer: check: false # 关键配置:启动时不检查提供者 + +# PRE 环境自身地址(供 Task 调用内部接口补齐订单字段) +pre: + base-url: http://localhost:8080 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java index cc765f708..2430b8fa9 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java @@ -6,6 +6,7 @@ import com.jsowell.pile.dto.*; import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO; import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO; import com.jsowell.pile.vo.SupStationStatsVO; +import com.jsowell.pile.vo.UnsplitOrderFieldsVO; import com.jsowell.pile.vo.base.MerchantOrderInfoVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.nanrui.JiangSuOrderInfoVO; @@ -452,6 +453,8 @@ public interface OrderBasicInfoMapper { List selectOrderTemp(@Param("orderCodes") Set orderCodes); + List selectUnsplitOrderFields(@Param("orderCodes") Set orderCodes); + /** * 获取保险收入 * @param dto diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java index 496903511..27e4bcdd5 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java @@ -14,6 +14,7 @@ import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO; import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO; import com.jsowell.pile.vo.OrderInfoDetailVO; import com.jsowell.pile.vo.SupStationStatsVO; +import com.jsowell.pile.vo.UnsplitOrderFieldsVO; import com.jsowell.pile.vo.base.MerchantOrderInfoVO; import com.jsowell.pile.vo.base.OrderAmountDetailVO; import com.jsowell.pile.vo.base.OrderPeriodAmountVO; @@ -662,6 +663,9 @@ public interface OrderBasicInfoService{ // 临时接口, 查询订单信息 List selectOrderTemp(Set orderCodes); + // 查询未分账订单补齐所需字段(轻量接口,仅返回 pileSn/settleAmount/refundAmount) + List selectUnsplitOrderFields(Set orderCodes); + /** * 获取保险金额 * @param dto diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index c9e1ed587..90851203f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -60,6 +60,7 @@ import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.OrderInfoDetailVO; import com.jsowell.pile.vo.OrderPayRecordVO; import com.jsowell.pile.vo.SupStationStatsVO; +import com.jsowell.pile.vo.UnsplitOrderFieldsVO; import com.jsowell.pile.vo.base.*; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; @@ -6463,6 +6464,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { return orderBasicInfoMapper.selectOrderTemp(orderCodes); } + @Override + public List selectUnsplitOrderFields(Set orderCodes) { + return orderBasicInfoMapper.selectUnsplitOrderFields(orderCodes); + } + /** * 查询每天的保险金额 * @param dto diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/UnsplitOrderFieldsVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/UnsplitOrderFieldsVO.java new file mode 100644 index 000000000..ff9e6c902 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/UnsplitOrderFieldsVO.java @@ -0,0 +1,24 @@ +package com.jsowell.pile.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 未分账订单补齐字段 VO(仅包含 Task 补齐所需的最小字段集) + */ +@Data +public class UnsplitOrderFieldsVO { + + /** 订单编号 */ + private String orderCode; + + /** 充电桩SN(用于判断桩类型 EV/eBike) */ + private String pileSn; + + /** 结算金额(应分账金额) */ + private BigDecimal settleAmount; + + /** 退款金额(已退款或应退款金额) */ + private BigDecimal refundAmount; +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index 9777ea835..c8b01e709 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -3599,6 +3599,15 @@ + +