|
@@ -2,6 +2,8 @@ package com.fs.statis.service.impl;
|
|
|
|
|
|
import com.fs.company.domain.CompanyUser;
|
|
import com.fs.company.domain.CompanyUser;
|
|
import com.fs.company.mapper.CompanyUserMapper;
|
|
import com.fs.company.mapper.CompanyUserMapper;
|
|
|
|
+import com.fs.qw.mapper.QwUserMapper;
|
|
|
|
+import com.fs.sop.mapper.QwSopLogsMapper;
|
|
import com.fs.statis.domain.FsStatisSalerWatch;
|
|
import com.fs.statis.domain.FsStatisSalerWatch;
|
|
import com.fs.statis.dto.StatsWatchLogPageListDTO;
|
|
import com.fs.statis.dto.StatsWatchLogPageListDTO;
|
|
import com.fs.statis.mapper.FsStatisSalerWatchMapper;
|
|
import com.fs.statis.mapper.FsStatisSalerWatchMapper;
|
|
@@ -21,10 +23,16 @@ public class FsStatisSalerWatchServiceImpl implements FsStatisSalerWatchService
|
|
|
|
|
|
private final CompanyUserMapper companyUserMapper;
|
|
private final CompanyUserMapper companyUserMapper;
|
|
|
|
|
|
|
|
+ private final QwUserMapper qwUserMapper;
|
|
|
|
+
|
|
|
|
+ private final QwSopLogsMapper qwSopLogsMapper;
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
- public FsStatisSalerWatchServiceImpl(FsStatisSalerWatchMapper fsStatisSalerWatchMapper, CompanyUserMapper companyUserMapper) {
|
|
|
|
|
|
+ public FsStatisSalerWatchServiceImpl(FsStatisSalerWatchMapper fsStatisSalerWatchMapper, CompanyUserMapper companyUserMapper, QwUserMapper qwUserMapper, QwSopLogsMapper qwSopLogsMapper) {
|
|
this.fsStatisSalerWatchMapper = fsStatisSalerWatchMapper;
|
|
this.fsStatisSalerWatchMapper = fsStatisSalerWatchMapper;
|
|
this.companyUserMapper = companyUserMapper;
|
|
this.companyUserMapper = companyUserMapper;
|
|
|
|
+ this.qwUserMapper = qwUserMapper;
|
|
|
|
+ this.qwSopLogsMapper = qwSopLogsMapper;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -98,6 +106,24 @@ public class FsStatisSalerWatchServiceImpl implements FsStatisSalerWatchService
|
|
List<CompanyUser> companyUserList = this.companyUserMapper.selectAllCompanyUserList();
|
|
List<CompanyUser> companyUserList = this.companyUserMapper.selectAllCompanyUserList();
|
|
|
|
|
|
for (CompanyUser companyUser : companyUserList) {
|
|
for (CompanyUser companyUser : companyUserList) {
|
|
|
|
+ // 找到销售关联的企微账号
|
|
|
|
+ List<String> qwUserIdList = qwUserMapper.findQwUserIdListByCompanyUserId(companyUser.getUserId());
|
|
|
|
+ // 去sop记录表找对应的SOP发送记录,记录数作为营期人数
|
|
|
|
+ Long periodCount = qwSopLogsMapper.selectQwSopLogsCountByQwUserId(qwUserIdList);
|
|
|
|
+ // 再去course_watch_log找对应的销售观看记录作为已报名数
|
|
|
|
+ Long registerCount = companyUserMapper.queryCompanyUserWatchCount(companyUser.getUserId());
|
|
|
|
+ Long completedCount = companyUserMapper.queryCompanyUserWatchCountCompleted(companyUser.getUserId());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ FsStatisSalerWatch fsStatisSalerWatch = new FsStatisSalerWatch();
|
|
|
|
+ fsStatisSalerWatch.setDeptId(companyUser.getDeptId());
|
|
|
|
+ fsStatisSalerWatch.setCompanyUserId(companyUser.getUserId());
|
|
|
|
+ fsStatisSalerWatch.setTrainCampNum(periodCount);
|
|
|
|
+ fsStatisSalerWatch.setNotRegisteredNum(periodCount - registerCount);
|
|
|
|
+ fsStatisSalerWatch.setRegisteredNum(registerCount);
|
|
|
|
+ fsStatisSalerWatch.setCompletedNum(completedCount);
|
|
|
|
+ fsStatisSalerWatch.setFinishedRate((float) (completedCount / registerCount));
|
|
|
|
+ fsStatisSalerWatch.setRegRate((float) (registerCount / periodCount));
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|