58268 country card-管理发布 权限问题,增加countryCardManage角色。

This commit is contained in:
wangzhijiang
2022-09-01 10:12:13 +08:00
parent 75f45498f4
commit aacafc5752
5 changed files with 69 additions and 11 deletions
@@ -973,4 +973,7 @@ ALTER TABLE `laws_weilai`.`laws_technology_evaluation_item_result`
ADD COLUMN `feedback_time` datetime NULL COMMENT '反馈时间' AFTER `laws_technology_evaluation_id`;
-- 表字段 英文修改 2022-08-31
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Sort Number' WHERE `id` = '1529373706885799937';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Sort Number' WHERE `id` = '1529373706885799937';
-- 增加角色,countryCard管理员。 2022-08-31
INSERT INTO `laws_weilai`.`sys_role` (`id`, `role_name`, `role_code`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `parent_code`, `role_order`) VALUES ('1564916346120916993', 'countryCard管理员', 'countryCardManage', 'countryCard最大权限', 'admin', '2022-08-31 18:01:46', NULL, NULL, NULL, NULL);
@@ -56,6 +56,10 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="cut", defaultValue="cn") String cut,
HttpServletRequest req) {
//验证用户是否拥有countryCard角色
if(this.countryCardManageReleaseEOService.isCountryCardManage()){
countryCardManageReleaseEO.setCreateBy(null);
}
QueryWrapper<CountryCardManageReleaseEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseEO, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
Page<CountryCardManageReleaseEO> page = new Page<CountryCardManageReleaseEO>(pageNo, pageSize);
@@ -85,4 +85,6 @@ public interface ICountryCardManageReleaseEOService extends IService<CountryCard
Result<List<DictModel>> getApplyMarketList(String queryFlag,String cut);
List<CountryCardManageReleaseEO> queryCountryCardManageReleaseByApplyMarkets(JSONObject params);
boolean isCountryCardManage();
}
@@ -16,8 +16,11 @@ import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMa
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService;
import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService;
import com.jero.modules.project.enums.CollectManifestRoleIdEnum;
import com.jero.modules.system.entity.SysUserRole;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserRoleService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -52,6 +55,8 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
private ISysDictService sysDictService;
@Autowired
private ICountryNationalFlagEOService countryNationalFlagEOService;
@Autowired
private ISysUserRoleService sysUserRoleService;
/**
* 保存
@@ -263,18 +268,34 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
result = null;
}else {
for (DictModel dictModel : dictModelList) {
boolean flag = false;
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())
&& StringUtils.equals(countryCardManageReleaseEO.getCreateBy(),currentUser.getUsername())){
flag = true;
break;
if(this.isCountryCardManage()){
for (DictModel dictModel : dictModelList) {
boolean flag = false;
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){
flag = true;
break;
}
}
if(flag){
result.add(dictModel);
}
}
}else {
for (DictModel dictModel : dictModelList) {
boolean flag = false;
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())
&& StringUtils.equals(countryCardManageReleaseEO.getCreateBy(),currentUser.getUsername())){
flag = true;
break;
}
}
if(flag){
result.add(dictModel);
if(flag){
result.add(dictModel);
}
}
}
}
@@ -300,4 +321,30 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
this.disposeData(result,cut);
return result;
}
/**
* 验证用户是否是countryCard管理员,如果是的话,展示所有数据,如果不是,则展示用户自己创建的数据。
*/
@Override
public boolean isCountryCardManage(){
boolean result = false;
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<SysUserRole> userRoleList = this.sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色
if(CollectionUtils.isNotEmpty(userRoleList)){
CollectManifestRoleIdEnum countruCardManage = CollectManifestRoleIdEnum.COUNTRU_CARD_MANAGE;
List<SysUserRole> userRoles = userRoleList.stream().filter(userRole -> {
boolean flag = false;
if(StringUtils.equals(userRole.getRoleId(),countruCardManage.getId())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(userRoles)){
result = true;
}
}
return result;
}
}
@@ -14,7 +14,9 @@ import java.util.List;
public enum CollectManifestRoleIdEnum {
// STUDIO_ID("R&H Studio","R&H Studio","studio","1534019911296118786",1),
ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2),
MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3);
MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3),
COUNTRU_CARD_MANAGE("countryCard管理员","countryCardManage","countryCardManage","1564916346120916993",4),
;
String name;
String enName;