修改动态任务没有获取组id

master
wujingtao 3 years ago
parent 34e172913e
commit 124e6a45dc

@ -171,4 +171,11 @@ public interface OrganizeService {
* @return * @return
*/ */
Map<String, Object> selectAllOrganizeUser(); Map<String, Object> selectAllOrganizeUser();
/**
* id
* @param userId
* @return
*/
Organize getOrganizeByUserId(Long userId);
} }

@ -68,13 +68,13 @@ public class OrganizeServiceImpl implements OrganizeService {
Long saveUserId = null; Long saveUserId = null;
Set<Long> organizeUserIds = findOrganizeUserIds(); Set<Long> organizeUserIds = findOrganizeUserIds();
for (Organize organize : organizeList) { for (Organize organize : organizeList) {
if (organizeUserIds.contains(organize.getUserId())){ if (organizeUserIds.contains(organize.getUserId())) {
throw new BadRequestException("用户已经分配到组"); throw new BadRequestException("用户已经分配到组");
} }
organize.setCreateBy(SecurityUtils.getCurrentUserId()); organize.setCreateBy(SecurityUtils.getCurrentUserId());
Organize saveOrganize = organizeRepository.save(organize); Organize saveOrganize = organizeRepository.save(organize);
//添加分机号 //添加分机号
if (organize.getCallMode() == 1){ if (organize.getCallMode() == 1) {
extensionNumberService.assignExtensionNum(saveOrganize.getId(), organize.getUserId()); extensionNumberService.assignExtensionNum(saveOrganize.getId(), organize.getUserId());
} }
// 添加小组成员信息 // 添加小组成员信息
@ -100,18 +100,18 @@ public class OrganizeServiceImpl implements OrganizeService {
Organize updateOrganize = organizeRepository.findById(organize.getId()).orElseGet(Organize::new); Organize updateOrganize = organizeRepository.findById(organize.getId()).orElseGet(Organize::new);
OrganizeUser organizeUser = organizeUserRepository.findByOrganizeIdAndIsLeader(organize.getId(), true); OrganizeUser organizeUser = organizeUserRepository.findByOrganizeIdAndIsLeader(organize.getId(), true);
// 判断组长是否分配过资源 // 判断组长是否分配过资源
if (organizeUser.getUserId() != organize.getUserId()){ if (organizeUser.getUserId() != organize.getUserId()) {
Boolean flag = sourceClueClient.judgeMember(organizeUser.getUserId()).getBody(); Boolean flag = sourceClueClient.judgeMember(organizeUser.getUserId()).getBody();
if (flag) { if (flag) {
throw new BadRequestException("组长用户中有分配资源,组长替换失败"); throw new BadRequestException("组长用户中有分配资源,组长替换失败");
} }
} }
//添加(删除)分机号 //添加(删除)分机号
if (organize.getCallMode() != null && organize.getCallMode() != updateOrganize.getCallMode()){ if (organize.getCallMode() != null && organize.getCallMode() != updateOrganize.getCallMode()) {
List<OrganizeUser> organizeList = organizeUserRepository.findByOrganizeId(organize.getId()); List<OrganizeUser> organizeList = organizeUserRepository.findByOrganizeId(organize.getId());
if (organize.getCallMode() == 1) { if (organize.getCallMode() == 1) {
organizeList.forEach(oe -> extensionNumberService.assignExtensionNum(oe.getOrganizeId(), oe.getUserId())); organizeList.forEach(oe -> extensionNumberService.assignExtensionNum(oe.getOrganizeId(), oe.getUserId()));
}else if (updateOrganize.getCallMode() == 1){ } else if (updateOrganize.getCallMode() == 1) {
extensionNumberService.unbindExtension(updateOrganize.getId()); extensionNumberService.unbindExtension(updateOrganize.getId());
} }
} }
@ -156,14 +156,14 @@ public class OrganizeServiceImpl implements OrganizeService {
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
Set<Long> organizeUserIds = findOrganizeUserIds(); Set<Long> organizeUserIds = findOrganizeUserIds();
OrganizeUser organizeUserByUserId = organizeUserRepository.findByUserId(currentUserId); OrganizeUser organizeUserByUserId = organizeUserRepository.findByUserId(currentUserId);
if (organizeUserByUserId == null){ if (organizeUserByUserId == null) {
throw new BadRequestException("用户未分配到组,请创建小组"); throw new BadRequestException("用户未分配到组,请创建小组");
} }
Long organizeId = organizeUserByUserId.getOrganizeId(); Long organizeId = organizeUserByUserId.getOrganizeId();
Organize organize = organizeRepository.findById(organizeId).orElseGet(Organize::new); Organize organize = organizeRepository.findById(organizeId).orElseGet(Organize::new);
// 添加组长下的组员信息 // 添加组长下的组员信息
for (OrganizeUser addOrganizeUser : organizeUser) { for (OrganizeUser addOrganizeUser : organizeUser) {
if (organizeUserIds.contains(addOrganizeUser.getUserId())){ if (organizeUserIds.contains(addOrganizeUser.getUserId())) {
throw new BadRequestException("用户已经分配到组"); throw new BadRequestException("用户已经分配到组");
} }
addOrganizeUser.setOrganizeId(organizeId); addOrganizeUser.setOrganizeId(organizeId);
@ -171,7 +171,7 @@ public class OrganizeServiceImpl implements OrganizeService {
addOrganizeUser.setCreateBy(currentUserId); addOrganizeUser.setCreateBy(currentUserId);
OrganizeUser saveOrganizeUser = organizeUserRepository.save(addOrganizeUser); OrganizeUser saveOrganizeUser = organizeUserRepository.save(addOrganizeUser);
//添加分机号 //添加分机号
if (organize.getCallMode() == 1){ if (organize.getCallMode() == 1) {
extensionNumberService.assignExtensionNum(saveOrganizeUser.getOrganizeId(), saveOrganizeUser.getUserId()); extensionNumberService.assignExtensionNum(saveOrganizeUser.getOrganizeId(), saveOrganizeUser.getUserId());
} }
} }
@ -264,7 +264,7 @@ public class OrganizeServiceImpl implements OrganizeService {
List<Long> clueList = sourceClueClient.queryList(organizeSaveDTO.getTaskId()).getBody(); List<Long> clueList = sourceClueClient.queryList(organizeSaveDTO.getTaskId()).getBody();
// 任务状态更新,创建标签 // 任务状态更新,创建标签
Task task = taskRepository.findById(organizeSaveDTO.getTaskId()).orElseGet(Task::new); Task task = taskRepository.findById(organizeSaveDTO.getTaskId()).orElseGet(Task::new);
if (task.getIsDistribution() == 1){ if (task.getIsDistribution() == 1) {
throw new BadRequestException("任务已分配,刷新后重试"); throw new BadRequestException("任务已分配,刷新后重试");
} }
List<String> labelNameList = organizeSaveDTO.getLabelNameList(); List<String> labelNameList = organizeSaveDTO.getLabelNameList();
@ -283,8 +283,8 @@ public class OrganizeServiceImpl implements OrganizeService {
distributeDTO.setWeights(weights); distributeDTO.setWeights(weights);
distributeDTO.setIsWeight(true); distributeDTO.setIsWeight(true);
CommonResponse<List<DistributeResponseDTO>> commonResponse = assignDataClient.dataDistribution(distributeDTO); CommonResponse<List<DistributeResponseDTO>> commonResponse = assignDataClient.dataDistribution(distributeDTO);
if (commonResponse.getStatus() == 1){ if (commonResponse.getStatus() == 1) {
throw new BadRequestException( commonResponse.getMsg()); throw new BadRequestException(commonResponse.getMsg());
} }
data = commonResponse.getData(); data = commonResponse.getData();
// 线索更新 // 线索更新
@ -298,7 +298,7 @@ public class OrganizeServiceImpl implements OrganizeService {
sourceClueClient.batchUpdateOrganize(distributeResponseDTO); sourceClueClient.batchUpdateOrganize(distributeResponseDTO);
// 添加小组-任务关联信息 // 添加小组-任务关联信息
TaskOrganize isFlagList = taskOrganizeRepository.findByOrganizeIdAndTaskId(distributeResponseDTO.getDeptId(), task.getId()); TaskOrganize isFlagList = taskOrganizeRepository.findByOrganizeIdAndTaskId(distributeResponseDTO.getDeptId(), task.getId());
if (isFlagList != null){ if (isFlagList != null) {
throw new BadRequestException("一个任务内分配组不能重复"); throw new BadRequestException("一个任务内分配组不能重复");
} }
int organizeTaskNum = distributeResponseDTO.getResponseList().size(); int organizeTaskNum = distributeResponseDTO.getResponseList().size();
@ -358,11 +358,11 @@ public class OrganizeServiceImpl implements OrganizeService {
List<Long> userIds = new ArrayList<>(); List<Long> userIds = new ArrayList<>();
for (OrganizeUser organizeUser : organizeUserList) { for (OrganizeUser organizeUser : organizeUserList) {
// 组长单独设置字段 // 组长单独设置字段
if (organizeUser.getIsLeader()){ if (organizeUser.getIsLeader()) {
UserDto userDto = userService.findById(organizeUser.getUserId()); UserDto userDto = userService.findById(organizeUser.getUserId());
organizeDto.setUserId(userDto.getId()); organizeDto.setUserId(userDto.getId());
organizeDto.setUserNickName(userDto.getNickName()); organizeDto.setUserNickName(userDto.getNickName());
}else { } else {
userIds.add(organizeUser.getUserId()); userIds.add(organizeUser.getUserId());
} }
} }
@ -467,7 +467,7 @@ public class OrganizeServiceImpl implements OrganizeService {
organizeUser.setCreateBy(SecurityUtils.getCurrentUserId()); organizeUser.setCreateBy(SecurityUtils.getCurrentUserId());
OrganizeUser saveOrganizeUser = organizeUserRepository.save(organizeUser); OrganizeUser saveOrganizeUser = organizeUserRepository.save(organizeUser);
//添加分机号 //添加分机号
if (organize.getCallMode() == 1){ if (organize.getCallMode() == 1) {
extensionNumberService.assignExtensionNum(saveOrganizeUser.getOrganizeId(), saveOrganizeUser.getUserId()); extensionNumberService.assignExtensionNum(saveOrganizeUser.getOrganizeId(), saveOrganizeUser.getUserId());
} }
} }
@ -556,7 +556,7 @@ public class OrganizeServiceImpl implements OrganizeService {
//判断redis中是否有值,线索列表时查询任务名称,任务id作为key,任务名称为val,任务名称不能修改 //判断redis中是否有值,线索列表时查询任务名称,任务id作为key,任务名称为val,任务名称不能修改
if (clueDto.getIsRedis() != null && clueDto.getIsRedis() == 1) { if (clueDto.getIsRedis() != null && clueDto.getIsRedis() == 1) {
String taskNameKey = "task:name:" + taskDetails.getId(); String taskNameKey = "task:name:" + taskDetails.getId();
if (!redisUtils.hasKey(taskNameKey)){ if (!redisUtils.hasKey(taskNameKey)) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
list.add(taskDetails.getTaskName()); list.add(taskDetails.getTaskName());
map.put("taskName", list); map.put("taskName", list);
@ -568,7 +568,7 @@ public class OrganizeServiceImpl implements OrganizeService {
} }
return map; return map;
} }
if (CollUtil.isNotEmpty(taskOrganizeDtos)){ if (CollUtil.isNotEmpty(taskOrganizeDtos)) {
TaskOrganizeDto taskOrganizeDto = taskOrganizeDtos.get(0); TaskOrganizeDto taskOrganizeDto = taskOrganizeDtos.get(0);
map.put("organizeLabel", taskOrganizeDto.getOrganizeLabel()); map.put("organizeLabel", taskOrganizeDto.getOrganizeLabel());
} }
@ -589,6 +589,7 @@ public class OrganizeServiceImpl implements OrganizeService {
/** /**
* *
*
* @return * @return
*/ */
@Override @Override
@ -598,24 +599,24 @@ public class OrganizeServiceImpl implements OrganizeService {
Long userId = SecurityUtils.getCurrentUserId(); Long userId = SecurityUtils.getCurrentUserId();
User user = userRepository.findById(userId).orElseGet(User::new); User user = userRepository.findById(userId).orElseGet(User::new);
OrganizeUser organizeUser = organizeUserRepository.findByUserId(userId); OrganizeUser organizeUser = organizeUserRepository.findByUserId(userId);
if (organizeUser != null){ if (organizeUser != null) {
Organize organize = organizeRepository.findById(organizeUser.getOrganizeId()).orElseGet(Organize::new); Organize organize = organizeRepository.findById(organizeUser.getOrganizeId()).orElseGet(Organize::new);
if (organize.getCallMode() == 1){ if (organize.getCallMode() == 1) {
// (点呼)获取分机号 // (点呼)获取分机号
tel = String.valueOf(extensionNumberService.getExtension(userId).getNumber()); tel = String.valueOf(extensionNumberService.getExtension(userId).getNumber());
}else if (organize.getCallMode() == 2){ } else if (organize.getCallMode() == 2) {
Company company = companyRepository.findById(user.getCompanyId()).orElseGet(Company::new); Company company = companyRepository.findById(user.getCompanyId()).orElseGet(Company::new);
tel = company.getTelX(); tel = company.getTelX();
} }
callModeMap.put("callMode",organize.getCallMode()); callModeMap.put("callMode", organize.getCallMode());
callModeMap.put("callNum",tel); callModeMap.put("callNum", tel);
return callModeMap; return callModeMap;
} }
return callModeMap; return callModeMap;
} }
@Override @Override
public Map<String, Object> selectAllOrganizeUser() { public Map<String, Object> selectAllOrganizeUser() {
int i = 1; int i = 1;
Set<Organize> organizeAll = organizeRepository.findByCreateBy(SecurityUtils.getCurrentUserId()); Set<Organize> organizeAll = organizeRepository.findByCreateBy(SecurityUtils.getCurrentUserId());
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
@ -625,11 +626,11 @@ public class OrganizeServiceImpl implements OrganizeService {
List<Map<String, Object>> map = packageUser(userIdList); List<Map<String, Object>> map = packageUser(userIdList);
boolean flag = returnMap.containsKey(organize.getOrganizeName()); boolean flag = returnMap.containsKey(organize.getOrganizeName());
String key = organize.getOrganizeName(); String key = organize.getOrganizeName();
if (flag){ if (flag) {
key = organize.getOrganizeName() + i; key = organize.getOrganizeName() + i;
i++; i++;
} }
returnMap.put(key,map); returnMap.put(key, map);
organizeUserAll.addAll(userIdList); organizeUserAll.addAll(userIdList);
} }
// // 1、获取当前用户的公司下所有用户ID // // 1、获取当前用户的公司下所有用户ID
@ -641,6 +642,11 @@ public class OrganizeServiceImpl implements OrganizeService {
return returnMap; return returnMap;
} }
@Override
public Organize getOrganizeByUserId(Long userId) {
return organizeRepository.findOrganize(userId);
}
/** /**
* id * id
*/ */
@ -680,9 +686,10 @@ public class OrganizeServiceImpl implements OrganizeService {
/** /**
* *
*
* @return * @return
*/ */
public Set<Long> findOrganizeUserIds(){ public Set<Long> findOrganizeUserIds() {
Set<Long> hashSet = new HashSet<>(); Set<Long> hashSet = new HashSet<>();
List<OrganizeUser> organizeUserAll = organizeUserRepository.findAll(); List<OrganizeUser> organizeUserAll = organizeUserRepository.findAll();
organizeUserAll.forEach(ou -> hashSet.add(ou.getUserId())); organizeUserAll.forEach(ou -> hashSet.add(ou.getUserId()));
@ -691,16 +698,17 @@ public class OrganizeServiceImpl implements OrganizeService {
/** /**
* id * id
*
* @param userIdList * @param userIdList
* @return * @return
*/ */
public List<Map<String, Object>> packageUser(Set<Long> userIdList){ public List<Map<String, Object>> packageUser(Set<Long> userIdList) {
List<User> userList = userRepository.findAllById(userIdList); List<User> userList = userRepository.findAllById(userIdList);
List<Map<String, Object>> arrayList = new ArrayList<>(); List<Map<String, Object>> arrayList = new ArrayList<>();
for (User user : userList) { for (User user : userList) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("id",user.getId()); map.put("id", user.getId());
map.put("label",user.getNickName()); map.put("label", user.getNickName());
arrayList.add(map); arrayList.add(map);
} }
return arrayList; return arrayList;

@ -54,7 +54,14 @@ public class TelephoneCallController {
} }
Long companyId = SecurityUtils.getCompanyId(); Long companyId = SecurityUtils.getCompanyId();
if (companyId != null && telephoneCallReqDTO.getTeamId() != null) { if (companyId != null && telephoneCallReqDTO.getTeamId() != null) {
Organize organize = organizeService.findByOrganizeId(telephoneCallReqDTO.getTeamId()); Organize organize;
if (telephoneCallReqDTO.getTeamId() == null) {
organize = organizeService.getOrganizeByUserId(telephoneCallReqDTO.getMemberId());
telephoneCallReqDTO.setTeamId(organize.getId());
} else {
organize = organizeService.findByOrganizeId(telephoneCallReqDTO.getTeamId());
}
Company byId = companyService.findById(SecurityUtils.getCompanyId()); Company byId = companyService.findById(SecurityUtils.getCompanyId());
if (organize != null && byId != null) { if (organize != null && byId != null) {
if (organize.getCallMode() != null) { if (organize.getCallMode() != null) {

@ -36,7 +36,6 @@ public class TelephoneCallReqDTO implements Serializable {
private String userData; private String userData;
@ApiModelProperty("小组id") @ApiModelProperty("小组id")
@NotNull
private Long teamId; private Long teamId;
@ApiModelProperty("成员id") @ApiModelProperty("成员id")

@ -55,7 +55,7 @@ public class DoubleCallReq {
while (count <= flag) { while (count <= flag) {
try { try {
HttpResponse httpResponse = sendCallReq(JSONUtil.toJsonPrettyStr(doubleCallSystemDTO), reqUrl); HttpResponse httpResponse = sendCallReq(JSONUtil.toJsonPrettyStr(doubleCallSystemDTO), reqUrl);
log.info("双呼返回值:{}", httpResponse); log.info("双呼返回值:{}", httpResponse.body());
DoubleCallResponse doubleCallResponse = JSONUtil.toBean(httpResponse.body(), DoubleCallResponse.class); DoubleCallResponse doubleCallResponse = JSONUtil.toBean(httpResponse.body(), DoubleCallResponse.class);
if (String.valueOf(DefaultNumberConstants.ZERO_NUMBER).equals(doubleCallResponse.getResult())) { if (String.valueOf(DefaultNumberConstants.ZERO_NUMBER).equals(doubleCallResponse.getResult())) {
return doubleCallResponse.getSessionId(); return doubleCallResponse.getSessionId();

Loading…
Cancel
Save