|
@@ -2,7 +2,7 @@ package com.fs.app.controller;
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fs.app.taskService.*;
|
|
import com.fs.app.taskService.*;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.fs.app.taskService.QwExternalContactRatingService;
|
|
import com.fs.app.taskService.QwExternalContactRatingService;
|
|
@@ -12,29 +12,23 @@ import com.fs.app.taskService.SopWxLogsService;
|
|
|
import com.fs.common.core.domain.R;
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.core.domain.ResponseResult;
|
|
import com.fs.common.core.domain.ResponseResult;
|
|
|
import com.fs.common.core.redis.RedisCache;
|
|
import com.fs.common.core.redis.RedisCache;
|
|
|
-import com.fs.common.exception.ServiceException;
|
|
|
|
|
import com.fs.common.utils.StringUtils;
|
|
import com.fs.common.utils.StringUtils;
|
|
|
-import com.fs.company.domain.Company;
|
|
|
|
|
-import com.fs.company.domain.CompanyTrafficRecord;
|
|
|
|
|
-import com.fs.company.domain.CompanyTrafficRecordLog;
|
|
|
|
|
|
|
+import com.fs.company.domain.CompanyUser;
|
|
|
import com.fs.company.mapper.CompanyTrafficRecordLogMapper;
|
|
import com.fs.company.mapper.CompanyTrafficRecordLogMapper;
|
|
|
import com.fs.company.mapper.CompanyTrafficRecordMapper;
|
|
import com.fs.company.mapper.CompanyTrafficRecordMapper;
|
|
|
|
|
+import com.fs.company.mapper.CompanyUserMapper;
|
|
|
import com.fs.company.service.ICompanyService;
|
|
import com.fs.company.service.ICompanyService;
|
|
|
import com.fs.company.service.ICompanyTrafficRecordLogService;
|
|
import com.fs.company.service.ICompanyTrafficRecordLogService;
|
|
|
import com.fs.company.service.ICompanyTrafficRecordService;
|
|
import com.fs.company.service.ICompanyTrafficRecordService;
|
|
|
import com.fs.company.vo.RedPacketMoneyVO;
|
|
import com.fs.company.vo.RedPacketMoneyVO;
|
|
|
|
|
+import com.fs.course.config.CourseConfig;
|
|
|
import com.fs.course.domain.FsCourseTrafficLog;
|
|
import com.fs.course.domain.FsCourseTrafficLog;
|
|
|
import com.fs.course.domain.FsCourseWatchLog;
|
|
import com.fs.course.domain.FsCourseWatchLog;
|
|
|
-import com.fs.course.mapper.FsCourseTrafficLogMapper;
|
|
|
|
|
-import com.fs.course.mapper.FsCompanyTrafficInfoVoMapper;
|
|
|
|
|
|
|
+import com.fs.course.domain.FsUserCoursePeriodDays;
|
|
|
|
|
+import com.fs.course.mapper.*;
|
|
|
import com.fs.course.mapper.FsCourseRedPacketLogMapper;
|
|
import com.fs.course.mapper.FsCourseRedPacketLogMapper;
|
|
|
-import com.fs.company.service.ICompanyService;
|
|
|
|
|
-import com.fs.company.vo.RedPacketMoneyVO;
|
|
|
|
|
-import com.fs.course.mapper.FsCourseRedPacketLogMapper;
|
|
|
|
|
-import com.fs.course.mapper.FsCourseWatchLogMapper;
|
|
|
|
|
import com.fs.course.param.newfs.FsUserCourseAddCompanyUserParam;
|
|
import com.fs.course.param.newfs.FsUserCourseAddCompanyUserParam;
|
|
|
import com.fs.course.service.*;
|
|
import com.fs.course.service.*;
|
|
|
-import com.fs.course.vo.FsCompanyTrafficInfoVo;
|
|
|
|
|
import com.fs.course.vo.FsUserCourseVideoQVO;
|
|
import com.fs.course.vo.FsUserCourseVideoQVO;
|
|
|
import com.fs.his.domain.FsUser;
|
|
import com.fs.his.domain.FsUser;
|
|
|
import com.fs.his.service.IFsInquiryOrderService;
|
|
import com.fs.his.service.IFsInquiryOrderService;
|
|
@@ -44,12 +38,10 @@ import com.fs.hisStore.config.MedicalMallConfig;
|
|
|
import com.fs.hisStore.domain.FsStoreOrderScrm;
|
|
import com.fs.hisStore.domain.FsStoreOrderScrm;
|
|
|
import com.fs.hisStore.service.impl.FsStoreOrderScrmServiceImpl;
|
|
import com.fs.hisStore.service.impl.FsStoreOrderScrmServiceImpl;
|
|
|
import com.fs.qw.domain.QwCompany;
|
|
import com.fs.qw.domain.QwCompany;
|
|
|
-import com.fs.qw.domain.QwExternalContact;
|
|
|
|
|
import com.fs.qw.mapper.QwExternalContactMapper;
|
|
import com.fs.qw.mapper.QwExternalContactMapper;
|
|
|
import com.fs.qw.service.IQwCompanyService;
|
|
import com.fs.qw.service.IQwCompanyService;
|
|
|
import com.fs.qw.service.IQwExternalContactService;
|
|
import com.fs.qw.service.IQwExternalContactService;
|
|
|
import com.fs.qw.service.IQwMaterialService;
|
|
import com.fs.qw.service.IQwMaterialService;
|
|
|
-import com.fs.qwApi.domain.QwExternalContactResult;
|
|
|
|
|
import com.fs.qwApi.service.QwApiService;
|
|
import com.fs.qwApi.service.QwApiService;
|
|
|
import com.fs.sop.mapper.QwSopLogsMapper;
|
|
import com.fs.sop.mapper.QwSopLogsMapper;
|
|
|
import com.fs.sop.mapper.QwSopMapper;
|
|
import com.fs.sop.mapper.QwSopMapper;
|
|
@@ -64,12 +56,9 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
-
|
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
-import java.time.LocalTime;
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -184,6 +173,15 @@ public class CommonController {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private FsCompanyTrafficInfoVoMapper fsCompanyTrafficInfoVoMapper;
|
|
private FsCompanyTrafficInfoVoMapper fsCompanyTrafficInfoVoMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IFsCourseLinkService fsCourseLinkService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ CompanyUserMapper companyUserMapper;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 获取跳转微信小程序的链接地址
|
|
* 获取跳转微信小程序的链接地址
|
|
|
*/
|
|
*/
|
|
@@ -478,4 +476,60 @@ public class CommonController {
|
|
|
fsStoreOrderScrmService.pushOrderAddressToErp(storeOrderScrm);
|
|
fsStoreOrderScrmService.pushOrderAddressToErp(storeOrderScrm);
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 生成销售看课链接
|
|
|
|
|
+ * **/
|
|
|
|
|
+ @GetMapping("/generateSalesViewClassLink")
|
|
|
|
|
+ public void generateSalesViewClassLink(){
|
|
|
|
|
+ //获取执行中的营期信息和营期课程
|
|
|
|
|
+ List<FsUserCoursePeriodDays> periodDaysList = fsUserCoursePeriodDaysMapper.getExecuteInformation();
|
|
|
|
|
+ if(!periodDaysList.isEmpty()){
|
|
|
|
|
+ //提取销售公司ID
|
|
|
|
|
+ Set<String> companyIds = periodDaysList.stream()
|
|
|
|
|
+ .map(FsUserCoursePeriodDays::getCompanyId)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .flatMap(ids -> Arrays.stream(ids.split(","))) // 拆分逗号分隔的字符串
|
|
|
|
|
+ .map(String::trim) // 去除空格
|
|
|
|
|
+ .filter(s -> !s.isEmpty()) // 过滤空字符串
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+
|
|
|
|
|
+ //获取销售公司以及对应员工信息
|
|
|
|
|
+ List<CompanyUser> companyUserList = companyUserMapper.getPeroidInformation(companyIds);
|
|
|
|
|
+ if(!companyUserList.isEmpty()){
|
|
|
|
|
+ //获取appid
|
|
|
|
|
+ String json = configService.selectConfigByKey("course.config");
|
|
|
|
|
+ CourseConfig config = JSON.parseObject(json, CourseConfig.class);
|
|
|
|
|
+ Map<String,List<CompanyUser>> companyUserMap = companyUserList.stream().collect(Collectors.groupingBy(c->String.valueOf(c.getCompanyId())));
|
|
|
|
|
+ periodDaysList.forEach(p->{
|
|
|
|
|
+ String[] companyIdList= p.getCompanyId().split(",");
|
|
|
|
|
+ for (String companyId: companyIdList){
|
|
|
|
|
+ if(companyUserMap.containsKey(companyId)){
|
|
|
|
|
+ List<CompanyUser> userList = companyUserMap.get(companyId);
|
|
|
|
|
+ userList.forEach(u->{
|
|
|
|
|
+ //组装请求数据
|
|
|
|
|
+ JSONObject jsonObject= new JSONObject();
|
|
|
|
|
+ jsonObject.put("id",p.getId());
|
|
|
|
|
+ jsonObject.put("projectCode","YJB");
|
|
|
|
|
+ jsonObject.put("videoId",p.getVideoId());
|
|
|
|
|
+ jsonObject.put("periodId",p.getPeriodId());
|
|
|
|
|
+ jsonObject.put("courseId",p.getCourseId());
|
|
|
|
|
+ jsonObject.put("projectId",p.getProjectId());
|
|
|
|
|
+ jsonObject.put("companyId",u.getCompanyId());
|
|
|
|
|
+ jsonObject.put("companyUserId",u.getUserId());
|
|
|
|
|
+ System.out.println("打印对应生成链接信息-----------------》:"+jsonObject.toJSONString());
|
|
|
|
|
+ //生成看课链接
|
|
|
|
|
+ fsCourseLinkService.getGotoWxAppLink("/pages_course/videovip?course="+jsonObject.toJSONString(),"wx4d99d03d9a61b6ab");
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(300);
|
|
|
|
|
+ } catch (InterruptedException e) {
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|