|
|
@@ -12,10 +12,7 @@ import com.fs.common.utils.poi.ExcelUtil;
|
|
|
import com.fs.course.domain.FsCourseWatchLog;
|
|
|
import com.fs.course.param.*;
|
|
|
import com.fs.course.service.IFsCourseWatchLogService;
|
|
|
-import com.fs.course.vo.FsCourseOverVO;
|
|
|
-import com.fs.course.vo.FsCourseUserStatisticsListVO;
|
|
|
-import com.fs.course.vo.FsCourseWatchLogListVO;
|
|
|
-import com.fs.course.vo.FsCourseWatchLogStatisticsListVO;
|
|
|
+import com.fs.course.vo.*;
|
|
|
import com.fs.framework.security.LoginUser;
|
|
|
import com.fs.framework.service.TokenService;
|
|
|
import com.fs.qw.domain.QwExternalContact;
|
|
|
@@ -27,12 +24,16 @@ import com.fs.qw.vo.QwWatchLogStatisticsListVO;
|
|
|
import com.fs.sop.domain.SopUserLogsInfo;
|
|
|
import com.fs.sop.mapper.SopUserLogsInfoMapper;
|
|
|
import com.fs.sop.mapper.SopUserLogsMapper;
|
|
|
+import com.fs.sop.params.GetSOPTaskDataParam;
|
|
|
+import com.fs.sop.service.IQwSopService;
|
|
|
+import com.fs.sop.vo.QwSopTask;
|
|
|
import com.fs.statis.dto.StatsWatchLogPageListDTO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -59,6 +60,8 @@ public class FsQwCourseWatchLogController extends BaseController
|
|
|
private SopUserLogsInfoMapper sopUserLogsInfoMapper;
|
|
|
@Autowired
|
|
|
private QwExternalContactMapper qwExternalContactMapper;
|
|
|
+ @Autowired
|
|
|
+ private IQwSopService qwSopService;
|
|
|
|
|
|
@Value("${cloud_host.company_name}")
|
|
|
private String signProjectName;
|
|
|
@@ -316,19 +319,58 @@ public class FsQwCourseWatchLogController extends BaseController
|
|
|
}
|
|
|
//@PreAuthorize("@ss.hasPermi('course:courseWatchLog:courseLost')")
|
|
|
@PostMapping("/courseLost")
|
|
|
- public R courseLost(@RequestBody StatsWatchLogPageListDTO param)
|
|
|
+ public TableDataInfo courseLost(@RequestBody StatsWatchLogPageListDTO param)
|
|
|
{
|
|
|
+ LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
+ Long companyId = loginUser.getUser().getUserId();
|
|
|
+ List<LostVo> lostVos=new ArrayList<>();
|
|
|
List<String> periodList = param.getPeriodList();
|
|
|
- //sop用户数据
|
|
|
+ if (periodList==null || periodList.isEmpty()){
|
|
|
+ GetSOPTaskDataParam para=new GetSOPTaskDataParam();
|
|
|
+ para.setStartDate(LocalDate.now().minusDays(7).toString());
|
|
|
+ para.setEndDate(LocalDate.now().toString());
|
|
|
+ para.setCompanyId(companyId);
|
|
|
+ List<QwSopTask> qwSopTaskList = qwSopService.getQwSopTaskList(para);
|
|
|
+ List<String> all=new ArrayList<>();
|
|
|
+ qwSopTaskList.forEach(qwSopTask -> {
|
|
|
+ List<QwSopTask> child= qwSopTask.getChildren();
|
|
|
+ if (!child.isEmpty()){
|
|
|
+ List<String> list = child.stream().map(QwSopTask::getId).collect(Collectors.toList());
|
|
|
+ all.addAll(list);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ periodList=all;
|
|
|
+ }
|
|
|
+ periodList.forEach(id->{
|
|
|
+ List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectByUserLogId(id);
|
|
|
+ List<Long> list = sopUserLogsInfos.stream().map(SopUserLogsInfo::getExternalId).collect(Collectors.toList());
|
|
|
+ //最后查看是否被拉黑
|
|
|
+ QueryWrapper<QwExternalContact> queryWrapper=new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("'status'",3);
|
|
|
+ queryWrapper.select("id");
|
|
|
+ if (!list.isEmpty()){
|
|
|
+ queryWrapper.in("id",list);
|
|
|
+ }
|
|
|
+ List<QwExternalContact> qwExternalContacts = qwExternalContactMapper.selectList(queryWrapper);
|
|
|
+ LostVo vo=new LostVo();
|
|
|
+ vo.setTotal(list.size());
|
|
|
+ vo.setNum(qwExternalContacts.size());
|
|
|
+ vo.setUserLogsId(id);
|
|
|
+ lostVos.add(vo);
|
|
|
+ });
|
|
|
+/* //sop用户数据
|
|
|
List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectByUserLogIds(periodList);
|
|
|
List<Long> list = sopUserLogsInfos.stream().map(SopUserLogsInfo::getExternalId).collect(Collectors.toList());
|
|
|
-
|
|
|
//最后查看是否被拉黑
|
|
|
QueryWrapper<QwExternalContact> queryWrapper=new QueryWrapper<>();
|
|
|
queryWrapper.eq("'status'",3);
|
|
|
queryWrapper.select("id");
|
|
|
queryWrapper.in("id",list);
|
|
|
List<QwExternalContact> qwExternalContacts = qwExternalContactMapper.selectList(queryWrapper);
|
|
|
- return R.ok().put("data", qwExternalContacts.size());
|
|
|
+ vo.setTotal(list.size());
|
|
|
+ vo.setNum(qwExternalContacts.size());
|
|
|
+ lostVos.add(vo);*/
|
|
|
+ return getDataTable(lostVos);
|
|
|
+
|
|
|
}
|
|
|
}
|