解绑分机号

master
wujingtao 3 years ago
parent 9bf8ec8475
commit 4d861a919f

@ -7,6 +7,8 @@ import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* @author wujingtao * @author wujingtao
* @date 2022/02/14 * @date 2022/02/14
@ -29,4 +31,8 @@ public interface ExtensionNumberRepository extends JpaRepository<ExtensionNumber
@Query(value = "select n.* from tb_extension_number n left join tb_extension_user u on n.number = u.number where u.member_id = ?1", nativeQuery = true) @Query(value = "select n.* from tb_extension_number n left join tb_extension_user u on n.number = u.number where u.member_id = ?1", nativeQuery = true)
ExtensionNumber selectByMemberId(Long memberId); ExtensionNumber selectByMemberId(Long memberId);
@Modifying
@Query(value = "update ExtensionNumber c set c.status =?1 where c.number in ?2")
void updateByNumber(Integer status, List<Integer> number);
} }

@ -6,6 +6,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* @author wujingtao * @author wujingtao
* @date 2022/02/14 * @date 2022/02/14
@ -17,4 +19,6 @@ public interface ExtensionUserRepository extends JpaRepository<ExtensionUser, Lo
Integer findNumberByMemberId(Long memberId); Integer findNumberByMemberId(Long memberId);
void deleteByOrganizeId(Long organizeId); void deleteByOrganizeId(Long organizeId);
List<ExtensionUser> findByAndOrganizeId(Long organizationId);
} }

@ -13,5 +13,17 @@ public interface ExtensionNumberService {
ExtensionNumber getExtension(Long memberId); ExtensionNumber getExtension(Long memberId);
/**
*
* @param organizeId
* @param memberId
* @return
*/
CommonResponse<Object> assignExtensionNum(Long organizeId, Long memberId); CommonResponse<Object> assignExtensionNum(Long organizeId, Long memberId);
/**
*
* @param organizeId
*/
void unbindExtension(Long organizeId);
} }

@ -1,10 +1,9 @@
package com.baiye.modules.telemarkting.service.impl; package com.baiye.modules.telemarkting.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.DefaultNumberConstants;
import com.baiye.exception.BadRequestException; import com.baiye.exception.BadRequestException;
import com.baiye.http.CommonResponse; import com.baiye.http.CommonResponse;
import com.baiye.modules.system.domain.Organize;
import com.baiye.modules.system.repository.OrganizeRepository;
import com.baiye.modules.telemarkting.dao.ExtensionNumberRepository; import com.baiye.modules.telemarkting.dao.ExtensionNumberRepository;
import com.baiye.modules.telemarkting.dao.ExtensionUserRepository; import com.baiye.modules.telemarkting.dao.ExtensionUserRepository;
import com.baiye.modules.telemarkting.entity.ExtensionNumber; import com.baiye.modules.telemarkting.entity.ExtensionNumber;
@ -18,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author wujingtao * @author wujingtao
@ -28,9 +28,6 @@ import java.util.List;
public class ExtensionNumberServiceImpl implements ExtensionNumberService { public class ExtensionNumberServiceImpl implements ExtensionNumberService {
@Resource @Resource
private ExtensionNumberRepository extensionNumberRepository; private ExtensionNumberRepository extensionNumberRepository;
@Resource
private OrganizeRepository organizeRepository;
@Resource @Resource
private ExtensionUserRepository extensionUserRepository; private ExtensionUserRepository extensionUserRepository;
@ -73,6 +70,18 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService {
return CommonResponse.createBySuccess(); return CommonResponse.createBySuccess();
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void unbindExtension(Long organizeId) {
List<ExtensionUser> byAndOrganizeId = extensionUserRepository.findByAndOrganizeId(organizeId);
if (CollUtil.isNotEmpty(byAndOrganizeId)) {
List<Integer> numbers = byAndOrganizeId.stream().map(ExtensionUser::getNumber).collect(Collectors.toList());
extensionNumberRepository.updateByNumber(DefaultNumberConstants.ZERO_NUMBER, numbers);
extensionUserRepository.deleteByOrganizeId(organizeId);
}
}
private List<ExtensionNumber> getNumbers(Integer minNumber, Integer maxNumber, Long display, Long companyId) { private List<ExtensionNumber> getNumbers(Integer minNumber, Integer maxNumber, Long display, Long companyId) {
List<ExtensionNumber> list = new ArrayList<>(); List<ExtensionNumber> list = new ArrayList<>();
for (int i = minNumber; i <= maxNumber; i++) { for (int i = minNumber; i <= maxNumber; i++) {

Loading…
Cancel
Save