From 0c82bef9332dde047bfa891073c39087630eb56c Mon Sep 17 00:00:00 2001 From: menxipeng Date: Fri, 1 Aug 2025 16:06:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84c=E7=AB=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/CategoryInfoController.java | 14 ++- .../back/MusicRecommendController.java | 2 +- .../back/RecommendInfoController.java | 2 +- .../web/controller/back/TagController.java | 98 +++++++++++++++++++ .../ruoyi/common/core/domain/entity/Tag.java | 53 ++++++++++ .../framework/config/ResourcesConfig.java | 25 ++++- .../com/ruoyi/system/mapper/TagMapper.java | 62 ++++++++++++ .../com/ruoyi/system/service/ITagService.java | 62 ++++++++++++ .../system/service/impl/TagServiceImpl.java | 96 ++++++++++++++++++ .../resources/mapper/system/TagMapper.xml | 60 ++++++++++++ 10 files changed, 466 insertions(+), 8 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/TagController.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Tag.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TagMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/ITagService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TagServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/TagMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java index 5dd3a95..4cd4530 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java @@ -4,11 +4,13 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.CategoryInfo; +import com.ruoyi.common.core.domain.entity.MusicInfo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.config.AliConfig; import com.ruoyi.system.service.ICategoryInfoService; +import com.ruoyi.system.service.IMusicInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -30,7 +32,8 @@ public class CategoryInfoController extends BaseController { @Autowired private ICategoryInfoService categoryInfoService; - + @Autowired + private IMusicInfoService musicInfoService; /** * 查询【请填写功能名称】列表 */ @@ -43,6 +46,15 @@ public class CategoryInfoController extends BaseController return getDataTable(list); } + + // 根据分类获取分类音乐 + @GetMapping("/cate/music/{categoryId}") + public TableDataInfo getCategoryMusic(@PathVariable String categoryId){ + startPage(); + List list = musicInfoService.selectMusicInfoByCid(categoryId); + return getDataTable(list); + } + /** * 导出【请填写功能名称】列表 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicRecommendController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicRecommendController.java index b1eaf65..0bdbd9c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicRecommendController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/MusicRecommendController.java @@ -29,7 +29,7 @@ public class MusicRecommendController extends BaseController private IMusicRecommendService musicRecommendService; /** - * 查询【请填写功能名称】列表 + * 查询【请填写功能/back/re名称】列表 */ @PreAuthorize("@ss.hasPermi('system:recommend:list')") @GetMapping("/list") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java index 4034256..70a30c1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/RecommendInfoController.java @@ -31,7 +31,7 @@ public class RecommendInfoController extends BaseController /** * 查询推荐列表 */ - @PreAuthorize("@ss.hasPermi('system:info:list')") + //@PreAuthorize("@ss.hasPermi('system:info:list')") @GetMapping("/list") public TableDataInfo list(RecommendInfo recommendInfo) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/TagController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/TagController.java new file mode 100644 index 0000000..3a59771 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/TagController.java @@ -0,0 +1,98 @@ +package com.ruoyi.web.controller.back; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.Tag; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.service.ITagService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2025-07-22 + */ +@RestController +@RequestMapping("/back/tag") +public class TagController extends BaseController +{ + @Autowired + private ITagService tagService; + + /** + * 查询【请填写功能名称】列表 + */ + //@PreAuthorize("@ss.hasPermi('system:tag:list')") + @GetMapping("/list") + public TableDataInfo list(Tag tag) + { + startPage(); + List list = tagService.selectTagList(tag); + return getDataTable(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PreAuthorize("@ss.hasPermi('system:tag:export')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Tag tag) + { + List list = tagService.selectTagList(tag); + ExcelUtil util = new ExcelUtil(Tag.class); + util.exportExcel(response, list, "【请填写功能名称】数据"); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:tag:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(tagService.selectTagById(id)); + } + + /** + * 新增【请填写功能名称】 + */ + @PreAuthorize("@ss.hasPermi('system:tag:add')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody Tag tag) + { + return toAjax(tagService.insertTag(tag)); + } + + /** + * 修改【请填写功能名称】 + */ + @PreAuthorize("@ss.hasPermi('system:tag:edit')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody Tag tag) + { + return toAjax(tagService.updateTag(tag)); + } + + /** + * 删除【请填写功能名称】 + */ + @PreAuthorize("@ss.hasPermi('system:tag:remove')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(tagService.deleteTagByIds(ids)); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Tag.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Tag.java new file mode 100644 index 0000000..6d893c0 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Tag.java @@ -0,0 +1,53 @@ +package com.ruoyi.common.core.domain.entity; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 tag + * + * @author ruoyi + * @date 2025-07-22 + */ +public class Tag extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + + /** 标签名称 */ + @Excel(name = "标签名称") + private String name; + + public void setId(String id) + { + this.id = id; + } + + public String getId() + { + return id; + } + + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java index 35954f4..5e0a6bb 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java @@ -1,8 +1,11 @@ package com.ruoyi.framework.config; -import java.util.concurrent.TimeUnit; - +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.CacheControl; @@ -12,9 +15,8 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; + +import java.util.concurrent.TimeUnit; /** * 通用配置 @@ -73,4 +75,17 @@ public class ResourcesConfig implements WebMvcConfigurer // 返回新的CorsFilter return new CorsFilter(source); } + + /** + * Jackson全局转化long类型为String,解决jackson序列化时long类型缺失精度问题 + * @return Jackson2ObjectMapperBuilderCustomizer 注入的对象 + */ + @Bean + public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { + return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder + .serializerByType(Long.class, ToStringSerializer.instance) + .serializerByType(Long.TYPE, ToStringSerializer.instance); + } + + } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TagMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TagMapper.java new file mode 100644 index 0000000..cb7982b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TagMapper.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.mapper; + +import com.ruoyi.common.core.domain.entity.Tag; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2025-07-22 + */ +public interface TagMapper +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public Tag selectTagById(String id); + + /** + * 查询【请填写功能名称】列表 + * + * @param tag 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectTagList(Tag tag); + + /** + * 新增【请填写功能名称】 + * + * @param tag 【请填写功能名称】 + * @return 结果 + */ + public int insertTag(Tag tag); + + /** + * 修改【请填写功能名称】 + * + * @param tag 【请填写功能名称】 + * @return 结果 + */ + public int updateTag(Tag tag); + + /** + * 删除【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteTagById(String id); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTagByIds(String[] ids); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ITagService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITagService.java new file mode 100644 index 0000000..807d49e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITagService.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.service; + +import com.ruoyi.common.core.domain.entity.Tag; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2025-07-22 + */ +public interface ITagService +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public Tag selectTagById(String id); + + /** + * 查询【请填写功能名称】列表 + * + * @param tag 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectTagList(Tag tag); + + /** + * 新增【请填写功能名称】 + * + * @param tag 【请填写功能名称】 + * @return 结果 + */ + public int insertTag(Tag tag); + + /** + * 修改【请填写功能名称】 + * + * @param tag 【请填写功能名称】 + * @return 结果 + */ + public int updateTag(Tag tag); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int deleteTagByIds(String[] ids); + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteTagById(String id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TagServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TagServiceImpl.java new file mode 100644 index 0000000..021e82c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TagServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.system.service.impl; + +import com.ruoyi.common.core.domain.entity.Tag; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.system.mapper.TagMapper; +import com.ruoyi.system.service.ITagService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2025-07-22 + */ +@Service +public class TagServiceImpl implements ITagService +{ + @Autowired + private TagMapper tagMapper; + + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public Tag selectTagById(String id) + { + return tagMapper.selectTagById(id); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param tag 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectTagList(Tag tag) + { + return tagMapper.selectTagList(tag); + } + + /** + * 新增【请填写功能名称】 + * + * @param tag 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insertTag(Tag tag) + { + tag.setCreateTime(DateUtils.getNowDate()); + return tagMapper.insertTag(tag); + } + + /** + * 修改【请填写功能名称】 + * + * @param tag 【请填写功能名称】 + * @return 结果 + */ + @Override + public int updateTag(Tag tag) + { + return tagMapper.updateTag(tag); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteTagByIds(String[] ids) + { + return tagMapper.deleteTagByIds(ids); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteTagById(String id) + { + return tagMapper.deleteTagById(id); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml new file mode 100644 index 0000000..52971df --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TagMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + select id, name, create_time from tag + + + + + + + + insert into tag + + name, + create_time, + + + #{name}, + #{createTime}, + + + + + update tag + + name = #{name}, + create_time = #{createTime}, + + where id = #{id} + + + + delete from tag where id = #{id} + + + + delete from tag where id in + + #{id} + + + \ No newline at end of file