Selaa lähdekoodia

视频栏目后台管理

xiaoyunquan 2 vuotta sitten
vanhempi
commit
2b8aa0cde8

+ 11 - 1
common/common-entity/sql记录

@ -1866,4 +1866,14 @@ CREATE TABLE `base`.`wlyy_radio`  (
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `status` tinyint(1) NULL COMMENT '1可用,0禁用',
  PRIMARY KEY (`id`)
) COMMENT = '收音机频道表';
) COMMENT = '收音机频道表';
-- 2022-07-04 xyq 视频栏目表
CREATE TABLE `base`.`base_video_group`  (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '视频栏目id',
  `name` varchar(50) NULL COMMENT '栏目名称',
  `sort_num` int(10) NULL COMMENT '栏目排序',
  `status` tinyint(1) NULL COMMENT '1启用,0禁用',
  `create_time` timestamp NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) COMMENT = '视频栏目表';

+ 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;
    }
}

+ 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);
}

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

@ -25,7 +25,7 @@ public class WlyyRadioEndpoint extends EnvelopRestEndpoint {
    private WlyyRadioService radioService;
    @ApiOperation(value = "分页获取收音机列表")
    @GetMapping(value = "/getRadioPage")
    @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,

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

@ -0,0 +1,74 @@
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.http.MediaType;
import org.springframework.web.bind.annotation.*;
/**
 * @author xyq
 * @create 2022-07-04 16:18
 * @slogan 他化自在,我自逍遥
 */
@RestController
@RequestMapping(value = "/video/manager",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@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);
        }
    }
}

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

@ -0,0 +1,93 @@
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.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("删除成功");
    }
}