|  | @@ -0,0 +1,262 @@
 | 
	
		
			
				|  |  | +package com.fs.company.controller.course.qw;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import com.fs.common.annotation.Log;
 | 
	
		
			
				|  |  | +import com.fs.common.core.controller.BaseController;
 | 
	
		
			
				|  |  | +import com.fs.common.core.domain.AjaxResult;
 | 
	
		
			
				|  |  | +import com.fs.common.core.page.TableDataInfo;
 | 
	
		
			
				|  |  | +import com.fs.common.enums.BusinessType;
 | 
	
		
			
				|  |  | +import com.fs.common.utils.ServletUtils;
 | 
	
		
			
				|  |  | +import com.fs.common.utils.poi.ExcelUtil;
 | 
	
		
			
				|  |  | +import com.fs.course.domain.FsCourseWatchLog;
 | 
	
		
			
				|  |  | +import com.fs.course.param.FsCourseOverParam;
 | 
	
		
			
				|  |  | +import com.fs.course.param.FsCourseUserStatisticsListParam;
 | 
	
		
			
				|  |  | +import com.fs.course.param.FsCourseWatchLogListParam;
 | 
	
		
			
				|  |  | +import com.fs.course.param.FsCourseWatchLogStatisticsListParam;
 | 
	
		
			
				|  |  | +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.framework.security.LoginUser;
 | 
	
		
			
				|  |  | +import com.fs.framework.service.TokenService;
 | 
	
		
			
				|  |  | +import com.fs.qw.param.QwWatchLogStatisticsListParam;
 | 
	
		
			
				|  |  | +import com.fs.qw.service.IQwWatchLogService;
 | 
	
		
			
				|  |  | +import com.fs.qw.vo.QwWatchLogAllStatisticsListVO;
 | 
	
		
			
				|  |  | +import com.fs.sop.mapper.SopUserLogsMapper;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.security.access.prepost.PreAuthorize;
 | 
	
		
			
				|  |  | +import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 短链课程看课记录Controller
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @author fs
 | 
	
		
			
				|  |  | + * @date 2024-10-24
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +@RestController
 | 
	
		
			
				|  |  | +@RequestMapping("/qw/course/courseWatchLog")
 | 
	
		
			
				|  |  | +public class FsQwCourseWatchLogController extends BaseController
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private IFsCourseWatchLogService fsCourseWatchLogService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private TokenService tokenService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private SopUserLogsMapper sopUserLogsMapper;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private IQwWatchLogService qwWatchLogService;
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查询短链课程看课记录列表
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:list')")
 | 
	
		
			
				|  |  | +    @GetMapping("/list")
 | 
	
		
			
				|  |  | +    public TableDataInfo list(FsCourseWatchLogListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//        if (param.getScheduleStartTime() != null && param.getScheduleEndTime() != null){
 | 
	
		
			
				|  |  | +//            List<String> sopUserLogsVOS = sopUserLogsMapper.selectSopUserLogsByDate(param.getScheduleStartTime(), param.getScheduleEndTime());
 | 
	
		
			
				|  |  | +//            param.setSopIds(sopUserLogsVOS);
 | 
	
		
			
				|  |  | +//            if (sopUserLogsVOS==null||sopUserLogsVOS.size()==0){
 | 
	
		
			
				|  |  | +//                return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        List<FsCourseWatchLogListVO> list = fsCourseWatchLogService.selectFsCourseWatchLogListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:statisticsList')")
 | 
	
		
			
				|  |  | +    @GetMapping("/statisticsList")
 | 
	
		
			
				|  |  | +    public TableDataInfo statisticsList(FsCourseWatchLogStatisticsListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<FsCourseWatchLogStatisticsListVO> list = fsCourseWatchLogService.selectFsCourseWatchLogStatisticsListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @GetMapping("/qwWatchLogStatisticsList")
 | 
	
		
			
				|  |  | +    public TableDataInfo qwWatchLogStatisticsList(QwWatchLogStatisticsListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return qwWatchLogService.selectQwWatchLogStatisticsListVO(param);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    @GetMapping("/myQwWatchLogStatisticsList")
 | 
	
		
			
				|  |  | +    public TableDataInfo myQwWatchLogStatisticsList(QwWatchLogStatisticsListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        param.setCompanyUserId(loginUser.getUser().getUserId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return qwWatchLogService.selectQwWatchLogStatisticsListVO(param);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @GetMapping("/qwWatchLogAllStatisticsList")
 | 
	
		
			
				|  |  | +    public TableDataInfo qwWatchLogAllStatisticsList(QwWatchLogStatisticsListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    @GetMapping("/myQwWatchLogAllStatisticsList")
 | 
	
		
			
				|  |  | +    public TableDataInfo myQwWatchLogAllStatisticsList(QwWatchLogStatisticsListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        param.setCompanyUserId(loginUser.getUser().getUserId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    @GetMapping("/watchLogStatistics")
 | 
	
		
			
				|  |  | +    public TableDataInfo watchLogStatistics(FsCourseOverParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<FsCourseOverVO> list = fsCourseWatchLogService.selectFsCourseWatchLogOverStatisticsListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    @GetMapping("/watchLogStatisticsExport")
 | 
	
		
			
				|  |  | +    public AjaxResult watchLogStatisticsExport(FsCourseOverParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return AjaxResult.error("请选择时间");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<FsCourseOverVO> list = fsCourseWatchLogService.selectFsCourseWatchLogOverStatisticsListVO(param);
 | 
	
		
			
				|  |  | +        ExcelUtil<FsCourseOverVO> util = new ExcelUtil<FsCourseOverVO>(FsCourseOverVO.class);
 | 
	
		
			
				|  |  | +        return util.exportExcel(list, "完课数据");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:userStatisticsList')")
 | 
	
		
			
				|  |  | +    @GetMapping("/userStatisticsList")
 | 
	
		
			
				|  |  | +    public TableDataInfo userStatisticsList(FsCourseUserStatisticsListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        if (param.getSTime()==null||param.getETime()==null){
 | 
	
		
			
				|  |  | +            return getDataTable(new ArrayList<>());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<FsCourseUserStatisticsListVO> list = fsCourseWatchLogService.selectFsCourseUserStatisticsListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查询短链课程看课记录列表
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:myList')")
 | 
	
		
			
				|  |  | +    @GetMapping("/myList")
 | 
	
		
			
				|  |  | +    public TableDataInfo myList(FsCourseWatchLogListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        startPage();
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyUserId( loginUser.getUser().getUserId());
 | 
	
		
			
				|  |  | +        List<FsCourseWatchLogListVO> list = fsCourseWatchLogService.selectFsCourseWatchLogListVO(param);
 | 
	
		
			
				|  |  | +        return getDataTable(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 导出短链课程看课记录列表
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:export')")
 | 
	
		
			
				|  |  | +    @Log(title = "短链课程看课记录", businessType = BusinessType.EXPORT)
 | 
	
		
			
				|  |  | +    @GetMapping("/export")
 | 
	
		
			
				|  |  | +    public AjaxResult export(FsCourseWatchLogListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        List<FsCourseWatchLogListVO> list = fsCourseWatchLogService.selectFsCourseWatchLogListVO(param);
 | 
	
		
			
				|  |  | +        ExcelUtil<FsCourseWatchLogListVO> util = new ExcelUtil<FsCourseWatchLogListVO>(FsCourseWatchLogListVO.class);
 | 
	
		
			
				|  |  | +        return util.exportExcel(list, "短链课程看课记录数据");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 导出短链课程看课记录列表
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:myExport')")
 | 
	
		
			
				|  |  | +    @Log(title = "短链课程看课记录", businessType = BusinessType.EXPORT)
 | 
	
		
			
				|  |  | +    @GetMapping("/myExport")
 | 
	
		
			
				|  |  | +    public AjaxResult myExport(FsCourseWatchLogListParam param)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
 | 
	
		
			
				|  |  | +        param.setCompanyId( loginUser.getCompany().getCompanyId());
 | 
	
		
			
				|  |  | +        List<FsCourseWatchLogListVO> list = fsCourseWatchLogService.selectFsCourseWatchLogListVO(param);
 | 
	
		
			
				|  |  | +        ExcelUtil<FsCourseWatchLogListVO> util = new ExcelUtil<FsCourseWatchLogListVO>(FsCourseWatchLogListVO.class);
 | 
	
		
			
				|  |  | +        return util.exportExcel(list, "短链课程看课记录数据");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 获取短链课程看课记录详细信息
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:query')")
 | 
	
		
			
				|  |  | +    @GetMapping(value = "/{logId}")
 | 
	
		
			
				|  |  | +    public AjaxResult getInfo(@PathVariable("logId") Long logId)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        return AjaxResult.success(fsCourseWatchLogService.selectFsCourseWatchLogByLogId(logId));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 新增短链课程看课记录
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:add')")
 | 
	
		
			
				|  |  | +    @Log(title = "短链课程看课记录", businessType = BusinessType.INSERT)
 | 
	
		
			
				|  |  | +    @PostMapping
 | 
	
		
			
				|  |  | +    public AjaxResult add(@RequestBody FsCourseWatchLog fsCourseWatchLog)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        return toAjax(fsCourseWatchLogService.insertFsCourseWatchLog(fsCourseWatchLog));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 修改短链课程看课记录
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:edit')")
 | 
	
		
			
				|  |  | +    @Log(title = "短链课程看课记录", businessType = BusinessType.UPDATE)
 | 
	
		
			
				|  |  | +    @PutMapping
 | 
	
		
			
				|  |  | +    public AjaxResult edit(@RequestBody FsCourseWatchLog fsCourseWatchLog)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        return toAjax(fsCourseWatchLogService.updateFsCourseWatchLog(fsCourseWatchLog));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 删除短链课程看课记录
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @PreAuthorize("@ss.hasPermi('course:courseWatchLog:remove')")
 | 
	
		
			
				|  |  | +    @Log(title = "短链课程看课记录", businessType = BusinessType.DELETE)
 | 
	
		
			
				|  |  | +	@DeleteMapping("/{logIds}")
 | 
	
		
			
				|  |  | +    public AjaxResult remove(@PathVariable Long[] logIds)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        return toAjax(fsCourseWatchLogService.deleteFsCourseWatchLogByLogIds(logIds));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |