查询领域、文档关联的方法。
This commit is contained in:
+11
@@ -4,6 +4,10 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.domain.entity.DomainUserRel;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 领域与用户关系
|
||||
*@Author: wzj
|
||||
@@ -15,4 +19,11 @@ public interface DomainUserRelService extends IService<DomainUserRel> {
|
||||
|
||||
Result<?> queryList();
|
||||
|
||||
/**
|
||||
* 查询领域、文档关联的用户
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<String> queryDomainUserRelInfo(Map<String,Object> params);
|
||||
|
||||
}
|
||||
|
||||
+67
@@ -6,16 +6,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.domain.entity.DomainUserRel;
|
||||
import com.jero.modules.domain.mapper.DomainUserRelMapper;
|
||||
import com.jero.modules.domain.service.DomainUserRelService;
|
||||
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
|
||||
import com.jero.modules.subscribe.mapper.OnlCgformSubscribeMapper;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysUserMapper;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 领域与用户关系
|
||||
@@ -25,6 +33,13 @@ import java.util.List;
|
||||
@Service
|
||||
public class DomainManageServiceImpl extends ServiceImpl<DomainUserRelMapper, DomainUserRel> implements DomainUserRelService {
|
||||
|
||||
//我的订阅
|
||||
@Autowired
|
||||
private OnlCgformSubscribeMapper onlCgformSubscribeMapper;
|
||||
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
@Override
|
||||
public Result<?> insert(JSONObject jsonObject) {
|
||||
try {
|
||||
@@ -64,4 +79,56 @@ public class DomainManageServiceImpl extends ServiceImpl<DomainUserRelMapper, Do
|
||||
List<DomainUserRel> domainUserRels = super.baseMapper.selectList(queryWrapper);
|
||||
return Result.OK(domainUserRels);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询领域、文档关联的用户
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<String> queryDomainUserRelInfo(Map<String, Object> params) {
|
||||
String domainId = (String) params.get("domainId");
|
||||
if(oConvertUtils.isEmpty(domainId)){
|
||||
throw new JeroBootException("领域id不能为空!");
|
||||
}
|
||||
String documentId = (String) params.get("documentId");
|
||||
if(oConvertUtils.isEmpty(documentId)){
|
||||
throw new JeroBootException("文档id不能为空");
|
||||
}
|
||||
|
||||
List<String> result = new ArrayList<>();
|
||||
|
||||
try {
|
||||
//获取订阅该领域的所有用户信息
|
||||
QueryWrapper<DomainUserRel> queryDomain = new QueryWrapper<>();
|
||||
queryDomain.lambda().eq(DomainUserRel::getDomainId,domainId);
|
||||
List<DomainUserRel> domainUserRelList = super.baseMapper.selectList(queryDomain);
|
||||
if(CollectionUtils.isNotEmpty(domainUserRelList)){
|
||||
result = domainUserRelList.stream().map(DomainUserRel::getUserId).distinct().collect(Collectors.toList());
|
||||
}
|
||||
|
||||
//获取该文档所有订阅用户的信息
|
||||
QueryWrapper<OnlCgformSubscribe> querySubscribe = new QueryWrapper<>();
|
||||
querySubscribe.lambda().eq(OnlCgformSubscribe::getDocumentId,documentId);
|
||||
List<OnlCgformSubscribe> onlCgformSubscribeList = onlCgformSubscribeMapper.selectList(querySubscribe);
|
||||
if(CollectionUtils.isNotEmpty(onlCgformSubscribeList)){
|
||||
List<String> userNameList = onlCgformSubscribeList.stream().map(OnlCgformSubscribe::getCreateBy).distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<SysUser> userQuery = new QueryWrapper<>();
|
||||
userQuery.lambda().in(SysUser::getUsername,userNameList);
|
||||
List<SysUser> sysUsers = this.sysUserMapper.selectList(userQuery);
|
||||
if(CollectionUtils.isNotEmpty(sysUsers)){
|
||||
for (SysUser sysUser : sysUsers) {
|
||||
if(!result.contains(sysUser.getId())){
|
||||
result.add(sysUser.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception ex){
|
||||
log.error("根据领域id、文档id查询用户失败:" + ex.getMessage());
|
||||
throw new JeroBootException("根据领域id、文档id查询用户失败!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.tag.entity.OnlCgformArea;
|
||||
@@ -23,6 +24,7 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user