From e8aafd7e12f85b7f9c348de835c8e7ce22c89309 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 03 九月 2024 10:26:27 +0800 Subject: [PATCH] 代码提交 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 51 +++++---- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java | 33 ++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingBillQuery.java | 37 +++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java | 91 ++++++++++++++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java | 31 +---- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ChargingOrderListInfoVO.java | 13 ++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java | 5 7 files changed, 209 insertions(+), 52 deletions(-) diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java new file mode 100644 index 0000000..ab1c46f --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java @@ -0,0 +1,33 @@ +package com.ruoyi.order.api.vo; + +import com.ruoyi.common.core.web.page.PageInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ChargingBillVO对象",description = "充电算帐单") +public class ChargingBillVO { + @ApiModelProperty(value = "充电总度数") + private BigDecimal chargingCapacity; + @ApiModelProperty(value = "实收金额") + private BigDecimal paymentAmount; + @ApiModelProperty(value = "订单总金额") + private BigDecimal orderAmount; + @ApiModelProperty(value = "累计电费") + private BigDecimal electrovalence; + @ApiModelProperty(value = "累计服务费") + private BigDecimal serviceCharge; + @ApiModelProperty(value = "订单数量") + private Integer orderCount; + @ApiModelProperty(value = "平台手续费") + private String commissionAmount; + @ApiModelProperty(value = "三方平台分佣") + private String sharingAmount; + @ApiModelProperty(value = "优惠抵扣") + private String discount; + @ApiModelProperty(value = "列表数据") + private PageInfo<ChargingOrderListVO> list; +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java index 1c5ba30..61ba66b 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java @@ -30,10 +30,7 @@ @ApiModelProperty(value = "手机号") private String phone; - @ApiModelProperty(value = "累计电费") - private BigDecimal electrovalence; - @ApiModelProperty(value = "累计服务费") - private BigDecimal serviceCharge; + @ApiModelProperty(value = "时段数") private Integer count; @ApiModelProperty(value = "1明星充电 2快电 3新电途") diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java new file mode 100644 index 0000000..cfed3a4 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java @@ -0,0 +1,91 @@ +package com.ruoyi.order.controller; + + +import com.ruoyi.account.api.feignClient.AppUserCarClient; +import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; +import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; +import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient; +import com.ruoyi.chargingPile.api.feignClient.SiteClient; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.order.api.vo.ChargingBillVO; +import com.ruoyi.order.api.vo.ChargingOrderTimeVO; +import com.ruoyi.order.dto.ChargingBillQuery; +import com.ruoyi.order.dto.ChargingListQuery; +import com.ruoyi.order.service.*; +import com.ruoyi.order.vo.ChargingOrderListInfoVO; +import com.ruoyi.payment.api.feignClient.AliPaymentClient; +import com.ruoyi.payment.api.feignClient.WxPaymentClient; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * <p> + * 前端控制器 + * </p> + * + * @author xiaochen + * @since 2024-08-07 + */ +@Api(tags = "充电算帐单") +@RestController +@RequestMapping("/chargingBill") +public class ChargingBillController { + + @Resource + private TChargingOrderService chargingOrderService; + @Autowired + private TokenService tokenService; + @Autowired + private TOrderEvaluateService orderEvaluateService; + + @Resource + private WxPaymentClient wxPaymentClient; + + @Resource + private RedisService redisService; + + @Resource + private AliPaymentClient aliPaymentClient; + @Resource + private TShoppingOrderService shoppingOrderService; + + @Resource + private AppUserClient appUserClient; + + @Resource + private TVipOrderService vipOrderService; + @Resource + private ParkingLotClient parkingLotClient; + @Resource + private TChargingOrderRefundService chargingOrderRefundService; + + @Resource + private TShoppingOrderRefundService shoppingOrderRefundService; + @Resource + private TVipOrderRefundService vipOrderRefundService; + @Resource + private SiteClient siteClient; + @Resource + private ChargingPileClient chargingPileClient; + @Resource + private ChargingGunClient chargingGunClient; + @Resource + private AppUserCarClient appUserCarClient; + @Resource + private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; + @ResponseBody + @PostMapping(value = "/chargingList") + @ApiOperation(value = "充电算帐单列表查询", tags = {"管理后台-充电算账单"}) + public AjaxResult<ChargingBillVO> chargingList(@RequestBody ChargingListQuery dto) { + + return AjaxResult.success(null); + } +} + diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingBillQuery.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingBillQuery.java new file mode 100644 index 0000000..92add42 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingBillQuery.java @@ -0,0 +1,37 @@ +package com.ruoyi.order.dto; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class ChargingBillQuery extends BasePage { + @ApiModelProperty("订单编号") + private String code; + + @ApiModelProperty("电站id") + private Integer siteId; + @ApiModelProperty("状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)") + private Integer status; + + @ApiModelProperty("手机号") + private String phone; + @ApiModelProperty("车牌号") + private String licensePlate; + + @ApiModelProperty("订单类型(1=充电订单(小程序),2=充电订单(刷卡))") + private Integer orderType; + + @ApiModelProperty("开始时间 2020-01-01 12:00:00 - 2020-01-01 23:00:00") + private String startTime; + + @ApiModelProperty("结束时间 2020-01-01 12:00:00 - 2020-01-01 23:00:00") + private String endTime; + @ApiModelProperty("用户ids 前端忽略") + private List<Long> userIds; + @ApiModelProperty("车辆ids 前端忽略") + private List<Long> carIds; + +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java index e9187bb..ebc5135 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java @@ -1,6 +1,7 @@ package com.ruoyi.order.dto; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,31 +9,13 @@ import java.util.List; @Data +@ApiModel(value = "充电账单列表查询参数") public class ChargingListQuery extends BasePage { - @ApiModelProperty("订单编号") - private String code; - - @ApiModelProperty("电站id") - private Integer siteId; - @ApiModelProperty("状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)") - private Integer status; - - @ApiModelProperty("手机号") - private String phone; - @ApiModelProperty("车牌号") - private String licensePlate; - - @ApiModelProperty("订单类型(1=充电订单(小程序),2=充电订单(刷卡))") - private Integer orderType; - - @ApiModelProperty("开始时间 2020-01-01 12:00:00 - 2020-01-01 23:00:00") + @ApiModelProperty("订单分类 1全站 2各个站点") + private String category; + @ApiModelProperty("账单周期2020-01-01 - 2020-01-01") private String startTime; - @ApiModelProperty("结束时间 2020-01-01 12:00:00 - 2020-01-01 23:00:00") - private String endTime; - @ApiModelProperty("用户ids 前端忽略") - private List<Long> userIds; - @ApiModelProperty("车辆ids 前端忽略") - private List<Long> carIds; - + @ApiModelProperty("1已出账 2未出账") + private Integer state; } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index b992b12..6dbc74a 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -1080,31 +1080,36 @@ } chargingOrderListInfoVO.setEndMode(chargingOrder.getEndMode()); // todo 周一完善 -// chargingOrderListInfoVO.setStartSoc(); -// chargingOrderListInfoVO.setEndSoc(); -// chargingOrderListInfoVO.setChargingCapacity(); -// chargingOrderListInfoVO.setSiteId(); -// chargingOrderListInfoVO.setChargingPileId(); -// chargingOrderListInfoVO.setAppUserId(); -// chargingOrderListInfoVO.setAppUserCarId(); -// chargingOrderListInfoVO.setChargingGunId(); -// chargingOrderListInfoVO.setOrderType(); -// chargingOrderListInfoVO.setChargingSecond(); -// chargingOrderListInfoVO.setLicensePlate(); -// chargingOrderListInfoVO.setPhone(); -// chargingOrderListInfoVO.setPaymentAmount(); -// chargingOrderListInfoVO.setElectrovalence(); -// chargingOrderListInfoVO.setServiceCharge(); -// chargingOrderListInfoVO.setStartTime(); -// chargingOrderListInfoVO.setEndTime(); -// chargingOrderListInfoVO.setId(); -// chargingOrderListInfoVO.setUid(); -// chargingOrderListInfoVO.setList(); + // 获取开始SOC 结束soc + List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getDataByOrderCode(chargingOrder.getCode()).getData(); + if (!data6.isEmpty()){ + // 第一条数据soc为开始 最后一条数据soc为结束soc + chargingOrderListInfoVO.setStartSoc(data6.get(0).getSoc().toString()); + chargingOrderListInfoVO.setEndSoc(data6.get(data6.size()-1).getSoc().toString()); + chargingOrderListInfoVO.setChargingCapacity(data6.get(data6.size()-1).getCharging_degree()); + chargingOrderListInfoVO.setChargingSecond(data6.get(data6.size()-1).getCumulative_charging_time()*60+""); - - return null; + } + if (chargingOrder.getAppUserCarId()!=null){ + List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(chargingOrder.getAppUserCarId())).getData(); + if (!data3.isEmpty())chargingOrderListInfoVO.setLicensePlate(data3.get(0).getLicensePlate()); + } + chargingOrderListInfoVO.setStartTime(chargingOrder.getStartTime()); + chargingOrderListInfoVO.setEndTime(chargingOrder.getEndTime()); + chargingOrderListInfoVO.setId(chargingOrder.getId()); + chargingOrderListInfoVO.setUid(chargingOrder.getId().toString()); + chargingOrderListInfoVO.setList(data6); + chargingOrderListInfoVO.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount()); + chargingOrderListInfoVO.setVipDiscountAmount(chargingOrder.getVipDiscountAmount()); + chargingOrderListInfoVO.setSharingAmount(chargingOrder.getSharingAmount()); + chargingOrderListInfoVO.setCommissionAmount(chargingOrder.getCommissionAmount()); + // 查询费用明细列表 + List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery() + .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId()) + .list(); + chargingOrderListInfoVO.setList1(list); + return chargingOrderListInfoVO; } - /** * 处理充电订单实时监控数据相关的业务逻辑 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ChargingOrderListInfoVO.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ChargingOrderListInfoVO.java index 1611e8c..1e75523 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ChargingOrderListInfoVO.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ChargingOrderListInfoVO.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; +import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -44,7 +45,7 @@ @ApiModelProperty(value = "订单类型(1=充电订单(小程序),2=充电订单(刷卡))") private String orderType; @ApiModelProperty(value = "充电时间 秒") - private Long chargingSecond; + private String chargingSecond; @ApiModelProperty(value = "车牌号") private String licensePlate; @ApiModelProperty(value = "客户手机号") @@ -65,6 +66,16 @@ private Long id; @ApiModelProperty(value = "订单uid") private String uid; + @ApiModelProperty(value = "费用明细-优惠券优惠金额") + private BigDecimal couponDiscountAmount; + @ApiModelProperty(value = "费用明细-会员优惠金额") + private BigDecimal vipDiscountAmount; + @ApiModelProperty(value = "费用明细-平台分佣") + private BigDecimal sharingAmount; + @ApiModelProperty(value = "费用明细-手续费") + private BigDecimal commissionAmount; @ApiModelProperty(value = "充电信息") List<UploadRealTimeMonitoringData> list; + @ApiModelProperty(value = "费用明细-费用列表") + List<TChargingOrderAccountingStrategy> list1; } -- Gitblit v1.7.1