无关风月
2024-09-05 3cc94cc2d189e6ff55d657854599ad77ef8f6bf8
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserCarClient;
import com.ruoyi.account.api.feignClient.AppUserClient;
@@ -23,7 +22,6 @@
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.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
@@ -48,18 +46,17 @@
import com.ruoyi.order.service.TChargingOrderRefundService;
import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.order.service.TOrderEvaluateService;
import com.ruoyi.other.api.domain.TCoupon;
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.order.vo.ChargingOrderListInfoVO;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import com.ruoyi.payment.api.model.RefundReq;
import com.ruoyi.payment.api.model.RefundResp;
import com.ruoyi.payment.api.model.WxPaymentRefundModel;
import com.ruoyi.payment.api.vo.*;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.seata.spring.annotation.GlobalTransactional;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -70,7 +67,6 @@
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@@ -881,8 +877,13 @@
   public List<Map<String, BigDecimal>> getYearData(List<Long> chargingOrderIds) {
      return this.baseMapper.getYearData(chargingOrderIds);
   }
   @Resource
   private SysUserClient sysUserClient;
   @Resource
   private UserSiteClient userSiteClient;
   @Resource
   private RoleSiteClient roleSiteClient;
   @Override
   public ChargingOrderTimeVO chargingList(ChargingListQuery dto) {
      String startTime1 = null;
@@ -895,13 +896,7 @@
         startTime1 = split[0];
         startTime2 = split[1];
      }
      if (StringUtils.hasLength(dto.getEndTime())){
         String[] split = dto.getEndTime().split(" - ");
         endTime1 = split[0];
         endTime2 = split[1];
      }
      ChargingOrderTimeVO chargingOrderTimeVO = new ChargingOrderTimeVO();
      PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
      List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
@@ -1061,6 +1056,12 @@
   }
   @Override
   public R payRefund(PayOrderRefundDto payOrderQueryDto) {
      return null;
   }
   @Override
   public ChargingOrderListInfoVO chargingInfo(String uid) {
      TChargingOrder chargingOrder= this.getById(uid);
@@ -1080,31 +1081,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;
   }
   /**
    * 处理充电订单实时监控数据相关的业务逻辑