xuhy
2024-08-29 e0207d7029b4e90ea1e4efeab5c3c5591f0e59c3
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -23,12 +23,15 @@
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.integration.api.feignClient.ChargingHandshakeClient;
import com.ruoyi.integration.api.feignClient.SendMessageClient;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.ChargingHandshake;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
import com.ruoyi.order.api.model.TChargingOrderRefund;
import com.ruoyi.order.api.model.TOrderEvaluate;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.api.vo.TCharingOrderVO;
@@ -36,6 +39,7 @@
import com.ruoyi.order.mapper.TChargingOrderMapper;
import com.ruoyi.order.service.TChargingOrderAccountingStrategyService;
import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.order.service.TOrderEvaluateService;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import com.ruoyi.payment.api.vo.*;
@@ -105,6 +109,12 @@
   @Resource
   private ChargingHandshakeClient chargingHandshakeClient;
   
   @Resource
   private SendMessageClient sendMessageClient;
   @Resource
   private TOrderEvaluateService orderEvaluateService;
   
   
@@ -135,9 +145,14 @@
         BigDecimal payMoney = tChargingOrder.getStatus() < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount();
         myChargingOrderList.setPayMoney(payMoney);
         myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
         long count = orderEvaluateService.count(new LambdaQueryWrapper<TOrderEvaluate>().eq(TOrderEvaluate::getOrderType, 1)
               .eq(TOrderEvaluate::getOrderId, tChargingOrder.getId()).eq(TOrderEvaluate::getDelFlag, 0));
         myChargingOrderList.setEvaluate(count + 1L);
         orderLists.add(myChargingOrderList);
      }
      list = this.baseMapper.getMyChargingOrderList(appUserId, query.getType(), null, null);
      map.put("list", orderLists);
      map.put("totle", list.size());
      return map;
   }
   
@@ -241,6 +256,8 @@
         BigDecimal payMoney = tChargingOrder.getStatus() < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount();
         myChargingOrderList.setPayMoney(payMoney);
         myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
         myChargingOrderList.setElectricCharge(tChargingOrder.getElectrovalence());
         myChargingOrderList.setServiceCharge(tChargingOrder.getServiceCharge());
         list.add(myChargingOrderList);
      }
      return list;
@@ -414,10 +431,25 @@
      preChargeCheck.setSecureConnectionDetection(false);
      String key = "AQJC_" + chargingOrder.getChargingGunId();
      redisService.setCacheObject(key, preChargeCheck);
      //开始检测充电桩状,将检查状态写入缓存。检测完成后开始开启充电
      //充电结束后需要计算退款剩余金额
      // todo 需要完善
      
      //根据当前充值的金额和计费模板算出充电的金额
      BigDecimal rechargeAmount = chargingOrder.getRechargeAmount();
      //计算充电金额,会员需要将折扣金额加入到充电总金额中
//      TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
//      if(){
//         appUser.getVipId()
//      }
//
//
//      //调用远程启动充电消息
//      PlatformStartCharging platformStartCharging = new PlatformStartCharging();
//      platformStartCharging.setTransaction_serial_number(chargingOrder.getCode());
//      platformStartCharging.setCharging_pile_code();
//      platformStartCharging.setCharging_gun_code();
//      platformStartCharging.setCard_number();
//      platformStartCharging.setAccount_balance()
//      sendMessageClient.platformStartCharging(platformStartCharging);
      return AjaxResult.success();
   }
   
@@ -484,10 +516,21 @@
      chargingOrder.setEndMode(1);
      this.updateById(chargingOrder);
      //调用硬件停止充电,停止成功后开始计算费用退款
      // todo 待完善
      return AjaxResult.success();
   }
   public void endCharge(){
   }
    @Override
    public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) {