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 b8b378b2..e811e46c 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 @@ -121,7 +121,7 @@ public class OrganizeServiceImpl implements OrganizeService { // 替换组长-资源替换 ResponseEntity response = sourceClueClient.updateMember(organizeUser.getUserId(), organize.getUserId()); if (response.getStatusCode().value() != 200) throw new BadRequestException("组长修改失败"); - extensionUserRepository.updateByNumber(organizeUser.getUserId(), organize.getUserId()); + extensionUserRepository.updateByMember(organizeUser.getUserId(), organize.getUserId()); } //添加(删除)分机号 if (organize.getCallMode() != null && !organize.getCallMode().equals(updateOrganize.getCallMode())) { diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/api/ReportController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/api/ReportController.java index 89006cf2..0d6c1364 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/api/ReportController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/api/ReportController.java @@ -27,13 +27,13 @@ public class ReportController { private QueryReportService queryReportService; @GetMapping("/report/all") - @ApiOperation("所有任务的统计信息(暂时放弃)") + @ApiOperation("所有任务的统计信息(放弃)") public CommonResponse getReportByAll() { return queryReportService.getReportByAll(); } @PostMapping("/report/task") - @ApiOperation("按任务的统计信息") + @ApiOperation("按任务的统计信息(放弃)") public CommonResponse getReportByTask(@RequestBody StatisticalReportDTO s) { s.setCompanyId(SecurityUtils.getCompanyId()); return queryReportService.getReportByTask(s); @@ -41,7 +41,7 @@ public class ReportController { @PostMapping("/download/task") - @ApiOperation("导出任务统计信息") + @ApiOperation("导出任务统计信息(放弃)") public void downloadTaskReport(HttpServletResponse response, @RequestBody StatisticalReportDTO s) { s.setCompanyId(SecurityUtils.getCompanyId()); queryReportService.downloadTaskReport(response, s); diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/ExtensionNumberController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/ExtensionNumberController.java index 57c5239a..f300a5da 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/ExtensionNumberController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/ExtensionNumberController.java @@ -2,14 +2,21 @@ package com.baiye.modules.telemarkting.api; import com.baiye.annotation.Inner; import com.baiye.http.CommonResponse; +import com.baiye.modules.telemarkting.entity.ExtensionNumber; +import com.baiye.modules.telemarkting.entity.dto.ExtensionNumberCriteria; import com.baiye.modules.telemarkting.service.ExtensionNumberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.Map; + /** * @author wujingtao * @date 2022/02/14 @@ -55,9 +62,20 @@ public class ExtensionNumberController { @GetMapping("/sip") @Inner(value = false) public CommonResponse sip(@RequestParam("number") String number, - @RequestParam("name") String name) - - { + @RequestParam("name") String name) { return CommonResponse.createBySuccess(extensionNumberService.sip(number, name)); } + + @GetMapping("/query/number") + @Inner(value = false) + public ResponseEntity queryNumber(ExtensionNumberCriteria extensionNumberCriteria, Pageable pageable) { + return new ResponseEntity<>(extensionNumberService.queryNumber(extensionNumberCriteria, pageable), HttpStatus.OK); + } + + @GetMapping("/update/number") + @Inner(value = false) + public CommonResponse updateNumber(@RequestParam("oldNumber") Integer oldNumber, @RequestParam("newNumber") Integer newNumber) { + extensionNumberService.updateNumber(oldNumber, newNumber); + return CommonResponse.createBySuccess(); + } } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java index 83bc5236..b017fca6 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java @@ -16,6 +16,7 @@ import java.util.List; @Repository public interface ExtensionNumberRepository extends JpaRepository, JpaSpecificationExecutor { + ExtensionNumber findByNumber(Integer number); /** * 根据状态和公司id查询分机号 * 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 bb67ad4a..e956cf1b 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,6 +32,7 @@ public interface ExtensionUserRepository extends JpaRepository userIds); + /** * 用户分机号删除用户和分机号关联 * @@ -41,6 +42,7 @@ public interface ExtensionUserRepository extends JpaRepository numbers); + /** * 用户id删除用户和分机号关联 * @@ -53,7 +55,7 @@ public interface ExtensionUserRepository extends JpaRepository queryNumber(ExtensionNumberCriteria extensionNumberCriteria, Pageable pageable); + + void updateNumber(Integer oldNumber, Integer newNumber); + /** * 分配分机号 * 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 e758393a..49ca7e6c 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 @@ -1,7 +1,9 @@ package com.baiye.modules.telemarkting.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.SerializeUtil; import cn.hutool.poi.excel.ExcelReader; @@ -21,10 +23,14 @@ import com.baiye.modules.telemarkting.dao.ExtensionUserRepository; import com.baiye.modules.telemarkting.entity.ExtensionDisplay; import com.baiye.modules.telemarkting.entity.ExtensionNumber; import com.baiye.modules.telemarkting.entity.ExtensionUser; +import com.baiye.modules.telemarkting.entity.dto.ExtensionNumberCriteria; import com.baiye.modules.telemarkting.httpRequest.NumberSipReq; import com.baiye.modules.telemarkting.service.ExtensionNumberService; +import com.baiye.util.QueryHelp; import com.baiye.util.SecurityUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -58,11 +64,36 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService { private CompanyService companyService; @Override - public String sip(String number,String name) { - String sip = numberSipReq.req(number,name); + public String sip(String number, String name) { + String sip = numberSipReq.req(number, name); return sip; } + @Override + public Page queryNumber(ExtensionNumberCriteria extensionNumberCriteria, Pageable pageable) { + return extensionNumberRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, extensionNumberCriteria, criteriaBuilder), pageable); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateNumber(Integer oldNumber, Integer newNumber) { + ExtensionNumber extensionNumber = extensionNumberRepository.findByNumber(oldNumber); + if (extensionNumber.getStatus() != 0) { + //修改绑定关系 + extensionUserRepository.updateByNumber(newNumber, oldNumber); + } + //获取密码 + Company company = companyService.findById(extensionNumber.getCompanyId()); + String sip = numberSipReq.req(String.valueOf(newNumber), company.getCompanyName()); + ExtensionNumber extensionNumberNew = new ExtensionNumber(); + BeanUtil.copyProperties(extensionNumber, extensionNumberNew); + extensionNumberNew.setNumber(newNumber); + extensionNumberNew.setCreateTime(DateUtil.date()); + extensionNumberNew.setSip(sip); + extensionNumberRepository.delete(extensionNumber); + extensionNumberRepository.save(extensionNumberNew); + } + @Override @Transactional(rollbackFor = Exception.class) public CommonResponse addNumbers(MultipartFile file, Long display, Long dyDisplay, Long deliveryDisplay, Long tokerDisplay, Long companyId) { @@ -105,11 +136,15 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService { for (List objects : read) { String number = String.valueOf(objects.get(0)); - ExtensionNumber extensionNumber = new ExtensionNumber(); + //去重 + ExtensionNumber extensionNumber = extensionNumberRepository.findByNumber(Integer.valueOf(number)); + if (ObjectUtil.isNotEmpty(extensionNumber)) { + continue; + } extensionNumber.setNumber(Integer.valueOf(number)); extensionNumber.setCompanyId(companyId); - String sip = numberSipReq.req(number,company.getCompanyName()); + String sip = numberSipReq.req(number, company.getCompanyName()); extensionNumber.setSip(sip); list.add(extensionNumber); numbers.add(Integer.valueOf(number)); @@ -208,7 +243,7 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService { if (i > 0) { extensionNumberRepository.updateExtensionNumber(0, replaceUserId); } - extensionUserRepository.updateByNumber(userId, replaceUserId); + extensionUserRepository.updateByMember(userId, replaceUserId); } }