xuhy
2025-01-07 88ac2574d89aed7c28b9c0370b19b8bb2d0364eb
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -1,29 +1,37 @@
package com.ruoyi.chargingPile.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.ruoyi.chargingPile.api.dto.GetPermissionConfigurationDTO;
import com.ruoyi.chargingPile.api.dto.PartnerListDTO;
import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.chargingPile.api.model.TPartnerSite;
import com.ruoyi.chargingPile.api.model.TSiteMenu;
import com.ruoyi.chargingPile.api.query.GetPartnerList;
import com.ruoyi.chargingPile.api.query.SetPermissionConfiguration;
import com.ruoyi.chargingPile.domain.SiteMenu;
import com.ruoyi.chargingPile.api.domain.SiteMenu;
import com.ruoyi.chargingPile.dto.ResetPassword;
import com.ruoyi.chargingPile.service.IPartnerService;
import com.ruoyi.chargingPile.service.TPartnerSiteService;
import com.ruoyi.chargingPile.service.TSiteMenuService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@@ -40,11 +48,15 @@
   
   @Resource
   private SysUserClient sysUserClient;
   @Resource
   private TSiteMenuService siteMenuService;
   @Resource
   private TPartnerSiteService partnerSiteService;
   
   
   
   @RequiresPermissions(value = {"/balanceSheetRecord", "/partners", "/chargingPile/add", "/chargingPile/select", "/chargingPile/update"}, logical = Logical.OR)
   @ResponseBody
   @GetMapping("/getPartnerList")
   @ApiOperation(value = "获取合作商列表", tags = {"管理后台-合作商管理"})
@@ -54,6 +66,8 @@
   }
   
   
   @RequiresPermissions(value = {"/partners/add"}, logical = Logical.OR)
   @ResponseBody
   @PostMapping("/addPartner")
   @ApiOperation(value = "添加合作商", tags = {"管理后台-合作商管理"})
@@ -64,6 +78,7 @@
   
   
   
   @RequiresPermissions(value = {"/partners/seleete", "/partners/update"}, logical = Logical.OR)
   @ResponseBody
   @GetMapping("/getPartner/{id}")
   @ApiOperation(value = "获取合作商详情", tags = {"管理后台-合作商管理", "管理后台-充电桩信息"})
@@ -74,6 +89,9 @@
      Partner partner = partnerService.getPartner(id);
      return AjaxResult.success(partner);
   }
   @ResponseBody
   @GetMapping("/getPartnerR/{id}")
   public R<Partner> getPartnerR(@PathVariable("id") Integer id){
@@ -83,6 +101,7 @@
   
   
   
   @RequiresPermissions(value = {"/partners/update"}, logical = Logical.OR)
   @ResponseBody
   @PostMapping("/editPartner")
   @ApiOperation(value = "编辑合作商", tags = {"管理后台-合作商管理"})
@@ -93,6 +112,7 @@
   
   
   
   @RequiresPermissions(value = {"/partners/del"}, logical = Logical.OR)
   @ResponseBody
   @DeleteMapping("/delPartner")
   @ApiOperation(value = "删除合作商", tags = {"管理后台-合作商管理"})
@@ -105,6 +125,7 @@
   }
   
   
   @RequiresPermissions(value = {"/partners/resetPassword"}, logical = Logical.OR)
   @ResponseBody
   @PostMapping("/resetPassword")
   @ApiOperation(value = "合作商重置密码", tags = {"管理后台-合作商管理"})
@@ -113,12 +134,16 @@
      return partnerService.resetPassword(resetPassword);
   }
   
   @Autowired
private TokenService tokenService;
   @RequiresPermissions(value = {"/site/add", "/site/update"}, logical = Logical.OR)
   @ResponseBody
   @GetMapping("/getPartner")
   @ApiOperation(value = "获取所有合作商", tags = {"管理后台-站点管理"})
   public AjaxResult<List<Partner>> getPartner(){
      SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
      SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
      Integer roleType = sysUser.getRoleType();
      Integer objectId = sysUser.getObjectId();
      LambdaQueryWrapper<Partner> wrapper = new LambdaQueryWrapper<Partner>().eq(Partner::getDelFlag, 0);
@@ -131,6 +156,8 @@
   
   
   
   @RequiresPermissions(value = {"/site/partner_authority"}, logical = Logical.OR)
   @ResponseBody
   @GetMapping("/getPermissionConfiguration/{siteId}")
   @ApiOperation(value = "获取合作商权限设置", tags = {"管理后台-站点管理"})
@@ -140,6 +167,7 @@
   }
   
   
   @RequiresPermissions(value = {"/site/partner_authority"}, logical = Logical.OR)
   @ResponseBody
   @PostMapping("/setPermissionConfiguration/{siteId}")
   @ApiOperation(value = "设置合作商权限", tags = {"管理后台-站点管理"})
@@ -169,7 +197,293 @@
    */
   @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));
      Set<Integer> integers = partnerService.authSite(partnerId, SiteMenu.getSiteMenu(siteMenu));
      return R.ok(integers);
   }
   /**
    * 判断合作商权限
    * @param partnerId
    * @param siteId
    * @param siteMenu
    * @return
    */
   @PostMapping("/authMenu/{partnerId}")
   public Boolean authMenu(@PathVariable("partnerId") Integer partnerId, @RequestParam("siteId") Integer siteId, @RequestParam("siteMenu") String siteMenu){
      return partnerService.authMenu(partnerId, siteId, SiteMenu.getSiteMenu(siteMenu));
   }
   // 充电算帐单按钮权限
   @PostMapping("/getChargingBillMenu/{partnerId}/{siteId}")
   R<List<Boolean>> getChargingBillMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charge_bill_order/download").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charge_bill_order").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      List<Boolean> booleans = new ArrayList<>();
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 充电时段统计按钮权限
   @PostMapping("/getChargingListMenu/{partnerId}/{siteId}")
   R<List<Boolean>> getChargingListMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      List<Boolean> booleans = new ArrayList<>();
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_period_statistics/order_info").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_period_statistics/charging_curve").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_period_statistics").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite2!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 账户结算帐单按钮权限
   @PostMapping("/getAccountMenu/{partnerId}/{siteId}")
   R<List<Boolean>> getAccountMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/account_settlement/download").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/account_settlement").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      List<Boolean> booleans = new ArrayList<>();
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 结算表记录按钮权限
   @PostMapping("/getSettlementListMenu/{partnerId}/{siteId}")
   R<List<Boolean>> getSettlementListMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      List<Boolean> booleans = new ArrayList<>();
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/balance_sheet_record/download").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/balance_sheet_record/del").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/balance_sheet_record").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite2!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 充电桩订单按钮权限
   @PostMapping("/getChargingOrderMenu/{partnerId}/{siteId}")
   R<List<Boolean>> getChargingOrderMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/record").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      List<Boolean> booleans = new ArrayList<>();
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 订单申诉按钮权限
   @PostMapping("/managePageListMenu/{partnerId}/{siteId}")
   R<List<Boolean>> managePageListMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      List<Boolean> booleans = new ArrayList<>();
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/order_appeal/view").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/order_appeal/handle").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/order_appeal").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite2!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 停车记录按钮权限
   @PostMapping("/parkingRecordListMenu/{partnerId}/{siteId}")
   R<List<Boolean>> parkingRecordListMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      List<Boolean> booleans = new ArrayList<>();
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/parking_record/view").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/parking_record/exit_parking_lot").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/parking_record").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite2!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 充电监控记录按钮权限
   @PostMapping("/watchChargingOrder/{partnerId}/{siteId}")
   R<List<Boolean>> watchChargingOrder(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      List<Boolean> booleans = new ArrayList<>();
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/monitoring_record/info").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/monitoring_record/del").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/monitoring_record").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite1!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      if (partnerSite2!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
   // 充电评价数据权限
   @PostMapping("/chargeEvaluation/{partnerId}/{siteId}")
   R<List<Boolean>> chargeEvaluation(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
      List<Boolean> booleans = new ArrayList<>();
      TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charge_evaluation").eq(TSiteMenu::getStatus, 0));
      TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
            .eq(TPartnerSite::getPartnerId, partnerId)
            .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
            .eq(TPartnerSite::getSiteId, siteId));
      if (partnerSite!=null){
         booleans.add(true);
      }else{
         booleans.add(false);
      }
      return R.ok(booleans);
   }
}