diff --git a/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java b/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java index 221f5d00..fdc74c5e 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java @@ -55,5 +55,9 @@ public interface SourceClueClient { @ApiOperation("查询资源标签") @PostMapping(API_PREFIX+"/findSourceLabel") ResponseEntity> findSourceLabel(@RequestBody List clueIds); + + @ApiOperation("资源是否分配到此人") + @GetMapping(API_PREFIX + "/judgeMember") + ResponseEntity judgeMember(@RequestParam("judgeMemberId") Long judgeMemberId); } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java b/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java index f3d07772..9a18197f 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClientFallback.java @@ -56,4 +56,9 @@ public class SourceClueClientFallback implements SourceClueClient { return null; } + @Override + public ResponseEntity judgeMember(Long memberId) { + return null; + } + } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java index eb44aef4..198dd2f9 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java @@ -59,7 +59,6 @@ public class OrganizeServiceImpl implements OrganizeService { private final UserMessageService userMessageService; private final ExtensionNumberService extensionNumberService; private final CompanyRepository companyRepository; - private final ExtensionUserRepository extensionUserRepository; /** * 新增小组 @@ -94,6 +93,14 @@ public class OrganizeServiceImpl implements OrganizeService { @CacheEvict(value = "organize", key = "'organize:' + #organize.getId()") public void updateOrganize(Organize organize) { Organize updateOrganize = organizeRepository.findById(organize.getId()).orElseGet(Organize::new); + OrganizeUser organizeUser = organizeUserRepository.findByOrganizeIdAndIsLeader(organize.getId(), true); + // 判断组长是否分配过资源 + if (organizeUser.getUserId() != organize.getUserId()){ + Boolean flag = sourceClueClient.judgeMember(organizeUser.getUserId()).getBody(); + if (flag) { + throw new BadRequestException("组长用户中有分配资源,组长替换失败"); + } + } //添加(删除)分机号 if (organize.getCallMode() != null && organize.getCallMode() != updateOrganize.getCallMode()){ List organizeList = organizeUserRepository.findByOrganizeId(organize.getId()); @@ -563,16 +570,19 @@ public class OrganizeServiceImpl implements OrganizeService { Long userId = SecurityUtils.getCurrentUserId(); User user = userRepository.findById(userId).orElseGet(User::new); OrganizeUser organizeUser = organizeUserRepository.findByUserId(userId); - Organize organize = organizeRepository.findById(organizeUser.getOrganizeId()).orElseGet(Organize::new); - if (organize.getCallMode() == 1){ - // (点呼)获取分机号 - tel = String.valueOf(extensionNumberService.getExtension(userId).getNumber()); - }else if (organize.getCallMode() == 2){ - Company company = companyRepository.findById(user.getCompanyId()).orElseGet(Company::new); - tel = company.getTelX(); + if (organizeUser != null){ + Organize organize = organizeRepository.findById(organizeUser.getOrganizeId()).orElseGet(Organize::new); + if (organize.getCallMode() == 1){ + // (点呼)获取分机号 + tel = String.valueOf(extensionNumberService.getExtension(userId).getNumber()); + }else if (organize.getCallMode() == 2){ + Company company = companyRepository.findById(user.getCompanyId()).orElseGet(Company::new); + tel = company.getTelX(); + } + callModeMap.put("callMode",organize.getCallMode()); + callModeMap.put("callNum",tel); + return callModeMap; } - callModeMap.put("callMode",organize.getCallMode()); - callModeMap.put("callNum",tel); return callModeMap; } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java b/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java index a56caf5e..16f07fae 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java @@ -125,4 +125,10 @@ public class ClueController { return new ResponseEntity<>(clueService.findSourceLabel(clueIds), HttpStatus.OK); } + @ApiOperation("资源是否分配到此人") + @GetMapping("/judgeMember") + public ResponseEntity judgeMember(@RequestParam("judgeMemberId") Long judgeMemberId){ + return new ResponseEntity<>(clueService.judgeMember(judgeMemberId), HttpStatus.OK); + } + } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java index d01df820..bdf6ddfd 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java @@ -93,4 +93,8 @@ public interface ClueMiddleRepository extends JpaRepository, J */ @Query(value = " select optimistic_version from tb_clue_middle where clue_id = ?1 ", nativeQuery = true) Integer lookUpOptimisticVersion(Long clueId); + + + @Query(value = "select clue_id from tb_clue_middle where member_id = ?1 limit 0 ,1 ", nativeQuery = true) + Long judgeMember(Long memberId); } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java index 15a07aed..cc72650e 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java @@ -131,4 +131,10 @@ public interface ClueService { */ List findSourceLabel(List clueIds); + /** + * 资源是否分配到此人 + * @param memberId + * @return + */ + Boolean judgeMember(Long memberId); } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java index 59cd951f..bee30610 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java @@ -269,4 +269,13 @@ public class ClueServiceImpl implements ClueService { return clueJpa.findSourceLabel(clueIds); } + @Override + public Boolean judgeMember(Long memberId) { + Long clueId = clueMiddleRepository.judgeMember(memberId); + if (clueId != null){ + return true; + } + return false; + } + }