From 4d7a208f388e42e7dd83dab0e38eadfa0847de1c Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 11 十二月 2024 19:24:10 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java |  123 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 115 insertions(+), 8 deletions(-)

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 ba93e47..ece9acb 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
@@ -1,21 +1,34 @@
 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.query.GetPartnerList;
+import com.ruoyi.chargingPile.api.query.SetPermissionConfiguration;
+import com.ruoyi.chargingPile.api.domain.SiteMenu;
 import com.ruoyi.chargingPile.dto.ResetPassword;
 import com.ruoyi.chargingPile.service.IPartnerService;
+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.List;
+import java.util.Set;
 
 /**
  * @author zhibing.pu
@@ -27,31 +40,40 @@
 	
 	@Resource
 	private IPartnerService partnerService;
+	
+	@Resource
+	private SysUserClient sysUserClient;
+	
 
 	
 	
 	
+	@RequiresPermissions(value = {"/balanceSheetRecord", "/partners", "/chargingPile/add", "/chargingPile/select", "/chargingPile/update"}, logical = Logical.OR)
 	@ResponseBody
 	@GetMapping("/getPartnerList")
 	@ApiOperation(value = "获取合作商列表", tags = {"管理后台-合作商管理"})
-	public AjaxResult<PageInfo<PartnerListDTO>> getPartnerList(@RequestBody GetPartnerList partnerList){
+	public AjaxResult<PageInfo<PartnerListDTO>> getPartnerList(GetPartnerList partnerList){
 		PageInfo<PartnerListDTO> list = partnerService.getPartnerList(partnerList);
 		return AjaxResult.success(list);
 	}
 	
 	
+
+	@RequiresPermissions(value = {"/partners/add"}, logical = Logical.OR)
 	@ResponseBody
 	@PostMapping("/addPartner")
 	@ApiOperation(value = "添加合作商", tags = {"管理后台-合作商管理"})
+	@Log(title = "【合作商列表】添加合作商", businessType = BusinessType.INSERT)
 	public AjaxResult addPartner(@RequestBody Partner partner){
 		return partnerService.addPartner(partner);
 	}
 	
 	
 	
+	@RequiresPermissions(value = {"/partners/seleete", "/partners/update"}, logical = Logical.OR)
 	@ResponseBody
 	@GetMapping("/getPartner/{id}")
-	@ApiOperation(value = "获取合作商详情", tags = {"管理后台-合作商管理"})
+	@ApiOperation(value = "获取合作商详情", tags = {"管理后台-合作商管理", "管理后台-充电桩信息"})
 	@ApiImplicitParams({
 			@ApiImplicitParam(value = "合作商id", name = "id", dataTypeClass = Integer.class, required = true)
 	})
@@ -59,42 +81,127 @@
 		Partner partner = partnerService.getPartner(id);
 		return AjaxResult.success(partner);
 	}
+
+
+
+	@ResponseBody
+	@GetMapping("/getPartnerR/{id}")
+	public R<Partner> getPartnerR(@PathVariable("id") Integer id){
+		Partner partner = partnerService.getPartner(id);
+		return R.ok(partner);
+	}
 	
 	
 	
+	@RequiresPermissions(value = {"/partners/update"}, logical = Logical.OR)
 	@ResponseBody
 	@PostMapping("/editPartner")
 	@ApiOperation(value = "编辑合作商", tags = {"管理后台-合作商管理"})
+	@Log(title = "【合作商列表】编辑合作商", businessType = BusinessType.UPDATE)
 	public AjaxResult editPartner(@RequestBody Partner partner){
 		return partnerService.editPartner(partner);
 	}
 	
 	
 	
+	@RequiresPermissions(value = {"/partners/del"}, logical = Logical.OR)
 	@ResponseBody
-	@DeleteMapping("/delPartner/{id}")
+	@DeleteMapping("/delPartner")
 	@ApiOperation(value = "删除合作商", tags = {"管理后台-合作商管理"})
 	@ApiImplicitParams({
 			@ApiImplicitParam(value = "合作商id", name = "id", dataTypeClass = Integer.class, required = true)
 	})
-	public AjaxResult delPartner(@PathVariable("id") Integer id){
+	@Log(title = "【合作商列表】删除合作商", businessType = BusinessType.DELETE)
+	public AjaxResult delPartner(@RequestParam("id") List<Integer> id){
 		return partnerService.delPartner(id);
 	}
 	
 	
+	@RequiresPermissions(value = {"/partners/resetPassword"}, logical = Logical.OR)
 	@ResponseBody
 	@PostMapping("/resetPassword")
 	@ApiOperation(value = "合作商重置密码", tags = {"管理后台-合作商管理"})
+	@Log(title = "【合作商列表】重置合作商密码", businessType = BusinessType.UPDATE)
 	public AjaxResult resetPassword(@RequestBody ResetPassword resetPassword){
 		return partnerService.resetPassword(resetPassword);
 	}
 	
-	
+	@Autowired
+private TokenService tokenService;
+
+
+	@RequiresPermissions(value = {"/site/add", "/site/update"}, logical = Logical.OR)
 	@ResponseBody
-	@PostMapping("/getPartner")
+	@GetMapping("/getPartner")
 	@ApiOperation(value = "获取所有合作商", tags = {"管理后台-站点管理"})
 	public AjaxResult<List<Partner>> getPartner(){
-		List<Partner> list = partnerService.list(new LambdaQueryWrapper<Partner>().eq(Partner::getDelFlag, 0));
+		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);
+		if(2 == roleType){
+			wrapper.eq(Partner::getId, objectId);
+		}
+		List<Partner> list = partnerService.list(wrapper);
 		return AjaxResult.success(list);
 	}
+	
+	
+	
+
+	@RequiresPermissions(value = {"/site/partner_authority"}, logical = Logical.OR)
+	@ResponseBody
+	@GetMapping("/getPermissionConfiguration/{siteId}")
+	@ApiOperation(value = "获取合作商权限设置", tags = {"管理后台-站点管理"})
+	public AjaxResult<GetPermissionConfigurationDTO> getPermissionConfiguration(@PathVariable("siteId") Integer siteId, Integer partnerId){
+		GetPermissionConfigurationDTO permissionConfiguration = partnerService.getPermissionConfiguration(siteId, partnerId);
+		return AjaxResult.success(permissionConfiguration);
+	}
+	
+	
+	@RequiresPermissions(value = {"/site/partner_authority"}, logical = Logical.OR)
+	@ResponseBody
+	@PostMapping("/setPermissionConfiguration/{siteId}")
+	@ApiOperation(value = "设置合作商权限", tags = {"管理后台-站点管理"})
+	@Log(title = "【合作商列表】设置合作商权限", businessType = BusinessType.OTHER)
+	public AjaxResult setPermissionConfiguration(@RequestBody SetPermissionConfiguration req){
+		partnerService.setPermissionConfiguration(req);
+		return AjaxResult.success();
+	}
+	
+	
+	/**
+	 * 根据id获取合作商信息
+	 * @param id
+	 * @return
+	 */
+	@PostMapping("/getPartnerById/{id}")
+	public R<Partner> getPartnerById(@PathVariable("id") Integer id){
+		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.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));
+	}
 }

--
Gitblit v1.7.1