From 053492c159a2cb8f12e8a7f59675ef6516d31440 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 20 三月 2025 13:50:29 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 3 - ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 22 ----------- ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 7 +++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 60 ++++++++++++++++------------- 4 files changed, 39 insertions(+), 53 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index 15bdec0..67a4855 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/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(); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java index e597599..be622a9 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java +++ b/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); + Integer objectId = sysUser.getObjectId(); + R<Integer> admin = sysUserClient.isAdmin(tokenService.getLoginUser().getUserid()); + //合作商 + if(roleType == 2){ + ids = partnerClient.authSite(objectId, SiteMenu.SITE_LIST.getValue()).getData(); }else{ - 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); - } + //非管理员需要根据角色和用户配置查询允许的站点数据 + //改用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); } - siteIds = integers; + ids = new HashSet<>(data); } } - 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); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index 25ab610..7602a31 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/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); diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml index 65addcb..08556bf 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml +++ b/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 -- Gitblit v1.7.1