1.修改用户按名称查询报错问题

2.修改岗位列表、企业列表当是企业角色时,只查询自己的数据
This commit is contained in:
sh
2025-10-23 14:38:20 +08:00
parent d21a9cf882
commit f65ca791b5
5 changed files with 58 additions and 2 deletions

View File

@@ -2,12 +2,15 @@ package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.Job;
import com.ruoyi.cms.domain.vo.CandidateVO;
import com.ruoyi.cms.service.ICompanyService;
import com.ruoyi.cms.service.IJobService;
import com.ruoyi.cms.util.RoleUtils;
import com.ruoyi.cms.util.sensitiveWord.SensitiveWordChecker;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -19,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Objects;
/**
* 岗位Controller
@@ -36,6 +40,8 @@ public class CmsJobController extends BaseController
private IJobService jobService;
@Autowired
SensitiveWordChecker sensitiveWordChecker;
@Autowired
private ICompanyService companyService;
/**
* 查询岗位列表
*/
@@ -44,6 +50,10 @@ public class CmsJobController extends BaseController
@GetMapping("/list")
public TableDataInfo list(Job job)
{
if (RoleUtils.isCompanyAdmin()) {
Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard());
job.setCompanyId(Objects.nonNull(company) ? company.getCompanyId() : null);
}
startPage();
List<Job> list = jobService.selectJobList(job);
return getDataTable(list);

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.util.RoleUtils;
import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.cms.service.ICompanyService;
import com.ruoyi.common.annotation.Log;
@@ -40,6 +41,9 @@ public class CompanyController extends BaseController
@GetMapping("/list")
public TableDataInfo list(Company company)
{
if (RoleUtils.isCompanyAdmin()) {
company.setCode(RoleUtils.getCurrentUseridCard());
}
startPage();
List<Company> list = companyService.selectCompanyList(company);
return getDataTable(list);

View File

@@ -0,0 +1,39 @@
package com.ruoyi.cms.util;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
/**
* 判断是否企业用户
*/
public class RoleUtils {
/**
* 验证用户角色是否是企业用户
* @return
*/
public static boolean isCompanyAdmin() {
// 先判断用户是否登录
if (!SecurityUtils.isLogin()) {
return false;
}
// 获取当前登录用户的角色列表判断是否包含企业管理员角色ID
LoginUser loginUser = SecurityUtils.getLoginUser();
return loginUser.getUser().getRoles().stream()
.anyMatch(role -> StringUtil.COMPANY_ADMIN_ROLE_KEY.equals(role.getRoleId()));
}
/**
* 获取获取身份证或统一信用代码
* @return
*/
public static String getCurrentUseridCard() {
LoginUser loginUser = SecurityUtils.getLoginUser(); // 已包含登录校验
SysUser sysUser = loginUser.getUser();
if (sysUser == null) {
throw new IllegalArgumentException("用户信息为空,无法获取身份证号");
}
return sysUser.getIdCard();
}
}

View File

@@ -9,6 +9,9 @@ import java.util.Objects;
import java.util.stream.Collectors;
public class StringUtil {
public static final Long COMPANY_ADMIN_ROLE_KEY = 100L;
public static Boolean isEmptyOrNull(String s){
if(Objects.isNull(s)){return true;}
return s.isEmpty();

View File

@@ -65,13 +65,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND u.user_id = #{userId}
</if>
<if test="userName != null and userName != ''">
AND u.user_name like concat('%', #{userName}, '%')
AND u.user_name like concat('%', CAST(#{userName} AS VARCHAR), '%')
</if>
<if test="status != null and status != ''">
AND u.status = #{status}
</if>
<if test="phonenumber != null and phonenumber != ''">
AND u.phonenumber like concat('%', #{phonenumber}, '%')
AND u.phonenumber like concat('%', CAST(#{phonenumber} AS VARCHAR), '%')
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND date_format(u.create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')