|
@@ -1,5 +1,6 @@
|
|
|
package com.rongwei.bscommon.sys.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.rongwei.bscommon.sys.dao.ZhcxSubcontractorUserDao;
|
|
|
import com.rongwei.bscommon.sys.service.ZhcxSubcontractorUserService;
|
|
@@ -22,10 +23,9 @@ import org.springframework.web.context.request.RequestContextHolder;
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @author zhuang
|
|
@@ -102,6 +102,44 @@ public class ZhcxSubcontractorUserServiceImpl extends BaseServiceImpl<ZhcxSubcon
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateSubcontractUserRole(SubcontractorUserVo userVo) {
|
|
|
+ List<String> userIds = userVo.getUserIds();
|
|
|
+ LambdaQueryWrapper<SysUserRoleDo> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.in(SysUserRoleDo::getUserid,userIds);
|
|
|
+ wrapper.eq(SysUserRoleDo::getRoleid,userVo.getRoleid());
|
|
|
+ wrapper.eq(SysUserRoleDo::getDeleted,"0");
|
|
|
+ List<String> roleUserIds = sysUserRoleService.listObjs
|
|
|
+ (wrapper.select(SysUserRoleDo::getUserid),
|
|
|
+ obj -> (String) obj);
|
|
|
+ String type = userVo.getType();
|
|
|
+ List<SysUserRoleDo> list = new ArrayList<>();
|
|
|
+ List<String> deletedIds = new ArrayList<>();
|
|
|
+ userIds.forEach(userId -> {
|
|
|
+ if (!roleUserIds.contains(userId) && "驻外分包商".equals(type)) {
|
|
|
+ SysUserRoleDo sysUserRoleDo = new SysUserRoleDo();
|
|
|
+ sysUserRoleDo.setUserid(userId);
|
|
|
+ sysUserRoleDo.setRoleid(userVo.getRoleid());
|
|
|
+ sysUserRoleDo.setId(SecurityUtil.getUUID());
|
|
|
+ list.add(sysUserRoleDo);
|
|
|
+ }else if(roleUserIds.contains(userId) && !"驻外分包商".equals(type)){
|
|
|
+ deletedIds.add(userId);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if("驻外分包商".equals(type)){
|
|
|
+ if (list.size() > 0 ) {
|
|
|
+ sysUserRoleService.saveBatch(list);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ LambdaQueryWrapper<SysUserRoleDo> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (deletedIds.size() > 0 ) {
|
|
|
+ deleteWrapper.in(SysUserRoleDo::getUserid,deletedIds);
|
|
|
+ deleteWrapper.eq(SysUserRoleDo::getRoleid,userVo.getRoleid());
|
|
|
+ sysUserRoleService.remove(deleteWrapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存用户角色
|
|
|
*
|