Browse Source

add:后台重粉导出

ct 1 tuần trước cách đây
mục cha
commit
e3ebb45fb0

+ 62 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwExternalContactController.java

@@ -2,13 +2,19 @@ package com.fs.qw.controller;
 
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.fs.common.core.domain.R;
 import com.fs.common.exception.ServiceException;
+import com.fs.common.utils.StringUtils;
+import com.fs.course.service.IFsUserCompanyBindService;
+import com.fs.course.vo.UserWatchLogListVo;
 import com.fs.qw.param.QwExternalContactParam;
+import com.fs.qw.param.QwExternalContactRepeatParam;
 import com.fs.qw.param.QwTagSearchParam;
+import com.fs.qw.param.UserWatchLogParam;
 import com.fs.qw.service.IQwExternalContactInfoService;
 import com.fs.qw.service.IQwTagService;
 import com.fs.qw.vo.QwExternalContactUnionIdExportVO;
@@ -49,6 +55,8 @@ public class QwExternalContactController extends BaseController
 
     @Autowired
     private IQwExternalContactInfoService qwExternalContactInfoService;
+    @Autowired
+    private IFsUserCompanyBindService fsUserCompanyBindService;
 
     QwExternalContactController(IQwExternalContactService qwExternalContactService,IQwTagService iQwTagService){
         this.qwExternalContactService=qwExternalContactService;
@@ -181,4 +189,58 @@ public class QwExternalContactController extends BaseController
         return R.ok().put("data",qwExternalContactInfoService.selectQwExternalContactInfoByExternalContactId(id));
     }
 
+    /**
+     * 查询企业微信客户列表(重粉)
+     */
+    @PreAuthorize("@ss.hasPermi('qw:externalContact:listRepeat')")
+    @GetMapping("/listRepeat")
+    public TableDataInfo listRepeat(QwExternalContactParam qwExternalContact)
+    {
+        startPage();
+        if(StringUtils.isNotEmpty(qwExternalContact.getStatuses())){
+            String[] split = qwExternalContact.getStatuses().split(",");
+            qwExternalContact.setStatusCondition(split);
+        }
+        List<QwExternalContactVO> list = qwExternalContactService.selectQwExternalContactListVO(qwExternalContact);
+
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 重粉看课记录查询
+     */
+    @GetMapping("/getWatchLogList")
+    public TableDataInfo getWatchLogList(UserWatchLogParam param){
+        startPage();
+        List<UserWatchLogListVo> list= fsUserCompanyBindService.getWatchLogList(param);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出重粉记录
+     */
+    @PostMapping("/exportRepeatExternalContact")
+    @PreAuthorize("@ss.hasPermi('his:user:exportRepeat')")
+    @Log(title = "导出重粉记录", businessType = BusinessType.EXPORT)
+    public AjaxResult exportRepeatExternalContact(@RequestBody QwExternalContactRepeatParam param){
+        if(StringUtils.isNotEmpty(param.getStatuses())){
+            String[] split = param.getStatuses().split(",");
+            param.setStatusCondition(split);
+        }
+        List<Long> userIds = param.getUserIds();
+        if (userIds==null || userIds.isEmpty()){
+            List<QwExternalContactVO> list = qwExternalContactService.selectQwExternalContactListVO(param);
+            if (list!=null && !list.isEmpty()){
+                userIds = list.stream().filter(item -> (item.getFsUserId() != null && item.getFsUserId() > 0)).map(QwExternalContactVO::getFsUserId).distinct().collect(Collectors.toList());
+            }
+        } else {
+            userIds = userIds.stream().filter(Objects::nonNull).distinct().collect(Collectors.toList());
+        }
+
+        List<UserWatchLogListVo> vos  = fsUserCompanyBindService.getWatchLogListByUserIds(userIds);
+        ExcelUtil<UserWatchLogListVo> util = new ExcelUtil<>(UserWatchLogListVo.class);
+        return util.exportExcel(vos, "企业微信重粉客户数据");
+    }
+
 }

+ 20 - 4
fs-admin/src/main/java/com/fs/qw/controller/QwUserController.java

@@ -34,14 +34,13 @@ import com.fs.qwApi.domain.inner.FollowInfo;
 import com.fs.qwApi.param.QwExternalListParam;
 import com.fs.qwApi.service.QwApiService;
 import com.fs.voice.utils.StringUtil;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -97,6 +96,23 @@ public class QwUserController extends BaseController {
         return  R.ok().put("data",list);
     }
 
+    /**
+     * 根据销售名称模糊查询
+     * @param qwUserName  名称
+     * @return  list
+     */
+    @GetMapping("/getQwUserListLikeName")
+    public R getQwUserListLikeName(@RequestParam(required = false) String qwUserName,
+                                   @RequestParam(required = false, defaultValue = "1") Integer pageNum,
+                                   @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
+        Map<String,Object> params = new HashMap<>();
+        params.put("qwUserName", qwUserName);
+
+        PageHelper.startPage(pageNum, pageSize);
+        List<QwOptionsVO> qwUserList = companyUserService.selectQwUserListLikeName(params);
+        return R.ok().put("data", new PageInfo<>(qwUserList));
+    }
+
     /**
      * 绑定企微用户
      */

+ 1 - 0
fs-service/src/main/java/com/fs/course/vo/UserWatchLogListVo.java

@@ -26,6 +26,7 @@ public class UserWatchLogListVo {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 4)
     private Date createTime;
+    @Excel(name = "客户名称",sort = 1)
     private String fsUserName;
     @Excel(name = "所属项目",sort = 3)
     private String projectName;