ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java
New file @@ -0,0 +1,25 @@ 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 = "TOrderAppealVO对象", description = "充电桩订单VO") public class TCharingOrderVO { @ApiModelProperty(value = "分页列表") private PageInfo<ChargingOrderVO> list; @ApiModelProperty(value = "总充电量") private BigDecimal total; @ApiModelProperty(value = "充电时长") private BigDecimal time; @ApiModelProperty(value = "收入") private BigDecimal income; @ApiModelProperty(value = "电费") private BigDecimal electronicMoney; @ApiModelProperty(value = "服务费") private BigDecimal serviceMoney; } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TVip.java
@@ -148,7 +148,9 @@ @TableField("type") private Integer type; @ApiModelProperty(value = "优惠券名称和张数 后台列表展示使用") @TableField(exist = false) private String couponName; } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -14,6 +14,7 @@ import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.query.TChargingCountQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; import com.ruoyi.order.api.vo.TCharingOrderVO; import com.ruoyi.order.dto.GetMyChargingOrderList; import com.ruoyi.order.dto.GetNoInvoicedOrder; import com.ruoyi.order.dto.MyChargingOrderInfo; @@ -70,8 +71,8 @@ @ResponseBody @PostMapping(value = "/chargingOrder") @ApiOperation(value = "充电桩订单列表", tags = {"管理后台-订单管理"}) public AjaxResult<PageInfo<ChargingOrderVO>> chargingOrder(@RequestBody ChargingOrderQuery dto){ PageInfo<ChargingOrderVO> res = chargingOrderService.chargingOrder(dto); public AjaxResult<TCharingOrderVO> chargingOrder(@RequestBody ChargingOrderQuery dto){ TCharingOrderVO res = chargingOrderService.chargingOrder(dto); return AjaxResult.success(res); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -7,6 +7,7 @@ import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; import com.ruoyi.order.api.vo.TCharingOrderVO; import com.ruoyi.order.dto.*; import org.springframework.web.bind.annotation.RequestBody; @@ -82,5 +83,5 @@ */ AjaxResult stopCharging(String id); PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto); TCharingOrderVO chargingOrder(ChargingOrderQuery dto); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1,5 +1,7 @@ package com.ruoyi.order.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserCarClient; @@ -25,15 +27,18 @@ import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; import com.ruoyi.order.api.vo.TCharingOrderVO; import com.ruoyi.order.dto.*; import com.ruoyi.order.mapper.TChargingOrderMapper; import com.ruoyi.order.service.TChargingOrderAccountingStrategyService; import com.ruoyi.order.service.TChargingOrderService; import com.ruoyi.other.api.domain.TCoupon; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.payment.api.feignClient.WxPaymentClient; import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody; import com.ruoyi.payment.api.vo.PaymentOrder; import io.seata.spring.annotation.GlobalTransactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -64,6 +69,8 @@ @Resource private AppUserCarClient appUserCarClient; @Resource private AppUserClient appUserClient; @Resource private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; @@ -77,9 +84,7 @@ @Resource private ChargingPileClient chargingPileClient; @Resource private AppUserClient appUserClient; @Resource private AppUserVipDetailClient appUserVipDetailClient; @@ -392,8 +397,10 @@ return AjaxResult.success(); } @Override public PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto) { public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) { TCharingOrderVO tCharingOrderVO = new TCharingOrderVO(); String startTime1 = null; String startTime2 = null; String endTime1 = null; @@ -409,9 +416,18 @@ endTime1 = split[0]; endTime2 = split[1]; } if (StringUtils.hasLength(dto.getPhone())){ List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData(); if (data.isEmpty()){ data.add(0L); } dto.setUserIds(data); } PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2); pageInfo.setRecords(list); return pageInfo; tCharingOrderVO.setList(pageInfo); return tCharingOrderVO; } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java
@@ -1,10 +1,15 @@ package com.ruoyi.other.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TCoupon; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.mapper.TCouponMapper; import com.ruoyi.other.mapper.TVipMapper; import com.ruoyi.other.service.TVipService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -20,10 +25,28 @@ @Service public class TVipServiceImpl extends ServiceImpl<TVipMapper, TVip> implements TVipService { @Autowired private TCouponMapper tCouponMapper; @Override public PageInfo<TVip> pageList(Integer pageCurr,Integer pageSize) { PageInfo<TVip> pageInfo = new PageInfo<>(pageCurr,pageSize); List<TVip> list = this.baseMapper.pageList(pageInfo); for (TVip tVip : list) { String coupon = tVip.getCoupon(); JSONArray jsonArray = JSONObject.parseArray(coupon); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Integer id = jsonObject.getInteger("id"); Integer number = jsonObject.getInteger("number"); TCoupon tCoupon = tCouponMapper.selectById(id); if (tCoupon!=null){ stringBuilder.append(tCoupon.getName()).append("*").append(number).append(";"); } } tVip.setCouponName(stringBuilder.toString()); } pageInfo.setRecords(list); return pageInfo; }