diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java index 0ad29894..b8b378b2 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java @@ -25,6 +25,7 @@ import com.baiye.modules.system.repository.UserRepository; import com.baiye.modules.system.service.RoleService; import com.baiye.modules.system.service.UserService; import com.baiye.modules.telemarkting.dao.ExtensionUserRepository; +import com.baiye.modules.telemarkting.entity.ExtensionNumber; import com.baiye.modules.telemarkting.service.ExtensionNumberService; import com.baiye.util.*; import com.google.common.collect.Lists; @@ -169,7 +170,7 @@ public class OrganizeServiceImpl implements OrganizeService { sourceClueClient.updateOrganize(organizeId, replaceOrganizeId); } - /** + /** * 添加组员 */ @Override @@ -604,7 +605,9 @@ public class OrganizeServiceImpl implements OrganizeService { Organize organize = organizeRepository.findById(organizeUser.getOrganizeId()).orElseGet(Organize::new); if (organize.getCallMode() == 1) { // (点呼)获取分机号 - tel = String.valueOf(extensionNumberService.getExtension(userId).getNumber()); + ExtensionNumber extension = extensionNumberService.getExtension(userId); + tel = String.valueOf(extension.getNumber()); + callModeMap.put("sip", extension.getSip()); } else if (organize.getCallMode() == 2) { Company company = companyRepository.findById(user.getCompanyId()).orElseGet(Company::new); tel = company.getTelX(); @@ -790,7 +793,7 @@ public class OrganizeServiceImpl implements OrganizeService { List list = organizeUserRepository.findByOrganizeId(organizeId); Long leaderUserId = null; for (OrganizeUser organizeUser : list) { - if (organizeUser.getIsLeader()){ + if (organizeUser.getIsLeader()) { organizeUser.setIsLeader(false); leaderUserId = organizeUser.getUserId(); } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java index 38205275..f95042d6 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java @@ -57,7 +57,7 @@ public class TelephoneCallController { public CommonResponse doubleCallReq(@Validated @RequestBody TelephoneCallReqDTO telephoneCallReqDTO) { String key = "tele:" + telephoneCallReqDTO.getUserData(); if (redisUtils.get(key) != null) { - return CommonResponse.createByErrorMessage("请三分钟后再拨打此线索"); + return CommonResponse.createByErrorMessage("请一分钟后再拨打此线索"); } if (ObjectUtil.isEmpty(telephoneCallReqDTO)) { diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionUserRepository.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionUserRepository.java index c6c2fae0..bb67ad4a 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionUserRepository.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionUserRepository.java @@ -32,7 +32,15 @@ public interface ExtensionUserRepository extends JpaRepository userIds); - + /** + * 用户分机号删除用户和分机号关联 + * + * @param numbers + * @return + */ + @Modifying + @Query(value = "delete from tb_extension_user where number in ?1", nativeQuery = true) + int deleteByNumbers(List numbers); /** * 用户id删除用户和分机号关联 * diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/ExtensionNumber.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/ExtensionNumber.java index 1a913f66..65dc8c8e 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/ExtensionNumber.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/ExtensionNumber.java @@ -50,4 +50,9 @@ public class ExtensionNumber implements Serializable { @ApiModelProperty(value = "抖音外显号") @Transient private Long dyDisplay; + + @Column(name = "sip") + @ApiModelProperty(value = "sip") + private String sip; + } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/ExtensionNumberServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/ExtensionNumberServiceImpl.java index f03e069f..0929a3b2 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/ExtensionNumberServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/ExtensionNumberServiceImpl.java @@ -80,6 +80,7 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService { //解析保存分机号 if (ObjectUtil.isNotEmpty(file) && file.getSize() > 0) { List list = new ArrayList<>(); + List numbers = new ArrayList<>(); try { int lastIndexOf = Objects.requireNonNull(file.getOriginalFilename()).lastIndexOf("."); String nameFormat = file.getOriginalFilename().substring(lastIndexOf + 1); @@ -92,8 +93,11 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService { extensionNumber.setNumber(Integer.valueOf(number)); extensionNumber.setCompanyId(companyId); list.add(extensionNumber); + numbers.add(Integer.valueOf(number)); } } + //删除以前的旧绑定关系 + extensionUserRepository.deleteByNumbers(numbers); extensionNumberRepository.saveAll(list); } catch (Exception e) { log.error("读取文件错误:{}", e.getMessage()); @@ -131,7 +135,7 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService { //查一个分机号 Integer idByStatus = extensionNumberRepository.findIdByStatusAndCompanyId(DefaultNumberConstants.ZERO_NUMBER, companyId); if (idByStatus == null || idByStatus == 0) { - log.error("可分配的分机号不足,请联系管理员"); + log.error("可分配的分机号不足,请联系管理员 公司id={}", companyId); throw new BadRequestException("可分配的分机号不足,请联系管理员"); } ExtensionUser extensionUser = new ExtensionUser(); diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java index 1dd0ddf4..333f7ff1 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java @@ -255,7 +255,7 @@ public class TelephoneCallServiceImpl implements TelephoneCallService { log.error("未获取到号码"); return CommonResponse.createByErrorMessage("未获取到号码"); } - telephoneCallReqDTO.setTelB(body.getNid()); + telephoneCallReqDTO.setTelB("474" + telephoneCallReqDTO.getDisplay() + body.getNid()); String reqId = rollCallReq.startReq(telephoneCallReqDTO); AllCallInfo allCallInfo = new AllCallInfo();