浏览代码

收音机后台管理

xiaoyunquan 2 年之前
父节点
当前提交
f38c418a27

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

@ -1853,4 +1853,17 @@ CREATE TABLE `base_hz_interface_dict` (
  `request_secret` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '请求秘钥',
  `request_secret_end_time` datetime DEFAULT NULL COMMENT '请求秘钥过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='杭州接口';
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='杭州接口';
-- 2022-07-04 xyq 收音机频道表
CREATE TABLE `base`.`wlyy_radio`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '收音机-频道',
  `name` varchar(50) NULL COMMENT '频道名称',
  `frequency` varchar(50) NULL COMMENT '频率',
  `introduction` varchar(500) NULL COMMENT '简介',
  `url` varchar(500) NULL COMMENT '播放地址',
  `sort_num` int(10) NULL COMMENT '排序字段',
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `status` tinyint(1) NULL COMMENT '1可用,0禁用',
  PRIMARY KEY (`id`)
) COMMENT = '收音机频道表';

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

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

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

@ -0,0 +1,83 @@
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.http.MediaType;
import org.springframework.web.bind.annotation.*;
/**
 * @author xyq
 * @create 2022-07-04 13:39
 * @slogan 他化自在,我自逍遥
 */
@RestController
@RequestMapping(value = "/raido",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "收音机音频", description = "收音机音频管理接口", tags = {"wlyy基础服务 - 收音机音频管理接口"})
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);
        }
    }
    @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);
        }
    }
}

+ 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("删除成功");
    }
}