From ca01cb6a493c9b3ddf6508a458e6c561fe0f81a8 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 31 十月 2024 16:05:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 47 ++++- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java | 2 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java | 5 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java | 62 +++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java | 14 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 65 ++++++- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java | 5 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java | 2 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java | 7 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 1 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java | 9 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 35 ++- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java | 3 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 23 ++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java | 48 ------ ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml | 2 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java | 4 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml | 6 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java | 13 + ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml | 7 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java | 4 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java | 7 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java | 57 ++++++ ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml | 7 30 files changed, 318 insertions(+), 129 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java index 79cae9d..be66883 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java @@ -52,6 +52,8 @@ private LocalDateTime createTime; @TableField(exist = false) private String avatar; + @TableField(exist = false) + private String name; } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java index d2f3666..f5053f5 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java @@ -7,6 +7,8 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import java.util.Set; + /** * 充电桩服务降级处理 @@ -27,6 +29,11 @@ public R<Partner> getPartnerById(Integer id) { return R.fail("根据id获取合作商信息失败:" + throwable.getMessage()); } + + @Override + public R<Set<Integer>> authSite(Integer partnerId, String siteMenu) { + return R.fail("获取合作商授权的站点数据失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java index 198aeaa..5d3aa49 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java @@ -8,6 +8,9 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.Set; /** * @author zhibing.pu @@ -24,4 +27,14 @@ */ @PostMapping("/partner/getPartnerById/{id}") R<Partner> getPartnerById(@PathVariable("id") Integer id); + + + /** + * 获取合作商授权的站点数据 + * @param partnerId + * @param siteMenu + * @return + */ + @PostMapping("/partner/authSite/{partnerId}") + R<Set<Integer>> authSite(@PathVariable("partnerId") Integer partnerId, @RequestParam("siteMenu") String siteMenu); } diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java index 5a46c09..e5298d0 100644 --- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java @@ -34,9 +34,10 @@ } @Override - public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(String orderId) { + public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(String ids) { return R.fail("根据订单编号s获取所有监测数据失败:" + throwable.getMessage()); } + @Override public R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(String code) { @@ -45,7 +46,7 @@ @Override public R<UploadRealTimeMonitoringPageData> getAll(MongoChargingOrderQuery mongoChargingOrderQuery) { - return null; + return R.fail("getAll:" + throwable.getMessage()); } @Override diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java index 5d89233..5d6df9f 100644 --- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java @@ -7,9 +7,7 @@ import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Set; @@ -31,11 +29,10 @@ /** * 批量查询 - * @param orderId * @return */ - @PostMapping(value = "/uploadRealTimeMonitoringData/getOrderInfoByCodes") - public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@RequestParam("orderId") String orderId); + @GetMapping(value = "/uploadRealTimeMonitoringData/getOrderInfoByCodes/{ids}") + public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@PathVariable("ids") String ids); /** * 根据订单编号获取所有监测数据 * @param code diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java index a96a982..f9b33fb 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java @@ -25,9 +25,9 @@ @ApiModelProperty(value = "充电枪code ") private String chargingGunCode; @ApiModelProperty(value = "开始时间2020-01-01 00:00:00 - 2021-01-01 23:59:59") - private String startTime; + private String createTime; @ApiModelProperty(value = "结束时间2020-01-01 00:00:00 - 2021-01-01 23:59:59") - private String endTime; + private String lastTime; @ApiModelProperty(value = "订单来源 1明星 2快电 3新电途") private Integer orderSource; @ApiModelProperty(value = "用户ids 前端忽略") diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java index 1037459..e13282a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java @@ -73,52 +73,4 @@ return ""; } - /** - * 获取32位大写 - * - * @param str - * @return - */ - public static String getMD5_32_upper(String str) { - if (StringUtils.isNotEmpty(str)) - return getMD5(str).toUpperCase(); - return ""; - } - - /** - * 获取32位小写 - * - * @param str - * @return - */ - public static String getMD5_32_lower(String str) { - if (StringUtils.isNotEmpty(str)) - return getMD5(str).toLowerCase(); - return ""; - } - - /** - * 获取16位大写 - * - * @param str - * @return - */ - public static String getMD5_16_upper(String str) { - if (StringUtils.isNotEmpty(str)) - return getMD5(str).substring(8, 24).toUpperCase(); - return ""; - } - - /** - * 获取16位小写 - * - * @param str - * @return - */ - public static String getMD5_16_lower(String str) { - if (StringUtils.isNotEmpty(str)) - return getMD5(str).substring(8, 24).toLowerCase(); - return ""; - } - } \ No newline at end of file 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 70d9802..3a6752e 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 @@ -775,6 +775,7 @@ for (TInviteUser record : page.getRecords()) { TAppUser byId = appUserService.getById(record.getBeInvitedAppUserId()); record.setAvatar(byId.getAvatar()); + record.setName(byId.getName()); } return R.ok(page); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java index 9739d0d..8494f33 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java @@ -7,6 +7,7 @@ import com.ruoyi.chargingPile.api.model.Partner; import com.ruoyi.chargingPile.api.query.GetPartnerList; import com.ruoyi.chargingPile.api.query.SetPermissionConfiguration; +import com.ruoyi.chargingPile.domain.SiteMenu; import com.ruoyi.chargingPile.dto.ResetPassword; import com.ruoyi.chargingPile.service.IPartnerService; import com.ruoyi.common.core.domain.R; @@ -24,6 +25,7 @@ import javax.annotation.Resource; import java.util.List; +import java.util.Set; /** * @author zhibing.pu @@ -158,4 +160,16 @@ Partner partner = partnerService.getPartner(id); return R.ok(partner); } + + /** + * 获取合作商授权的站点数据 + * @param partnerId + * @param siteMenu + * @return + */ + @PostMapping("/authSite/{partnerId}") + public R<Set<Integer>> authSite(@PathVariable("partnerId") Integer partnerId, @RequestParam("siteMenu") String siteMenu){ + Set<Integer> integers = partnerService.authSite(partnerId, SiteMenu.valueOf(siteMenu)); + return R.ok(integers); + } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java index 562043a..0c6cab6 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java @@ -164,7 +164,10 @@ dto.setAuditStatus(1); accountingStrategyService.updateById(dto); // 添加明细 - dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId())); + dto.getAccountingStrategyDetails().forEach(detail -> { + detail.setAccountingStrategyId(dto.getId()); + detail.setId(null); + }); accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails()); }else { Long userId = SecurityUtils.getLoginUser().getUserid(); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java index 5ae633b..fd964e2 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java @@ -63,7 +63,7 @@ @ResponseBody @GetMapping("/getRepairList") @ApiOperation(value = "获取报修记录列表数据", tags = {"管理后台-设备监控"}) - public AjaxResult<PageInfo<TRepair>> getRepairList(String name, String siteId, BasePage basePage){ + public AjaxResult<PageInfo<TRepair>> getRepairList(String name, Integer siteId, BasePage basePage){ PageInfo<TRepair> pageInfo = new PageInfo<>(basePage.getPageCurr(), basePage.getPageSize()); List<TRepair> repairList = repairService.getRepairList(pageInfo, name, siteId); pageInfo.setRecords(repairList); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java index 70c0e9c..f85b500 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java @@ -20,8 +20,7 @@ /** * 获取故障信息列表 * @param pageInfo - * @param siteId * @return */ - List<TFaultMessage> getFaultMessageList(PageInfo<TFaultMessage> pageInfo, @Param("siteId") Integer siteId); + List<TFaultMessage> getFaultMessageList(PageInfo<TFaultMessage> pageInfo, @Param("siteIds") List<Integer> siteIds); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java index c9190aa..1da2e90 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java @@ -22,9 +22,9 @@ * 获取列表数据 * @param pageInfo * @param name - * @param siteId + * @param siteIds * @return */ - List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, @Param("name") String name, @Param("siteId") String siteId); + List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, @Param("name") String name, @Param("siteIds") List<Integer> siteIds); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java index 02edf11..9bedb5f 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java @@ -23,7 +23,7 @@ * @param siteId * @return */ - List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, String siteId); + List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, Integer siteId); /** * 添加报修记录 diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java index c9cf126..6ddc88c 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java @@ -2,24 +2,33 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.chargingPile.api.feignClient.PartnerClient; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.model.TFaultMessage; +import com.ruoyi.chargingPile.domain.SiteMenu; import com.ruoyi.chargingPile.mapper.TFaultMessageMapper; -import com.ruoyi.chargingPile.service.ISiteService; -import com.ruoyi.chargingPile.service.TChargingPileNotificationService; -import com.ruoyi.chargingPile.service.TChargingPileService; -import com.ruoyi.chargingPile.service.TFaultMessageService; +import com.ruoyi.chargingPile.service.*; import com.ruoyi.common.core.constant.MsgConstants; import com.ruoyi.common.core.utils.HttpUtils; import com.ruoyi.common.core.utils.MsgUtil; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.other.api.feignClient.RoleSiteClient; +import com.ruoyi.other.api.feignClient.UserSiteClient; +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 lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; +import java.util.Set; /** * <p> @@ -39,6 +48,21 @@ private TChargingPileService chargingPileService; @Autowired private TChargingPileNotificationService chargingPileNotificationService; + + @Resource + private SysUserClient sysUserClient; + + @Resource + private IPartnerService partnerService; + + @Resource + private UserSiteClient userSiteClient; + + @Resource + private RoleSiteClient roleSiteClient; + + @Resource + private SysUserRoleClient sysUserRoleClient; @Override public void add(TFaultMessage dto) { @@ -66,6 +90,29 @@ */ @Override public List<TFaultMessage> getFaultMessageList(PageInfo<TFaultMessage> pageInfo, Integer siteId) { - return this.baseMapper.getFaultMessageList(pageInfo, siteId); + //校验合作商权限 + List<Integer> siteIds = new ArrayList<>(); + if(null == siteId || 0 == siteId){ + SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); + Integer roleType = sysUser.getRoleType(); + Integer objectId = sysUser.getObjectId(); + //合作商 + if(roleType == 2){ + Set<Integer> data = partnerService.authSite(objectId, SiteMenu.SITE_LIST); + siteIds = new ArrayList<>(data); + }else{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); + data.addAll(data1); + siteIds = data; + } + } + }else{ + siteIds.add(siteId); + } + return this.baseMapper.getFaultMessageList(pageInfo, siteIds); } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java index 3832dc5..c1f07c9 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java @@ -5,24 +5,32 @@ import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.model.TRepair; +import com.ruoyi.chargingPile.domain.SiteMenu; import com.ruoyi.chargingPile.mapper.TRepairMapper; -import com.ruoyi.chargingPile.service.ISiteService; -import com.ruoyi.chargingPile.service.TChargingPileNotificationService; -import com.ruoyi.chargingPile.service.TChargingPileService; -import com.ruoyi.chargingPile.service.TRepairService; +import com.ruoyi.chargingPile.service.*; import com.ruoyi.common.core.constant.MsgConstants; import com.ruoyi.common.core.utils.HttpUtils; import com.ruoyi.common.core.utils.MsgUtil; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.page.BasePage; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.other.api.feignClient.RoleSiteClient; +import com.ruoyi.other.api.feignClient.UserSiteClient; +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 lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Set; /** * <p> @@ -41,6 +49,25 @@ private TChargingPileService chargingPileService; @Autowired private TChargingPileNotificationService chargingPileNotificationService; + + @Resource + private SysUserClient sysUserClient; + + @Resource + private IPartnerService partnerService; + + @Resource + private UserSiteClient userSiteClient; + + @Resource + private RoleSiteClient roleSiteClient; + + @Resource + private SysUserRoleClient sysUserRoleClient; + + + + /** * 获取报修记录列表 * @param name @@ -48,8 +75,31 @@ * @return */ @Override - public List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, String siteId) { - return this.baseMapper.getRepairList(pageInfo, name, siteId); + public List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, Integer siteId) { + //校验合作商权限 + List<Integer> siteIds = new ArrayList<>(); + if(null == siteId || 0 == siteId){ + SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); + Integer roleType = sysUser.getRoleType(); + Integer objectId = sysUser.getObjectId(); + //合作商 + if(roleType == 2){ + Set<Integer> data = partnerService.authSite(objectId, SiteMenu.SITE_LIST); + siteIds = new ArrayList<>(data); + }else{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); + data.addAll(data1); + siteIds = data; + } + } + }else{ + siteIds.add(siteId); + } + return this.baseMapper.getRepairList(pageInfo, name, siteIds); } @Override diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml index c9b1ea5..34cc583 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml @@ -57,7 +57,7 @@ </if> AND site_id IS NULL AND (parent_id IS NULL OR audit_status = 1 OR audit_status = 2) - AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + </where> ORDER BY create_time DESC </select> diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml index cd1ff30..538c633 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml @@ -32,8 +32,11 @@ left join t_charging_pile b on (a.charging_pile_id = b.id) left join t_site c on (a.site_id = c.id) where a.del_flag = 0 - <if test="null != siteId"> - and a.site_id = #{siteId} + <if test="null != siteIds and siteIds.size() > 0"> + and a.site_id in + <foreach collection="siteIds" item="item" index="index" open="(" close=")" separator=","> + #{item} + </foreach> </if> order by a.create_time desc </select> diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml index 6c7b52f..6e02964 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml @@ -33,8 +33,11 @@ <if test="null != name and '' != name"> and a.repairman like CONCAT('%', #{name}, '%') </if> - <if test="null != siteId"> - and a.site_id = #{siteId} + <if test="null != siteIds and siteIds.size() > 0"> + and a.site_id in + <foreach collection="siteIds" item="item" index="index" open="(" separator="," close=")"> + #{item} + </foreach> </if> order by a.create_time desc </select> diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java index f1271ae..1fa5baf 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java @@ -43,13 +43,12 @@ /** * 批量查询 - * @param orderId * @return */ - @PostMapping(value = "/getOrderInfoByCodes") - public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@RequestParam("orderId") String orderId){ + @GetMapping(value = "/getOrderInfoByCodes/{ids}") + public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@PathVariable("ids") String ids){ List<UploadRealTimeMonitoringData> res = new ArrayList<>(); - for (String s : orderId.split(",")) { + for (String s : ids.split(",")) { List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(s); if(dataByOrderCode.size() > 0){ UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0); 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 4207889..e3ab58d 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 @@ -369,14 +369,14 @@ List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list(); for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) { - if (byId.getVipDiscountAmount()!=null){ + if (byId.getVipDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){ BigDecimal multiply = byId.getVipDiscountAmount().divide(byId.getServiceCharge(), 2) .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()); tChargingOrderAccountingStrategy.setVipDiscount(multiply); } bigDecimal = bigDecimal.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()); - if (byId.getCouponDiscountAmount()!=null){ + if (byId.getCouponDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){ BigDecimal multiply = byId.getCouponDiscountAmount().divide(byId.getServiceCharge(), 2) .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()); tChargingOrderAccountingStrategy.setCouponDiscount(multiply); @@ -778,6 +778,9 @@ LocalDate sixBefore = PreviousSixMonths.get(); Map<String,Object> map = chargingOrderService.countAll(sixBefore); BigDecimal data = parkingLotClient.getRecordAmount(sixBefore).getData(); + if (map ==null){ + map = new HashMap<String,Object>(); + } map.put("parkingAmount",data); BigDecimal data1 = shoppingOrderService.getSumAmount(sixBefore); map.put("shopAmount",data1); @@ -797,7 +800,8 @@ public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) { mongoChargingOrderQuery.setPageSize(10); - UploadRealTimeMonitoringPageData data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData(); + R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery); + UploadRealTimeMonitoringPageData data1 = all.getData(); List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>(); Map<String,ChargingOrderVO> map = new HashMap<>(); @@ -1258,8 +1262,19 @@ //车辆用途 List<Map<String, Object>> carMap = chargingOrderService.carUserMethod(); + //车辆品牌 List<Map<String, Object>> carBrandMap = chargingOrderService.carUserBrand(); + List<String> brands = new ArrayList<>(); + for (Map<String, Object> objectMap : carBrandMap) { + brands.add(objectMap.get("vehicle_brand").toString()); + } + + Long count = chargingOrderService.countCar(brands); + Map<String, Object> others = new HashMap<>(); + others.put("vehicle_brand","其他"); + others.put("counts",count); + carBrandMap.add(others); //本地车数量 Map<String,Object> localCarMap = chargingOrderService.countLocalCar(); @@ -1322,7 +1337,7 @@ @ApiOperation(value = "电站评价", tags = {"管理后台-数据分析-设备运维分析"}) public R<TCharingUserEquimentVO> equipment(@RequestBody ChargingStatisticsQueryDto statisticsQueryDto){ List<Integer> siteIds =new ArrayList<>(); - if (statisticsQueryDto.getSiteId()==null) { + if (statisticsQueryDto.getSiteId()==null||statisticsQueryDto.getSiteId()==0) { Long userId = SecurityUtils.getUserId(); //获取当前登录的siteIds List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData(); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java index c195f20..9bfc93d 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @author zhibing.pu * @Date 2024/8/12 19:07 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java index f5d173a..ee99d41 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java @@ -139,4 +139,6 @@ List<Map<String, Object>> needElec1(@Param("siteIds")List<Integer> siteIds,@Param("statisticsQueryDto") ChargingStatisticsQueryDto statisticsQueryDto); Long countNoTag(); + + Long countCar(@Param("brands") List<String> brands); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java index 75a7287..831fde2 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java @@ -41,7 +41,7 @@ * @return */ List<GetOrderEvaluatePageListDTO> getPageList(@Param("query") GetOrderEvaluatePageList pageList, @Param("evaluationTagIds") List<Integer> evaluationTagIds, - PageInfo<GetOrderEvaluatePageListDTO> pageInfo); + @Param("siteIds") List<Integer> siteIds, PageInfo<GetOrderEvaluatePageListDTO> pageInfo); /** * 查询站点下的所有订单评价 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java index 57b0caa..c6ed1b2 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java @@ -277,4 +277,6 @@ * @return */ List<TChargingOrder> getChargingOrder(TChargingOrderVo order); + + Long countCar(List<String> brands); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index cc70d8a..7619236 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -256,11 +256,13 @@ myChargingOrderInfo.setChargeMode(chargingGun.getChargeMode()); String name = chargingGunClient.getAllName(chargingOrder.getChargingGunId()).getData(); myChargingOrderInfo.setName(name); - if(null != chargingOrder.getAppUserCarId()){ - TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(chargingOrder.getAppUserCarId())).getData().get(0); - myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate()); - }else{ - myChargingOrderInfo.setLicensePlate("无"); + if(Objects.nonNull(chargingOrder.getAppUserCarId())){ + TAppUserCar tAppUserCar = appUserCarClient.getCarById(chargingOrder.getAppUserCarId().toString()).getData(); + if(null != tAppUserCar){ + myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate()); + }else{ + myChargingOrderInfo.setLicensePlate("无"); + } } myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000); myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000); @@ -2240,6 +2242,9 @@ if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){ return R.fail("退款金额需小于支付金额"); } + if ((tChargingOrder.getRechargeAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){ + tChargingOrder.setStatus(5); + } TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund(); @@ -2306,6 +2311,10 @@ if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){ return R.fail("退款金额需小于支付金额"); } + if ((tChargingOrder.getPaymentAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){ + tChargingOrder.setStatus(5); + } + TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund(); chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId()); chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); @@ -2356,9 +2365,7 @@ tChargingOrder.setRefundStatus(2); tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); - if (payOrderQueryDto.getRefundAmount().compareTo(tChargingOrder.getPaymentAmount())==0){ - tChargingOrder.setStatus(5); - } + shoppingOrderService.updateById(tChargingOrder); shoppingOrderRefundService.save(chargingOrderRefund); @@ -2373,6 +2380,8 @@ if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){ return R.fail("退款金额需小于支付金额"); } + + TVipOrderRefund chargingOrderRefund = new TVipOrderRefund(); chargingOrderRefund.setVipOrderId(tChargingOrder.getId()); chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); @@ -2585,7 +2594,7 @@ tSettlementConfirm.setRemark(dto.getRemark()); tSettlementConfirm.setServicePartner(dto.getServicePartner()); tSettlementConfirm.setServiceMoney(dto.getServiceMoney()); - BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner()); + BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01"))); // 总电损费用 BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN); // 平台承担电损 @@ -2747,10 +2756,17 @@ } // 充电总时长 - Long temp = 0L; + Long temp = 1L; if (StringUtils.hasLength(stringBuilder.toString())){ - List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(stringBuilder.substring(0,stringBuilder.length()-1)).getData(); - temp+=(data6.stream().mapToLong(UploadRealTimeMonitoringData::getCumulative_charging_time).sum()*60); + String substring = stringBuilder.substring(0, stringBuilder.length() - 1); + for (String s : substring.split(",")) { + UploadRealTimeMonitoringData data6 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(s).getData(); + if (data6!=null){ + temp+=(data6.getCumulative_charging_time()*60); + + } + + } } List<TChargingPile> data = siteClient.getPileListBySiteId(tSettlementConfirm.getSiteId()).getData(); // 计算充电桩的功率平均值 @@ -2790,7 +2806,7 @@ if (tSettlementConfirm.getSiteId().equals(settlementConfirm.getSiteId())){ // 电站相同比较收入涨幅跌幅 if (tSettlementConfirm.getIncome().compareTo(BigDecimal.ZERO)>0){ - BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome()).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100")); + BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome(),2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100")); tSettlementConfirm.setIncomePercentage(subtract+"%"); }else { tSettlementConfirm.setIncomePercentage("100"+"%"); @@ -2996,4 +3012,9 @@ } return this.list(queryWrapper.orderByDesc(TChargingOrder::getCreateTime)); } + + @Override + public Long countCar(List<String> brands) { + return this.baseMapper.countCar(brands); + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java index d0bf4ea..c9c9f8a 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java @@ -15,6 +15,7 @@ import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserIntegralChange; +import com.ruoyi.chargingPile.api.feignClient.PartnerClient; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO; @@ -24,6 +25,7 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.model.TOrderEvaluate; import com.ruoyi.order.api.model.TOrderEvaluateTag; @@ -41,10 +43,12 @@ import com.ruoyi.other.api.domain.TEvaluationTag; import com.ruoyi.other.api.domain.TIntegralRule; import com.ruoyi.other.api.domain.TVip; -import com.ruoyi.other.api.feignClient.IntegralRuleClient; -import com.ruoyi.other.api.feignClient.TEvaluationTagClient; -import com.ruoyi.other.api.feignClient.VipClient; +import com.ruoyi.other.api.feignClient.*; import com.ruoyi.other.api.vo.TEvaluationTagVO; +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.seata.spring.annotation.GlobalTransactional; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -54,11 +58,7 @@ import java.math.BigDecimal; import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -100,6 +100,21 @@ @Resource private VipClient vipClient; + + @Resource + private SysUserClient sysUserClient; + + @Resource + private PartnerClient partnerService; + + @Resource + private UserSiteClient userSiteClient; + + @Resource + private RoleSiteClient roleSiteClient; + + @Resource + private SysUserRoleClient sysUserRoleClient; @@ -251,7 +266,32 @@ List<TEvaluationTagVO> data = evaluationTagClient.getTagList(pageList.getEvaluateType()).getData(); evaluationTagIds = data.stream().map(TEvaluationTagVO::getId).collect(Collectors.toList()); } - List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, pageInfo); + + //校验合作商权限 + List<Integer> siteIds = new ArrayList<>(); + if(null == pageList.getSiteId() || 0 == pageList.getSiteId()){ + SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); + Integer roleType = sysUser.getRoleType(); + Integer objectId = sysUser.getObjectId(); + //合作商 + if(roleType == 2){ + Set<Integer> data = partnerService.authSite(objectId, "/data/site").getData(); + siteIds = new ArrayList<>(data); + }else{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); + data.addAll(data1); + siteIds = data; + } + } + }else{ + siteIds.add(pageList.getSiteId()); + } + + List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, siteIds, pageInfo); for (GetOrderEvaluatePageListDTO dto : list) { TAppUser appUser = appUserClient.getUserById(dto.getAppUserId()).getData(); if(null != appUser){ @@ -259,8 +299,11 @@ String phone = appUser.getPhone(); dto.setPhone(phone.substring(0, 3) + "****" + phone.substring(6)); } - Site site = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData().get(0); - dto.setSiteName(site.getName()); + List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData(); + if(null != data1 && data1.size() > 0){ + Site site = data1.get(0); + dto.setSiteName(site.getName()); + } List<TOrderEvaluateTag> tOrderEvaluateTags = orderEvaluateTagMapper.selectList(new LambdaQueryWrapper<TOrderEvaluateTag>().eq(TOrderEvaluateTag::getOrderEvaluateId, dto.getId())); List<Integer> tagIds = tOrderEvaluateTags.stream().map(TOrderEvaluateTag::getEvaluationTagId).collect(Collectors.toList()); if(tagIds.size() > 0){ 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 55d1a4c..f126021 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 @@ -121,12 +121,12 @@ title, `status`, order_amount, - order_amount as payment_amount , + payment_amount as payment_amount , create_time, end_time, pay_time, refund_status, - (order_amount) as final_amount, + (recharge_amount-refund_amount) as final_amount, del_flag, app_user_id FROM @@ -372,7 +372,7 @@ </select> <select id="countAll" resultType="java.util.Map"> - select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.0006, 2) as commission_amount,sum(sharing_amount) as sharing_amount + select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.006, 2) as commission_amount,sum(sharing_amount) as sharing_amount from t_charging_order where create_time >= #{sixBefore} and del_flag = 0 and recharge_payment_status = 2 </select> @@ -398,7 +398,7 @@ <select id="getDateData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%H:00' ) as time, - CAST(SUM(service_charge-coupon_discount_amount) AS DECIMAL(20, 6)) as servicecharge, + CAST(SUM(service_charge) AS DECIMAL(20, 6)) as servicecharge, CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence, CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -423,7 +423,7 @@ <select id="getWeekData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge-coupon_discount_amount) as servicecharge, + SUM(service_charge) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -448,7 +448,7 @@ <select id="getMonthData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge-coupon_discount_amount) as servicecharge, + SUM(service_charge) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -473,7 +473,7 @@ <select id="getYearData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge-coupon_discount_amount) as servicecharge, + SUM(service_charge) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -500,7 +500,7 @@ <select id="getByDate" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge-coupon_discount_amount) as servicecharge, + SUM(service_charge) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -629,14 +629,12 @@ SELECT 'today' AS data_type, '1' as type, - DATE_FORMAT( create_time, '%Y-%m-%d %H' ) AS time, + DATE_FORMAT( create_time, '%H:00' ) AS time, count(DISTINCT app_user_id) AS counts FROM t_charging_order WHERE del_flag = 0 - AND recharge_payment_status = 2 - AND ISNULL( refund_status ) AND DATE ( create_time ) = CURDATE() GROUP BY time @@ -972,7 +970,7 @@ `charging_pile_order`.`t_charging_order` co LEFT JOIN `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id - WHERE + WHERE co.del_flag = 0 and co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type = 4 <if test="siteIds != null and siteIds.size() > 0"> and co.site_id IN @@ -1032,7 +1030,7 @@ `charging_pile_order`.`t_charging_order` co LEFT JOIN `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id - WHERE + WHERE co.del_flag = 0 and co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type in (2,3) <if test="siteIds != null and siteIds.size() > 0"> and co.site_id IN @@ -1254,7 +1252,7 @@ `charging_pile_service`.`t_fault_message` co LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id WHERE - co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =1 + co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 2 and co.status =1 <if test="siteIds != null and siteIds.size() > 0"> and co.site_id IN <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> @@ -1540,4 +1538,13 @@ ) and au.del_flag = 0 </select> + <select id="countCar" resultType="java.lang.Long"> + select count(1) + from + charging_pile_account.t_app_user_car + where del_flag = 0 and vehicle_brand not in + <foreach collection="brands" item="brand" open="(" separator="," close=")"> + #{brand} + </foreach> + </select> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml index 7a4d65a..75427e3 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml @@ -123,6 +123,12 @@ <if test="null != query.siteId"> and b.site_id = #{query.siteId} </if> + <if test="null != siteIds and siteIds.size() > 0"> + and b.site_id in + <foreach collection="siteIds" item="item" index="index" open="(" separator="," close=")"> + #{item} + </foreach> + </if> order by a.create_time desc </select> <select id="goodTop" resultType="java.util.Map"> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml index 8c13bc7..b8f42ed 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml @@ -78,7 +78,7 @@ </select> <select id="getSumAmout" resultType="java.math.BigDecimal"> SELECT - SUM(payment_amount) AS paymentAmount + SUM(payment_amount-refund_amount) AS paymentAmount FROM t_vip_order WHERE -- Gitblit v1.7.1