diff --git a/pom.xml b/pom.xml index b49f0bd5d..c96194afb 100644 --- a/pom.xml +++ b/pom.xml @@ -198,6 +198,12 @@ aliyun-sdk-oss ${aliyun-oss.version} + + + com.aliyun + vod20170321 + 2.0.0 + diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerController.java index a4660d826..a85fc2e2d 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerController.java @@ -15,12 +15,14 @@ import com.stdiet.custom.domain.SysCustomerPhysicalSigns; import com.stdiet.custom.service.ISysCustomerHealthyService; import com.stdiet.custom.service.ISysCustomerPhysicalSignsService; import com.stdiet.custom.service.ISysCustomerService; +import com.stdiet.custom.service.ISysPhysicalSignsService; 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; +import java.util.regex.Pattern; /** * 客户体征信息Controller @@ -40,6 +42,9 @@ public class SysCustomerController extends BaseController { @Autowired private ISysCustomerHealthyService sysCustomerHealthyService; + @Autowired + private ISysPhysicalSignsService sysPhysicalSignsService; + /** * 查询客户信息列表 */ @@ -56,6 +61,20 @@ public class SysCustomerController extends BaseController { sysCustomer.setChannels(remark.split("\\|")); } } + + //体征查询 + if(StringUtils.isNotEmpty(sysCustomer.getPhysicalSignsId())){ + //判断是否数字ID + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); + if(pattern.matcher(sysCustomer.getPhysicalSignsId()).matches()){ + List signIdList = new ArrayList<>(); + signIdList.add(Long.parseLong(sysCustomer.getPhysicalSignsId())); + sysCustomer.setSignIdList(signIdList); + }else { + sysCustomer.setSignIdList(sysPhysicalSignsService.getSignIdByName(sysCustomer.getPhysicalSignsId())); + } + } + list = sysCustomerService.selectSysCustomerList(sysCustomer); if (list != null && list.size() > 0) { for (SysCustomer sysCus : list) { 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 abcee28f7..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 @@ -1,11 +1,15 @@ package com.stdiet.web.controller.custom; +import com.aliyun.vod20170321.models.GetPlayInfoResponseBody; +import com.aliyun.vod20170321.models.GetVideoInfoResponseBody; +import com.aliyun.vod20170321.models.GetVideoListResponseBody; import com.itextpdf.io.util.DateTimeUtil; import com.stdiet.common.core.controller.BaseController; import com.stdiet.common.core.domain.AjaxResult; import com.stdiet.common.core.page.TableDataInfo; import com.stdiet.common.enums.BusinessType; import com.stdiet.common.exception.file.FileNameLengthLimitExceededException; +import com.stdiet.common.utils.AliyunVideoUtils; import com.stdiet.common.utils.DateUtils; import com.stdiet.common.utils.StringUtils; import com.stdiet.common.utils.file.FileUploadUtils; @@ -15,6 +19,7 @@ import com.stdiet.common.utils.sign.AesUtils; import com.stdiet.custom.domain.*; import com.stdiet.custom.dto.response.CustomerCaseResponse; import com.stdiet.custom.dto.response.MessageNoticeResponse; +import com.stdiet.custom.dto.response.NutritionalVideoResponse; import com.stdiet.custom.page.WxLogInfo; import com.stdiet.custom.service.*; import org.aspectj.weaver.loadtime.Aj; @@ -59,6 +64,9 @@ public class WechatAppletController extends BaseController { @Autowired private ISysCustomerService sysCustomerService; + @Autowired + private ISysNutritionalVideoService sysNutritionalVideoService; + /** * 查询微信小程序中展示的客户案例 */ @@ -353,4 +361,70 @@ public class WechatAppletController extends BaseController { sysMessageNotice.setId(id); return toAjax(sysMessageNoticeService.updateSysMessageNotice(sysMessageNotice)); } + + /** + * 更新用户通知消息已读状态 + */ + @GetMapping(value = "/getVideoList") + public TableDataInfo getVideoList(SysNutritionalVideo sysNutritionalVideo) { + AjaxResult result = AjaxResult.success(); + startPage(); + //int total = 0; + //List nutritionalVideoList = new ArrayList<>(); + try{ + /**GetVideoListResponseBody videoListResponseBody = AliyunVideoUtils.getVideoListByPage(null, "Normal", 1, 10); + if(videoListResponseBody != null){ + total = videoListResponseBody.total; + for (GetVideoListResponseBody.GetVideoListResponseBodyVideoListVideo video : videoListResponseBody.videoList.video) { + NutritionalVideoResponse nutritionalVideoResponse = new NutritionalVideoResponse(); + nutritionalVideoResponse.setCoverURL(video.getCoverURL()); + nutritionalVideoResponse.setTitle(video.getTitle()); + nutritionalVideoResponse.setVideoId(video.getVideoId()); + 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(); + } + return null; + } + + + /** + * 根据视频id获取播放链接 + */ + @GetMapping(value = "/getVideoDetailById") + public AjaxResult getVideoDetailById(@RequestParam(value = "videoId") String videoId) { + AjaxResult result = AjaxResult.success(); + NutritionalVideoResponse nutritionalVideoResponse = new NutritionalVideoResponse(); + try{ + 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(); + } + result.put("videoDetail", nutritionalVideoResponse); + return result; + } } 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 new file mode 100644 index 000000000..e370a5b6e --- /dev/null +++ b/stdiet-common/src/main/java/com/stdiet/common/utils/AliyunVideoUtils.java @@ -0,0 +1,127 @@ +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 { + + public static com.aliyun.vod20170321.Client videoClient = null; + + public static final String default_definition = "FD,LD,SD,HD"; + + public static final String default_stream_type = "video"; + + public static final String default_output_type = "oss"; + + public static final String default_formats = "mp4"; + + /** + * 初始化视频点播Client + * @return + * @throws Exception + */ + public static com.aliyun.vod20170321.Client createClient() throws Exception { + if(videoClient == null){ + synchronized (com.aliyun.vod20170321.Client.class){ + if(videoClient == null){ + Config config = new Config() + // 您的AccessKey ID + .setAccessKeyId(AliyunOSSConfig.AccessKeyID) + // 您的AccessKey Secret + .setAccessKeySecret(AliyunOSSConfig.AccessKeySecret); + // 访问的域名 + config.endpoint = "vod.cn-shenzhen.aliyuncs.com"; + videoClient = new com.aliyun.vod20170321.Client(config); + } + } + } + return videoClient; + } + + /** + * 分页获取视频列表 + * @param pageNo 页码 + * @param pageSize 每页数量 + * @return + * @throws Exception + */ + public static GetVideoListResponseBody getVideoListByPage(Long cateId, String status, Integer pageNo, Integer pageSize) throws Exception{ + com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient(); + GetVideoListRequest getVideoListRequest = new GetVideoListRequest() + .setCateId(cateId == null ? null : cateId) + .setStatus(status == null ? "Normal": status) + .setPageNo(pageNo == null ? 1 : pageNo) + .setPageSize(pageSize == null ? 10 : pageSize); + GetVideoListResponse videoListResponse = client.getVideoList(getVideoListRequest); + if(videoListResponse != null){ + return videoListResponse.getBody(); + } + return null; + } + + /** + * 根据videoID获取视频访问地址信息 + * @param videoId + * @throws Exception + */ + public static GetPlayInfoResponseBody getVideoVisitDetail(String videoId) throws Exception{ + com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient(); + GetPlayInfoRequest getPlayInfoRequest = new GetPlayInfoRequest() + .setVideoId(videoId) + .setStreamType(default_stream_type) + .setOutputType(default_output_type) + .setFormats(default_formats); + GetPlayInfoResponse getPlayInfoResponse = client.getPlayInfo(getPlayInfoRequest); + if(getPlayInfoResponse != null){ + return getPlayInfoResponse.getBody(); + } + return null; + } + + /** + * 根据videoID获取视频信息 + * @param videoId + * @throws Exception + */ + public static GetVideoInfoResponseBody getVideoById (String videoId) throws Exception{ + com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient(); + GetVideoInfoRequest getVideoInfoRequest = new GetVideoInfoRequest() + .setVideoId(videoId); + GetVideoInfoResponse response = client.getVideoInfo(getVideoInfoRequest); + if(response != null){ + return response.body; + } + 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/SysCustomer.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCustomer.java index a99cd9447..072923305 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCustomer.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCustomer.java @@ -2,6 +2,8 @@ package com.stdiet.custom.domain; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -102,4 +104,10 @@ public class SysCustomer extends BaseEntity private String[] channels; + //病史体征ID集合,非持久化字段 + private List signIdList; + + //病史体征ID + private String physicalSignsId; + } \ No newline at end of file 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/dto/response/NutritionalVideoResponse.java b/stdiet-custom/src/main/java/com/stdiet/custom/dto/response/NutritionalVideoResponse.java new file mode 100644 index 000000000..d3827493c --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/dto/response/NutritionalVideoResponse.java @@ -0,0 +1,39 @@ +package com.stdiet.custom.dto.response; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class NutritionalVideoResponse implements Serializable { + + private static final long serialVersionUID = 1L; + + //分类ID + public Long cateId; + + //分类名称 + public String cateName; + + //标题 + public String title; + + //标签 + public String tags; + + //视频ID + public String videoId; + + //封面URL + public String coverURL; + + //视频描述 + public String description; + + //播放链接 + public String playUrl; + + + public String createTime; + +} 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/mapper/SysPhysicalSignsMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysPhysicalSignsMapper.java index 22cca22d8..cbd9b349b 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysPhysicalSignsMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysPhysicalSignsMapper.java @@ -2,6 +2,7 @@ package com.stdiet.custom.mapper; import java.util.List; import com.stdiet.custom.domain.SysPhysicalSigns; +import org.apache.ibatis.annotations.Param; /** * 体征Mapper接口 @@ -58,4 +59,11 @@ public interface SysPhysicalSignsMapper * @return 结果 */ public int deleteSysPhysicalSignsByIds(Long[] ids); + + /** + * 根据名称查询体征ID集合 + * @param name + * @return + */ + List getSignIdByName(@Param("name") String name); } \ 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/ISysPhysicalSignsService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysPhysicalSignsService.java index 204ba992a..eee6b4ce0 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysPhysicalSignsService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysPhysicalSignsService.java @@ -58,4 +58,11 @@ public interface ISysPhysicalSignsService * @return 结果 */ public int deleteSysPhysicalSignsById(Long id); + + /** + * 根据名称查询体征ID集合 + * @param name + * @return + */ + List getSignIdByName(String name); } \ 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/java/com/stdiet/custom/service/impl/SysPhysicalSignsServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysPhysicalSignsServiceImpl.java index 71d5a4182..1aa9f149e 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysPhysicalSignsServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysPhysicalSignsServiceImpl.java @@ -90,4 +90,14 @@ public class SysPhysicalSignsServiceImpl implements ISysPhysicalSignsService { return sysPhysicalSignsMapper.deleteSysPhysicalSignsById(id); } + + /** + * 根据名称查询体征ID集合 + * @param name + * @return + */ + @Override + public List getSignIdByName(String name){ + return sysPhysicalSignsMapper.getSignIdByName(name); + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysCustomerMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysCustomerMapper.xml index 086da23a6..0e7b805e0 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysCustomerMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysCustomerMapper.xml @@ -34,26 +34,41 @@ + where del_flag = 0 + + and show_flag = #{showFlag} + + + + + + + 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 diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysPhysicalSignsMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysPhysicalSignsMapper.xml index 0c6493d6b..081231caa 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysPhysicalSignsMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysPhysicalSignsMapper.xml @@ -66,5 +66,10 @@ + + + \ No newline at end of file diff --git a/stdiet-ui/src/views/custom/askQuestion/index.vue b/stdiet-ui/src/views/custom/askQuestion/index.vue index 5db66b6ad..f0ee6985c 100644 --- a/stdiet-ui/src/views/custom/askQuestion/index.vue +++ b/stdiet-ui/src/views/custom/askQuestion/index.vue @@ -49,6 +49,7 @@ +