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 benefitVideoById = benefitsVideoClient.getBenefitVideoById(id); // // 所选福利视频分类下的视频的courseId集合 // List list = new ArrayList<>(); // for (BenefitsVideos benefitsVideos : benefitVideoById) { // list.add(benefitsVideos.getCourseId()); // } TQueryBenefitsVideosDTO dto = new TQueryBenefitsVideosDTO(); // dto.setCoursIds(list); List courseByCourseIds = courseClient.getCourseByCourseIds(dto); List 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 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 listBenefitsVideos(@PathVariable("id")Integer bId, String name, Integer type, Integer state) { TQueryBenefitsVideosDTO vo = new TQueryBenefitsVideosDTO(); List 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 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(); } }