package com.dsh.guns.modular.system.controller.code;
|
|
|
import com.dsh.course.feignClient.activity.BenefitsVideoClient;
|
import com.dsh.course.feignClient.activity.PointMercharsClient;
|
import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO;
|
import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification;
|
import com.dsh.course.feignClient.activity.model.BenefitsVideos;
|
import com.dsh.course.feignClient.activity.model.QueryBenefitsVedioVO;
|
import com.dsh.course.feignClient.course.CourseClient;
|
import com.dsh.course.feignClient.course.model.CourseChangeStateDTO;
|
import com.dsh.guns.config.UserExt;
|
import com.dsh.guns.modular.system.model.TCourse;
|
import com.dsh.guns.modular.system.model.TQueryBenefitsVO;
|
import com.dsh.guns.modular.system.model.TQueryBenefitsVideosDTO;
|
import com.dsh.guns.modular.system.model.TQueryBenefitsVideosVO;
|
import com.dsh.guns.modular.system.util.ResultUtil;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 福利视频分类 控制器
|
*/
|
|
@Controller
|
@RequestMapping("/benefits")
|
public class TWelfareVideoController {
|
private String PREFIX = "/system/benefits/";
|
@Autowired
|
private BenefitsVideoClient benefitsVideoClient;
|
@Autowired
|
private CourseClient courseClient;
|
/**
|
* 跳转福利视频分类首页
|
*/
|
@RequestMapping("")
|
|
public String index(Model model) {
|
return PREFIX + "TBenefits.html";
|
}
|
|
/**
|
* 跳转福利视频分类添加页面
|
*/
|
@RequestMapping("/add")
|
|
public String add(Model model) {
|
return PREFIX + "TBenefits_add.html";
|
}
|
|
/**
|
* 跳转福利视频分类编辑页面--查看详情
|
*/
|
@RequestMapping("/info/{id}")
|
public String info(Model model, @PathVariable("id") Integer id) {
|
BenefitsVideoClassification data = benefitsVideoClient.getById(id);
|
model.addAttribute("data",data);
|
model.addAttribute("type",1);
|
return PREFIX + "TBenefits_edit.html";
|
}
|
/**
|
* 跳转福利视频分类编辑页面
|
*/
|
@RequestMapping("/update/{id}")
|
public String update(Model model, @PathVariable("id") Integer id) {
|
BenefitsVideoClassification data = benefitsVideoClient.getById(id);
|
model.addAttribute("data",data);
|
model.addAttribute("type",0);
|
return PREFIX + "TBenefits_edit.html";
|
}
|
/**
|
* 跳转视频详情页面
|
*/
|
@RequestMapping("/getBenefitsVideos/{courseId}")
|
public String getBenefitsVideos(Model model, @PathVariable("courseId") Integer id) {
|
model.addAttribute("id",id);
|
return PREFIX + "TBenefitsVideos.html";
|
}
|
/**
|
* 跳转视频详情添加页面
|
* @param id 福利视频分类id
|
*/
|
@RequestMapping("/addBenefitsVideos/{id}")
|
public String addBenefitsVideos(Model model,@PathVariable("id")Integer id) {
|
model.addAttribute("id",id);
|
List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(id);
|
// // 所选福利视频分类下的视频的courseId集合
|
// List<Integer> list = new ArrayList<>();
|
// for (BenefitsVideos benefitsVideos : benefitVideoById) {
|
// list.add(benefitsVideos.getCourseId());
|
// }
|
TQueryBenefitsVideosDTO dto = new TQueryBenefitsVideosDTO();
|
// dto.setCoursIds(list);
|
List<TQueryBenefitsVideosVO> courseByCourseIds = courseClient.getCourseByCourseIds(dto);
|
List<TQueryBenefitsVideosVO> tQueryBenefitsVideosVOS = new ArrayList<>();
|
for (TQueryBenefitsVideosVO courseByCourseId : courseByCourseIds) {
|
if (courseByCourseId.getType()!=1){
|
tQueryBenefitsVideosVOS.add(courseByCourseId);
|
}
|
}
|
model.addAttribute("data",tQueryBenefitsVideosVOS);
|
return PREFIX + "TBenefitsVideos_add.html";
|
}
|
|
/**
|
* 跳转视频详情编辑页面
|
*/
|
@RequestMapping("/infoBenefitsVideos/{id}/{type}/{benefitsVideosId}")
|
public String infoBenefitsVideos(Model model, @PathVariable("id") Integer id,@PathVariable("type") Integer type,@PathVariable("benefitsVideosId") Integer benefitsVideosId) {
|
TQueryBenefitsVideosVO tQueryBenefitsVideosVO = new TQueryBenefitsVideosVO();
|
BenefitsVideos benefitVideosById = benefitsVideoClient.getBenefitVideosById(benefitsVideosId);
|
TCourse tCourse = courseClient.queryCourseById(benefitVideosById.getCourseId());
|
BeanUtils.copyProperties(tCourse,tQueryBenefitsVideosVO);
|
tQueryBenefitsVideosVO.setIntegral(benefitVideosById.getIntegral());
|
tQueryBenefitsVideosVO.setBenefitsVideosId(benefitVideosById.getId());
|
model.addAttribute("data",tQueryBenefitsVideosVO);
|
model.addAttribute("type",type);
|
return PREFIX + "TBenefitsVideos_edit.html";
|
}
|
|
/**
|
* 根据所选视频 获取视频封面用于前端显示
|
*/
|
@RequestMapping("/getCoverDrawing/{id}")
|
@ResponseBody
|
public TCourse infoBenefitsVideos( @PathVariable("id") Integer id) {
|
TCourse tCourse = courseClient.queryCourseById(id);
|
return tCourse;
|
}
|
|
|
/**
|
* 查询福利视频分类列表
|
*/
|
@RequestMapping(value= "/list")
|
@ResponseBody
|
public List<TQueryBenefitsVO> listAll(String name, Integer position) {
|
// 对象类型
|
Integer type = UserExt.getUser().getObjectType();
|
// 对象类型Id
|
Integer objectId = UserExt.getUser().getObjectId();
|
QueryBenefitsVedioVO vo = new QueryBenefitsVedioVO();
|
vo.setName(name);
|
vo.setPosition(position);
|
return benefitsVideoClient.listAll(vo);
|
}
|
|
/**
|
* 查询视频详情列表
|
*/
|
@RequestMapping(value= "/listBenefitsVideos/{id}")
|
@ResponseBody
|
public List<TQueryBenefitsVideosVO> listBenefitsVideos(@PathVariable("id")Integer bId, String name, Integer type, Integer state) {
|
TQueryBenefitsVideosDTO vo = new TQueryBenefitsVideosDTO();
|
List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(bId);
|
vo.setCoursIds(new ArrayList<>());
|
for (BenefitsVideos benefitsVideos : benefitVideoById) {
|
// 获取课程id集合
|
vo.getCoursIds().add(benefitsVideos.getCourseId());
|
}
|
if (benefitVideoById.size()==0){
|
return new ArrayList<>();
|
}
|
vo.setName(name);
|
vo.setType(type);
|
vo.setState(state);
|
List<TQueryBenefitsVideosVO> courseByCourseIds = courseClient.getCourseByCourseIds(vo);
|
for (BenefitsVideos benefitsVideos : benefitVideoById) {
|
for (TQueryBenefitsVideosVO courseByCourseId : courseByCourseIds) {
|
if (benefitsVideos.getCourseId().equals(courseByCourseId.getId())){
|
courseByCourseId.setId(benefitsVideos.getId());
|
courseByCourseId.setIntegral(benefitsVideos.getIntegral());
|
courseByCourseId.setBenefitsVideosId(benefitsVideos.getId());
|
courseByCourseId.setState(benefitsVideos.getState());
|
}
|
}
|
}
|
|
|
|
return courseByCourseIds;
|
}
|
/**
|
* 添加福利视频分类
|
*/
|
@RequestMapping(value= "/addBenefits")
|
@ResponseBody
|
public Object addBenefits(@RequestBody BenefitsVideoClassification bvcf) {
|
bvcf.setState(1);
|
bvcf.setInsertTime(new Date());
|
return benefitsVideoClient.addSite(bvcf);
|
}
|
|
/**
|
* 添加视频详情
|
*/
|
@RequestMapping(value= "/addBenefitsVideos")
|
@ResponseBody
|
public Object addBenefitsVideos(@RequestBody BenefitsVideos bvcf) {
|
if (bvcf.getId()!=null){
|
return benefitsVideoClient.addBenefitsVideos(bvcf);
|
}else {
|
bvcf.setState(1);
|
bvcf.setInsertTime(new Date());
|
return benefitsVideoClient.addBenefitsVideos(bvcf);
|
}
|
}
|
|
/**
|
* 福利视频分类上/下架 1为上架 2为下架 3为删除
|
*
|
* @return
|
*/
|
@RequestMapping("/changeState")
|
@ResponseBody
|
public Object changeState(@RequestBody BenefitsVedioChangeStateVO vo){
|
benefitsVideoClient.changeState(vo);
|
return ResultUtil.success();
|
}
|
|
/**
|
* 视频详情上/下架 1为上架 2为下架 3为删除
|
*
|
* @return
|
*/
|
|
@Resource
|
private PointMercharsClient mercharsClient;
|
@RequestMapping("/changeCourseState")
|
@ResponseBody
|
public Object changeCourseState(@RequestBody CourseChangeStateDTO dto){
|
|
courseClient.changeState(dto);
|
mercharsClient.changeState(dto);
|
|
return ResultUtil.success();
|
}
|
|
}
|