Commit 5e3d9e49 LN

一个设备组只能分配给一个操作员

1 个父辈 102dbabe
......@@ -71,10 +71,10 @@ public class DataInitManager {
Set<String> groupIds = new HashSet<>();
Role role = new Role(menuIdSet, "admin", "管理员");
Role role = new Role(menuIdSet, Constants.ROLE_ADMIN, "管理员");
role = roleManager.save(role);
log.info("创建默认角色:" + role.toString());
Role operator = new Role(menuIdSet, "operator", "操作员");
Role operator = new Role(menuIdSet, Constants.ROLE_OPERATOR, "操作员");
operator = roleManager.save(operator);
log.info("创建默认角色:" + operator.toString());
......
......@@ -11,6 +11,14 @@ public class Constants {
*/
public static final String SUPER_USERNAME= "admin";
/**
* 管理员角色名
*/
public static final String ROLE_ADMIN= "admin";
/**
* 管理员角色名
*/
public static final String ROLE_OPERATOR= "operator";
/**
* 超级管理员密码
*/
public static final String SUPER_DEBUG_PASSWORD= "1234567890";
......
......@@ -139,6 +139,7 @@ public enum DeviceType {
}
public static List<DeviceType> availableTypeList(){
return Lists.newArrayList(AUTO,LINE,BATCH,SOLDERPASTE,VERTICALBOX,SMD_XL,SMD_DUO,SMD_XLC,VIRTUAL,NL,NLP,NLM);
// return Lists.newArrayList(AUTO,LINE,BATCH,SOLDERPASTE,VERTICALBOX,SMD_XL,SMD_DUO,SMD_XLC,VIRTUAL,NL,NLP,NLM);
return Lists.newArrayList(NLP);
}
}
......@@ -31,9 +31,11 @@ import com.neotel.smfcore.security.rest.bean.dto.UserDto;
import com.neotel.smfcore.security.rest.bean.mapstruct.UserMapper;
import com.neotel.smfcore.security.rest.bean.query.UserQueryCriteria;
import com.neotel.smfcore.security.rest.bean.vo.UserPassVo;
import com.neotel.smfcore.security.service.manager.IGroupManager;
import com.neotel.smfcore.security.service.manager.IRoleManager;
import com.neotel.smfcore.security.service.manager.IUserManager;
import com.neotel.smfcore.security.service.manager.impl.UserManagerImpl;
import com.neotel.smfcore.security.service.po.Group;
import com.neotel.smfcore.security.service.po.Role;
import com.neotel.smfcore.security.service.po.User;
import io.swagger.annotations.Api;
......@@ -78,6 +80,8 @@ public class UserController {
@Autowired
private final FileProperties properties;
@Autowired
private final IGroupManager groupManager;
@ApiOperation("导出用户数据")
@GetMapping(value = "/download")
......@@ -251,7 +255,41 @@ public class UserController {
throw new ValidateException("smfcore.valueCanotNull","{0}不能为空",new String[]{"ID"} );
// throw new ValidateException("修改用户组:ID不能为空");
}
User user = userManager.get(resources.getId());
//判断用户角色是amdin还是operater
boolean isAdmin=false;
if(user.getUsername().equals(Constants.SUPER_USERNAME)){
isAdmin=true;
}else{
Role role= roleManager.get(user.getRoleId());
if(role.getName().equals(Constants.ROLE_ADMIN)){
isAdmin=true;
}
}
if(!isAdmin){
Role operate=roleManager.findByName(Constants.ROLE_OPERATOR);
if(operate!=null){
List<User> userList=userManager.findByRoleId(operate.getId());
for (User otherUser :
userList) {
if(otherUser.getId().equals(user.getId())){
continue;
}else{
for (String groupId :
resources.getGroups()) {
if(otherUser.getGroups().contains(groupId)){
Group group=groupManager.get(groupId);
throw new ValidateException("smfcore.user.group.error","组[{0}]已经分配给操作员[{1}]",new String[]{group.getGroupName(),otherUser.getUsername()} );
}
}
}
}
}
}
userManager.updateGroups(resources);
return new ResultBean().newOkResult("ok");
}
......
......@@ -43,4 +43,7 @@ public interface IRoleManager extends IBaseManager<Role> {
void deleteRoles(List<Role> roles) throws ValidateException;
void untiedMenu(String menuId) throws ValidateException;
Role findByName(String roleName);
}
......@@ -148,4 +148,11 @@ public class RoleManagerImpl implements IRoleManager {
}
}
@Override
public Role findByName(String roleName) {
Query query=new Query(Criteria.where("name").is(roleName));
Role role=roleDao.findOne(query );
return role;
}
}
......@@ -164,7 +164,8 @@ public class UserManagerImpl implements IUserManager {
@Override
public List<User> findByRoleId(String roleId){
List<User> users = userDao.findOneByCondition(new String[] {"roleId"}, new String[] {roleId});
Query query=new Query(Criteria.where("roleId").is(roleId));
List<User> users = userDao.findByQuery(query);
return users;
}
@Override
......
......@@ -251,6 +251,8 @@ smfcore.safetyInventory.stockReel=\u5E93\u5B58\u76D8\u6570
smfcore.safetyInventory.supplementReel=\u8865\u5145\u76D8\u6570
smfcore.safetyInventory.amount=\u6700\u5C0F\u5305\u88C5
smfcore.component.storeError=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u5E93\u5B58\uFF0C\u6700\u5C0F\u5E93\u5B58<=\u5B89\u5168\u5E93\u5B58<=\u6700\u5927\u5E93\u5B58
smfcore.user.group.error=\u7EC4[{0}]\u5DF2\u7ECF\u5206\u914D\u7ED9\u64CD\u4F5C\u5458[{1}]
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
#smfclient.nlp.inputOk={0}\u5165\u5E93\u5230{1}\u6210\u529F
......
......@@ -252,4 +252,5 @@ smfcore.safetyInventory.stockReel=Reel QTY
smfcore.safetyInventory.supplementReel=Number of additional plates
smfcore.safetyInventory.amount=Amount
smfcore.component.storeError=Please enter the correct stock, minimum stock <= safety stock <= maximum stock
smfcore.user.group.error=Group [{0}] has been assigned to operator [{1}]
......@@ -251,4 +251,5 @@ smfcore.safetyInventory.stockReel=\u76E4\u6578
smfcore.safetyInventory.supplementReel=\u8FFD\u52A0\u30D7\u30EC\u30FC\u30C8\u679A\u6570
smfcore.safetyInventory.amount=\u6578\u91CF
smfcore.component.storeError=\u6B63\u3057\u3044\u5728\u5EAB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3001\u6700\u5C0F\u5728\u5EAB\u2266\u5B89\u5168\u5728\u5EAB\u2266\u6700\u5927\u5728\u5EAB
smfcore.user.group.error=\u30B0\u30EB\u30FC\u30D7[{0}]\u304C\u30AA\u30DA\u30EC\u30FC\u30BF[{1}]\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3057\u305F\u3002
......@@ -251,3 +251,4 @@ smfcore.safetyInventory.stockReel=\u5E93\u5B58\u76D8\u6570
smfcore.safetyInventory.supplementReel=\u8865\u5145\u76D8\u6570
smfcore.safetyInventory.amount=\u6700\u5C0F\u5305\u88C5
smfcore.component.storeError=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u5E93\u5B58\uFF0C\u6700\u5C0F\u5E93\u5B58<=\u5B89\u5168\u5E93\u5B58<=\u6700\u5927\u5E93\u5B58
smfcore.user.group.error=\u7EC4[{0}]\u5DF2\u7ECF\u5206\u914D\u7ED9\u64CD\u4F5C\u5458[{1}]
......@@ -251,3 +251,4 @@ smfcore.safetyInventory.stockReel=\u5EAB\u5B58\u76E4\u6578
smfcore.safetyInventory.supplementReel=\u88DC\u5145\u76E4\u6578
smfcore.safetyInventory.amount=\u6700\u5C0F\u5305\u88DD
smfcore.component.storeError=\u8ACB\u8F38\u5165\u6B63\u78BA\u7684\u5EAB\u5B58\uFF0C\u6700\u5C0F\u5EAB\u5B58<=\u5B89\u5168\u5EAB\u5B58<=\u6700\u5927\u5EAB\u5B58
smfcore.user.group.error=\u7D44[{0}]\u5DF2\u7D93\u5206\u914D\u7D66\u64CD\u4F5C\u54E1[{1}]
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!