Prechádzať zdrojové kódy

Merge branch 'dev' of xiaoyunquan/wlyy2.0 into dev

叶仕杰 2 rokov pred
rodič
commit
4f84d9bc97

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 42 - 1
common/common-entity/sql记录


+ 103 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/radio/WlyyRadioDO.java

@ -0,0 +1,103 @@
package com.yihu.jw.entity.care.radio;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * @author xyq
 * @create 2022-07-04 11:48
 * @slogan 他化自在,我自逍遥
 */
@Entity
@Table(name = "wlyy_radio")
public class WlyyRadioDO extends IdEntity {
    //频道名称
    @Column(name = "name")
    private String name;
    //频率
    @Column(name = "frequency")
    private String frequency;
    //简介
    @Column(name = "introduction")
    private String introduction;
    //播放地址
    @Column(name = "url")
    private String url;
    //排序
    @Column(name = "sort_num")
    private Integer sortNum;
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date createTime;
    //1可用,0禁用
    @Column(name = "status")
    private Integer status;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getFrequency() {
        return frequency;
    }
    public void setFrequency(String frequency) {
        this.frequency = frequency;
    }
    public String getIntroduction() {
        return introduction;
    }
    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public Integer getSortNum() {
        return sortNum;
    }
    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
}

+ 31 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/video/BaseVideoDO.java

@ -18,6 +18,10 @@ public class BaseVideoDO extends UuidIdentityEntityWithCreateTime {
    private String url;//url
    private String img;//封面图片
    private String introduction;//简介
    private Integer sortNum;//排序
    private Integer status;//1可用,0禁用
    @Column(name = "type")
    public String getType() {
        return type;
@ -53,4 +57,31 @@ public class BaseVideoDO extends UuidIdentityEntityWithCreateTime {
    public void setImg(String img) {
        this.img = img;
    }
    @Column(name = "introduction")
    public String getIntroduction() {
        return introduction;
    }
    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }
    @Column(name = "sort_num")
    public Integer getSortNum() {
        return sortNum;
    }
    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
}

+ 69 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/video/BaseVideoGroupDO.java

@ -0,0 +1,69 @@
package com.yihu.jw.entity.care.video;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * @author xyq
 * @create 2022-07-04 16:09
 * @slogan 他化自在,我自逍遥
 */
@Entity
@Table(name = "base_video_group")
public class BaseVideoGroupDO extends IdEntity {
    //栏目名称
    @Column(name = "name")
    private String name;
    //栏目排序
    @Column(name = "sort_num")
    private Integer sortNum;
    //1启用,0禁用
    @Column(name = "status")
    private Integer status;
    //创建时间
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date createTime;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getSortNum() {
        return sortNum;
    }
    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 22 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/radio/WlyyRadioDao.java

@ -0,0 +1,22 @@
package com.yihu.jw.base.dao.radio;
import com.yihu.jw.entity.care.radio.WlyyRadioDO;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author xyq
 * @create 2022-07-04 13:36
 * @slogan 他化自在,我自逍遥
 */
public interface WlyyRadioDao extends PagingAndSortingRepository<WlyyRadioDO, String>, JpaSpecificationExecutor<WlyyRadioDO> {
    @Query("select r from WlyyRadioDO r where r.status = 1 ")
    List<WlyyRadioDO> findByPage(Pageable pageable);
    WlyyRadioDO findById(Long id);
}

+ 11 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/video/BaseVideoDao.java

@ -0,0 +1,11 @@
package com.yihu.jw.base.dao.video;
import com.yihu.jw.entity.care.video.BaseVideoDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2022/3/21.
 */
public interface BaseVideoDao extends PagingAndSortingRepository<BaseVideoDO, String>, JpaSpecificationExecutor<BaseVideoDO> {
}

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/video/BaseVideoGroupDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.base.dao.video;
import com.yihu.jw.entity.care.video.BaseVideoGroupDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author xyq
 * @create 2022-07-04 16:14
 * @slogan 他化自在,我自逍遥
 */
public interface BaseVideoGroupDao extends PagingAndSortingRepository<BaseVideoGroupDO, String>, JpaSpecificationExecutor<BaseVideoGroupDO> {
    BaseVideoGroupDO findById(Long id);
}

+ 82 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/radio/WlyyRadioEndpoint.java

@ -0,0 +1,82 @@
package com.yihu.jw.base.endpoint.radio;
import com.yihu.jw.base.service.radio.WlyyRadioService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * @author xyq
 * @create 2022-07-04 13:39
 * @slogan 他化自在,我自逍遥
 */
@RestController
@RequestMapping(value = "/raido/manager")
@Api(value = "收音机音频", description = "收音机音频管理接口", tags = {"wlyy基础服务 - 收音机音频管理接口"})
public class WlyyRadioEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private WlyyRadioService radioService;
    @ApiOperation(value = "分页获取收音机列表")
    @GetMapping( "/getRadioPage")
    public PageEnvelop getRadioPage(@ApiParam(name = "name",value = "名字搜索") @RequestParam(required = false) String name,
                                    @ApiParam(name = "frequency",value = "频率搜索") @RequestParam(required = false) String frequency,
                                    @ApiParam(name = "page",value = "页码") @RequestParam(required = false,defaultValue = "1")Integer page,
                                    @ApiParam(name = "pageSize",value = "每页大小") @RequestParam(required = false,defaultValue = "20")Integer pageSize){
        try {
            return radioService.getRadioPage(name, frequency, page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
    }
    @ApiOperation(value = "修改收音机音频")
    @PostMapping("/updateRadio")
    public Envelop updateRadio(@ApiParam(name = "id",value = "id")@RequestParam(required = false) Long id,
                               @ApiParam(name = "name",value = "频道名称")@RequestParam String name,
                               @ApiParam(name = "frequency",value = "频率")@RequestParam String frequency,
                               @ApiParam(name = "introduction",value = "简介")@RequestParam(required = false) String introduction,
                               @ApiParam(name = "url",value = "播放地址")@RequestParam String url,
                               @ApiParam(name = "sortNum",value = "排序")@RequestParam(required = false,defaultValue = "1") Integer sortNum,
                               @ApiParam(name = "status",value = "1可用,0禁用")@RequestParam(required = false,defaultValue = "1") Integer status){
        try {
            return radioService.updateRadio(id,name, frequency, introduction, url, sortNum, status);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation(value = "新增收音机音频")
    @PostMapping("/addRadio")
    public Envelop addRadio(@ApiParam(name = "name",value = "频道名称")@RequestParam String name,
                           @ApiParam(name = "frequency",value = "频率")@RequestParam String frequency,
                           @ApiParam(name = "introduction",value = "简介")@RequestParam(required = false) String introduction,
                           @ApiParam(name = "url",value = "播放地址")@RequestParam String url,
                           @ApiParam(name = "sortNum",value = "排序")@RequestParam(required = false,defaultValue = "1") Integer sortNum,
                           @ApiParam(name = "status",value = "1可用,0禁用")@RequestParam(required = false,defaultValue = "1") Integer status){
        try {
            return radioService.updateRadio(null,name, frequency, introduction, url, sortNum, status);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation(value = "删除收音机音频")
    @PostMapping("/deleteRadio")
    public Envelop deleteRadio(@ApiParam(name = "id",value = "id")@RequestParam Long id){
        try {
            return radioService.deleteRadio(id);
        }catch (Exception e){
            return failedException2(e);
        }
    }
}

+ 132 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/video/BaseVideoEndpoint.java

@ -0,0 +1,132 @@
package com.yihu.jw.base.endpoint.video;
import com.yihu.jw.base.service.video.BaseVideoGroupService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * @author xyq
 * @create 2022-07-04 16:18
 * @slogan 他化自在,我自逍遥
 */
@RestController
@RequestMapping(value = "/video/manager")
@Api(value = "视频栏目管理接口", description = "视频栏目管理接口", tags = {"wlyy基础服务 - 视频栏目管理接口"})
public class BaseVideoEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseVideoGroupService videoGroupService;
    @ApiOperation(value = "分页获取视频栏目")
    @GetMapping("/getVideoGroupPage")
    public PageEnvelop getVideoGroupPage(@ApiParam(name = "name",value = "栏目名字搜索")@RequestParam(required = false)String name,
                                         @ApiParam(name = "page",value = "页码") @RequestParam(required = false,defaultValue = "1")Integer page,
                                         @ApiParam(name = "pageSize",value = "每页大小") @RequestParam(required = false,defaultValue = "20")Integer pageSize){
        try {
            return videoGroupService.getVideoGroupPage(name, page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
    }
    @ApiOperation(value = "修改视频栏目")
    @PostMapping("/updateVideoGroup")
    public Envelop updateVideoGroup(@ApiParam @RequestParam Long id,
                                    @ApiParam(name = "name",value = "栏目名称") @RequestParam String name,
                                    @ApiParam(name = "sortNum",value = "栏目排序")@RequestParam(required = false,defaultValue = "1")Integer sortNum,
                                    @ApiParam(name = "status",value = "1可用,0禁用")@RequestParam(required = false,defaultValue = "1")Integer status){
        try {
            return videoGroupService.updateVideoGroup(id, name, sortNum, status);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation(value = "新增视频栏目")
    @PostMapping("/addVideoGroup")
    public Envelop addVideoGroup(@ApiParam(name = "name",value = "栏目名称") @RequestParam String name,
                                    @ApiParam(name = "sortNum",value = "栏目排序")@RequestParam(required = false,defaultValue = "1")Integer sortNum,
                                    @ApiParam(name = "status",value = "1可用,0禁用")@RequestParam(required = false,defaultValue = "1")Integer status){
        try {
            return videoGroupService.updateVideoGroup(null, name, sortNum, status);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation(value = "删除视频栏目")
    @PostMapping("/deleteVideoGroup")
    public Envelop deleteVideoGroup(@ApiParam @RequestParam Long id){
        try {
            return videoGroupService.deleteVideoGroup(id);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation("分页获取视频列表")
    @GetMapping("/getVideoPage")
    public PageEnvelop getVideoPage(@ApiParam(name = "title",value = "视频标题")@RequestParam(required = false) String title,
                                    @ApiParam(name = "type",value = "栏目id")@RequestParam(required = false)Integer type,
                                    @ApiParam(name = "page",value = "页码") @RequestParam(required = false,defaultValue = "1")Integer page,
                                    @ApiParam(name = "pageSize",value = "每页大小") @RequestParam(required = false,defaultValue = "20")Integer pageSize){
        try {
            return videoGroupService.getVideoPage(title, type, page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
    }
    @ApiOperation("修改视频")
    @PostMapping("/updateVideo")
    public Envelop updateVideo(@ApiParam @RequestParam String id,
                               @ApiParam(name = "type",value = "栏目id")@RequestParam Integer type,
                               @ApiParam(name = "title",value = "视频标题")@RequestParam String title,
                               @ApiParam(name = "url",value = "视频播放地址")@RequestParam String url,
                               @ApiParam(name = "img",value = "封面图片")@RequestParam(required = false) String img,
                               @ApiParam(name = "introduction",value = "简介")@RequestParam(required = false)String introduction,
                               @ApiParam(name = "sortNum",value = "排序")@RequestParam(required = false,defaultValue = "1")Integer sortNum,
                               @ApiParam(name = "status",value = "1可用,0禁用")@RequestParam(required = false,defaultValue = "1")Integer status){
        try {
            return videoGroupService.updateVideo(id, type, title, url, img, introduction, sortNum, status);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation("新增视频")
    @PostMapping("/addVideo")
    public Envelop addVideo(@ApiParam(name = "type",value = "栏目id")@RequestParam Integer type,
                               @ApiParam(name = "title",value = "视频标题")@RequestParam String title,
                               @ApiParam(name = "url",value = "视频播放地址")@RequestParam String url,
                               @ApiParam(name = "img",value = "封面图片")@RequestParam(required = false) String img,
                               @ApiParam(name = "introduction",value = "简介")@RequestParam(required = false)String introduction,
                               @ApiParam(name = "sortNum",value = "排序")@RequestParam(required = false,defaultValue = "1")Integer sortNum,
                               @ApiParam(name = "status",value = "1可用,0禁用")@RequestParam(required = false,defaultValue = "1")Integer status){
        try {
            return videoGroupService.updateVideo(null, type, title, url, img, introduction, sortNum, status);
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @ApiOperation("删除视频")
    @RequestMapping(value = "/deleteVideo",method = RequestMethod.POST)
    public Envelop deleteVideo(@ApiParam(name = "id",value = "视频id")@RequestParam String id){
        try {
            return videoGroupService.deleteVideo(id);
        }catch (Exception e){
            return failedException2(e);
        }
    }
}

+ 99 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/radio/WlyyRadioService.java

@ -0,0 +1,99 @@
package com.yihu.jw.base.service.radio;
import com.yihu.jw.base.dao.radio.WlyyRadioDao;
import com.yihu.jw.entity.care.radio.WlyyRadioDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author xyq
 * @create 2022-07-04 13:43
 * @slogan 他化自在,我自逍遥
 */
@Service
public class WlyyRadioService extends BaseJpaService<WlyyRadioDO, WlyyRadioDao> {
    @Autowired
    private WlyyRadioDao radioDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 分页条件查询收音机列表
     * @param name
     * @param frequency
     * @param page
     * @param pageSize
     * @return
     */
    public PageEnvelop getRadioPage(String name,String frequency,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String colSql = "SELECT id,name,frequency,introduction,url,sort_num sortNum, " +
                " CAST(DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') as char) createTime,CAST(status as UNSIGNED) status ";
        String sql = " from wlyy_radio " +
                " where status = 1 ";
        if(StringUtils.isNotBlank(name)){
            sql += " and name like '%"+name+"%' ";
        }
        if(StringUtils.isNotBlank(frequency)){
            sql += " and frequency like '%"+frequency+"%' ";
        }
        String orderSql = " order by sort_num limit "+page*pageSize+","+pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(colSql+sql+orderSql);
        String countSql = "SELECT count(*) ";
        Long count = jdbcTemplate.queryForObject(countSql+sql, Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
    }
    /**
     * 修改收音机
     * @param name
     * @param frequency
     * @param introduction
     * @param url
     * @param sortNum
     * @param status
     * @return
     */
    public Envelop updateRadio(Long id,String name,String frequency,String introduction,String url,Integer sortNum,Integer status){
        if(StringUtils.isBlank(name) || StringUtils.isBlank(frequency) || StringUtils.isBlank(url)){
            return Envelop.getError("必填字段不能为空");
        }
        WlyyRadioDO radio = new WlyyRadioDO();
        if(id != null){
            radio.setId(id);
        }
        radio.setName(name);
        radio.setFrequency(frequency);
        radio.setIntroduction(introduction);
        radio.setUrl(url);
        radio.setSortNum(sortNum);
        radio.setCreateTime(new Date());
        radio.setStatus(status);
        radioDao.save(radio);
        return Envelop.getSuccess("保存成功");
    }
    /**
     * 删除收音机
     * @param id
     * @return
     */
    public Envelop deleteRadio(Long id){
        WlyyRadioDO byId = radioDao.findById(id);
        if(byId != null){
            radioDao.delete(byId);
        }
        return Envelop.getSuccess("删除成功");
    }
}

+ 164 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/video/BaseVideoGroupService.java

@ -0,0 +1,164 @@
package com.yihu.jw.base.service.video;
import com.yihu.jw.base.dao.video.BaseVideoDao;
import com.yihu.jw.base.dao.video.BaseVideoGroupDao;
import com.yihu.jw.entity.care.video.BaseVideoDO;
import com.yihu.jw.entity.care.video.BaseVideoGroupDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author xyq
 * @create 2022-07-04 16:16
 * @slogan 他化自在,我自逍遥
 */
@Service
public class BaseVideoGroupService extends BaseJpaService<BaseVideoGroupDO, BaseVideoGroupDao> {
    @Autowired
    private BaseVideoDao videoDao;
    @Autowired
    private BaseVideoGroupDao videoGroupDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 分页获取视频栏目列表
     * @param name
     * @param page
     * @param pageSize
     * @return
     */
    public PageEnvelop getVideoGroupPage(String name,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String colSql = "SELECT id,name,sort_num sortNum,CAST(status AS UNSIGNED) status,CAST(DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') as char) createTime ";
        String countSql = "select count(*) ";
        String sql = " from base_video_group where status = 1 ";
        if(StringUtils.isNotBlank(name)){
            sql += " and name like '%"+name+"%' ";
        }
        String orderSql = " ORDER BY sort_num limit "+page*pageSize+","+pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(colSql + sql + orderSql);
        Long count = jdbcTemplate.queryForObject(countSql + sql, Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
    }
    /**
     * 修改视频栏目
     * @param id
     * @param name
     * @param sortNum
     * @param status
     * @return
     */
    public Envelop updateVideoGroup(Long id,String name,Integer sortNum,Integer status){
        if(StringUtils.isBlank(name)){
            return Envelop.getError("栏目名称不能为空");
        }
        BaseVideoGroupDO videoGroupDO = new BaseVideoGroupDO();
        if(id != null){
            videoGroupDO.setId(id);
        }
        videoGroupDO.setName(name);
        videoGroupDO.setSortNum(sortNum);
        videoGroupDO.setStatus(status);
        videoGroupDO.setCreateTime(new Date());
        videoGroupDao.save(videoGroupDO);
        return Envelop.getSuccess("保存成功");
    }
    /**
     * 删除视频栏目
     * @param id
     * @return
     */
    public Envelop deleteVideoGroup(Long id){
        BaseVideoGroupDO byId = videoGroupDao.findById(id);
        if(byId != null){
            videoGroupDao.delete(byId);
        }
        return Envelop.getSuccess("删除成功");
    }
    /**
     * 分页获取视频列表
     * @param title
     * @param type
     * @param page
     * @param pageSize
     * @return
     */
    public PageEnvelop getVideoPage(String title,Integer type,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String colSql = "SELECT v.id,v.type,v.title,v.url,v.img,CAST(DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%S') as char) createTime, " +
                " v.introduction,v.sort_num sortNum,CAST(v.status as UNSIGNED) status,g.name ";
        String countSql = "SELECT count(*) ";
        String fromSql = " from base_video v left join base_video_group g on v.type = g.id where v.status = 1 ";
        if(StringUtils.isNotBlank(title)){
            fromSql += " and v.title like '%"+title+"%' ";
        }
        if(type != null && type > 0){
            fromSql += " and v.type = "+type;
        }
        Long count = jdbcTemplate.queryForObject(countSql + fromSql, Long.class);
        fromSql += " order by v.sort_num limit "+page*pageSize+","+pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(colSql + fromSql);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
    }
    /**
     * 修改视频信息
     * @param id
     * @param type
     * @param title
     * @param url
     * @param img
     * @param introduction
     * @param sortNum
     * @param status
     * @return
     */
    public Envelop updateVideo(String id,Integer type,String title,String url,String img,String introduction,Integer sortNum,Integer status){
        if(StringUtils.isBlank(title) || type == null || StringUtils.isBlank(url)){
            return Envelop.getError("必填参数不能为空");
        }
        BaseVideoDO videoDO = new BaseVideoDO();
        if(StringUtils.isNotBlank(id)){
            videoDO.setId(id);
        }
        videoDO.setTitle(title);
        videoDO.setType(type.toString());
        videoDO.setUrl(url);
        videoDO.setImg(img);
        videoDO.setIntroduction(introduction);
        videoDO.setSortNum(sortNum);
        videoDO.setStatus(status);
        videoDO.setCreateTime(new Date());
        videoDao.save(videoDO);
        return Envelop.getSuccess("保存成功");
    }
    /**
     * 删除视频
     * @param id
     * @return
     */
    public Envelop deleteVideo(String id){
        BaseVideoDO video = videoDao.findOne(id);
        if(video != null){
            videoDao.delete(video);
        }
        return Envelop.getSuccess("删除成功");
    }
}

+ 43 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/radio/WlyyRadioEndpoint.java

@ -0,0 +1,43 @@
package com.yihu.jw.care.endpoint.radio;
import com.yihu.jw.care.service.radio.WlyyRadioService;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author xyq
 * @create 2022-07-04 13:39
 * @slogan 他化自在,我自逍遥
 */
@RestController
@RequestMapping(value = "/raido")
@Api(value = "收音机音频接口", description = "收音机音频接口", tags = {"收音机音频接口"})
public class WlyyRadioEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private WlyyRadioService radioService;
    @ApiOperation(value = "分页获取收音机列表")
    @GetMapping(value = "/getRadioPage")
    public PageEnvelop getRadioPage(@ApiParam(name = "name",value = "名字搜索") @RequestParam(required = false) String name,
                                    @ApiParam(name = "frequency",value = "频率搜索") @RequestParam(required = false) String frequency,
                                    @ApiParam(name = "page",value = "页码") @RequestParam(required = false,defaultValue = "1")Integer page,
                                    @ApiParam(name = "pageSize",value = "每页大小") @RequestParam(required = false,defaultValue = "20")Integer pageSize){
        try {
            return radioService.getRadioPage(name, frequency, page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
    }
}

+ 27 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/video/PatientVideoEndpoint.java

@ -1,8 +1,10 @@
package com.yihu.jw.care.endpoint.video;
import com.yihu.jw.care.dao.video.BaseVideoDao;
import com.yihu.jw.care.service.video.BaseVideoService;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -27,6 +29,8 @@ public class PatientVideoEndpoint extends EnvelopRestEndpoint {
    private BaseVideoDao baseVideoDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private BaseVideoService baseVideoService;
    @RequestMapping(value = "findVideoNum", method = RequestMethod.GET)
    @ApiOperation(value = "按类型获取视频列表")
@ -61,4 +65,27 @@ public class PatientVideoEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping("/getVideoGroup")
    @ApiOperation(value = "获取视频栏目")
    public ListEnvelop getVideoGroup(){
        try {
            return baseVideoService.getVideoGroup();
        }catch (Exception e){
            return failedListEnvelopException2(e);
        }
    }
    @GetMapping("/getVideoPageByGroup")
    @ApiOperation(value = "获取视频列表")
    public PageEnvelop getVideoPageByGroup(@ApiParam(name = "groupId",value = "栏目id")@RequestParam(required = false,defaultValue = "0") Integer groupId,
                                           @ApiParam @RequestParam(required = false,defaultValue = "1")Integer page,
                                           @ApiParam @RequestParam(required = false,defaultValue = "20")Integer pageSize){
        try {
            return baseVideoService.getVideoPageByGroup(groupId, page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException(e);
        }
    }
}

+ 50 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/radio/WlyyRadioService.java

@ -0,0 +1,50 @@
package com.yihu.jw.care.service.radio;
import com.yihu.jw.restmodel.web.PageEnvelop;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * @author xyq
 * @create 2022-07-04 13:43
 * @slogan 他化自在,我自逍遥
 */
@Service
public class WlyyRadioService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 分页条件查询收音机列表
     * @param name
     * @param frequency
     * @param page
     * @param pageSize
     * @return
     */
    public PageEnvelop getRadioPage(String name,String frequency,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String colSql = "SELECT id,name,frequency,introduction,url,sort_num sortNum, " +
                " CAST(DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') as char) createTime,CAST(status as UNSIGNED) status ";
        String sql = " from wlyy_radio " +
                " where status = 1 ";
        if(StringUtils.isNotBlank(name)){
            sql += " and name like '%"+name+"%' ";
        }
        if(StringUtils.isNotBlank(frequency)){
            sql += " and frequency like '%"+frequency+"%' ";
        }
        String orderSql = " order by sort_num limit "+page*pageSize+","+pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(colSql+sql+orderSql);
        String countSql = "SELECT count(*) ";
        Long count = jdbcTemplate.queryForObject(countSql+sql, Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
    }
}

+ 60 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/video/BaseVideoService.java

@ -0,0 +1,60 @@
package com.yihu.jw.care.service.video;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * @author xyq
 * @create 2022-07-05 9:57
 * @slogan 他化自在,我自逍遥
 */
@Service
public class BaseVideoService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 获取视频栏目列表
     * @return
     */
    public ListEnvelop getVideoGroup(){
        String sql = "SELECT id,name,sort_num sortNum,CAST(status as UNSIGNED) status," +
                " CAST(DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') as char) createTime " +
                " from base_video_group " +
                " where status = 1 order by sort_num ";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return ListEnvelop.getSuccess("查询成功",list);
    }
    /**
     * 分页获取视频列表
     * @param groupId
     * @param page
     * @param pageSize
     * @return
     */
    public PageEnvelop getVideoPageByGroup(Integer groupId,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String colSql = "SELECT v.id,v.type,v.title,v.url,v.img,CAST(DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%S') as char) createTime, " +
                " v.introduction,v.sort_num sortNum,CAST(v.status as UNSIGNED) status,g.name ";
        String countSql = "select count(v.id) ";
        String sql = " from base_video v " +
                " left join base_video_group g on v.type = g.id " +
                " where v.status = 1 ";
        if(groupId > 0){
            sql += " and v.type = "+groupId+" ";
        }
        Long count = jdbcTemplate.queryForObject(countSql + sql, Long.class);
        sql += " order by v.sort_num limit "+page*pageSize+","+pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(colSql + sql);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
    }
}