package com.ruoyi.order.api.feignClient; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.dto.ChargingOrderGroup; import com.ruoyi.common.core.dto.ChargingPercentProvinceDto; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.order.api.dto.ChargingStatisticeDTO; import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory; import com.ruoyi.order.api.model.AddTripartitePlatformOrder; import com.ruoyi.order.api.model.ChargingListQuery; import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.model.TSettlementConfirm; import com.ruoyi.order.api.query.TChargingCountQuery; import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery; import com.ruoyi.order.api.vo.*; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.List; /** * 充电订单服务 * @author ruoyi */ @FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class) public interface ChargingOrderClient { @PostMapping(value = "/t-charging-order/queryOrderByGunId/{id}") R queryOrderByGunId(@PathVariable("id") String id); @PostMapping(value = "/t-charging-order/useOrderCount") R useOrderCount(@RequestParam("userId") Long userId); @PostMapping(value = "/chargingBill/chargingBillListR") R chargingBillListR(@RequestBody ChargingListQuery dto); @PostMapping(value = "/t-charging-order/detail") R orderDetail(@RequestParam("orderId") Long orderId); @PostMapping(value = "/t-charging-order/getList") R> getList(@RequestParam("siteId") Integer siteId); @PostMapping(value = "/t-charging-order/getBySiteIdAndTime") R> getBySiteIdAndTime(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto); /** * 根据站点id和时间区间查询订单数据 * @param chargingPercentProvinceDto * @return */ @PostMapping(value = "/t-charging-order/getOrderBySiteIdAndTime") R> getOrderBySiteIdAndTime(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto); /** * 查询会员在本月有多少次享受了充电折扣 * @param req * @return */ @PostMapping(value = "/t-charging-order/getChargingCount") public R getChargingCount(@RequestBody TChargingCountQuery req); /** * 根据充电枪获取正在充电的订单 * @param chargingGunId 充电枪id * @return */ @PostMapping(value = "/t-charging-order/getOrderDetailByGunId") R getOrderDetailByGunId(@RequestParam("chargingGunId") Integer chargingGunId); /** * 获取用户最近使用车辆充电的车辆id * @return */ @GetMapping(value = "/t-charging-order/getCar/{id}") public R getCar(@PathVariable("id")String id); /** * 处理充电订单实时监控数据相关的业务逻辑 * @param query * @return */ @PostMapping(value = "/t-charging-order/chargeMonitoring") void chargeMonitoring(@RequestBody UploadRealTimeMonitoringDataQuery query); /** * 通过流水号查询订单 * @param code * @return */ @PostMapping(value = "/t-charging-order/getOrderByCode/{code}") R getOrderByCode(@PathVariable("code") String code); /** * 充电解释后处理逻辑 * @param code */ @PostMapping("/t-charging-order/endCharge") void endCharge(@RequestParam("code") String code); /** * 硬件异常结束充电后的处理逻辑 * @param code */ @PostMapping("/t-charging-order/excelEndCharge") void excelEndCharge(@RequestParam("code") String code); /** * 根据车牌号和时间查询有效的充电数据 * @param query * @return */ @PostMapping("/t-charging-order/getChargingOrderByLicensePlate") R getChargingOrderByLicensePlate(@RequestBody GetChargingOrderByLicensePlate query); /** * 获取充电结算记录 * @param uid * @return */ @GetMapping(value = "/financial/settlement/downloadSettlement/{uid}") public R downloadSettlement(@PathVariable("uid") String uid); @GetMapping(value = "/financial/settlement/settlementTotalR/{time}/{userId}") public R settlementTotalR(@PathVariable("time")String time,@PathVariable("userId")Long userId); /** * 修改充电订单 * @param chargingOrder * @return */ @PostMapping("/t-charging-order/updateChargingOrder") R updateChargingOrder(@RequestBody TChargingOrder chargingOrder); /** * 手动停止充电 * @param id * @return */ @PutMapping(value = "/t-charging-order/stopCharging/{id}") R stopCharging(@PathVariable("id") String id); /** * 充电支付成功回调通知 * @param out_trade_no * @param transaction_id * @param attach */ @PostMapping("/t-charging-order/chargingOrderWXCallback") void chargingOrderWXCallback(@RequestParam("out_trade_no") String out_trade_no, @RequestParam("transaction_id") String transaction_id, @RequestParam("attach") String attach); /** * 充电支付成功回调通知 * @param out_trade_no * @param transaction_id * @param attach */ @PostMapping("/t-charging-order/chargingOrderALICallback") void chargingOrderALICallback(@RequestParam("out_trade_no") String out_trade_no, @RequestParam("transaction_id") String transaction_id, @RequestParam("attach") String attach); /** * 充电支付成功回调通知 * @param out_trade_no * @param transaction_id * @param attach */ @PostMapping("/t-charging-order/chargingOrderALIH5Callback") void chargingOrderALIH5Callback(@RequestParam("out_trade_no") String out_trade_no, @RequestParam("transaction_id") String transaction_id, @RequestParam("attach") String attach); /** * 远程启动失败后退款回调 * @param out_refund_no * @param refund_id * @param tradeState * @param success_time */ @PostMapping("/t-charging-order/chargingOrderStartupFailureWxRefund") void chargingOrderStartupFailureWxRefund(@RequestParam("out_refund_no") String out_refund_no, @RequestParam("refund_id") String refund_id, @RequestParam("tradeState") String tradeState, @RequestParam("success_time") String success_time); /** * 管理后台取消购物订单后退款回调 * @param out_refund_no * @param refund_id * @param tradeState * @param success_time */ @PostMapping("/t-shopping-order/shoppingOrderWxRefund") void shoppingOrderWxRefund(@RequestParam("out_trade_no") String out_refund_no, @RequestParam("out_trade_no") String refund_id, @RequestParam("out_trade_no") String tradeState, @RequestParam("out_trade_no") String success_time); /** * 修改安全检测数据 * @param securityDetection */ @PostMapping("/t-charging-order/securityDetection") void securityDetection(@RequestBody SecurityDetectionVO securityDetection); /** * 远程启动充电应答 * @param message */ @PostMapping("/t-charging-order/startChargeSuccessfully") void startChargeSuccessfully(PlatformStartChargingReplyMessageVO message); /** * 停止充电应答处理 * @param platformStopChargingReply */ @PostMapping("/t-charging-order/terminateSuccessfulResponse") void terminateSuccessfulResponse(@RequestBody PlatformStopChargingReplyVO platformStopChargingReply); /** * 停止充电返回账单后计算费用 * @param vo */ @PostMapping("/t-charging-order/endChargeBillingCharge") R endChargeBillingCharge(@RequestBody TransactionRecordMessageVO vo); /** * 获取充电订单数据 * @param order * @return */ @PostMapping("/t-charging-order/getChargingOrder") R> getChargingOrder(@RequestBody TChargingOrderVo order); /** * 获取充电订单数据 * @param * @return */ @PostMapping(value = "/t-charging-order/getChargingStatistics") public R> getChargingStatistics(@RequestBody ChargingStatisticeDTO dto); /** * 根据车辆id获取指定时间范围内的数据 * @param carId * @param startTime * @param endTime * @return */ @PostMapping("/t-charging-order/getCarChargingOrder") R> getCarChargingOrder(@RequestParam("carId") Long carId, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime); /** * 根据车牌号查询指定时间范围内的数据 * @param plateNum * @param startTime * @param endTime * @return */ @PostMapping("/t-charging-order/getCarChargingOrderByPlateNum") R> getCarChargingOrderByPlateNum(@RequestParam("plateNum") String plateNum, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime); /** * 添加三方平台充电订单数据 * @return */ @PostMapping("/t-charging-order/addTripartitePlatformOrder") R addTripartitePlatformOrder(@RequestBody AddTripartitePlatformOrder query); /** * 根据三方平台订单id获取充电数据 * @param startChargeSeq * @return */ @PostMapping("/t-charging-order/getChargingOrderByStartChargeSeq") R getChargingOrderByStartChargeSeq(@RequestParam("startChargeSeq") String startChargeSeq); /** * 根据三方平台订单ids获取充电数据 * @param startChargeSeqs * @return */ @PostMapping("/t-charging-order/getChargingOrderByStartChargeSeqs") R> getChargingOrderByStartChargeSeqs(@RequestParam("startChargeSeqs") List startChargeSeqs); /** * 三方平台请求停止充电 * @param startChargeSeq * @return */ @PostMapping("/t-charging-order/tripartitePlatformStopCharge") R tripartitePlatformStopCharge(@RequestParam("startChargeSeq") String startChargeSeq); /** * 充电桩大屏 获取站点集合中总的充电量 */ @GetMapping("/t-charging-order/getSumDegreeBySiteIds") R getSumDegreeBySiteIds(@RequestParam("siteIds") List SiteIds); }