|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  | 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.mapper.PartnerMapper; | 
|---|
|  |  |  | import com.ruoyi.chargingPile.service.IPartnerService; | 
|---|
|  |  |  | import com.ruoyi.chargingPile.service.*; | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.R; | 
|---|
|  |  |  | import com.ruoyi.common.core.utils.StringUtils; | 
|---|
|  |  |  | import com.ruoyi.common.core.web.domain.AjaxResult; | 
|---|
|  |  |  | 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.SysRole; | 
|---|
|  |  |  | import com.ruoyi.system.api.domain.SysUser; | 
|---|
|  |  |  | import com.ruoyi.system.api.feignClient.SysRoleClient; | 
|---|
|  |  |  | import com.ruoyi.system.api.feignClient.SysUserClient; | 
|---|
|  |  |  | import com.ruoyi.system.api.feignClient.SysUserRoleClient; | 
|---|
|  |  |  | import com.ruoyi.system.api.model.GetSysRoleByIds; | 
|---|
|  |  |  | import com.ruoyi.system.api.model.SysUserRoleVo; | 
|---|
|  |  |  | import io.seata.core.context.RootContext; | 
|---|
|  |  |  | import io.seata.core.exception.TransactionException; | 
|---|
|  |  |  | import io.seata.spring.annotation.GlobalTransactional; | 
|---|
|  |  |  | import io.seata.tm.api.GlobalTransaction; | 
|---|
|  |  |  | import io.seata.tm.api.GlobalTransactionContext; | 
|---|
|  |  |  | import org.springframework.http.HttpStatus; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import java.util.Arrays; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Optional; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysRoleClient sysRoleClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysUserClient sysUserClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISiteService siteService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private TPartnerSiteService partnerSiteService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private TSiteMenuService siteMenuService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private TChargingPileService chargingPileService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private UserSiteClient userSiteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private RoleSiteClient roleSiteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysUserRoleClient userRoleClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | List<SysRole> data = r.getData(); | 
|---|
|  |  |  | for (PartnerListDTO partnerListDTO : list) { | 
|---|
|  |  |  | Integer roleId = partnerListDTO.getRoleId(); | 
|---|
|  |  |  | if(null != roleId){ | 
|---|
|  |  |  | if(null == roleId){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SysRole sysRole = data.stream().filter(s -> roleId.equals(s.getRoleId())).findFirst().get(); | 
|---|
|  |  |  | SysRole sysRole = data.stream().filter(s -> roleId.compareTo(s.getRoleId().intValue()) == 0).findFirst().get(); | 
|---|
|  |  |  | if(null != sysRole){ | 
|---|
|  |  |  | partnerListDTO.setRoleName(sysRole.getRoleName()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 | 
|---|
|  |  |  | public AjaxResult addPartner(Partner partner) { | 
|---|
|  |  |  | //校验参数和重复数据 | 
|---|
|  |  |  | AjaxResult ajaxResult = addPartnerParameterCheck(partner); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(null != one){ | 
|---|
|  |  |  | return AjaxResult.error("登录账号不能重复"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //添加登录账户 | 
|---|
|  |  |  | SysUser user = new SysUser(); | 
|---|
|  |  |  | user.setPhonenumber(partner.getPhoneOne()); | 
|---|
|  |  |  | user.setUserName(partner.getAccount()); | 
|---|
|  |  |  | user.setNickName(partner.getName()); | 
|---|
|  |  |  | user.setAvatar(partner.getLogoUrl()); | 
|---|
|  |  |  | user.setPassword(partner.getPassword()); | 
|---|
|  |  |  | user.setStatus("0"); | 
|---|
|  |  |  | user.setDelFlag("0"); | 
|---|
|  |  |  | user.setRoleId(partner.getRoleId().longValue()); | 
|---|
|  |  |  | user.setRoleType(2); | 
|---|
|  |  |  | R<Long> r = sysUserClient.addSysUser(user); | 
|---|
|  |  |  | if(200 != r.getCode()){ | 
|---|
|  |  |  | throw new RuntimeException(r.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //添加新数据 | 
|---|
|  |  |  | this.save(partner); | 
|---|
|  |  |  | //添加登录账户 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | user = sysUserClient.getSysUser(r.getData()).getData(); | 
|---|
|  |  |  | user.setObjectId(partner.getId()); | 
|---|
|  |  |  | sysUserClient.updateUser(user); | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(StringUtils.isEmpty(partner.getPhoneOne())){ | 
|---|
|  |  |  | return AjaxResult.error("合作商电话1不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isEmpty(partner.getAccount())){ | 
|---|
|  |  |  | if(null == partner.getId() && StringUtils.isEmpty(partner.getAccount())){ | 
|---|
|  |  |  | return AjaxResult.error("登录账号不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isEmpty(partner.getPassword())){ | 
|---|
|  |  |  | if(null == partner.getId() && StringUtils.isEmpty(partner.getPassword())){ | 
|---|
|  |  |  | return AjaxResult.error("登录密码不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Partner getPartner(Integer id) { | 
|---|
|  |  |  | Partner partner = this.getById(id); | 
|---|
|  |  |  | if(null == partner){ | 
|---|
|  |  |  | return partner; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | GetSysRoleByIds ids = new GetSysRoleByIds(); | 
|---|
|  |  |  | ids.setIds(Arrays.asList(partner.getRoleId())); | 
|---|
|  |  |  | //获取相关的角色id | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 | 
|---|
|  |  |  | public AjaxResult editPartner(Partner partner) { | 
|---|
|  |  |  | //校验参数和重复数据 | 
|---|
|  |  |  | AjaxResult ajaxResult = addPartnerParameterCheck(partner); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(null != one && !one.getId().equals(partner.getId())){ | 
|---|
|  |  |  | return AjaxResult.error("登录账号不能重复"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Partner oldPartner = this.getById(partner.getId()); | 
|---|
|  |  |  | SysUser user = sysUserClient.queryUserByUserName(oldPartner.getAccount()).getData(); | 
|---|
|  |  |  | //修改登录账户 | 
|---|
|  |  |  | if(null == user){ | 
|---|
|  |  |  | user = new SysUser(); | 
|---|
|  |  |  | user.setStatus("0"); | 
|---|
|  |  |  | user.setDelFlag("0"); | 
|---|
|  |  |  | user.setPhonenumber(partner.getPhoneOne()); | 
|---|
|  |  |  | user.setUserName(partner.getAccount()); | 
|---|
|  |  |  | user.setNickName(partner.getName()); | 
|---|
|  |  |  | user.setAvatar(partner.getLogoUrl()); | 
|---|
|  |  |  | user.setPassword(partner.getPassword()); | 
|---|
|  |  |  | user.setRoleId(partner.getRoleId().longValue()); | 
|---|
|  |  |  | user.setRoleType(2); | 
|---|
|  |  |  | user.setObjectId(partner.getId()); | 
|---|
|  |  |  | R r = sysUserClient.addSysUser(user); | 
|---|
|  |  |  | if(200 != r.getCode()){ | 
|---|
|  |  |  | throw new RuntimeException(r.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | user.setPhonenumber(partner.getPhoneOne()); | 
|---|
|  |  |  | user.setUserName(partner.getAccount()); | 
|---|
|  |  |  | user.setNickName(partner.getName()); | 
|---|
|  |  |  | user.setAvatar(partner.getLogoUrl()); | 
|---|
|  |  |  | user.setPassword(partner.getPassword()); | 
|---|
|  |  |  | user.setRoleId(partner.getRoleId().longValue()); | 
|---|
|  |  |  | R r = sysUserClient.updateSysUser(user); | 
|---|
|  |  |  | if(200 != r.getCode()){ | 
|---|
|  |  |  | throw new RuntimeException(r.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //修改数据 | 
|---|
|  |  |  | this.updateById(partner); | 
|---|
|  |  |  | //修改登录账户 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除合作商 | 
|---|
|  |  |  | * @param id 合作商id | 
|---|
|  |  |  | * @param ids 合作商id | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void delPartner(Integer id) { | 
|---|
|  |  |  | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 | 
|---|
|  |  |  | public AjaxResult delPartner(List<Integer> ids) { | 
|---|
|  |  |  | //查询有无关联数据 | 
|---|
|  |  |  | //站点 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | long count = siteService.count(new LambdaQueryWrapper<Site>().in(Site::getPartnerId, ids).eq(Site::getDelFlag, 0)); | 
|---|
|  |  |  | if(count > 0){ | 
|---|
|  |  |  | return AjaxResult.error("该合作商已关联站点不可删除"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //充电桩 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Partner partner = this.getById(id); | 
|---|
|  |  |  | partner.setDelFlag(true); | 
|---|
|  |  |  | this.updateById(partner); | 
|---|
|  |  |  | long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().in(TChargingPile::getPartnerId, ids).eq(TChargingPile::getDelFlag, 0)); | 
|---|
|  |  |  | if(count1 > 0){ | 
|---|
|  |  |  | return AjaxResult.error("该合作商已关联充电桩不可删除!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (Integer id : ids) { | 
|---|
|  |  |  | Partner partner = this.getById(id); | 
|---|
|  |  |  | if(null == partner){ | 
|---|
|  |  |  | return AjaxResult.error("删除失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.removeById(id); | 
|---|
|  |  |  | SysUser user = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); | 
|---|
|  |  |  | user.setDelFlag("2"); | 
|---|
|  |  |  | sysUserClient.updateUser(user); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param resetPassword | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 | 
|---|
|  |  |  | public AjaxResult resetPassword(ResetPassword resetPassword) { | 
|---|
|  |  |  | if(null == resetPassword.getId()){ | 
|---|
|  |  |  | return AjaxResult.error("合作商id不能为空"); | 
|---|
|  |  |  | 
|---|
|  |  |  | partner.setPassword(resetPassword.getPassword()); | 
|---|
|  |  |  | this.updateById(partner); | 
|---|
|  |  |  | //修改登录账号的密码 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SysUser user = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); | 
|---|
|  |  |  | user.setPassword(partner.getPassword()); | 
|---|
|  |  |  | sysUserClient.resetPassword(user); | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取合作商权限 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public GetPermissionConfigurationDTO getPermissionConfiguration(Integer siteId, Integer partnerId) { | 
|---|
|  |  |  | Partner partner = this.getById(partnerId); | 
|---|
|  |  |  | if(null == partner){ | 
|---|
|  |  |  | throw new RuntimeException("该站点合作商无效"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | GetPermissionConfigurationDTO dto = new GetPermissionConfigurationDTO(); | 
|---|
|  |  |  | dto.setPermissionRemarks(partner.getPermissionRemarks()); | 
|---|
|  |  |  | List<TPartnerSite> list = partnerSiteService.list(new LambdaQueryWrapper<TPartnerSite>() | 
|---|
|  |  |  | .eq(TPartnerSite::getPartnerId, partnerId) | 
|---|
|  |  |  | .eq(TPartnerSite::getSiteId, siteId)); | 
|---|
|  |  |  | List<Integer> collect = list.stream().map(TPartnerSite::getSiteMenuId).collect(Collectors.toList()); | 
|---|
|  |  |  | List<TSiteMenu> tSiteMenus = siteMenuService.list(new LambdaQueryWrapper<TSiteMenu>() | 
|---|
|  |  |  | .eq(TSiteMenu::getParentId, 0) | 
|---|
|  |  |  | .eq(TSiteMenu::getVisible, 0) | 
|---|
|  |  |  | .eq(TSiteMenu::getStatus, 0).orderByAsc(TSiteMenu::getOrderNum)); | 
|---|
|  |  |  | List<Map<String, Object>> list1 = new ArrayList<>(); | 
|---|
|  |  |  | for (TSiteMenu tSiteMenu : tSiteMenus) { | 
|---|
|  |  |  | Map<String, Object> menu = new HashMap<>(); | 
|---|
|  |  |  | menu.put("id", tSiteMenu.getMenuId()); | 
|---|
|  |  |  | menu.put("name", tSiteMenu.getMenuName()); | 
|---|
|  |  |  | menu.put("path", tSiteMenu.getPath()); | 
|---|
|  |  |  | menu.put("type", tSiteMenu.getMenuType()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<TSiteMenu> tSiteMenus1 = siteMenuService.list(new LambdaQueryWrapper<TSiteMenu>() | 
|---|
|  |  |  | .eq(TSiteMenu::getParentId, tSiteMenu.getMenuId()) | 
|---|
|  |  |  | .eq(TSiteMenu::getVisible, 0) | 
|---|
|  |  |  | .eq(TSiteMenu::getStatus, 0).orderByAsc(TSiteMenu::getOrderNum)); | 
|---|
|  |  |  | List<Map<String, Object>> list2 = new ArrayList<>(); | 
|---|
|  |  |  | for (TSiteMenu siteMenu : tSiteMenus1) { | 
|---|
|  |  |  | Map<String, Object> child = new HashMap<>(); | 
|---|
|  |  |  | child.put("id", siteMenu.getMenuId()); | 
|---|
|  |  |  | child.put("name", siteMenu.getMenuName()); | 
|---|
|  |  |  | child.put("path", siteMenu.getPath()); | 
|---|
|  |  |  | child.put("type", siteMenu.getMenuType()); | 
|---|
|  |  |  | child.put("selected", collect.contains(siteMenu.getMenuId())); | 
|---|
|  |  |  | list2.add(child); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | menu.put("selected", collect.contains(tSiteMenu.getMenuId())); | 
|---|
|  |  |  | menu.put("child", list2); | 
|---|
|  |  |  | list1.add(menu); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dto.setMenu(list1); | 
|---|
|  |  |  | return dto; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 合作商权限配置 | 
|---|
|  |  |  | * @param req | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public void setPermissionConfiguration(SetPermissionConfiguration req) { | 
|---|
|  |  |  | //删除原始配置 | 
|---|
|  |  |  | partnerSiteService.remove(new LambdaQueryWrapper<TPartnerSite>().eq(TPartnerSite::getPartnerId, req.getPartnerId()).eq(TPartnerSite::getSiteId, req.getSiteId())); | 
|---|
|  |  |  | //添加新的配置 | 
|---|
|  |  |  | List<TPartnerSite> sites = new ArrayList<>(); | 
|---|
|  |  |  | List<Integer> list = req.getMenuId(); | 
|---|
|  |  |  | for (Integer integer : list) { | 
|---|
|  |  |  | TPartnerSite partnerSite = new TPartnerSite(); | 
|---|
|  |  |  | partnerSite.setPartnerId(req.getPartnerId()); | 
|---|
|  |  |  | partnerSite.setSiteId(req.getSiteId()); | 
|---|
|  |  |  | partnerSite.setSiteMenuId(integer); | 
|---|
|  |  |  | sites.add(partnerSite); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | partnerSiteService.saveBatch(sites); | 
|---|
|  |  |  | //修改权限配置 | 
|---|
|  |  |  | Partner partner = this.getById(req.getPartnerId()); | 
|---|
|  |  |  | partner.setPermissionRemarks(req.getPermissionRemarks()); | 
|---|
|  |  |  | this.updateById(partner); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取合作商授权的站点数据 | 
|---|
|  |  |  | * @param siteMenu 授权菜单路径枚举类 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Set<Integer> authSite(Integer partnerId, SiteMenu siteMenu) { | 
|---|
|  |  |  | TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, siteMenu.getValue()).eq(TSiteMenu::getStatus, 0)); | 
|---|
|  |  |  | List<TPartnerSite> list = partnerSiteService.list(new LambdaQueryWrapper<TPartnerSite>() | 
|---|
|  |  |  | .eq(TPartnerSite::getPartnerId, partnerId) | 
|---|
|  |  |  | .eq(TPartnerSite::getSiteMenuId, one.getMenuId())); | 
|---|
|  |  |  | List<Integer> collect = list.stream().map(TPartnerSite::getSiteId).collect(Collectors.toList()); | 
|---|
|  |  |  | //获取合作商用户关联的站点数据 | 
|---|
|  |  |  | Partner partner = this.getById(partnerId); | 
|---|
|  |  |  | SysUser sysUser = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); | 
|---|
|  |  |  | List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); | 
|---|
|  |  |  | List<SysUserRoleVo> data2 = userRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); | 
|---|
|  |  |  | List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); | 
|---|
|  |  |  | collect.addAll(data); | 
|---|
|  |  |  | collect.addAll(data1); | 
|---|
|  |  |  | Set<Integer> siteIds = new HashSet<>(collect); | 
|---|
|  |  |  | if(siteIds.size() == 0){ | 
|---|
|  |  |  | siteIds.add(-1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return siteIds; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 判断当前账户是否有权限 | 
|---|
|  |  |  | * @param siteId 站点id | 
|---|
|  |  |  | * @param siteMenu 菜单路径枚举类 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean authMenu(Integer partnerId, Integer siteId, SiteMenu siteMenu) { | 
|---|
|  |  |  | TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, siteMenu.getValue()).eq(TSiteMenu::getStatus, 0)); | 
|---|
|  |  |  | TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>() | 
|---|
|  |  |  | .eq(TPartnerSite::getPartnerId, partnerId) | 
|---|
|  |  |  | .eq(TPartnerSite::getSiteMenuId, one.getMenuId()) | 
|---|
|  |  |  | .eq(TPartnerSite::getSiteId, siteId)); | 
|---|
|  |  |  | return null == partnerSite ? false : true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|