|
@@ -1,246 +0,0 @@
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-package com.dragoninfo.dcuc.auth.admin.service.impl;
|
|
|
-
|
|
|
-
|
|
|
-import com.dragoninfo.dcuc.auth.admin.entity.UserMtAuth;
|
|
|
-import com.dragoninfo.dcuc.auth.admin.service.IUserMtAuthService;
|
|
|
-import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
|
|
|
-import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
|
|
|
-import com.dragoninfo.duceap.core.service.impl.BaseService;
|
|
|
-import com.dragonsoft.duceap.commons.util.string.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-@Service
|
|
|
-@Transactional
|
|
|
-public class UserMtAuthService extends BaseService<UserMtAuth, String> implements IUserMtAuthService {
|
|
|
-
|
|
|
-
|
|
|
- private final String OBJECT_TYPE = "40";
|
|
|
- private final String ADD_AUTH_LOG_TYPE = "40";
|
|
|
- private final String DEL_AUTH_LOG_TYPE = "41";
|
|
|
-
|
|
|
-// @Resource(name = "redisTemplate")
|
|
|
-// private RedisTemplate<String, Object> redisTemplate;
|
|
|
-// @Autowired
|
|
|
-// private UserMtAuthBPO userMtAuthBPO;
|
|
|
-// @Autowired
|
|
|
-// private IMgeMonitorMsgService mgeMonitorMsgService;
|
|
|
-// @Autowired
|
|
|
-// private IManageInfoService manageInfoService;
|
|
|
-// @Autowired
|
|
|
-// private IMgeLogService mgeLogService;
|
|
|
- @Autowired
|
|
|
- private IAuthUserInfoService authUserInfoService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IOrgInfoFacade orgInfoFacade;
|
|
|
-
|
|
|
-// @Override
|
|
|
-// public ResponseStatus save(String orgIds, String userId) {
|
|
|
-// List<UserMtAuth> userMtAuthList = findByPropertyValue("userId", userId);//被分配者范围
|
|
|
-// Map<String, Object> paramsMap = new HashMap<String, Object>();
|
|
|
-// paramsMap.put("deleted", "0");
|
|
|
-// paramsMap.put("userId", userId);
|
|
|
-//
|
|
|
-// MgeLog mgeLog = new MgeLog();
|
|
|
-// //删除旧的权限范围
|
|
|
-// if (userMtAuthList != null && userMtAuthList.size() >= 1) {
|
|
|
-// if (userMtAuthList.get(0).getOrgId().equals(orgIds)) {
|
|
|
-// return ResponseStatus.fail("当前操作没有对用户管理范围进行任何更改");
|
|
|
-// }
|
|
|
-// for (UserMtAuth userMtAuth : userMtAuthList) {
|
|
|
-// delete(userMtAuth.getId());
|
|
|
-// }
|
|
|
-// mgeLog = mgeLogService.getMgeLog(DEL_AUTH_LOG_TYPE, userId, orgIds, OBJECT_TYPE);
|
|
|
-// } else {
|
|
|
-// mgeLog = mgeLogService.getMgeLog(ADD_AUTH_LOG_TYPE, userId, orgIds, OBJECT_TYPE);
|
|
|
-// }
|
|
|
-// mgeLogService.save(mgeLog);
|
|
|
-//
|
|
|
-// //保存
|
|
|
-// UserMtAuth userMtAuth = new UserMtAuth();
|
|
|
-// List<ManageInfo> manageInfo = manageInfoService.andsearch(ManageInfo.class, paramsMap);
|
|
|
-// userMtAuth.setMgeId(manageInfo.get(0).getId());
|
|
|
-// userMtAuth.setOrgId(orgIds);
|
|
|
-// userMtAuth.setUserId(userId);
|
|
|
-// if (StringUtils.isNotEmpty(orgIds)) {
|
|
|
-// saveOrUpdate(userMtAuth);
|
|
|
-// }
|
|
|
-// mgeMonitorMsgService.mgeListCheck(userMtAuth);//删除不在该用户范围内的登录消息提醒
|
|
|
-//
|
|
|
-// //清除缓存
|
|
|
-// String[] orgs = orgIds.split(",");
|
|
|
-// for (String orgId : orgs) {
|
|
|
-// String[] orgSplit = orgId.split(":");
|
|
|
-// redisTemplate.delete(orgSplit[0] + "_manage");
|
|
|
-// }
|
|
|
-// //释放redis连接
|
|
|
-// RedisConnectionUtils.unbindConnection(this.redisTemplate.getConnectionFactory());
|
|
|
-// return ResponseStatus.success("保存成功");
|
|
|
-// }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String mgeUserRightRangeStr(String userId) {
|
|
|
- if (authUserInfoService.isRootUser(userId)) {
|
|
|
- String rootOrgId = orgInfoFacade.getRootOrgId();
|
|
|
- if (StringUtils.isNotEmpty(rootOrgId)) {
|
|
|
- return rootOrgId + ":2";
|
|
|
- }
|
|
|
- return "";
|
|
|
- }
|
|
|
- List<UserMtAuth> userMtAuthList = findByPropertyValue("userId", userId);
|
|
|
- String userMtAuthStr = "";
|
|
|
-
|
|
|
- if (userMtAuthList.size() > 0) {
|
|
|
- userMtAuthStr = userMtAuthList.get(0).getOrgId();
|
|
|
- }
|
|
|
-
|
|
|
- return userMtAuthStr;
|
|
|
- }
|
|
|
-
|
|
|
-// @Override
|
|
|
-// public ResponseStatus impManger(List<Map<String, String>> list, Map<String, String> userMgeIdmMap) {
|
|
|
-//
|
|
|
-// List<UserMtAuth> userMtAuthList = new ArrayList<UserMtAuth>();
|
|
|
-// List<MgeLog> mgeLogList = new ArrayList<MgeLog>();
|
|
|
-// for (Map<String, String> map : list) {
|
|
|
-//
|
|
|
-// UserMtAuth userMtAuth = new UserMtAuth();
|
|
|
-// AuthUserInfo userInfo = authUserInfoService.findByIdcard(map.get("idCard"));
|
|
|
-// if(null == userInfo) {
|
|
|
-// continue;
|
|
|
-// }
|
|
|
-// userMtAuth.setMgeId(userMgeIdmMap.get(userInfo.getId()));
|
|
|
-// userMtAuth.setUserId(userInfo.getId());
|
|
|
-// userMtAuth.setOrgId(map.get("authOrgId") + ":" + map.get("auth"));
|
|
|
-// userMtAuthList.add(userMtAuth);
|
|
|
-// mgeLogList.add(mgeLogService.getMgeLog("40", userMtAuth.getUserId(), userMtAuth.getOrgId(), OBJECT_TYPE));
|
|
|
-// }
|
|
|
-// userMtAuthBPO.saveAll(userMtAuthList);
|
|
|
-// mgeLogService.saveAll(mgeLogList);
|
|
|
-// return ResponseStatus.success();
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public List<String> mgeUserRightRangeList(String userId) {
|
|
|
-// List<UserMtAuth> userMtAuthList = findByPropertyValue("userId", userId);
|
|
|
-// List<String> userMtAuthStrList = new ArrayList<String>();
|
|
|
-//
|
|
|
-// if (userMtAuthList.size() == 1) {
|
|
|
-// for (String orgId : userMtAuthList.get(0).getOrgId().split(",")) {
|
|
|
-// userMtAuthStrList.add(orgId);
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// return userMtAuthStrList;
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public List<UserMtAuth> userMtList(String userId) {
|
|
|
-// return userMtAuthBPO.userMtList(userId);
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public List<TreeNodeVo> orgFilter(List<TreeNodeVo> orgList, String userId) {
|
|
|
-// String targetUserId = userId;
|
|
|
-// if (StringUtils.isEmpty(targetUserId)) {
|
|
|
-// targetUserId = ContextUtils.getUserInfo().getId();
|
|
|
-// }
|
|
|
-//
|
|
|
-// List<UserMtAuth> userMtAuthList = findByPropertyValue("userId", targetUserId);
|
|
|
-// StringBuffer orgIds = new StringBuffer();
|
|
|
-// List<TreeNodeVo> newTreeNodeList = new ArrayList<TreeNodeVo>();
|
|
|
-//
|
|
|
-// for (UserMtAuth userMtAuth : userMtAuthList) {
|
|
|
-// orgIds.append(userMtAuth.getOrgId());
|
|
|
-// }
|
|
|
-//
|
|
|
-// for (TreeNodeVo treeNodeVo : orgList) {
|
|
|
-// if (orgIds.toString().contains(treeNodeVo.getValue())) {
|
|
|
-// newTreeNodeList.add(treeNodeVo);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// return newTreeNodeList;
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public String getUserMtForSql(String userId, String fieldId, String fieldCode) {
|
|
|
-// if (StringUtils.isEmpty(userId)) {
|
|
|
-// return "";
|
|
|
-// }
|
|
|
-// String orgIds = this.mgeUserRightRangeStr(userId);
|
|
|
-// Set<String> inIdSet = new HashSet<String>();
|
|
|
-// StringBuffer buffer = new StringBuffer();
|
|
|
-// String[] idStrs = orgIds.split(",");
|
|
|
-// String result = "";
|
|
|
-// for (String idStr : idStrs) {
|
|
|
-// int index = idStr.indexOf(":");
|
|
|
-// if (index != -1) {
|
|
|
-// int rang = Integer.valueOf(idStr.substring(index + 1));
|
|
|
-// if (rang == 2 || rang == -1) {
|
|
|
-// String orgId = idStr.substring(0, index);
|
|
|
-// OrgInfo orgInfo = orgInfoFacade.detail(orgId);
|
|
|
-// String orgInfoCode = orgInfo.getCode();
|
|
|
-// if (DeptTreeUtils.CODE_DEPT.equals(orgInfoCode)) {
|
|
|
-// return "";
|
|
|
-// }
|
|
|
-// String code = DeptTreeUtils.getShortDeptId(orgInfoCode);
|
|
|
-// buffer.append(" or " + fieldCode + " like '" + code + "%'");
|
|
|
-// } else {
|
|
|
-// inIdSet.add(idStr.substring(0, index));
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// inIdSet.add(idStr);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (inIdSet.size() > 0) {
|
|
|
-// result = getHQLIn(new ArrayList<Object>(inIdSet), 1000, fieldId);
|
|
|
-// }
|
|
|
-// if (StringUtils.isNotEmpty(result)) {
|
|
|
-// result = "(" + result + ")" + buffer.toString();
|
|
|
-// } else {
|
|
|
-// result = buffer.length() > 3 ? buffer.substring(3) : "";
|
|
|
-// }
|
|
|
-// return result;
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public List<UserMtAuth> getAllList() {
|
|
|
-// return userMtAuthBPO.findAll();
|
|
|
-// }
|
|
|
-// /**
|
|
|
-// * in参数超过1000处理,转为 field in(……)or field in(……)……
|
|
|
-// *
|
|
|
-// * @param ids
|
|
|
-// * @param count
|
|
|
-// * @param field
|
|
|
-// * @return
|
|
|
-// */
|
|
|
-// private String getHQLIn(List<?> ids, int count, String field) {
|
|
|
-// count = Math.min(count, 1000);
|
|
|
-// int len = ids.size();
|
|
|
-// int size = len % count;
|
|
|
-// if (size == 0) {
|
|
|
-// size = len / count;
|
|
|
-// } else {
|
|
|
-// size = (len / count) + 1;
|
|
|
-// }
|
|
|
-// StringBuilder builder = new StringBuilder();
|
|
|
-// for (int i = 0; i < size; i++) {
|
|
|
-// int fromIndex = i * count;
|
|
|
-// int toIndex = Math.min(fromIndex + count, len);
|
|
|
-// String productId = StringUtils.defaultIfEmpty(StringUtils.join(ids.subList(fromIndex, toIndex), "','"), "");
|
|
|
-// if (i != 0) {
|
|
|
-// builder.append(" or ");
|
|
|
-// }
|
|
|
-// builder.append(field).append(" in ('").append(productId).append("')");
|
|
|
-// }
|
|
|
-// return StringUtils.defaultIfEmpty(builder.toString(), field + " in ('')");
|
|
|
-// }
|
|
|
-}
|