Explorar o código

通过筛选来分配客户

xw hai 1 semana
pai
achega
729c7c3977

+ 21 - 23
fs-company/src/main/java/com/fs/company/controller/qw/QwExternalContactController.java

@@ -526,19 +526,12 @@ public class QwExternalContactController extends BaseController
     @PutMapping("/resignedTransfer")
     public R resignedTransfer(@RequestBody ResignedTransferParam param)
     {
-        if (ObjectUtil.isNotEmpty(param.getQwUserName())&&ObjectUtil.isNotEmpty(param.getType())&&param.getType().equals("1")){
-            QwExternalContactParam qwExternalContact =new QwExternalContactParam();
-            qwExternalContact.setQwUserName(param.getQwUserName());
-
-            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
-            qwExternalContact.setCompanyId(loginUser.getCompany().getCompanyId());
-            List<QwExternalContactVO> list = qwExternalContactService.selectQwExternalContactListVO(qwExternalContact);
-            if (!CollectionUtils.isEmpty(list)){
-                List<Long> ids = list.stream().map(QwExternalContactVO::getId).collect(Collectors.toList());
-                param.setIds(ids);
-            }
+        if (param.isFilter()) {
+            param.setIds(getList(param.getAddType(), param.getParam()));
+        }
+        if (param.getIds() == null || param.getIds().isEmpty()) {
+            return R.error("请选择需要分配的客户");
         }
-
         return qwExternalContactService.resignedTransfer(param);
     }
 
@@ -550,16 +543,11 @@ public class QwExternalContactController extends BaseController
     @PutMapping("/transfer")
     public R transfer(@RequestBody TransferParam param)
     {
-        if (ObjectUtil.isNotEmpty(param.getQwUserName())&&ObjectUtil.isNotEmpty(param.getType())&&param.getType().equals("1")){
-            QwExternalContactParam qwExternalContact =new QwExternalContactParam();
-            qwExternalContact.setQwUserName(param.getQwUserName());
-            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
-            qwExternalContact.setCompanyId(loginUser.getCompany().getCompanyId());
-            List<QwExternalContactVO> list = qwExternalContactService.selectQwExternalContactListVO(qwExternalContact);
-            if (!CollectionUtils.isEmpty(list)){
-                List<Long> ids = list.stream().map(QwExternalContactVO::getId).collect(Collectors.toList());
-                param.setIds(ids);
-            }
+        if (param.isFilter()) {
+            param.setIds(getList(param.getAddType(), param.getParam()));
+        }
+        if (param.getIds() == null || param.getIds().isEmpty()) {
+            return R.error("请选择需要分配的客户");
         }
         return qwExternalContactService.transfer(param);
     }
@@ -841,10 +829,20 @@ public class QwExternalContactController extends BaseController
         return new ArrayList<>(set);
     }
 
+    private void prepareQueryParam(QwExternalContactParam param) {
+        if (param == null) {
+            return;
+        }
+        if (StringUtils.isNotEmpty(param.getStatuses())) {
+            param.setStatusCondition(param.getStatuses().split(","));
+        }
+    }
+
     private List<Long> getList(Integer addType, QwExternalContactParam param){
-        if(addType == null){
+        if(addType == null || param == null){
             return Collections.emptyList();
         }
+        prepareQueryParam(param);
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         if(addType == 0){
             param.setCompanyId(loginUser.getCompany().getCompanyId());

+ 6 - 0
fs-service/src/main/java/com/fs/qw/param/ResignedTransferParam.java

@@ -13,4 +13,10 @@ public class ResignedTransferParam {
     String type;
     // 是否需要清除标签
     private Integer needClearTag = 0;
+    /** 是否按筛选条件分配(不受分页限制) */
+    private boolean filter;
+    /** 筛选范围:0公司客户 1我的客户 2部门客户 */
+    private Integer addType;
+    /** 列表筛选条件 */
+    private QwExternalContactParam param;
 }

+ 6 - 0
fs-service/src/main/java/com/fs/qw/param/TransferParam.java

@@ -14,4 +14,10 @@ public class TransferParam {
     String type;
     // 是否需要清除标签
     private Integer needClearTag = 0;
+    /** 是否按筛选条件分配(不受分页限制) */
+    private boolean filter;
+    /** 筛选范围:0公司客户 1我的客户 2部门客户 */
+    private Integer addType;
+    /** 列表筛选条件 */
+    private QwExternalContactParam param;
 }