Pu Zhibing
2025-03-20 0a68434e176be3590838b04196663567f6a9308e
修改报表bug
4个文件已修改
94 ■■■■■ 已修改文件
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -973,31 +973,9 @@
            } else if (giveVipDto.getType() == 3) {
                plusDay = 12;
            }
            BigDecimal bigDecimal = new BigDecimal("0");
            TVip info = vipClient.getInfo1(giveVipDto.getVipId()).getData();
            switch (giveVipDto.getType()){
                case 1:
                    bigDecimal = bigDecimal.add(info.getMonthlyCard()==null?new BigDecimal(0):info.getMonthlyCard());
                    break;
                case 2:
                    bigDecimal = bigDecimal.add(info.getSeasonCard()==null?new BigDecimal(0):info.getSeasonCard());
                    break;
                case 3:
                    bigDecimal = bigDecimal.add(info.getAnnualCard()==null?new BigDecimal(0):info.getAnnualCard());
                    break;
            }
            //增加vipDetail
            giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay,giveVipDto.getType());
            appUserService.updateById(nowUser);
            // 新增后台赠送记录
            TGrantVip tGrantVip = new TGrantVip();
            tGrantVip.setCode(OrderCodeUtil.getOrderCode("ZS"));
            tGrantVip.setAppUserId(nowUser.getId());
            tGrantVip.setVipId(giveVipDto.getVipId());
            tGrantVip.setOrderAmount(bigDecimal);
            tGrantVip.setCreateTime(LocalDateTime.now());
            tGrantVip.setAppUserId(nowUser.getId());
            orderClient.managementGiveVip(tGrantVip);
        }
        return R.ok();
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -12,6 +12,7 @@
import com.ruoyi.account.api.feignClient.AppUserCarClient;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUserCar;
import com.ruoyi.chargingPile.api.domain.SiteMenu;
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.feignClient.*;
import com.ruoyi.chargingPile.api.model.Site;
@@ -53,11 +54,15 @@
import com.ruoyi.order.service.*;
import com.ruoyi.order.util.PreviousSixMonths;
import com.ruoyi.order.vo.EndOfChargePageInfo;
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.vo.AliQueryOrder;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.feignClient.SysUserRoleClient;
import com.ruoyi.system.api.model.SysUserRoleVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -146,6 +151,14 @@
    private PartnerClient partnerClient;
    @Resource
    private SysUserClient sysUserClient;
    @Resource
    private UserSiteClient userSiteClient;
    @Resource
    private RoleSiteClient roleSiteClient;
    @Resource
    private SysUserRoleClient sysUserRoleClient;
    
    
    
@@ -1119,38 +1132,29 @@
    @PostMapping(value = "/watch/chargingOrder")
    @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"})
    public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
        Long userid = tokenService.getLoginUser().getUserid();
        Set<Integer> ids = null;
        //校验合作商权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        List<Integer> siteIds = new ArrayList<>();
        if (mongoChargingOrderQuery.getSiteId()==null){
            List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData();
            for (GetSiteListDTO datum : data) {
                siteIds.add(datum.getId());
            }
        }else {
            siteIds.add(mongoChargingOrderQuery.getSiteId());
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }else{
        Integer objectId = sysUser.getObjectId();
        R<Integer> admin = sysUserClient.isAdmin(tokenService.getLoginUser().getUserid());
        //合作商
            if (roleType == 2){
                List<Integer> integers = new ArrayList<>();
                for (Integer siteId : siteIds) {
                    // 校验有没有这个站点的权限
                    List<Boolean> t1= partnerClient.watchChargingOrder(sysUser.getObjectId(),siteId).getData();
                    Boolean b = t1.get(1);
                    if (b){
                        integers.add(siteId);
            ids = partnerClient.authSite(objectId, SiteMenu.SITE_LIST.getValue()).getData();
        }else{
            //非管理员需要根据角色和用户配置查询允许的站点数据
            //改用roleId=1来判断
            if(admin.getData()!=1){
                List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
                List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
                if(data2.size() > 0){
                    List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
                    data.addAll(data1);
                }
                ids = new HashSet<>(data);
                    }
                }
                siteIds = integers;
            }
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }
        mongoChargingOrderQuery.setSiteIds(siteIds);
        mongoChargingOrderQuery.setSiteIds(ids.stream().collect(Collectors.toList()));
        mongoChargingOrderQuery.setPageSize(10);
        R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery);
        UploadRealTimeMonitoringPageData data1 = all.getData();
@@ -1439,15 +1443,17 @@
        tCharingOrderMapVO.setMaps(maps);
        BigDecimal allMoney = new BigDecimal(0);
        BigDecimal commissionAmount = BigDecimal.ZERO;
        for (Map<String, Object> map : maps) {
            BigDecimal periodElectricPrice = (BigDecimal) map.get("period_electric_price");
            allMoney = allMoney.add(periodElectricPrice);
            BigDecimal total_amount = (BigDecimal) map.get("total_amount");
            allMoney = allMoney.add(total_amount);
            commissionAmount = commissionAmount.add((BigDecimal) map.get("commissionAmount"));
        }
        allMoney =  allMoney.multiply(new BigDecimal("0.006"));
        tCharingOrderMapVO.setAllMoney(allMoney);
        tCharingOrderMapVO.setCommissionAmount(commissionAmount);
        return R.ok(tCharingOrderMapVO);
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -99,9 +99,6 @@
    @Override
    public TActivityVO activityStatistics(TActivityStatisticsQuery dto) {
        TActivityVO res = new TActivityVO();
        PageInfo<TActivityStatisticslVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto);
        List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatisticsNolimit(dto);
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -429,7 +429,12 @@
        ELSE t1.period_service_price * 0.8
        END
        )as period_electric_price,
        SUM(t1.period_electric_price) as total_amount
        SUM(t1.period_electric_price) as total_amount,
        SUM(CASE
        WHEN t2.order_source = 0 THEN 0
        WHEN t2.order_source = 1 THEN 0
        ELSE t1.period_service_price * 0.2
        END) AS commissionAmount
        FROM
        t_charging_order_accounting_strategy t1
        LEFT JOIN t_charging_order t2 on t1.charging_order_id = t2.id