From 3cdb4edea33397dc06c4dc960cbcee94d4c59fee Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 8 Jul 2024 17:43:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=8C=E6=9B=B2=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/shop/TbShopSongController.java | 66 ++++++++ .../dto/shop/TbShopSongQueryCriteria.java | 18 +++ .../cashier/mybatis/entity/TbShopSong.java | 146 ++++++++++++++++++ .../mybatis/mapper/TbShopSongMapper.java | 15 ++ .../mybatis/service/TbShopSongService.java | 19 +++ .../service/impl/TbShopSongServiceImpl.java | 46 ++++++ 6 files changed, 310 insertions(+) create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopSongController.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopSongQueryCriteria.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopSong.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopSongMapper.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopSongService.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopSongServiceImpl.java diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopSongController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopSongController.java new file mode 100644 index 00000000..1babf030 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopSongController.java @@ -0,0 +1,66 @@ +package cn.ysk.cashier.controller.shop; + +import cn.ysk.cashier.annotation.Log; +import cn.ysk.cashier.dto.shop.TbShopSongQueryCriteria; +import cn.ysk.cashier.exception.BadRequestException; +import cn.ysk.cashier.mybatis.entity.TbShopSong; +import cn.ysk.cashier.mybatis.service.TbShopSongService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; + + +@RestController +@RequiredArgsConstructor +@Api(tags = "歌曲管理") +@RequestMapping("/api/tbShopSong") +public class TbShopSongController { + private final TbShopSongService tbShopSongService; + + @GetMapping + @ApiOperation("查询歌曲列表") + public ResponseEntity queryTbShopPurveyor(TbShopSongQueryCriteria criteria){ + return new ResponseEntity<>(tbShopSongService.queryAll(criteria), HttpStatus.OK); + } + + @PostMapping + @Log("新增歌曲:#resources.name") + @ApiOperation("新增歌曲") + public ResponseEntity createTbShopPurveyor(@Validated @RequestBody TbShopSong resources){ + if (StringUtils.isBlank(resources.getName())) { + throw new BadRequestException("请填写歌曲名称"); + } + if (StringUtils.isBlank(resources.getSinger())) { + throw new BadRequestException("请填写演出歌手名称"); + } +// resources.setSalesNumber(0); + resources.setStatus(1); + resources.setCreateTime(new Date()); + return new ResponseEntity<>(tbShopSongService.save(resources),HttpStatus.CREATED); + } + + @PutMapping + @Log("修改歌曲:#resources.name") + @ApiOperation("修改歌曲") + public ResponseEntity updateTbShopPurveyor(@Validated @RequestBody TbShopSong resources){ + resources.setUpdateTime(new Date()); + tbShopSongService.updateById(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除歌曲:#ids") + @ApiOperation("删除歌曲") + public ResponseEntity deleteTbShopPurveyor(@RequestBody List ids) { + tbShopSongService.removeByIds(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopSongQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopSongQueryCriteria.java new file mode 100644 index 00000000..0fa0291f --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopSongQueryCriteria.java @@ -0,0 +1,18 @@ +package cn.ysk.cashier.dto.shop; + +import lombok.Data; + +@Data +public class TbShopSongQueryCriteria { + + private String shopId; + private String name; + /** + * 从1开始 + */ + private Long page = 1L; + /** + * 展示数量 + */ + private Long size = 10L; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopSong.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopSong.java new file mode 100644 index 00000000..7398c830 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopSong.java @@ -0,0 +1,146 @@ +package cn.ysk.cashier.mybatis.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.extension.activerecord.Model; + +/** + * (TbShopSong)表实体类 + * + * @author ww + * @since 2024-07-06 14:49:47 + */ +@SuppressWarnings("serial") +public class TbShopSong extends Model { + + private Integer id; + //店铺id + private Integer shopId; + //歌曲名称 + private String name; + //歌曲图片 + private String img; + //原唱歌手 + private String originSinger; + //演出歌手id + private Integer singerId; + //演出歌手名称 + private String singer; + //单价 + private Double price; + //点播次数 + private Integer salesNumber; + //歌曲状态:1-开启;0-关闭 + private Integer status; + private Integer sort; + //创建时间 + private Date createTime; + //更新时间 + private Date updateTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getShopId() { + return shopId; + } + + public void setShopId(Integer shopId) { + this.shopId = shopId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getImg() { + return img; + } + + public void setImg(String img) { + this.img = img; + } + + public String getOriginSinger() { + return originSinger; + } + + public void setOriginSinger(String originSinger) { + this.originSinger = originSinger; + } + + public Integer getSingerId() { + return singerId; + } + + public void setSingerId(Integer singerId) { + this.singerId = singerId; + } + + public String getSinger() { + return singer; + } + + public void setSinger(String singer) { + this.singer = singer; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public Integer getSalesNumber() { + return salesNumber; + } + + public void setSalesNumber(Integer salesNumber) { + this.salesNumber = salesNumber; + } + + 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; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } +} + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopSongMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopSongMapper.java new file mode 100644 index 00000000..f5083481 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopSongMapper.java @@ -0,0 +1,15 @@ +package cn.ysk.cashier.mybatis.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import cn.ysk.cashier.mybatis.entity.TbShopSong; + +/** + * (TbShopSong)表数据库访问层 + * + * @author ww + * @since 2024-07-06 14:49:47 + */ +public interface TbShopSongMapper extends BaseMapper { + +} + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopSongService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopSongService.java new file mode 100644 index 00000000..ca1d5adc --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopSongService.java @@ -0,0 +1,19 @@ +package cn.ysk.cashier.mybatis.service; + +import cn.ysk.cashier.dto.shop.TbShopSongQueryCriteria; +import cn.ysk.cashier.mybatis.entity.TbShopSong; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + * (TbShopSong)表服务接口 + * + * @author ww + * @since 2024-07-06 14:49:47 + */ +public interface TbShopSongService extends IService { + + Map queryAll(TbShopSongQueryCriteria criteria); +} + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopSongServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopSongServiceImpl.java new file mode 100644 index 00000000..10e9e627 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopSongServiceImpl.java @@ -0,0 +1,46 @@ +package cn.ysk.cashier.mybatis.service.impl; + +import cn.ysk.cashier.dto.shop.TbShopSongQueryCriteria; +import cn.ysk.cashier.mybatis.entity.TbShopSong; +import cn.ysk.cashier.mybatis.mapper.TbShopSongMapper; +import cn.ysk.cashier.mybatis.service.TbShopSongService; +import cn.ysk.cashier.utils.PageUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * (TbShopSong)表服务实现类 + * + * @author ww + * @since 2024-07-06 14:49:47 + */ +@Service("tbShopSongService") +public class TbShopSongServiceImpl extends ServiceImpl implements TbShopSongService { + @Autowired + private TbShopSongMapper songMapper; + + @Override + public Map queryAll(TbShopSongQueryCriteria criteria) { + Page page = new Page<>(criteria.getPage(),criteria.getSize()); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("shop_id", criteria.getShopId()); + if (StringUtils.isNotBlank(criteria.getName())) { + wrapper.and(w -> w.like("name", criteria.getName()) + .or() + .like("singer", criteria.getName()) + .or() + .like("origin_singer", criteria.getName())); + } + wrapper.orderByAsc("sort"); + wrapper.orderByDesc("create_time"); + Page tbShopSongPage = songMapper.selectPage(page, wrapper); + return PageUtil.toPage(tbShopSongPage.getRecords(), tbShopSongPage.getTotal()); + } +} +