From dfdd4bd5d112a17ccd1483ad11fe023817d54d26 Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期六, 22 七月 2023 15:20:13 +0800 Subject: [PATCH] 45648 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZAuthorityServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 0 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZAuthorityServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZAuthorityServiceImpl.java index 9feb3d5..50cf44e 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZAuthorityServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZAuthorityServiceImpl.java @@ -2,17 +2,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.domain.ZAuthority; +import com.ruoyi.domain.ZInfoUser; import com.ruoyi.domain.ZfCode; import com.ruoyi.domain.ZfFamily; import com.ruoyi.domain.dto.AuthorityDto; +import com.ruoyi.domain.dto.AuthorityDto2; import com.ruoyi.mapper.ZAuthorityMapper; import com.ruoyi.service.ZAuthorityService; +import com.ruoyi.service.ZInfoUserService; import com.ruoyi.service.ZfCodeService; import com.ruoyi.service.ZfFamilyService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @@ -32,6 +37,12 @@ @Resource private ZfCodeService zfCodeService; + + @Resource + private ZAuthorityService zAuthorityService; + + @Resource + private ZInfoUserService zInfoUserService; /** * 鏌ヨ褰撳墠鐢ㄦ埛鐨勬潈闄� @@ -103,4 +114,86 @@ return familyList.stream().map(ZfFamily::getName).distinct().collect(Collectors.toList()); } + /** + * + * @param authorityDto 浼犲叆浜嗙敤鎴穒d銆乵odelName + * @return + */ + @Override + @Transactional + public AjaxResult managerAuthority(AuthorityDto2 authorityDto) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + ZInfoUser myself = zInfoUserService.getById(userId); + + //鏌ョ湅褰撳墠鐢ㄦ埛鏄笉鏄鐞嗗憳 + if(myself.getRoleId()!=1 && myself.getRoleId()!=2){ + throw new RuntimeException("浣犱笉鏄搴鐞嗗憳锛屾病鏈夋潈闄愭搷浣�"); + } + + + Long uid = authorityDto.getUid(); + Long fid = myself.getFamilyId(); + String modelName = authorityDto.getModelName(); + + //鏍规嵁妯″潡鐨勫悕瀛楁煡鍑哄搴旂殑鏉冮檺鐮� + List<ZfCode> zfCodeList = zfCodeService.likeGetByName(modelName); + List<Long> allCodeList = zfCodeList.stream().map(ZfCode::getCode).collect(Collectors.toList());//鏉冮檺鐮佹暟缁� + + //鎵惧埌瀵瑰簲瀹跺涵瀵瑰簲妯″潡鐨勬潈闄愭暟缁� + LambdaQueryWrapper<ZAuthority> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZAuthority::getFid,fid) + .eq(ZAuthority::getUid,uid) + .in(ZAuthority::getAuthority,allCodeList); + List<ZAuthority> authorityList = list(lqw); + + //鍏堝垹鎺夌幇鍦ㄦ墍鏈夌殑鏉冮檺 + List<Long> idList = authorityList.stream().map(ZAuthority::getId).collect(Collectors.toList()); + zAuthorityService.removeBatchByIds(idList); + + //鍐嶆坊鍔犳柊璁剧疆鐨勬潈闄� + if(authorityDto.getSearch() == 1){ + //鏍规嵁妯″潡鐨勫悕瀛楁煡鍒版潈闄愮爜锛屽彧浼氭湁涓�涓粨鏋� + List<ZfCode> zfcode = zfCodeService.likeGetByName(modelName + "鏌ョ湅"); + ZAuthority zAuthority = new ZAuthority(); + zAuthority.setFid(fid); + zAuthority.setUid(uid); + zAuthority.setAuthority(zfcode.get(0).getCode()); + zAuthorityService.save(zAuthority); + } + + if(authorityDto.getInsert() == 1){ + //鏍规嵁妯″潡鐨勫悕瀛楁煡鍒版潈闄愮爜锛屽彧浼氭湁涓�涓粨鏋� + List<ZfCode> zfcode = zfCodeService.likeGetByName(modelName + "娣诲姞"); + ZAuthority zAuthority = new ZAuthority(); + zAuthority.setFid(fid); + zAuthority.setUid(uid); + zAuthority.setAuthority(zfcode.get(0).getCode()); + zAuthorityService.save(zAuthority); + } + + if(authorityDto.getUpdate() == 1){ + //鏍规嵁妯″潡鐨勫悕瀛楁煡鍒版潈闄愮爜锛屽彧浼氭湁涓�涓粨鏋� + List<ZfCode> zfcode = zfCodeService.likeGetByName(modelName + "淇敼"); + ZAuthority zAuthority = new ZAuthority(); + zAuthority.setFid(fid); + zAuthority.setUid(uid); + zAuthority.setAuthority(zfcode.get(0).getCode()); + zAuthorityService.save(zAuthority); + } + + if(authorityDto.getDelete() == 1){ + //鏍规嵁妯″潡鐨勫悕瀛楁煡鍒版潈闄愮爜锛屽彧浼氭湁涓�涓粨鏋� + List<ZfCode> zfcode = zfCodeService.likeGetByName(modelName + "鍒犻櫎"); + ZAuthority zAuthority = new ZAuthority(); + zAuthority.setFid(fid); + zAuthority.setUid(uid); + zAuthority.setAuthority(zfcode.get(0).getCode()); + zAuthorityService.save(zAuthority); + } + + return AjaxResult.success(); + + } + } -- Gitblit v1.9.1