用户viewer角色时添加品牌跟责任领域
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
package com.jero.modules.system.controller;
|
||||
|
||||
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.system.entity.ProjectUserBrand;
|
||||
import com.jero.modules.system.service.IProjectUserBrandService;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 用户品牌表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-11-15
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="用户品牌表")
|
||||
@RestController
|
||||
@RequestMapping("/project/projectUserBrand")
|
||||
@Slf4j
|
||||
public class ProjectUserBrandController extends JeroController<ProjectUserBrand, IProjectUserBrandService> {
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.jero.modules.system.controller;
|
||||
|
||||
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.system.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 用户责任领域
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-11-15
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="用户责任领域")
|
||||
@RestController
|
||||
@RequestMapping("/project/projectUserDutyTerritory")
|
||||
@Slf4j
|
||||
public class ProjectUserDutyTerritoryController extends JeroController<ProjectUserDutyTerritory, IProjectUserDutyTerritoryService> {
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
|
||||
}
|
||||
+22
-1
@@ -41,6 +41,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
@@ -111,6 +112,12 @@ public class SysUserController {
|
||||
@Resource
|
||||
private BaseCommonService baseCommonService;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
/**
|
||||
* 获取用户列表数据
|
||||
*
|
||||
@@ -227,6 +234,11 @@ public class SysUserController {
|
||||
Result<SysUser> result = new Result<SysUser>();
|
||||
try {
|
||||
String ids = jsonObject.getString("ids");
|
||||
String roles = jsonObject.getString("selectedroles");
|
||||
String dutyTerritories = jsonObject.getString("dutyTerritories");
|
||||
String brands = jsonObject.getString("brands");
|
||||
List<ProjectUserBrand> projectUserBrandList = new ArrayList<>();
|
||||
List<ProjectUserDutyTerritory> projectUserDutyTerritoryList = new ArrayList<>();
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
for (String id : idList) {
|
||||
SysUser sysUser = sysUserService.getById(id);
|
||||
@@ -238,11 +250,20 @@ public class SysUserController {
|
||||
user.setId(id);
|
||||
user.setUpdateTime(new Date());
|
||||
|
||||
String roles = jsonObject.getString("selectedroles");
|
||||
sysUserService.editUserWithRole(user, roles);
|
||||
if (ObjectUtils.isNotEmpty(roles)) {
|
||||
//如果角色包含viewer,设置责任领域权限和品牌权限
|
||||
sysUserService.setBrandAndDutyTerritory(roles, dutyTerritories, brands, projectUserBrandList, projectUserDutyTerritoryList, id);
|
||||
}
|
||||
result.success("修改成功!");
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectUserBrandList)) {
|
||||
projectUserBrandService.saveBatch(projectUserBrandList);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectUserDutyTerritoryList)) {
|
||||
projectUserDutyTerritoryService.saveBatch(projectUserDutyTerritoryList);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.jero.modules.project.entity;
|
||||
package com.jero.modules.system.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.jero.modules.project.entity;
|
||||
package com.jero.modules.system.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
+1
@@ -10,6 +10,7 @@ public enum ProjectRoleEnum {
|
||||
REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4","Regulatory Engineer/Certification Engineer"),
|
||||
MANAGER("领导角色","11","R&H Manager"),
|
||||
ADMIN("系统管理员","12","admin"),
|
||||
VIEWER("Viewer","","Viewer"),
|
||||
;
|
||||
|
||||
String name;
|
||||
|
||||
+2
-5
@@ -1,9 +1,6 @@
|
||||
package com.jero.modules.project.mapper;
|
||||
package com.jero.modules.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.modules.project.entity.ProjectUserBrand;
|
||||
import com.jero.modules.system.entity.ProjectUserBrand;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
+2
-5
@@ -1,9 +1,6 @@
|
||||
package com.jero.modules.project.mapper;
|
||||
package com.jero.modules.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.modules.project.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.system.entity.ProjectUserDutyTerritory;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.project.mapper.ProjectUserBrandMapper">
|
||||
<resultMap id="ProjectUserBrandResultMap" type="com.jero.modules.project.entity.ProjectUserBrand">
|
||||
<mapper namespace="com.jero.modules.system.mapper.ProjectUserBrandMapper">
|
||||
<resultMap id="ProjectUserBrandResultMap" type="com.jero.modules.system.entity.ProjectUserBrand">
|
||||
<id column="id" property="id" />
|
||||
<result column="user_id" property="userId" />
|
||||
<result column="brand_type" property="brandType" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
</mapper>
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.project.mapper.ProjectUserDutyTerritoryMapper">
|
||||
<resultMap id="ProjectUserDutyTerritoryResultMap" type="com.jero.modules.project.entity.ProjectUserDutyTerritory">
|
||||
<mapper namespace="com.jero.modules.system.mapper.ProjectUserDutyTerritoryMapper">
|
||||
<resultMap id="ProjectUserDutyTerritoryResultMap" type="com.jero.modules.system.entity.ProjectUserDutyTerritory">
|
||||
<id column="id" property="id" />
|
||||
<result column="user_id" property="userId" />
|
||||
<result column="duty_territory" property="dutyTerritory" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
</mapper>
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.jero.modules.project.service;
|
||||
package com.jero.modules.system.service;
|
||||
|
||||
import com.jero.modules.project.entity.ProjectUserBrand;
|
||||
import com.jero.modules.system.entity.ProjectUserBrand;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.List;
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.jero.modules.project.service;
|
||||
package com.jero.modules.system.service;
|
||||
|
||||
import com.jero.modules.project.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.system.entity.ProjectUserDutyTerritory;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.List;
|
||||
|
||||
+3
-3
@@ -8,9 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.system.vo.SysUserCacheInfo;
|
||||
import com.jero.modules.system.entity.PPEmployee;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.entity.*;
|
||||
import com.jero.modules.system.model.DepartIdModel;
|
||||
import com.jero.modules.system.model.SysUserSysDepartModel;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -301,4 +299,6 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
* @return
|
||||
*/
|
||||
boolean isRegulationOwner(LoginUser currentUser);
|
||||
|
||||
void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List<ProjectUserBrand> projectUserBrandList, List<ProjectUserDutyTerritory> projectUserDutyTerritoryList, String userId);
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
package com.jero.modules.project.service.impl;
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.jero.modules.project.entity.ProjectUserBrand;
|
||||
import com.jero.modules.project.mapper.ProjectUserBrandMapper;
|
||||
import com.jero.modules.project.service.IProjectUserBrandService;
|
||||
import com.jero.modules.system.entity.ProjectUserBrand;
|
||||
import com.jero.modules.system.mapper.ProjectUserBrandMapper;
|
||||
import com.jero.modules.system.service.IProjectUserBrandService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
package com.jero.modules.project.service.impl;
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.jero.modules.project.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.project.mapper.ProjectUserDutyTerritoryMapper;
|
||||
import com.jero.modules.project.service.IProjectUserDutyTerritoryService;
|
||||
import com.jero.modules.system.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.system.mapper.ProjectUserDutyTerritoryMapper;
|
||||
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
+45
-1
@@ -17,14 +17,19 @@ import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.base.service.BaseCommonService;
|
||||
import com.jero.modules.system.entity.*;
|
||||
import com.jero.modules.system.enums.PPSyncEnum;
|
||||
import com.jero.modules.system.enums.ProjectRoleEnum;
|
||||
import com.jero.modules.system.enums.RoleEnum;
|
||||
import com.jero.modules.system.mapper.*;
|
||||
import com.jero.modules.system.model.SysUserSysDepartModel;
|
||||
import com.jero.modules.system.service.IProjectUserBrandService;
|
||||
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||
import com.jero.modules.system.service.ISysRoleService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.vo.SysUserDepVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
@@ -67,8 +72,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
private SysDepartRoleMapper sysDepartRoleMapper;
|
||||
@Resource
|
||||
private BaseCommonService baseCommonService;
|
||||
@Autowired
|
||||
private ISysRoleService sysRoleService;
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
@Override
|
||||
|
||||
@Override
|
||||
@CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
|
||||
public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword) {
|
||||
SysUser user = userMapper.getUserByName(username);
|
||||
@@ -698,4 +710,36 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List<ProjectUserBrand> projectUserBrandList, List<ProjectUserDutyTerritory> projectUserDutyTerritoryList, String userId) {
|
||||
List<String> roleCodes = sysRoleService.listByIds(Arrays.asList(roles.split(","))).stream().map(SysRole::getRoleCode).collect(Collectors.toList());
|
||||
if (roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) {
|
||||
//先删后加
|
||||
QueryWrapper<ProjectUserBrand> brandDelWrapper = new QueryWrapper<>();
|
||||
brandDelWrapper.eq("user_id", userId);
|
||||
projectUserBrandService.remove(brandDelWrapper);
|
||||
|
||||
QueryWrapper<ProjectUserDutyTerritory> dutyTerritoryDelWrapper = new QueryWrapper<>();
|
||||
dutyTerritoryDelWrapper.eq("user_id", userId);
|
||||
projectUserDutyTerritoryService.remove(dutyTerritoryDelWrapper);
|
||||
|
||||
if (ObjectUtils.isNotEmpty(dutyTerritories)) {
|
||||
for (String dutyTerritory : dutyTerritories.split(",")) {
|
||||
ProjectUserDutyTerritory projectUserDutyTerritory = new ProjectUserDutyTerritory();
|
||||
projectUserDutyTerritory.setUserId(userId);
|
||||
projectUserDutyTerritory.setDutyTerritory(dutyTerritory);
|
||||
projectUserDutyTerritoryList.add(projectUserDutyTerritory);
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(brands)) {
|
||||
for (String brand : brands.split(",")) {
|
||||
ProjectUserBrand projectUserBrand = new ProjectUserBrand();
|
||||
projectUserBrand.setUserId(userId);
|
||||
projectUserBrand.setBrandType(brand);
|
||||
projectUserBrandList.add(projectUserBrand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
package com.jero.modules.project.controller;
|
||||
|
||||
|
||||
import com.jero.modules.project.entity.ProjectUserBrand;
|
||||
import com.jero.modules.project.service.IProjectUserBrandService;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 用户品牌表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-11-15
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="用户品牌表")
|
||||
@RestController
|
||||
@RequestMapping("/project/projectUserBrand")
|
||||
@Slf4j
|
||||
public class ProjectUserBrandController extends JeroController<ProjectUserBrand, IProjectUserBrandService> {
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
|
||||
}
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
package com.jero.modules.project.controller;
|
||||
|
||||
|
||||
import com.jero.modules.project.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.project.service.IProjectUserDutyTerritoryService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 用户责任领域
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-11-15
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="用户责任领域")
|
||||
@RestController
|
||||
@RequestMapping("/project/projectUserDutyTerritory")
|
||||
@Slf4j
|
||||
public class ProjectUserDutyTerritoryController extends JeroController<ProjectUserDutyTerritory, IProjectUserDutyTerritoryService> {
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
|
||||
}
|
||||
+3
@@ -135,6 +135,9 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
|
||||
@TableField(exist = false)
|
||||
private List<ProjectLibraryBase> children;
|
||||
|
||||
//品牌
|
||||
private String brand;
|
||||
|
||||
@Override
|
||||
public int compareTo(ProjectLibraryBase o) {
|
||||
return Integer.valueOf(this.projectVersion)-Integer.valueOf(o.projectVersion);//升序
|
||||
|
||||
+3
-1
@@ -20,6 +20,7 @@
|
||||
<result column="update_by" property="updateBy" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="sys_org_code" property="sysOrgCode" />
|
||||
<result column="brand" property="brand" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="select_item">
|
||||
@@ -49,7 +50,8 @@
|
||||
plb.explanation,
|
||||
plb.software_version,
|
||||
plb.sort,
|
||||
plb.flag
|
||||
plb.flag,
|
||||
plb.brand
|
||||
from project_library_base as plb
|
||||
left join project_name_info as pni on plb.project_name_id=pni.id
|
||||
left join sys_user as studiouser on plb.studio_engineer=studiouser.id
|
||||
|
||||
Reference in New Issue
Block a user