diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java new file mode 100644 index 000000000..018959480 --- /dev/null +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java @@ -0,0 +1,103 @@ +package com.stdiet.web.controller.custom; + +import java.util.List; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +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.RestController; +import com.stdiet.common.annotation.Log; +import com.stdiet.common.core.controller.BaseController; +import com.stdiet.common.core.domain.AjaxResult; +import com.stdiet.common.enums.BusinessType; +import com.stdiet.custom.domain.SysNutritionalVideo; +import com.stdiet.custom.service.ISysNutritionalVideoService; +import com.stdiet.common.utils.poi.ExcelUtil; +import com.stdiet.common.core.page.TableDataInfo; + +/** + * 营养视频Controller + * + * @author xzj + * @date 2021-04-29 + */ +@RestController +@RequestMapping("/custom/nutritionalVideo") +public class SysNutritionalVideoController extends BaseController +{ + @Autowired + private ISysNutritionalVideoService sysNutritionalVideoService; + + /** + * 查询营养视频列表 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:list')") + @GetMapping("/list") + public TableDataInfo list(SysNutritionalVideo sysNutritionalVideo) + { + startPage(); + List list = sysNutritionalVideoService.selectSysNutritionalVideoList(sysNutritionalVideo); + return getDataTable(list); + } + + /** + * 导出营养视频列表 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:export')") + @Log(title = "营养视频", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(SysNutritionalVideo sysNutritionalVideo) + { + List list = sysNutritionalVideoService.selectSysNutritionalVideoList(sysNutritionalVideo); + ExcelUtil util = new ExcelUtil(SysNutritionalVideo.class); + return util.exportExcel(list, "nutritionalVideo"); + } + + /** + * 获取营养视频详细信息 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(sysNutritionalVideoService.selectSysNutritionalVideoById(id)); + } + + /** + * 新增营养视频 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:add')") + @Log(title = "营养视频", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysNutritionalVideo sysNutritionalVideo) + { + return toAjax(sysNutritionalVideoService.insertSysNutritionalVideo(sysNutritionalVideo)); + } + + /** + * 修改营养视频 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:edit')") + @Log(title = "营养视频", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysNutritionalVideo sysNutritionalVideo) + { + return toAjax(sysNutritionalVideoService.updateSysNutritionalVideo(sysNutritionalVideo)); + } + + /** + * 删除营养视频 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:remove')") + @Log(title = "营养视频", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(sysNutritionalVideoService.deleteSysNutritionalVideoByIds(ids)); + } +} \ No newline at end of file diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java index 6c7df9d0f..de7fbe388 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java @@ -64,6 +64,9 @@ public class WechatAppletController extends BaseController { @Autowired private ISysCustomerService sysCustomerService; + @Autowired + private ISysNutritionalVideoService sysNutritionalVideoService; + /** * 查询微信小程序中展示的客户案例 */ @@ -363,12 +366,13 @@ public class WechatAppletController extends BaseController { * 更新用户通知消息已读状态 */ @GetMapping(value = "/getVideoList") - public AjaxResult getVideoList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { + public TableDataInfo getVideoList(SysNutritionalVideo sysNutritionalVideo) { AjaxResult result = AjaxResult.success(); - int total = 0; - List nutritionalVideoList = new ArrayList<>(); + startPage(); + //int total = 0; + //List nutritionalVideoList = new ArrayList<>(); try{ - GetVideoListResponseBody videoListResponseBody = AliyunVideoUtils.getVideoListByPage(null, "Normal", pageNum, pageSize); + /**GetVideoListResponseBody videoListResponseBody = AliyunVideoUtils.getVideoListByPage(null, "Normal", 1, 10); if(videoListResponseBody != null){ total = videoListResponseBody.total; for (GetVideoListResponseBody.GetVideoListResponseBodyVideoListVideo video : videoListResponseBody.videoList.video) { @@ -379,14 +383,20 @@ public class WechatAppletController extends BaseController { nutritionalVideoResponse.setDescription(video.getDescription()); nutritionalVideoResponse.setTags(video.getTags()); nutritionalVideoList.add(nutritionalVideoResponse); + System.out.println(video.getVideoId()); + System.out.println(video.getCoverURL()); + System.out.println(video.getTitle()); + System.out.println(video.getDescription()); } } + System.out.println();**/ + sysNutritionalVideo.setShowFlag(1); + List list = sysNutritionalVideoService.selectSysNutritionalVideoList(sysNutritionalVideo); + return getDataTable(list); }catch (Exception e){ e.printStackTrace(); } - result.put("total", total); - result.put("nutritionalVideoList", nutritionalVideoList); - return result; + return null; } @@ -398,17 +408,18 @@ public class WechatAppletController extends BaseController { AjaxResult result = AjaxResult.success(); NutritionalVideoResponse nutritionalVideoResponse = new NutritionalVideoResponse(); try{ - GetPlayInfoResponseBody playInfoResponseBody = AliyunVideoUtils.getVideoVisitDetail(videoId); - GetVideoInfoResponseBody videoInfoResponseBody = AliyunVideoUtils.getVideoById(videoId); - List playList = playInfoResponseBody.playInfoList.playInfo; - if(playList != null && playList.size() > 0){ - nutritionalVideoResponse.setPlayUrl(playList.get(0).getPlayURL()); - } - if(videoInfoResponseBody != null){ - nutritionalVideoResponse.setDescription(videoInfoResponseBody.video.description); - nutritionalVideoResponse.setTags(videoInfoResponseBody.video.tags); - nutritionalVideoResponse.setTitle(videoInfoResponseBody.video.title); - nutritionalVideoResponse.setCreateTime(videoInfoResponseBody.video.creationTime); + SysNutritionalVideo sysNutritionalVideo = sysNutritionalVideoService.selectSysNutritionalVideByVideoId(videoId); + if(sysNutritionalVideo != null){ + GetPlayInfoResponseBody playInfoResponseBody = AliyunVideoUtils.getVideoVisitDetail(videoId); + //GetVideoInfoResponseBody videoInfoResponseBody = AliyunVideoUtils.getVideoById(videoId); + List playList = playInfoResponseBody.playInfoList.playInfo; + if(playList != null && playList.size() > 0){ + nutritionalVideoResponse.setPlayUrl(playList.get(0).getPlayURL()); + } + nutritionalVideoResponse.setDescription(sysNutritionalVideo.getDescription()); + nutritionalVideoResponse.setTags(sysNutritionalVideo.getTags()); + nutritionalVideoResponse.setTitle(sysNutritionalVideo.getTitle()); + nutritionalVideoResponse.setCreateTime(DateUtils.dateTime(sysNutritionalVideo.getCreateTime())); } }catch (Exception e){ e.printStackTrace(); diff --git a/stdiet-common/src/main/java/com/stdiet/common/utils/AliyunVideoUtils.java b/stdiet-common/src/main/java/com/stdiet/common/utils/AliyunVideoUtils.java index 0133e9c05..e370a5b6e 100644 --- a/stdiet-common/src/main/java/com/stdiet/common/utils/AliyunVideoUtils.java +++ b/stdiet-common/src/main/java/com/stdiet/common/utils/AliyunVideoUtils.java @@ -3,6 +3,7 @@ package com.stdiet.common.utils; import com.aliyun.vod20170321.models.*; import com.aliyun.teaopenapi.models.*; import com.stdiet.common.config.AliyunOSSConfig; +import org.apache.commons.collections4.Get; public class AliyunVideoUtils { @@ -95,6 +96,31 @@ public class AliyunVideoUtils { return null; } + /** + * 根据视频消息获取上传凭证 + * @param cateId + * @param fileName + * @param title + * @param coverURL + * @param tags + * @param description + */ + public static CreateUploadVideoResponse createUploadVideoRequest(Long cateId, String fileName, String title, String coverURL, String tags, String description) throws Exception{ + com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient(); + CreateUploadVideoRequest createUploadVideoRequest = new CreateUploadVideoRequest() + .setDescription(description) + .setCoverURL(coverURL) + .setFileName(fileName) + .setTitle(title) + .setCateId(cateId) + .setTags(tags); + return client.createUploadVideo(createUploadVideoRequest); + } + + + + + diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java new file mode 100644 index 000000000..2bff9acb0 --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java @@ -0,0 +1,55 @@ +package com.stdiet.custom.domain; + +import com.stdiet.common.annotation.Excel; +import com.stdiet.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 营养视频对象 sys_nutritional_video + * + * @author xzj + * @date 2021-04-29 + */ +@Data +public class SysNutritionalVideo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 视频分类ID */ + @Excel(name = "视频分类ID") + private Long cateId; + + /** 阿里云视频ID */ + @Excel(name = "阿里云视频ID") + private String videoId; + + /** 视频封面URL */ + @Excel(name = "视频封面URL") + private String coverUrl; + + /** 视频标题 */ + @Excel(name = "视频标题") + private String title; + + /** 视频描述 */ + @Excel(name = "视频描述") + private String description; + + /** 视频大小,单位:字节 */ + @Excel(name = "视频大小,单位:字节") + private Long videoSize; + + /** 标签,使用 , 隔开 */ + @Excel(name = "标签,使用 , 隔开") + private String tags; + + /** 是否显示,0不显示 1显示,默认0 */ + @Excel(name = "是否显示,0不显示 1显示,默认0") + private Integer showFlag; + + /** 删除标识,0未删除 1已删除,默认0 */ + private Integer delFlag; +} \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java new file mode 100644 index 000000000..2594a4ef1 --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java @@ -0,0 +1,69 @@ +package com.stdiet.custom.mapper; + +import java.util.List; +import com.stdiet.custom.domain.SysNutritionalVideo; +import org.apache.ibatis.annotations.Param; + +/** + * 营养视频Mapper接口 + * + * @author xzj + * @date 2021-04-29 + */ +public interface SysNutritionalVideoMapper +{ + /** + * 查询营养视频 + * + * @param id 营养视频ID + * @return 营养视频 + */ + public SysNutritionalVideo selectSysNutritionalVideoById(Long id); + + /** + * 查询营养视频列表 + * + * @param sysNutritionalVideo 营养视频 + * @return 营养视频集合 + */ + public List selectSysNutritionalVideoList(SysNutritionalVideo sysNutritionalVideo); + + /** + * 新增营养视频 + * + * @param sysNutritionalVideo 营养视频 + * @return 结果 + */ + public int insertSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo); + + /** + * 修改营养视频 + * + * @param sysNutritionalVideo 营养视频 + * @return 结果 + */ + public int updateSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo); + + /** + * 删除营养视频 + * + * @param id 营养视频ID + * @return 结果 + */ + public int deleteSysNutritionalVideoById(Long id); + + /** + * 批量删除营养视频 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteSysNutritionalVideoByIds(Long[] ids); + + /** + * 获取视频 + * @param videoId + * @return + */ + public SysNutritionalVideo selectSysNutritionalVideByVideoId(@Param("videoId")String videoId); +} \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java new file mode 100644 index 000000000..7a844ceae --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java @@ -0,0 +1,68 @@ +package com.stdiet.custom.service; + +import java.util.List; +import com.stdiet.custom.domain.SysNutritionalVideo; + +/** + * 营养视频Service接口 + * + * @author xzj + * @date 2021-04-29 + */ +public interface ISysNutritionalVideoService +{ + /** + * 查询营养视频 + * + * @param id 营养视频ID + * @return 营养视频 + */ + public SysNutritionalVideo selectSysNutritionalVideoById(Long id); + + /** + * 查询营养视频列表 + * + * @param sysNutritionalVideo 营养视频 + * @return 营养视频集合 + */ + public List selectSysNutritionalVideoList(SysNutritionalVideo sysNutritionalVideo); + + /** + * 新增营养视频 + * + * @param sysNutritionalVideo 营养视频 + * @return 结果 + */ + public int insertSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo); + + /** + * 修改营养视频 + * + * @param sysNutritionalVideo 营养视频 + * @return 结果 + */ + public int updateSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo); + + /** + * 批量删除营养视频 + * + * @param ids 需要删除的营养视频ID + * @return 结果 + */ + public int deleteSysNutritionalVideoByIds(Long[] ids); + + /** + * 删除营养视频信息 + * + * @param id 营养视频ID + * @return 结果 + */ + public int deleteSysNutritionalVideoById(Long id); + + /** + * 获取视频 + * @param videoId + * @return + */ + public SysNutritionalVideo selectSysNutritionalVideByVideoId(String videoId); +} \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java new file mode 100644 index 000000000..47ed3f8a6 --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java @@ -0,0 +1,105 @@ +package com.stdiet.custom.service.impl; + +import java.util.List; +import com.stdiet.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.stdiet.custom.mapper.SysNutritionalVideoMapper; +import com.stdiet.custom.domain.SysNutritionalVideo; +import com.stdiet.custom.service.ISysNutritionalVideoService; + +/** + * 营养视频Service业务层处理 + * + * @author xzj + * @date 2021-04-29 + */ +@Service +public class SysNutritionalVideoServiceImpl implements ISysNutritionalVideoService +{ + @Autowired + private SysNutritionalVideoMapper sysNutritionalVideoMapper; + + /** + * 查询营养视频 + * + * @param id 营养视频ID + * @return 营养视频 + */ + @Override + public SysNutritionalVideo selectSysNutritionalVideoById(Long id) + { + return sysNutritionalVideoMapper.selectSysNutritionalVideoById(id); + } + + /** + * 查询营养视频列表 + * + * @param sysNutritionalVideo 营养视频 + * @return 营养视频 + */ + @Override + public List selectSysNutritionalVideoList(SysNutritionalVideo sysNutritionalVideo) + { + return sysNutritionalVideoMapper.selectSysNutritionalVideoList(sysNutritionalVideo); + } + + /** + * 新增营养视频 + * + * @param sysNutritionalVideo 营养视频 + * @return 结果 + */ + @Override + public int insertSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo) + { + sysNutritionalVideo.setCreateTime(DateUtils.getNowDate()); + return sysNutritionalVideoMapper.insertSysNutritionalVideo(sysNutritionalVideo); + } + + /** + * 修改营养视频 + * + * @param sysNutritionalVideo 营养视频 + * @return 结果 + */ + @Override + public int updateSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo) + { + sysNutritionalVideo.setUpdateTime(DateUtils.getNowDate()); + return sysNutritionalVideoMapper.updateSysNutritionalVideo(sysNutritionalVideo); + } + + /** + * 批量删除营养视频 + * + * @param ids 需要删除的营养视频ID + * @return 结果 + */ + @Override + public int deleteSysNutritionalVideoByIds(Long[] ids) + { + return sysNutritionalVideoMapper.deleteSysNutritionalVideoByIds(ids); + } + + /** + * 删除营养视频信息 + * + * @param id 营养视频ID + * @return 结果 + */ + @Override + public int deleteSysNutritionalVideoById(Long id) + { + return sysNutritionalVideoMapper.deleteSysNutritionalVideoById(id); + } + + /** + * 获取视频 + * @param videoId + * @return + */ + public SysNutritionalVideo selectSysNutritionalVideByVideoId(String videoId){ + return sysNutritionalVideoMapper.selectSysNutritionalVideByVideoId(videoId); + } +} \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysNutritionalVideoMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysNutritionalVideoMapper.xml new file mode 100644 index 000000000..9561dcb9b --- /dev/null +++ b/stdiet-custom/src/main/resources/mapper/custom/SysNutritionalVideoMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, cate_id, video_id, cover_url, title, description, video_size, tags, show_flag, create_time, create_by, update_time, update_by, del_flag from sys_nutritional_video + + + + + + + + insert into sys_nutritional_video + + cate_id, + video_id, + cover_url, + title, + description, + video_size, + tags, + show_flag, + create_time, + create_by, + update_time, + update_by, + del_flag, + + + #{cateId}, + #{videoId}, + #{coverUrl}, + #{title}, + #{description}, + #{videoSize}, + #{tags}, + #{showFlag}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{delFlag}, + + + + + update sys_nutritional_video + + cate_id = #{cateId}, + video_id = #{videoId}, + cover_url = #{coverUrl}, + title = #{title}, + description = #{description}, + video_size = #{videoSize}, + tags = #{tags}, + show_flag = #{showFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + del_flag = #{delFlag}, + + where id = #{id} + + + + update sys_nutritional_video set del_flag = 1 where id = #{id} + + + + update sys_nutritional_video set del_flag = 1 where id in + + #{id} + + + + + + \ No newline at end of file