From 8c4bbe846095733960c17905746bc40882a50f88 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 12 十二月 2024 16:40:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java |   93 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 67 insertions(+), 26 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index 28352ad..7ec2d8e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -11,7 +11,9 @@
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
@@ -28,6 +30,9 @@
 import com.ruoyi.order.mapper.TChargingOrderMapper;
 import com.ruoyi.order.service.TChargingBillService;
 import com.ruoyi.order.service.TChargingOrderRefundService;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.ruoyi.system.api.model.SysUserRoleVo;
 import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
 import org.omg.CORBA.PRIVATE_MEMBER;
 import org.springframework.stereotype.Service;
@@ -40,9 +45,7 @@
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.temporal.TemporalAdjusters;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -55,7 +58,8 @@
  */
 @Service
 public class TChargingBillServiceImpl extends ServiceImpl<TChargingBillMapper, TChargingBill> implements TChargingBillService {
-
+    @Resource
+    private SysUserClient sysUserClient;
     @Resource
     private TChargingOrderMapper chargingOrderList;
     @Resource
@@ -72,6 +76,10 @@
     private AppUserCarClient appUserCarClient;
     @Resource
     private TChargingOrderRefundService chargingOrderRefundService;
+    @Resource
+    private TokenService tokenService;
+
+
     @Override
     public ChargingBillVO chargingBillList1(ChargingListQuery dto) {
         if (dto.getState()!=null){
@@ -90,25 +98,35 @@
             startTime1 = split[0];
             startTime2 = split[1];
         }
-        Long userId = SecurityUtils.getUserId();
-        //如果没传siteId,获取当前登陆人所有的siteIds
+        Long userId = tokenService.getLoginUser().getUserid();
         List<Integer> siteIds = new ArrayList<>();
-        if (dto.getSiteId()==null){
-            if (userId != null){
-                List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData();
-                for (GetSiteListDTO datum : data) {
-                    siteIds.add(datum.getId());
+
+        if (dto.getType() == 1){
+            siteIds.add(0);
+            dto.setSiteIds(siteIds);
+        }else{
+            //如果没传siteId,获取当前登陆人所有的siteIds
+            if (dto.getSiteId()==null){
+                if (userId != null){
+                    List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData();
+                    for (GetSiteListDTO datum : data) {
+                        siteIds.add(datum.getId());
+                    }
                 }
+            }else {
+                siteIds.add(dto.getSiteId());
             }
-        }else {
-            siteIds.add(dto.getSiteId());
+            if (siteIds.isEmpty()){
+                siteIds.add(-1);
+            }
+            dto.setSiteIds(siteIds);
         }
-        dto.setSiteIds(siteIds);
+
         PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
         PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999);
         List<ChargingBillListVO> list = this.baseMapper.chargingBillList1(pageInfo,dto,startTime1,startTime2);
         List<ChargingBillListVO> list1 = this.baseMapper.chargingBillList1(pageInfo1,dto,startTime1,startTime2);
-        chargingBillVO.setOrderCount(list1.size());
+
         BigDecimal paymentAmountTotal = new BigDecimal("0");
         BigDecimal orderAmountTotal = new BigDecimal("0");
         BigDecimal refundAmountTotal = new BigDecimal("0");
@@ -359,11 +377,12 @@
             chargingBillListVO.setChargingSecond(chargingSecond);
         }
         BigDecimal bigDecimal = new BigDecimal("0");
-
+        int i = 0;
         for (ChargingBillListVO chargingBillListVO : list1) {
-            if (chargingBillListVO.getType()==2){
+            if (!siteIds.contains(chargingBillListVO.getSiteId())){
                 continue;
             }
+            i++;
             LocalDateTime billTime = chargingBillListVO.getBillTime();
             // 将其转化为yyyy-MM格式字符串
             chargingBillVO.setCreateTime(billTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
@@ -447,6 +466,7 @@
                 }
             }
         }
+        chargingBillVO.setOrderCount(i);
         chargingBillVO.setChargingCapacity(chargingCapacityTotal);
         chargingBillVO.setPaymentAmount(paymentAmountTotal);
         chargingBillVO.setOrderAmount(paymentAmountTotal.subtract(refundAmountTotal).subtract(commissionAmountTotal).subtract(sharingAmountTotal));
@@ -466,6 +486,7 @@
         chargingBillVO.setList(pageInfo);
         return chargingBillVO;
     }
+
     @Override
     public ChargingBillVO chargingBillList(ChargingListQuery dto) {
         if (dto.getState()!=null){
@@ -485,18 +506,28 @@
         }
         PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
         PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999);
-        Long userId = SecurityUtils.getUserId();
+        Long userId = tokenService.getLoginUser().getUserid();
         //如果没传siteId,获取当前登陆人所有的siteIds
         List<Integer> siteIds = new ArrayList<>();
-        if (dto.getSiteId()==null){
-            if (userId != null){
-                List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData();
-                for (GetSiteListDTO datum : data) {
-                    siteIds.add(datum.getId());
+        if (dto.getType() == 1){
+            siteIds.add(0);
+            dto.setSiteIds(siteIds);
+        }else{
+            //如果没传siteId,获取当前登陆人所有的siteIds
+            if (dto.getSiteId()==null){
+                if (userId != null){
+                    List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData();
+                    for (GetSiteListDTO datum : data) {
+                        siteIds.add(datum.getId());
+                    }
                 }
+            }else {
+                siteIds.add(dto.getSiteId());
             }
-        }else {
-            siteIds.add(dto.getSiteId());
+            if (siteIds.isEmpty()){
+                siteIds.add(-1);
+            }
+            dto.setSiteIds(siteIds);
         }
         List<ChargingBillListVO> list = this.baseMapper.chargingBillList(pageInfo,dto,startTime1,startTime2);
         List<ChargingBillListVO> list1 = this.baseMapper.chargingBillList(pageInfo1,dto,startTime1,startTime2);
@@ -510,6 +541,14 @@
         BigDecimal discountTotal = new BigDecimal("0");
         BigDecimal refundAmountTotal = new BigDecimal("0");
         int orderCount = 0;
+        // 查询当前登陆人按钮权限
+        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
+        Integer roleType = sysUser.getRoleType();
+        Integer objectId = sysUser.getObjectId();
+        R<Integer> admin = sysUserClient.isAdmin(tokenService.getLoginUser().getUserid());
+        if(roleType == 2){
+            // 合作商 判断有没有这个站点的按钮权限
+        }
         for (ChargingBillListVO chargingBillListVO : list) {
             String temp = "";
             String temp1 = "";
@@ -734,7 +773,7 @@
             chargingBillListVO.setChargingSecond(chargingSecond);
         }
         for (ChargingBillListVO chargingBillListVO : list1) {
-            if (chargingBillListVO.getType() ==2){
+            if (!siteIds.contains(chargingBillListVO.getSiteId())){
                 continue;
             }
             LocalDateTime billTime = chargingBillListVO.getBillTime();
@@ -840,6 +879,8 @@
     }
 
     public static void main(String[] args) {
+        int i = 8 % 20;
+        System.err.println(i);
         LocalDateTime now = LocalDateTime.now();
         // 将时间转化为字符串 只保留年月日 格式为yyyy-MM-dd
         String format = now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd"));

--
Gitblit v1.7.1