27 changed files with 297 additions and 76 deletions
@ -0,0 +1,26 @@ |
|||
package com.kms.yxgh.df.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.kms.yxgh.base.SyBaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 用户和角色关联 sys_user_role |
|||
* |
|||
* @author kms |
|||
*/ |
|||
@TableName("sys_user_role") |
|||
@Data |
|||
@ApiModel("用户和角色关联表") |
|||
public class DfSysUserRole extends SyBaseEntity |
|||
{ |
|||
private String userId; |
|||
|
|||
|
|||
private String id; |
|||
|
|||
private String roleId; |
|||
|
|||
private String remark; |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.kms.yxgh.df.mapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.kms.yxgh.df.domain.DfSysUserRole; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
/** |
|||
* 害堤动物防治计划执行记录用药Mapper接口 |
|||
* |
|||
* @author sy |
|||
* @date 2024-01-04 |
|||
*/ |
|||
@Repository |
|||
public interface DfSysUserRoleMapper extends BaseMapper<DfSysUserRole> { |
|||
|
|||
} |
@ -0,0 +1,99 @@ |
|||
package com.kms.yxgh.df.service; |
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import org.springframework.util.StringUtils; |
|||
import com.kms.common.utils.UserUtils; |
|||
import com.kms.system.service.SysDeptService; |
|||
import com.kms.system.service.SysRoleService; |
|||
import com.kms.yg.df.domain.BsSgcDfManateam; |
|||
import com.kms.yg.df.domain.dto.RoleJudgeDto; |
|||
import com.kms.yg.df.service.BsSgcDfManateamService; |
|||
import com.kms.yxgh.df.domain.DfSysUserRole; |
|||
import com.kms.yxgh.df.mapper.DfSysUserRoleMapper; |
|||
import com.shuili.common.core.domain.entity.SysDept; |
|||
import com.shuili.common.core.domain.entity.SysRole; |
|||
import com.shuili.common.core.domain.entity.SysUser; |
|||
import com.shuili.common.utils.SpringUtils; |
|||
import org.springframework.util.CollectionUtils; |
|||
|
|||
import java.util.List; |
|||
import java.util.Objects; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* |
|||
* @author kms |
|||
* @date 2023-12-04 |
|||
*/ |
|||
public class AuthorityDikeCodeService { |
|||
|
|||
|
|||
/** |
|||
* 获取当前用户部门所属行政区划 |
|||
* 如果当前登录用户角色编码属于(YW00143、YW00129、YW00164)则返回当前用户部门的行政区划代码 |
|||
*如果当前登录用户角色编码属于(YW00352/YW00402)中,则通过当前用户手机号去BS_SGC_DF_MANATEAM(数据库表)找到他在工程对象代码进行数据过滤; |
|||
* @return String |
|||
*/ |
|||
public static RoleJudgeDto getRoleDeptDistrictCode() { |
|||
|
|||
SysDeptService sysDeptService = SpringUtils.getBean(SysDeptService.class); |
|||
SysRoleService sysRoleService = SpringUtils.getBean(SysRoleService.class); |
|||
DfSysUserRoleMapper dfSysUserRoleMapper = SpringUtils.getBean(DfSysUserRoleMapper.class); |
|||
BsSgcDfManateamService bsSgcDfManateamService = SpringUtils.getBean(BsSgcDfManateamService.class); |
|||
|
|||
RoleJudgeDto dto=new RoleJudgeDto(); |
|||
SysUser user = UserUtils.getUser(); |
|||
if (Objects.isNull(user)) { |
|||
return dto; |
|||
} |
|||
List<DfSysUserRole> sysUserRoles = dfSysUserRoleMapper.selectList(new LambdaQueryWrapper<DfSysUserRole>().eq(DfSysUserRole::getUserId, user.getId())); |
|||
if (!CollectionUtils.isEmpty(sysUserRoles)) { |
|||
List<String> roleIds = sysUserRoles.stream() |
|||
.map(DfSysUserRole::getRoleId) |
|||
.filter(roleId -> !StringUtils.isEmpty(roleId)) |
|||
.collect(Collectors.toList()); |
|||
if (!CollectionUtils.isEmpty(roleIds)) { |
|||
List<SysRole> sysRoleIds = sysRoleService.list(new LambdaQueryWrapper<SysRole>() |
|||
.in(SysRole::getId, roleIds) |
|||
); |
|||
if (!CollectionUtils.isEmpty(sysRoleIds)) { |
|||
List<String> roleCodes = sysRoleIds.stream() |
|||
.map(SysRole::getRoleKey) |
|||
.collect(Collectors.toList()); |
|||
if (roleCodes.contains("YW00143") |
|||
|| roleCodes.contains("YW00129") |
|||
|| roleCodes.contains("YW00164")) { |
|||
SysDept sysDept = sysDeptService.getById(user.getDeptId()); |
|||
if (!Objects.isNull(sysDept)) { |
|||
dto.setXzqhId(StringUtils.isEmpty(sysDept.getXzqhId()) |
|||
? null:sysDept.getXzqhId()); |
|||
return dto; |
|||
} |
|||
} |
|||
if (roleCodes.contains("YW00352") |
|||
|| roleCodes.contains("YW00402")) { |
|||
BsSgcDfManateam bsSgcDfManateam = bsSgcDfManateamService |
|||
.getById(new LambdaQueryWrapper<BsSgcDfManateam>() |
|||
.eq(!StringUtils.isEmpty(user.getPhonenumber()),BsSgcDfManateam::getPhone, user.getPhonenumber()) |
|||
.orderByDesc(BsSgcDfManateam::getCreateTime) |
|||
.last(" limit 1 ") |
|||
); |
|||
if (!Objects.isNull(bsSgcDfManateam)) { |
|||
dto.setDikeCode(StringUtils.isEmpty(bsSgcDfManateam.getDikeCode()) |
|||
? null:bsSgcDfManateam.getDikeCode()); |
|||
return dto; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return dto; |
|||
} |
|||
|
|||
|
|||
public static String getAuthorityDikeCode() { |
|||
RoleJudgeDto roleDeptDistrictCode = getRoleDeptDistrictCode(); |
|||
return StringUtils.isEmpty(roleDeptDistrictCode.getDikeCode()) |
|||
? null : roleDeptDistrictCode.getDikeCode(); |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue