feat(domain): 添加领域工作交接功能
parent
1fd7eb5ea6
commit
2b0b9235fc
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.zcloud.domain.facade;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.zcloud.domain.command.DomainWorkChangeExe;
|
||||||
|
import com.zcloud.domain.command.query.DomainWorkQueryExe;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.facade.ZcloudDomainFacade;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.request.DomainQry;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.request.DomainWorkChangeCmd;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.response.DomainListByUserCO;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@DubboService
|
||||||
|
public class ZcloudDomainFacadeImpl implements ZcloudDomainFacade {
|
||||||
|
@Resource
|
||||||
|
private DomainWorkQueryExe domainWorkQueryExe;
|
||||||
|
@Resource
|
||||||
|
private DomainWorkChangeExe domainWorkChangeExe;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MultiResponse<DomainListByUserCO> listManagerByUserId(DomainQry domainQry) {
|
||||||
|
return MultiResponse.of(domainWorkQueryExe.execute(domainQry));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse updateRiskWorkChange(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
domainWorkChangeExe.execute(domainWorkChangeCmd);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,243 @@
|
||||||
|
package com.zcloud.domain.command;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.jjb.saas.message.client.message.facede.MessageFacade;
|
||||||
|
import com.jjb.saas.message.client.message.request.MessageSendCmd;
|
||||||
|
import com.jjb.saas.message.client.message.request.MessageTargetCmd;
|
||||||
|
import com.zcloud.domain.domain.config.MessageConfig;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
|
||||||
|
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||||
|
import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent;
|
||||||
|
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.request.DomainWorkChangeCmd;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领域工作交接执行器
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DomainWorkChangeExe {
|
||||||
|
private final DomainDepartmentRepository domainDepartmentRepository;
|
||||||
|
private final DomainDepartmentUserRepository domainDepartmentUserRepository;
|
||||||
|
private final DomainGroupRepository domainGroupRepository;
|
||||||
|
private final DomainGroupUserRepository domainGroupUserRepository;
|
||||||
|
private final TodoListEventPusherUtil todoListEventPusherUtil;
|
||||||
|
private final MessageConfig messageConfig;
|
||||||
|
@DubboReference
|
||||||
|
private MessageFacade messageFacade;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void execute(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
checkParam(domainWorkChangeCmd);
|
||||||
|
if (changeDomainDepartment(domainWorkChangeCmd)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (changeDomainDepartmentUser(domainWorkChangeCmd)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (changeDomainGroup(domainWorkChangeCmd)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (changeDomainGroupUser(domainWorkChangeCmd)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
throw new BizException("未找到对应的领域交接工作");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkParam(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
if (domainWorkChangeCmd == null || StringUtils.isBlank(domainWorkChangeCmd.getWorkId())) {
|
||||||
|
throw new BizException("工作标识不能为空");
|
||||||
|
}
|
||||||
|
if (domainWorkChangeCmd.getOldUserId() == null) {
|
||||||
|
throw new BizException("原交接人员不能为空");
|
||||||
|
}
|
||||||
|
if (domainWorkChangeCmd.getUserId() == null) {
|
||||||
|
throw new BizException("新交接人员不能为空");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean changeDomainDepartment(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
DomainDepartmentDO domainDepartmentDO = domainDepartmentRepository.getByWorkId(domainWorkChangeCmd.getWorkId());
|
||||||
|
if (domainDepartmentDO == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(domainDepartmentDO.getMasterUserId(), domainWorkChangeCmd.getOldUserId())) {
|
||||||
|
log.warn("领域负责人交接跳过,当前负责人已变更,workId:{}, oldUserId:{}, dbUserId:{}",
|
||||||
|
domainWorkChangeCmd.getWorkId(), domainWorkChangeCmd.getOldUserId(), domainDepartmentDO.getMasterUserId());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
domainDepartmentDO.setMasterUserId(domainWorkChangeCmd.getUserId());
|
||||||
|
if (domainWorkChangeCmd.getDeptId() != null) {
|
||||||
|
domainDepartmentDO.setMasterDepartmentId(domainWorkChangeCmd.getDeptId());
|
||||||
|
}
|
||||||
|
domainDepartmentRepository.updateById(domainDepartmentDO);
|
||||||
|
sendWorkChangeMessage(domainWorkChangeCmd, domainDepartmentDO.getId(), "领域负责人", buildDomainDepartmentContent(domainDepartmentDO));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean changeDomainDepartmentUser(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
DomainDepartmentUserDO domainDepartmentUserDO = domainDepartmentUserRepository.getByWorkId(domainWorkChangeCmd.getWorkId());
|
||||||
|
if (domainDepartmentUserDO == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(domainDepartmentUserDO.getUserId(), domainWorkChangeCmd.getOldUserId())) {
|
||||||
|
log.warn("领域审核人员交接跳过,当前审核人员已变更,workId:{}, oldUserId:{}, dbUserId:{}",
|
||||||
|
domainWorkChangeCmd.getWorkId(), domainWorkChangeCmd.getOldUserId(), domainDepartmentUserDO.getUserId());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
Long duplicateCount = domainDepartmentUserRepository.countByDomainDepartmentIdAndUserId(
|
||||||
|
domainDepartmentUserDO.getDomainDepartmentId(), domainWorkChangeCmd.getUserId(), domainDepartmentUserDO.getId());
|
||||||
|
if (duplicateCount != null && duplicateCount > 0) {
|
||||||
|
throw new BizException("新交接人员已存在于该领域审核人员中");
|
||||||
|
}
|
||||||
|
domainDepartmentUserDO.setUserId(domainWorkChangeCmd.getUserId());
|
||||||
|
if (domainWorkChangeCmd.getDeptId() != null) {
|
||||||
|
domainDepartmentUserDO.setDepartmentId(domainWorkChangeCmd.getDeptId());
|
||||||
|
}
|
||||||
|
domainDepartmentUserRepository.updateById(domainDepartmentUserDO);
|
||||||
|
DomainDepartmentDO domainDepartmentDO = domainDepartmentRepository.getInfoByUUID(domainDepartmentUserDO.getDomainDepartmentId());
|
||||||
|
sendWorkChangeMessage(domainWorkChangeCmd, domainDepartmentUserDO.getId(), "领域审核人员", buildDomainDepartmentContent(domainDepartmentDO));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean changeDomainGroup(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
DomainGroupDO domainGroupDO = domainGroupRepository.getByWorkId(domainWorkChangeCmd.getWorkId());
|
||||||
|
if (domainGroupDO == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(domainGroupDO.getTeamUserId(), domainWorkChangeCmd.getOldUserId())) {
|
||||||
|
log.warn("领域组组长交接跳过,当前组长已变更,workId:{}, oldUserId:{}, dbUserId:{}",
|
||||||
|
domainWorkChangeCmd.getWorkId(), domainWorkChangeCmd.getOldUserId(), domainGroupDO.getTeamUserId());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
domainGroupDO.setTeamUserId(domainWorkChangeCmd.getUserId());
|
||||||
|
if (domainWorkChangeCmd.getDeptId() != null) {
|
||||||
|
domainGroupDO.setTeamDepartmentId(domainWorkChangeCmd.getDeptId());
|
||||||
|
}
|
||||||
|
if (domainWorkChangeCmd.getCorpId() != null) {
|
||||||
|
domainGroupDO.setCorpinfoId(domainWorkChangeCmd.getCorpId());
|
||||||
|
}
|
||||||
|
domainGroupRepository.updateById(domainGroupDO);
|
||||||
|
sendWorkChangeMessage(domainWorkChangeCmd, domainGroupDO.getId(), "领域组组长", buildDomainGroupContent(domainGroupDO));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean changeDomainGroupUser(DomainWorkChangeCmd domainWorkChangeCmd) {
|
||||||
|
DomainGroupUserDO domainGroupUserDO = domainGroupUserRepository.getByWorkId(domainWorkChangeCmd.getWorkId());
|
||||||
|
if (domainGroupUserDO == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(domainGroupUserDO.getUserId(), domainWorkChangeCmd.getOldUserId())) {
|
||||||
|
log.warn("领域组成员交接跳过,当前成员已变更,workId:{}, oldUserId:{}, dbUserId:{}",
|
||||||
|
domainWorkChangeCmd.getWorkId(), domainWorkChangeCmd.getOldUserId(), domainGroupUserDO.getUserId());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
Long duplicateCount = domainGroupUserRepository.countByDomainGroupIdAndUserId(
|
||||||
|
domainGroupUserDO.getDomainGroupId(), domainWorkChangeCmd.getUserId(), domainGroupUserDO.getId());
|
||||||
|
if (duplicateCount != null && duplicateCount > 0) {
|
||||||
|
throw new BizException("新交接人员已存在于该领域组成员中");
|
||||||
|
}
|
||||||
|
domainGroupUserDO.setUserId(domainWorkChangeCmd.getUserId());
|
||||||
|
if (domainWorkChangeCmd.getDeptId() != null) {
|
||||||
|
domainGroupUserDO.setDepartmentId(domainWorkChangeCmd.getDeptId());
|
||||||
|
}
|
||||||
|
domainGroupUserRepository.updateById(domainGroupUserDO);
|
||||||
|
DomainGroupDO domainGroupDO = domainGroupRepository.getInfoByGroupId(domainGroupUserDO.getDomainGroupId());
|
||||||
|
sendWorkChangeMessage(domainWorkChangeCmd, domainGroupUserDO.getId(), "领域组成员", buildDomainGroupContent(domainGroupDO));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendWorkChangeMessage(DomainWorkChangeCmd domainWorkChangeCmd, Long foreignKey, String workProject, String workContent) {
|
||||||
|
try {
|
||||||
|
MessageSendCmd messageSendCmd = new MessageSendCmd();
|
||||||
|
messageSendCmd.setBusinessId(UuidUtil.get32UUID());
|
||||||
|
MessageTargetCmd messageTargetCmd = new MessageTargetCmd();
|
||||||
|
messageTargetCmd.setUserId(domainWorkChangeCmd.getUserId());
|
||||||
|
messageSendCmd.setTargetCmd(messageTargetCmd);
|
||||||
|
messageSendCmd.setSourceCode(resolveSourceCode(workProject));
|
||||||
|
messageSendCmd.setNeedTokenEnum(false);
|
||||||
|
messageSendCmd.setParams(buildSendParams(domainWorkChangeCmd, workProject, workContent));
|
||||||
|
log.info("领域工作交接发送消息参数:{}", JSONUtil.toJsonStr(messageSendCmd));
|
||||||
|
SingleResponse<Boolean> response = messageFacade.send(messageSendCmd);
|
||||||
|
log.info("领域工作交接发送消息结果:{}", JSONUtil.toJsonStr(response));
|
||||||
|
|
||||||
|
/* TodoListAddEvent event = new TodoListAddEvent();
|
||||||
|
event.setTitle("您有一条【领域工作】待处理");
|
||||||
|
event.setContent(workProject + "交接待处理");
|
||||||
|
event.setForeignKey(foreignKey);
|
||||||
|
event.setForeignSubsidiaryKey(foreignKey);
|
||||||
|
event.setReceiveUser(domainWorkChangeCmd.getUserId());
|
||||||
|
event.setPcFlag(1);
|
||||||
|
event.setAppFlag(0);
|
||||||
|
event.setOtherParams(new JSONObject());
|
||||||
|
todoListEventPusherUtil.sendMessageAddEvent(event);*/
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("领域工作交接发送消息失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String resolveSourceCode(String workProject) {
|
||||||
|
if ("领域负责人".equals(workProject) || "领域审核人员".equals(workProject)) {
|
||||||
|
return StringUtils.defaultIfEmpty(messageConfig.getDomainWorkChange(), messageConfig.getScoreTaskAssign());
|
||||||
|
}
|
||||||
|
return StringUtils.defaultIfEmpty(messageConfig.getDomainWorkChange(), messageConfig.getTaskAssign());
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<String, Object> buildSendParams(DomainWorkChangeCmd domainWorkChangeCmd, String workProject, String workContent) {
|
||||||
|
Map<String, Object> sendParams = new HashMap<>();
|
||||||
|
sendParams.put("oldUserId", domainWorkChangeCmd.getOldUserId());
|
||||||
|
sendParams.put("newUserId", domainWorkChangeCmd.getUserId());
|
||||||
|
sendParams.put("newUserName", domainWorkChangeCmd.getUserName());
|
||||||
|
sendParams.put("workProject", workProject);
|
||||||
|
sendParams.put("workContent", workContent);
|
||||||
|
sendParams.put("DomainDepartment", workContent);
|
||||||
|
return sendParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildDomainDepartmentContent(DomainDepartmentDO domainDepartmentDO) {
|
||||||
|
if (domainDepartmentDO == null) {
|
||||||
|
return "领域配置";
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainDepartmentDO.getDomainTypeName())) {
|
||||||
|
return domainDepartmentDO.getDomainTypeName();
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainDepartmentDO.getMasterDepartmentName())) {
|
||||||
|
return domainDepartmentDO.getMasterDepartmentName();
|
||||||
|
}
|
||||||
|
return StringUtils.defaultIfEmpty(domainDepartmentDO.getDomainType(), "领域配置");
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildDomainGroupContent(DomainGroupDO domainGroupDO) {
|
||||||
|
if (domainGroupDO == null) {
|
||||||
|
return "领域组配置";
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainGroupDO.getDomainGroupName())) {
|
||||||
|
return domainGroupDO.getDomainGroupName();
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainGroupDO.getDomainTypeName())) {
|
||||||
|
return domainGroupDO.getDomainTypeName();
|
||||||
|
}
|
||||||
|
return StringUtils.defaultIfEmpty(domainGroupDO.getDomainType(), "领域组配置");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,124 @@
|
||||||
|
package com.zcloud.domain.command.query;
|
||||||
|
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.request.DomainQry;
|
||||||
|
import com.zcloud.gbscommon.zclouddomain.response.DomainListByUserCO;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领域待交接工作查询执行器
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DomainWorkQueryExe {
|
||||||
|
private final DomainDepartmentRepository domainDepartmentRepository;
|
||||||
|
private final DomainDepartmentUserRepository domainDepartmentUserRepository;
|
||||||
|
private final DomainGroupRepository domainGroupRepository;
|
||||||
|
private final DomainGroupUserRepository domainGroupUserRepository;
|
||||||
|
|
||||||
|
public List<DomainListByUserCO> execute(DomainQry domainQry) {
|
||||||
|
List<DomainListByUserCO> result = new ArrayList<>();
|
||||||
|
if (domainQry == null || domainQry.getUserId() == null || domainQry.getCorpinfoId() == null) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
result.addAll(listDomainDepartmentWork(domainQry));
|
||||||
|
result.addAll(listDomainDepartmentUserWork(domainQry));
|
||||||
|
result.addAll(listDomainGroupWork(domainQry));
|
||||||
|
result.addAll(listDomainGroupUserWork(domainQry));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DomainListByUserCO> listDomainDepartmentWork(DomainQry domainQry) {
|
||||||
|
List<DomainDepartmentDO> domainDepartmentList = domainDepartmentRepository.listWorkByUserId(domainQry.getUserId(), domainQry.getCorpinfoId());
|
||||||
|
List<DomainListByUserCO> result = new ArrayList<>();
|
||||||
|
for (DomainDepartmentDO domainDepartmentDO : domainDepartmentList) {
|
||||||
|
DomainDepartmentDO info = domainDepartmentRepository.getInfoByUUID(domainDepartmentDO.getDomainDepartmentId());
|
||||||
|
DomainListByUserCO data = new DomainListByUserCO();
|
||||||
|
data.setWorkId(domainDepartmentDO.getDomainDepartmentId());
|
||||||
|
data.setWorkProject("领域负责人");
|
||||||
|
data.setWorkContent(buildDomainDepartmentContent(info == null ? domainDepartmentDO : info));
|
||||||
|
result.add(data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DomainListByUserCO> listDomainDepartmentUserWork(DomainQry domainQry) {
|
||||||
|
List<DomainDepartmentUserDO> domainDepartmentUserList = domainDepartmentUserRepository.listWorkByUserId(domainQry.getUserId(), domainQry.getCorpinfoId());
|
||||||
|
List<DomainListByUserCO> result = new ArrayList<>();
|
||||||
|
for (DomainDepartmentUserDO domainDepartmentUserDO : domainDepartmentUserList) {
|
||||||
|
DomainDepartmentDO domainDepartmentDO = domainDepartmentRepository.getInfoByUUID(domainDepartmentUserDO.getDomainDepartmentId());
|
||||||
|
DomainListByUserCO data = new DomainListByUserCO();
|
||||||
|
data.setWorkId(domainDepartmentUserDO.getDomainDepartmentUserId());
|
||||||
|
data.setWorkProject("领域审核人员");
|
||||||
|
data.setWorkContent(buildDomainDepartmentContent(domainDepartmentDO));
|
||||||
|
result.add(data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DomainListByUserCO> listDomainGroupWork(DomainQry domainQry) {
|
||||||
|
List<DomainGroupDO> domainGroupList = domainGroupRepository.listWorkByUserId(domainQry.getUserId(), domainQry.getCorpinfoId());
|
||||||
|
List<DomainListByUserCO> result = new ArrayList<>();
|
||||||
|
for (DomainGroupDO domainGroupDO : domainGroupList) {
|
||||||
|
DomainGroupDO info = domainGroupRepository.getInfoByGroupId(domainGroupDO.getDomainGroupId());
|
||||||
|
DomainListByUserCO data = new DomainListByUserCO();
|
||||||
|
data.setWorkId(domainGroupDO.getDomainGroupId());
|
||||||
|
data.setWorkProject("领域组组长");
|
||||||
|
data.setWorkContent(buildDomainGroupContent(info == null ? domainGroupDO : info));
|
||||||
|
result.add(data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DomainListByUserCO> listDomainGroupUserWork(DomainQry domainQry) {
|
||||||
|
List<DomainGroupUserDO> domainGroupUserList = domainGroupUserRepository.listWorkByUserId(domainQry.getUserId(), domainQry.getCorpinfoId());
|
||||||
|
List<DomainListByUserCO> result = new ArrayList<>();
|
||||||
|
for (DomainGroupUserDO domainGroupUserDO : domainGroupUserList) {
|
||||||
|
DomainGroupDO domainGroupDO = domainGroupRepository.getInfoByGroupId(domainGroupUserDO.getDomainGroupId());
|
||||||
|
DomainListByUserCO data = new DomainListByUserCO();
|
||||||
|
data.setWorkId(domainGroupUserDO.getDomainGroupUserId());
|
||||||
|
data.setWorkProject("领域组成员");
|
||||||
|
data.setWorkContent(buildDomainGroupContent(domainGroupDO));
|
||||||
|
result.add(data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildDomainDepartmentContent(DomainDepartmentDO domainDepartmentDO) {
|
||||||
|
if (domainDepartmentDO == null) {
|
||||||
|
return "领域配置";
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainDepartmentDO.getDomainTypeName())) {
|
||||||
|
return domainDepartmentDO.getDomainTypeName();
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainDepartmentDO.getMasterDepartmentName())) {
|
||||||
|
return domainDepartmentDO.getMasterDepartmentName();
|
||||||
|
}
|
||||||
|
return StringUtils.defaultIfEmpty(domainDepartmentDO.getDomainType(), "领域配置");
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildDomainGroupContent(DomainGroupDO domainGroupDO) {
|
||||||
|
if (domainGroupDO == null) {
|
||||||
|
return "领域组配置";
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainGroupDO.getDomainGroupName())) {
|
||||||
|
return domainGroupDO.getDomainGroupName();
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(domainGroupDO.getDomainTypeName())) {
|
||||||
|
return domainGroupDO.getDomainTypeName();
|
||||||
|
}
|
||||||
|
return StringUtils.defaultIfEmpty(domainGroupDO.getDomainType(), "领域组配置");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -31,4 +31,9 @@ public class MessageConfig {
|
||||||
* 评分任务待分配
|
* 评分任务待分配
|
||||||
*/
|
*/
|
||||||
private String scoreTaskAssign;
|
private String scoreTaskAssign;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领域工作交接通知
|
||||||
|
*/
|
||||||
|
private String domainWorkChange;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -29,5 +30,9 @@ public interface DomainDepartmentMapper extends BaseMapper<DomainDepartmentDO> {
|
||||||
List<DomainDepartmentDO> listAll(Map<String, Object> params);
|
List<DomainDepartmentDO> listAll(Map<String, Object> params);
|
||||||
|
|
||||||
DomainDepartmentDO getInfoByUUID(String domainDepartmentId);
|
DomainDepartmentDO getInfoByUUID(String domainDepartmentId);
|
||||||
|
|
||||||
|
List<DomainDepartmentDO> listWorkByUserId(@Param("userId") Long userId, @Param("corpinfoId") Long corpinfoId);
|
||||||
|
|
||||||
|
DomainDepartmentDO getByWorkId(@Param("workId") String workId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -20,5 +21,13 @@ public interface DomainDepartmentUserMapper extends BaseMapper<DomainDepartmentU
|
||||||
List<DomainDepartmentUserDO> getListByDomainDepartmentId(String domainDepartmentId);
|
List<DomainDepartmentUserDO> getListByDomainDepartmentId(String domainDepartmentId);
|
||||||
|
|
||||||
IPage<DomainDepartmentUserDO> listPage(IPage<DomainDepartmentUserDO> iPage, Map<String, Object> params);
|
IPage<DomainDepartmentUserDO> listPage(IPage<DomainDepartmentUserDO> iPage, Map<String, Object> params);
|
||||||
|
|
||||||
|
List<DomainDepartmentUserDO> listWorkByUserId(@Param("userId") Long userId, @Param("corpinfoId") Long corpinfoId);
|
||||||
|
|
||||||
|
DomainDepartmentUserDO getByWorkId(@Param("workId") String workId);
|
||||||
|
|
||||||
|
Long countByDomainDepartmentIdAndUserId(@Param("domainDepartmentId") String domainDepartmentId,
|
||||||
|
@Param("userId") Long userId,
|
||||||
|
@Param("excludeId") Long excludeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -29,5 +30,9 @@ public interface DomainGroupMapper extends BaseMapper<DomainGroupDO> {
|
||||||
List<DomainGroupDO> listAll(Map<String, Object> params);
|
List<DomainGroupDO> listAll(Map<String, Object> params);
|
||||||
|
|
||||||
DomainGroupDO getInfoByGroupId(String domainGroupId);
|
DomainGroupDO getInfoByGroupId(String domainGroupId);
|
||||||
|
|
||||||
|
List<DomainGroupDO> listWorkByUserId(@Param("userId") Long userId, @Param("corpinfoId") Long corpinfoId);
|
||||||
|
|
||||||
|
DomainGroupDO getByWorkId(@Param("workId") String workId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -20,5 +21,13 @@ public interface DomainGroupUserMapper extends BaseMapper<DomainGroupUserDO> {
|
||||||
List<DomainGroupUserDO> getListByGroupId(String domainGroupId);
|
List<DomainGroupUserDO> getListByGroupId(String domainGroupId);
|
||||||
|
|
||||||
IPage<DomainGroupUserDO> listPage(IPage<DomainGroupUserDO> iPage, Map<String, Object> params);
|
IPage<DomainGroupUserDO> listPage(IPage<DomainGroupUserDO> iPage, Map<String, Object> params);
|
||||||
|
|
||||||
|
List<DomainGroupUserDO> listWorkByUserId(@Param("userId") Long userId, @Param("corpinfoId") Long corpinfoId);
|
||||||
|
|
||||||
|
DomainGroupUserDO getByWorkId(@Param("workId") String workId);
|
||||||
|
|
||||||
|
Long countByDomainGroupIdAndUserId(@Param("domainGroupId") String domainGroupId,
|
||||||
|
@Param("userId") Long userId,
|
||||||
|
@Param("excludeId") Long excludeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,9 @@ public interface DomainDepartmentRepository extends BaseRepository<DomainDepartm
|
||||||
List<DomainDepartmentDO> listAll(Map<String, Object> params);
|
List<DomainDepartmentDO> listAll(Map<String, Object> params);
|
||||||
|
|
||||||
DomainDepartmentDO getInfoByUUID(String domainDepartmentId);
|
DomainDepartmentDO getInfoByUUID(String domainDepartmentId);
|
||||||
|
|
||||||
|
List<DomainDepartmentDO> listWorkByUserId(Long userId, Long corpinfoId);
|
||||||
|
|
||||||
|
DomainDepartmentDO getByWorkId(String workId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,5 +19,11 @@ public interface DomainDepartmentUserRepository extends BaseRepository<DomainDep
|
||||||
void deleteByDomainDepartmentId(String domainDepartmentId);
|
void deleteByDomainDepartmentId(String domainDepartmentId);
|
||||||
|
|
||||||
List<DomainDepartmentUserDO> getListByDomainDepartmentId(String domainDepartmentId);
|
List<DomainDepartmentUserDO> getListByDomainDepartmentId(String domainDepartmentId);
|
||||||
|
|
||||||
|
List<DomainDepartmentUserDO> listWorkByUserId(Long userId, Long corpinfoId);
|
||||||
|
|
||||||
|
DomainDepartmentUserDO getByWorkId(String workId);
|
||||||
|
|
||||||
|
Long countByDomainDepartmentIdAndUserId(String domainDepartmentId, Long userId, Long excludeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,5 +26,9 @@ public interface DomainGroupRepository extends BaseRepository<DomainGroupDO> {
|
||||||
|
|
||||||
DomainGroupDO getInfoByGroupId(String domainGroupId);
|
DomainGroupDO getInfoByGroupId(String domainGroupId);
|
||||||
|
|
||||||
|
List<DomainGroupDO> listWorkByUserId(Long userId, Long corpinfoId);
|
||||||
|
|
||||||
|
DomainGroupDO getByWorkId(String workId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,5 +20,11 @@ public interface DomainGroupUserRepository extends BaseRepository<DomainGroupUse
|
||||||
|
|
||||||
List<DomainGroupUserDO> getListByGroupId(String domainGroupId);
|
List<DomainGroupUserDO> getListByGroupId(String domainGroupId);
|
||||||
|
|
||||||
|
List<DomainGroupUserDO> listWorkByUserId(Long userId, Long corpinfoId);
|
||||||
|
|
||||||
|
DomainGroupUserDO getByWorkId(String workId);
|
||||||
|
|
||||||
|
Long countByDomainGroupIdAndUserId(String domainGroupId, Long userId, Long excludeId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,5 +68,15 @@ public class DomainDepartmentRepositoryImpl extends BaseRepositoryImpl<DomainDep
|
||||||
DomainDepartmentDO domainDepartmentDO = domainDepartmentMapper.getInfoByUUID(domainDepartmentId);
|
DomainDepartmentDO domainDepartmentDO = domainDepartmentMapper.getInfoByUUID(domainDepartmentId);
|
||||||
return domainDepartmentDO;
|
return domainDepartmentDO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DomainDepartmentDO> listWorkByUserId(Long userId, Long corpinfoId) {
|
||||||
|
return domainDepartmentMapper.listWorkByUserId(userId, corpinfoId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DomainDepartmentDO getByWorkId(String workId) {
|
||||||
|
return domainDepartmentMapper.getByWorkId(workId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,5 +45,20 @@ public class DomainDepartmentUserRepositoryImpl extends BaseRepositoryImpl<Domai
|
||||||
public List<DomainDepartmentUserDO> getListByDomainDepartmentId(String domainDepartmentId) {
|
public List<DomainDepartmentUserDO> getListByDomainDepartmentId(String domainDepartmentId) {
|
||||||
return domainDepartmentUserMapper.getListByDomainDepartmentId(domainDepartmentId);
|
return domainDepartmentUserMapper.getListByDomainDepartmentId(domainDepartmentId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DomainDepartmentUserDO> listWorkByUserId(Long userId, Long corpinfoId) {
|
||||||
|
return domainDepartmentUserMapper.listWorkByUserId(userId, corpinfoId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DomainDepartmentUserDO getByWorkId(String workId) {
|
||||||
|
return domainDepartmentUserMapper.getByWorkId(workId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long countByDomainDepartmentIdAndUserId(String domainDepartmentId, Long userId, Long excludeId) {
|
||||||
|
return domainDepartmentUserMapper.countByDomainDepartmentIdAndUserId(domainDepartmentId, userId, excludeId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,5 +66,15 @@ public class DomainGroupRepositoryImpl extends BaseRepositoryImpl<DomainGroupMap
|
||||||
public DomainGroupDO getInfoByGroupId(String domainGroupId) {
|
public DomainGroupDO getInfoByGroupId(String domainGroupId) {
|
||||||
return domainGroupMapper.getInfoByGroupId(domainGroupId);
|
return domainGroupMapper.getInfoByGroupId(domainGroupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DomainGroupDO> listWorkByUserId(Long userId, Long corpinfoId) {
|
||||||
|
return domainGroupMapper.listWorkByUserId(userId, corpinfoId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DomainGroupDO getByWorkId(String workId) {
|
||||||
|
return domainGroupMapper.getByWorkId(workId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,20 @@ public class DomainGroupUserRepositoryImpl extends BaseRepositoryImpl<DomainGrou
|
||||||
public List<DomainGroupUserDO> getListByGroupId(String domainGroupId) {
|
public List<DomainGroupUserDO> getListByGroupId(String domainGroupId) {
|
||||||
return domainGroupUserMapper.getListByGroupId(domainGroupId);
|
return domainGroupUserMapper.getListByGroupId(domainGroupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DomainGroupUserDO> listWorkByUserId(Long userId, Long corpinfoId) {
|
||||||
|
return domainGroupUserMapper.listWorkByUserId(userId, corpinfoId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DomainGroupUserDO getByWorkId(String workId) {
|
||||||
|
return domainGroupUserMapper.getByWorkId(workId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long countByDomainGroupIdAndUserId(String domainGroupId, Long userId, Long excludeId) {
|
||||||
|
return domainGroupUserMapper.countByDomainGroupIdAndUserId(domainGroupId, userId, excludeId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,5 +49,24 @@
|
||||||
where dd.delete_enum = 'FALSE'
|
where dd.delete_enum = 'FALSE'
|
||||||
and dd.domain_department_id = #{domainDepartmentId}
|
and dd.domain_department_id = #{domainDepartmentId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listWorkByUserId" resultType="com.zcloud.domain.persistence.dataobject.DomainDepartmentDO">
|
||||||
|
select dd.*, d.name as masterDepartmentName, u.name as masterUserName
|
||||||
|
from domain_department dd
|
||||||
|
left join department d on dd.master_department_id = d.id and d.delete_enum = 'FALSE'
|
||||||
|
left join user u on dd.master_user_id = u.id and u.delete_enum = 'FALSE'
|
||||||
|
where dd.delete_enum = 'FALSE'
|
||||||
|
and dd.master_user_id = #{userId}
|
||||||
|
and d.corpinfo_id = #{corpinfoId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getByWorkId" resultType="com.zcloud.domain.persistence.dataobject.DomainDepartmentDO">
|
||||||
|
select dd.*, d.name as masterDepartmentName, u.name as masterUserName
|
||||||
|
from domain_department dd
|
||||||
|
left join department d on dd.master_department_id = d.id and d.delete_enum = 'FALSE'
|
||||||
|
left join user u on dd.master_user_id = u.id and u.delete_enum = 'FALSE'
|
||||||
|
where dd.delete_enum = 'FALSE'
|
||||||
|
and dd.domain_department_id = #{workId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,36 @@
|
||||||
and ddu.domain_department_id = #{params.domainDepartmentId}
|
and ddu.domain_department_id = #{params.domainDepartmentId}
|
||||||
order by ddu.create_time desc
|
order by ddu.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listWorkByUserId" resultType="com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO">
|
||||||
|
select ddu.*, d.name as departmentname, u.name as username, c.corp_name as corpinfoName, c.id as corpinfoId
|
||||||
|
from domain_department_user ddu
|
||||||
|
left join department d on ddu.department_id = d.id and d.delete_enum = 'FALSE'
|
||||||
|
left join corp_info c on d.corpinfo_id = c.id and c.delete_enum = 'FALSE'
|
||||||
|
left join user u on ddu.user_id = u.id and u.delete_enum = 'FALSE'
|
||||||
|
where ddu.delete_enum = 'FALSE'
|
||||||
|
and ddu.user_id = #{userId}
|
||||||
|
and d.corpinfo_id = #{corpinfoId}
|
||||||
|
order by ddu.create_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getByWorkId" resultType="com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO">
|
||||||
|
select ddu.*, d.name as departmentname, u.name as username, c.corp_name as corpinfoName, c.id as corpinfoId
|
||||||
|
from domain_department_user ddu
|
||||||
|
left join department d on ddu.department_id = d.id and d.delete_enum = 'FALSE'
|
||||||
|
left join corp_info c on d.corpinfo_id = c.id and c.delete_enum = 'FALSE'
|
||||||
|
left join user u on ddu.user_id = u.id and u.delete_enum = 'FALSE'
|
||||||
|
where ddu.delete_enum = 'FALSE'
|
||||||
|
and ddu.domain_department_user_id = #{workId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="countByDomainDepartmentIdAndUserId" resultType="java.lang.Long">
|
||||||
|
select count(1)
|
||||||
|
from domain_department_user ddu
|
||||||
|
where ddu.delete_enum = 'FALSE'
|
||||||
|
and ddu.domain_department_id = #{domainDepartmentId}
|
||||||
|
and ddu.user_id = #{userId}
|
||||||
|
and ddu.id <![CDATA[<>]]> #{excludeId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,5 +70,32 @@
|
||||||
left join user u on dg.team_user_id = u.id and u.delete_enum = 'false'
|
left join user u on dg.team_user_id = u.id and u.delete_enum = 'false'
|
||||||
where dg.delete_enum = 'false' and dg.domain_group_id=#{domainGroupId}
|
where dg.delete_enum = 'false' and dg.domain_group_id=#{domainGroupId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listWorkByUserId" resultType="com.zcloud.domain.persistence.dataobject.DomainGroupDO">
|
||||||
|
select dg.*,
|
||||||
|
c.corp_name as corpinfoname,
|
||||||
|
d.name as teamdepartmentname,
|
||||||
|
u.name as teamusername
|
||||||
|
from domain_group dg
|
||||||
|
left join corp_info c on dg.corpinfo_id = c.id and c.delete_enum = 'false'
|
||||||
|
left join department d on dg.team_department_id = d.id and d.delete_enum = 'false'
|
||||||
|
left join user u on dg.team_user_id = u.id and u.delete_enum = 'false'
|
||||||
|
where dg.delete_enum = 'false'
|
||||||
|
and dg.team_user_id = #{userId}
|
||||||
|
and dg.corpinfo_id = #{corpinfoId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getByWorkId" resultType="com.zcloud.domain.persistence.dataobject.DomainGroupDO">
|
||||||
|
select dg.*,
|
||||||
|
c.corp_name as corpinfoname,
|
||||||
|
d.name as teamdepartmentname,
|
||||||
|
u.name as teamusername
|
||||||
|
from domain_group dg
|
||||||
|
left join corp_info c on dg.corpinfo_id = c.id and c.delete_enum = 'false'
|
||||||
|
left join department d on dg.team_department_id = d.id and d.delete_enum = 'false'
|
||||||
|
left join user u on dg.team_user_id = u.id and u.delete_enum = 'false'
|
||||||
|
where dg.delete_enum = 'false'
|
||||||
|
and dg.domain_group_id = #{workId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,36 @@
|
||||||
group by dgu.id
|
group by dgu.id
|
||||||
order by dgu.create_time desc
|
order by dgu.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listWorkByUserId" resultType="com.zcloud.domain.persistence.dataobject.DomainGroupUserDO">
|
||||||
|
select dgu.*, d.name as departmentname, u.name as username
|
||||||
|
from domain_group_user dgu
|
||||||
|
left join department d on dgu.department_id = d.id and d.delete_enum = 'false'
|
||||||
|
left join user u on dgu.user_id = u.id and u.delete_enum = 'false'
|
||||||
|
left join domain_group dg on dgu.domain_group_id = dg.domain_group_id and dg.delete_enum = 'false'
|
||||||
|
where dgu.delete_enum = 'false'
|
||||||
|
and dgu.user_id = #{userId}
|
||||||
|
and dg.corpinfo_id = #{corpinfoId}
|
||||||
|
group by dgu.id
|
||||||
|
order by dgu.create_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getByWorkId" resultType="com.zcloud.domain.persistence.dataobject.DomainGroupUserDO">
|
||||||
|
select dgu.*, d.name as departmentname, u.name as username
|
||||||
|
from domain_group_user dgu
|
||||||
|
left join department d on dgu.department_id = d.id and d.delete_enum = 'false'
|
||||||
|
left join user u on dgu.user_id = u.id and u.delete_enum = 'false'
|
||||||
|
where dgu.delete_enum = 'false'
|
||||||
|
and dgu.domain_group_user_id = #{workId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="countByDomainGroupIdAndUserId" resultType="java.lang.Long">
|
||||||
|
select count(1)
|
||||||
|
from domain_group_user dgu
|
||||||
|
where dgu.delete_enum = 'FALSE'
|
||||||
|
and dgu.domain_group_id = #{domainGroupId}
|
||||||
|
and dgu.user_id = #{userId}
|
||||||
|
and dgu.id <![CDATA[<>]]> #{excludeId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue