Bläddra i källkod

润天销售公司绑分机处理

peicj 3 dagar sedan
förälder
incheckning
6e969e1114

+ 7 - 11
ruoyi-admin/src/main/java/com/ruoyi/aicall/controller/ApiController.java

@@ -1320,22 +1320,18 @@ public class ApiController extends BaseController {
         extNum.setSipExtNumList(extNumList);
         return toAjax(ccExtNumService.updateCompanyBindExtNum(extNum));
     }
+
     /**
-     * 删除企业绑定的分机(销售已绑无法清除)
+     * 公司批量解绑分机,根据分机号
      */
-    @PostMapping("/companyUnbindExtNum")
+    @PostMapping("/companyBatchUnbindSipExt")
     @ResponseBody
-    public AjaxResult companyUnbindExtNum(@RequestBody Map<String,String> param)
+    public AjaxResult companyBatchUnbindSipExt(@RequestBody Set<Long> extNums)
     {
-        String userCodes = param.get("userCodes");
-        if(StringUtils.isBlank(userCodes)){
-            return AjaxResult.error("参数userCodes缺失");
+        if(extNums == null || extNums.isEmpty()){
+            return AjaxResult.error("参数为空");
         }
-        List<String> userCodeList = Arrays.stream(userCodes.split(","))
-                .map(String::trim)
-                .filter(StringUtils::isNotBlank)
-                .collect(Collectors.toList());
-        return toAjax(ccExtNumService.companyUnbindExtNum(userCodeList));
+        return toAjax(ccExtNumService.companyBatchUnbindSipExt(extNums));
     }
 
 

+ 5 - 1
ruoyi-admin/src/main/java/com/ruoyi/cc/mapper/CcExtNumMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.cc.mapper;
 
 import java.util.List;
+import java.util.Set;
+
 import com.ruoyi.cc.domain.CcExtNum;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 分机信息Mapper接口
@@ -61,7 +64,6 @@ public interface CcExtNumMapper
 
     /**
      * 获取未分配的分机
-     * @return
      */
     List<CcExtNum> selectUnBindCcExtNumList();
 
@@ -97,4 +99,6 @@ public interface CcExtNumMapper
      * @return 最大分机号,如果没有数据则返回null
      */
     Long selectMaxExtNum();
+
+    int companyBatchUnbindSipExt(@Param("extNums") Set<Long> extNums);
 }

+ 4 - 2
ruoyi-admin/src/main/java/com/ruoyi/cc/service/ICcExtNumService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.cc.service;
 
 import java.util.List;
+import java.util.Set;
+
 import com.ruoyi.cc.domain.CcExtNum;
 
 /**
@@ -98,8 +100,6 @@ public interface ICcExtNumService
 
     int updateCompanyBindExtNum(CcExtNum extNum);
 
-    int companyUnbindExtNum(List<String> userCodeList);
-
     /**
      * 批量新增分机
      * @param count 生成数量
@@ -109,4 +109,6 @@ public interface ICcExtNumService
      * @return 结果
      */
     int batchInsertCcExtNum(int count, String extPass, String userCode, Long startExtNum);
+
+    int companyBatchUnbindSipExt(Set<Long> extNums);
 }

+ 5 - 5
ruoyi-admin/src/main/java/com/ruoyi/cc/service/impl/CcExtNumServiceImpl.java

@@ -183,11 +183,6 @@ public class CcExtNumServiceImpl implements ICcExtNumService
         return ccExtNumMapper.updateCompanyBindExtNum(extNum);
     }
 
-    @Override
-    public int companyUnbindExtNum(List<String> userCodeList) {
-        return ccExtNumMapper.companyUnbindExtNum(userCodeList);
-    }
-
     @Override
     public int batchInsertCcExtNum(int count, String extPass, String userCode, Long startExtNum) {
         // ==================== 1. 参数校验(安全检查)====================
@@ -352,4 +347,9 @@ public class CcExtNumServiceImpl implements ICcExtNumService
             throw new RuntimeException("批量生成分机号失败: " + e.getMessage(), e);
         }
     }
+
+    @Override
+    public int companyBatchUnbindSipExt(Set<Long> extNums) {
+        return ccExtNumMapper.companyBatchUnbindSipExt(extNums);
+    }
 }

+ 7 - 0
ruoyi-admin/src/main/resources/mapper/cc/CcExtNumMapper.xml

@@ -121,4 +121,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectMaxExtNum" resultType="java.lang.Long">
         select max(ext_num) from cc_ext_num
     </select>
+
+    <update id="companyBatchUnbindSipExt">
+        update cc_ext_num set user_code = '' where ext_num in
+        <foreach item="extNum" collection="extNums" open="(" separator="," close=")">
+            #{extNum}
+        </foreach>
+    </update>
 </mapper>