|
@@ -2,13 +2,19 @@ package com.fs.qw.controller;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.fs.common.core.domain.R;
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.exception.ServiceException;
|
|
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.QwExternalContactParam;
|
|
|
|
|
+import com.fs.qw.param.QwExternalContactRepeatParam;
|
|
|
import com.fs.qw.param.QwTagSearchParam;
|
|
import com.fs.qw.param.QwTagSearchParam;
|
|
|
|
|
+import com.fs.qw.param.UserWatchLogParam;
|
|
|
import com.fs.qw.service.IQwExternalContactInfoService;
|
|
import com.fs.qw.service.IQwExternalContactInfoService;
|
|
|
import com.fs.qw.service.IQwTagService;
|
|
import com.fs.qw.service.IQwTagService;
|
|
|
import com.fs.qw.vo.QwExternalContactUnionIdExportVO;
|
|
import com.fs.qw.vo.QwExternalContactUnionIdExportVO;
|
|
@@ -49,6 +55,8 @@ public class QwExternalContactController extends BaseController
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IQwExternalContactInfoService qwExternalContactInfoService;
|
|
private IQwExternalContactInfoService qwExternalContactInfoService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IFsUserCompanyBindService fsUserCompanyBindService;
|
|
|
|
|
|
|
|
QwExternalContactController(IQwExternalContactService qwExternalContactService,IQwTagService iQwTagService){
|
|
QwExternalContactController(IQwExternalContactService qwExternalContactService,IQwTagService iQwTagService){
|
|
|
this.qwExternalContactService=qwExternalContactService;
|
|
this.qwExternalContactService=qwExternalContactService;
|
|
@@ -181,4 +189,58 @@ public class QwExternalContactController extends BaseController
|
|
|
return R.ok().put("data",qwExternalContactInfoService.selectQwExternalContactInfoByExternalContactId(id));
|
|
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, "企业微信重粉客户数据");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|