From 658a1f0e1bbebfe2dffa3ffb49d5536b694abcc5 Mon Sep 17 00:00:00 2001 From: menxipeng Date: Sun, 20 Jul 2025 22:05:32 +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/ActivityInfoController.java | 116 ++++++++++++ .../back/CategoryInfoController.java | 11 +- .../web/controller/back/FileController.java | 5 + .../client/ClientShopUserController.java | 11 +- .../controller/client/IndexController.java | 4 +- .../client/MusicCollectController.java | 2 +- .../controller/client/MusicController.java | 13 +- .../client/ShareInfoController.java | 2 +- .../client/UserCollectController.java | 2 +- .../client/UserHistoryController.java | 2 +- .../src/main/resources/application.yml | 2 +- .../core/controller/BaseController.java | 11 ++ .../core/domain/entity/ActivityInfo.java | 176 ++++++++++++++++++ .../core/domain/entity/CategoryInfo.java | 77 +------- .../common/core/domain/entity/MusicInfo.java | 154 +-------------- .../common/core/domain/entity/ShopUser.java | 10 +- .../core/domain/entity/UserCollect.java | 2 +- .../ruoyi/common/core/page/TableDataInfo.java | 14 ++ .../com/ruoyi/common/utils/MusicUtil.java | 26 +++ .../com/ruoyi/system/config/AliConfig.java | 10 +- .../com/ruoyi/system/config/UmengConfig.java | 14 +- .../system/mapper/ActivityInfoMapper.java | 69 +++++++ .../ruoyi/system/mapper/MusicInfoMapper.java | 2 + .../ruoyi/system/mapper/ShopUserMapper.java | 2 + .../system/mapper/UserCollectMapper.java | 3 + .../system/mapper/UserLikeMusicMapper.java | 3 + .../system/service/IActivityInfoService.java | 62 ++++++ .../system/service/IMusicInfoService.java | 3 + .../ruoyi/system/service/ShopUserService.java | 1 + .../service/impl/ActivityInfoServiceImpl.java | 94 ++++++++++ .../service/impl/BannerInfoServiceImpl.java | 2 +- .../service/impl/CShopUserServiceImpl.java | 57 +++++- .../service/impl/MusicInfoServiceImpl.java | 31 ++- .../mapper/system/ActivityInfoMapper.xml | 108 +++++++++++ .../mapper/system/CategoryInfoMapper.xml | 5 +- .../mapper/system/MusicInfoMapper.xml | 4 + .../mapper/system/ShopUserMapper.xml | 19 +- .../mapper/system/UserCollectMapper.xml | 4 + .../mapper/system/UserLikeMusicMapper.xml | 4 + ruoyi-ui/.env.production | 11 +- 40 files changed, 889 insertions(+), 259 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/ActivityInfoController.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ActivityInfo.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/utils/MusicUtil.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/ActivityInfoMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/IActivityInfoService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ActivityInfoServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/ActivityInfoMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/ActivityInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/ActivityInfoController.java new file mode 100644 index 0000000..6e0bf9f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/ActivityInfoController.java @@ -0,0 +1,116 @@ +package com.ruoyi.web.controller.back; + +import cn.hutool.core.date.DateUtil; +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.ActivityInfo; +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.IActivityInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Objects; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2025-07-20 + */ +@RestController +@RequestMapping("/back/activity") +public class ActivityInfoController extends BaseController +{ + @Autowired + private IActivityInfoService activityInfoService; + + /** + * 查询【请填写功能名称】列表 + */ + @PreAuthorize("@ss.hasPermi('system:info:list')") + @GetMapping("/list") + public TableDataInfo list(ActivityInfo activityInfo) + { + startPage(); + List list = activityInfoService.selectActivityInfoList(activityInfo); + return getDataTable(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PreAuthorize("@ss.hasPermi('system:info:export')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ActivityInfo activityInfo) + { + List list = activityInfoService.selectActivityInfoList(activityInfo); + ExcelUtil util = new ExcelUtil(ActivityInfo.class); + util.exportExcel(response, list, "【请填写功能名称】数据"); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:info:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(activityInfoService.selectActivityInfoById(id)); + } + + /** + * 新增【请填写功能名称】 + */ +// @PreAuthorize("@ss.hasPermi('system:info:add')") +// @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @PostMapping("/addActivity") + public AjaxResult add( + @RequestParam("name") String name, + @RequestParam("content") String content, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("file") MultipartFile file + ) throws IOException { + ActivityInfo activityInfo = new ActivityInfo(); + String imgAddr = AliConfig.ossUp("config/" , Objects.requireNonNull(file.getOriginalFilename()), file.getInputStream()); + activityInfo.setImg(""); + activityInfo.setName(name); + activityInfo.setContent(content); + activityInfo.setStartTime(DateUtil.parseDateTime(startTime)); + activityInfo.setEndTime(DateUtil.parseDateTime(endTime)); + return toAjax(activityInfoService.insertActivityInfo(activityInfo)); + } + + + /** + * 修改【请填写功能名称】 + */ + @PreAuthorize("@ss.hasPermi('system:info:edit')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ActivityInfo activityInfo) + { + return toAjax(activityInfoService.updateActivityInfo(activityInfo)); + } + + /** + * 删除【请填写功能名称】 + */ + @PreAuthorize("@ss.hasPermi('system:info:remove')") + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(activityInfoService.deleteActivityInfoByIds(ids)); + } +} 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 3005eb6..5dd3a95 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 @@ -7,12 +7,15 @@ import com.ruoyi.common.core.domain.entity.CategoryInfo; 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; /** @@ -69,8 +72,12 @@ public class CategoryInfoController extends BaseController // @PreAuthorize("@ss.hasPermi('system:info:add')") // @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody CategoryInfo categoryInfo) - { + public AjaxResult add(@RequestParam("file") MultipartFile file, + @RequestParam("name") String name) throws IOException { + String imgAddr = AliConfig.ossUp("config/", file.getOriginalFilename(), file.getInputStream()); + CategoryInfo categoryInfo = new CategoryInfo(); + categoryInfo.setBackImg(imgAddr); + categoryInfo.setName(name); return toAjax(categoryInfoService.insertCategoryInfo(categoryInfo)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java index 40ac0e5..f24db1c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java @@ -20,6 +20,11 @@ public class FileController { try { String[] file = objectName.split("file/download"); // 获取文件字节 + if (objectName.equals("musicFile")){ + //TODO:// 获取是否是vip 音乐,检查用户登录状态 + + + } byte[] data = AliConfig.ossDown(objectName+"/"+fileName); // 设置响应头,支持中文文件名 response.setContentType("application/octet-stream"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ClientShopUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ClientShopUserController.java index 07f54ba..78cc548 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ClientShopUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ClientShopUserController.java @@ -37,7 +37,6 @@ public class ClientShopUserController { return AjaxResult.error("发送验证码失败"); } - /** * 登录方法 * @@ -59,6 +58,16 @@ public class ClientShopUserController { } } + /** + * 修改个人信息 + * @param shopUser 个人信息 + * @return 成功 + */ + @PostMapping("/updateUser") + public AjaxResult modifyUserInfo(@RequestBody ShopUser shopUser){ + return AjaxResult.success(shopUserService.modifyUser(shopUser)); + } + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java index 7f28c5d..9877cf6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java @@ -50,7 +50,7 @@ public class IndexController extends BaseController { public TableDataInfo getCategoryMusic(@PathVariable String categoryId){ startPage(); List list = musicInfoService.selectMusicInfoByCid(categoryId); - return getDataTable(list); + return getDataTableData(list); } @GetMapping("/re/music") @@ -58,7 +58,7 @@ public class IndexController extends BaseController { public TableDataInfo getRecommendMusic(){ startPage(); List list = recommendInfoService.findRecommendMusic(); - return getDataTable(list); + return getDataTableData(list); } @GetMapping("/re/bind/music") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicCollectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicCollectController.java index 3b63e29..fc3b235 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicCollectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicCollectController.java @@ -37,7 +37,7 @@ public class MusicCollectController extends BaseController { startPage(); List list = musicCollectService.selectMusicCollectList(musicCollect); - return getDataTable(list); + return getDataTableData(list); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java index da8e70d..38a7877 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java @@ -36,7 +36,7 @@ public class MusicController extends BaseController { startPage(); List list = musicService.findMusicByCollectId(collectId); //musicService.createPlaylist(); - return getDataTable(list); + return getDataTableData(list); } @@ -54,7 +54,7 @@ public class MusicController extends BaseController { Long userId = SecurityUtils.getUserId(); List list = musicService.findLikeMusicByUser(userId); //musicService.createPlaylist(); - return getDataTable(list); + return getDataTableData(list); } // 删除我喜欢的音乐 cancel/like @RequestMapping("/cancel/like/{musicId}") @@ -77,7 +77,14 @@ public class MusicController extends BaseController { Long userId = SecurityUtils.getUserId(); List list = musicService.findHistoryMusicByUser(userId); //musicService.createPlaylist(); - return getDataTable(list); + return getDataTableData(list); + } + + // 获取音乐基本信息 + @RequestMapping("/getMusicInfo/{musicId}") + public AjaxResult getMusicInfo(@PathVariable String musicId){ + Long userId = SecurityUtils.getUserId(); + return AjaxResult.success(musicService.getMusicInfo(userId,musicId)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ShareInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ShareInfoController.java index e81b0f1..3dbba45 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ShareInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/ShareInfoController.java @@ -37,7 +37,7 @@ public class ShareInfoController extends BaseController { startPage(); List list = shareInfoService.findShareInfoListPage(shareInfo); - return getDataTable(list); + return getDataTableData(list); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java index c0be7b2..5e9eb65 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java @@ -44,7 +44,7 @@ public class UserCollectController extends BaseController Long userId = SecurityUtils.getUserId(); userCollect.setUserId(userId); List list = userCollectService.selectUserCollectList(userCollect); - return getDataTable(list); + return getDataTableData(list); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java index 82c1fac..ea645fa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java @@ -37,7 +37,7 @@ public class UserHistoryController extends BaseController { startPage(); List list = userHistoryService.selectUserHistoryList(userHistory); - return getDataTable(list); + return getDataTableData(list); } /** diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 6ae4c7f..1eef96d 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -68,7 +68,7 @@ spring: # redis 配置 redis: # 地址 - host: 60.205.107.210 + host: 192.168.31.55 # 端口,默认为6379 port: 6379 # 数据库索引 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java index a685e06..dbb02bf 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java @@ -90,6 +90,17 @@ public class BaseController return rspData; } + + protected TableDataInfo getDataTableData(List list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setData(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } + /** * 返回成功 */ diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ActivityInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ActivityInfo.java new file mode 100644 index 0000000..220d66a --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ActivityInfo.java @@ -0,0 +1,176 @@ +package com.ruoyi.common.core.domain.entity; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +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; + +/** + * 【请填写功能名称】对象 activity_info + * + * @author ruoyi + * @date 2025-07-20 + */ +public class ActivityInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + + /** 活动名称 */ + @Excel(name = "活动名称") + private String name; + + /** 活动内容:目前只写数字几天vip */ + @Excel(name = "活动内容:目前只写数字几天vip") + private String content; + + /** 活动开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date startTime; + + /** 活动结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date endTime; + + /** 创建人 */ + @Excel(name = "创建人") + private String creator; + + /** 修改人 */ + @Excel(name = "修改人") + private String modify; + + /** 1 上架 2 下架 */ + @Excel(name = "1 上架 2 下架") + private Long shelf; + + /** 1 删除 */ + @Excel(name = "1 删除") + private Long isDel; + + /** 活动图片 */ + @Excel(name = "活动图片") + private String img; + + 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; + } + + public void setContent(String content) + { + this.content = content; + } + + public String getContent() + { + return content; + } + + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getStartTime() + { + return startTime; + } + + public void setEndTime(Date endTime) + { + this.endTime = endTime; + } + + public Date getEndTime() + { + return endTime; + } + + public void setCreator(String creator) + { + this.creator = creator; + } + + public String getCreator() + { + return creator; + } + + public void setModify(String modify) + { + this.modify = modify; + } + + public String getModify() + { + return modify; + } + + public void setShelf(Long shelf) + { + this.shelf = shelf; + } + + public Long getShelf() + { + return shelf; + } + + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + public void setImg(String img) + { + this.img = img; + } + + public String getImg() + { + return img; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("content", getContent()) + .append("startTime", getStartTime()) + .append("endTime", getEndTime()) + .append("creator", getCreator()) + .append("modify", getModify()) + .append("shelf", getShelf()) + .append("isDel", getIsDel()) + .append("img", getImg()) + .toString(); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/CategoryInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/CategoryInfo.java index b231a5b..730e7b6 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/CategoryInfo.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/CategoryInfo.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.domain.entity; +import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -8,9 +9,9 @@ import com.ruoyi.common.core.domain.BaseEntity; /** * 【请填写功能名称】对象 category_info * - * @author ruoyi * @date 2025-07-15 */ +@Data public class CategoryInfo extends BaseEntity { private static final long serialVersionUID = 1L; @@ -38,77 +39,5 @@ public class CategoryInfo extends BaseEntity @Excel(name = "修改人") private String modify; - public void setId(String id) - { - this.id = id; - } - - public String getId() - { - return id; - } - - public void setCategoryId(Long categoryId) - { - this.categoryId = categoryId; - } - - public Long getCategoryId() - { - return categoryId; - } - - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - - public void setIsDel(Long isDel) - { - this.isDel = isDel; - } - - public Long getIsDel() - { - return isDel; - } - - public void setCreator(String creator) - { - this.creator = creator; - } - - public String getCreator() - { - return creator; - } - - public void setModify(String modify) - { - this.modify = modify; - } - - public String getModify() - { - return modify; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("categoryId", getCategoryId()) - .append("name", getName()) - .append("isDel", getIsDel()) - .append("createTime", getCreateTime()) - .append("updateTime", getUpdateTime()) - .append("creator", getCreator()) - .append("modify", getModify()) - .toString(); - } + private String backImg; } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicInfo.java index 0277898..5db38b0 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicInfo.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicInfo.java @@ -1,9 +1,8 @@ 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; +import lombok.Data; /** * 音乐信息对象 music_info @@ -11,6 +10,7 @@ import com.ruoyi.common.core.domain.BaseEntity; * @author ruoyi * @date 2025-07-15 */ +@Data public class MusicInfo extends BaseEntity { private static final long serialVersionUID = 1L; @@ -66,154 +66,10 @@ public class MusicInfo extends BaseEntity @Excel(name = "标签") private String label; - public void setId(String id) - { - this.id = id; - } + private boolean like; - public String getId() - { - return id; - } + private boolean collect; - public void setMusicId(Long musicId) - { - this.musicId = musicId; - } + private UserCollect userCollect; - public Long getMusicId() - { - return musicId; - } - - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - - public void setAuthor(String author) - { - this.author = author; - } - - public String getAuthor() - { - return author; - } - - public void setVip(Long vip) - { - this.vip = vip; - } - - public Long getVip() - { - return vip; - } - - public void setShelf(Long shelf) - { - this.shelf = shelf; - } - - public Long getShelf() - { - return shelf; - } - - public void setImgAddr(String imgAddr) - { - this.imgAddr = imgAddr; - } - - public String getImgAddr() - { - return imgAddr; - } - - public void setMusicAddr(String musicAddr) - { - this.musicAddr = musicAddr; - } - - public String getMusicAddr() - { - return musicAddr; - } - - public void setMusicType(String musicType) - { - this.musicType = musicType; - } - - public String getMusicType() - { - return musicType; - } - - public void setCreator(String creator) - { - this.creator = creator; - } - - public String getCreator() - { - return creator; - } - - public void setModify(String modify) - { - this.modify = modify; - } - - public String getModify() - { - return modify; - } - - public void setIsDel(Long isDel) - { - this.isDel = isDel; - } - - public Long getIsDel() - { - return isDel; - } - - public void setLabel(String label) - { - this.label = label; - } - - public String getLabel() - { - return label; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("musicId", getMusicId()) - .append("name", getName()) - .append("author", getAuthor()) - .append("vip", getVip()) - .append("shelf", getShelf()) - .append("imgAddr", getImgAddr()) - .append("musicAddr", getMusicAddr()) - .append("musicType", getMusicType()) - .append("creator", getCreator()) - .append("modify", getModify()) - .append("createTime", getCreateTime()) - .append("updateTime", getUpdateTime()) - .append("isDel", getIsDel()) - .append("label", getLabel()) - .toString(); - } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ShopUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ShopUser.java index 3ad5187..ec6e87a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ShopUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ShopUser.java @@ -51,7 +51,7 @@ public class ShopUser { private Long sex; /** 生日 */ - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd") private Date birthday; @@ -60,7 +60,7 @@ public class ShopUser { private String addr; /** 注册时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd") private Date registerTime; @@ -85,4 +85,10 @@ public class ShopUser { private String deviceId; private String headImg; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date vipStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date vipEndTime; } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java index 703c9a3..3d1a5d2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java @@ -25,7 +25,7 @@ public class UserCollect extends BaseEntity private Long userId; /** 音乐id */ - @Excel(name = "音乐id") + @Excel(name = "收藏") private Long collectId; /** 收藏名称 */ diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java index 2fff93e..4d69e5b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java @@ -18,6 +18,8 @@ public class TableDataInfo implements Serializable /** 列表数据 */ private List rows; + private List data; + /** 消息状态码 */ private int code; @@ -63,6 +65,18 @@ public class TableDataInfo implements Serializable this.rows = rows; } + + public List getData() + { + return data; + } + + public void setData(List rows) + { + this.data = rows; + } + + public int getCode() { return code; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/MusicUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/MusicUtil.java new file mode 100644 index 0000000..e263ca2 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/MusicUtil.java @@ -0,0 +1,26 @@ +package com.ruoyi.common.utils; + +import java.util.Calendar; +import java.util.Date; + +public class MusicUtil { + + + + /** + * 获取当前时间 n 天后的日期 + * @param n 天数(正数表示未来,负数表示过去) + * @return n 天后的 Date 对象 + */ + public static Date getDateAfterNDays(int n) { + Calendar calendar = Calendar.getInstance(); // 获取当前时间 + calendar.add(Calendar.DAY_OF_YEAR, n); // 增加或减少天数 + return calendar.getTime(); // 返回计算后的 Date + } + + public static void main(String[] args) { + System.out.println(getDateAfterNDays(1));; + } + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/config/AliConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/config/AliConfig.java index dc610d9..520beaf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/config/AliConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/config/AliConfig.java @@ -1,5 +1,6 @@ package com.ruoyi.system.config; +import cn.hutool.core.util.IdUtil; import com.aliyun.dysmsapi20170525.Client; import com.aliyun.dysmsapi20170525.models.SendSmsRequest; import com.aliyun.dysmsapi20170525.models.SendSmsResponse; @@ -89,7 +90,7 @@ public class AliConfig { } - public static String ossUp(String objectName, InputStream inputStream){ + public static String ossUp(String objectName,String fileName, InputStream inputStream){ // 配置参数 String endpoint = "https://oss-cn-beijing.aliyuncs.com"; String accessKeyId = AliKeyConfig.ACCESS_KEY_ID; @@ -98,12 +99,13 @@ public class AliConfig { // 创建OSSClient实例 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); - + String suffix = fileName.substring(fileName.lastIndexOf(".")); + String path = objectName + IdUtil.fastUUID() + suffix; try { // 上传字符串内容作为文件 - ossClient.putObject(bucketName, objectName, inputStream); + ossClient.putObject(bucketName, path, inputStream); System.out.println("文件上传成功:" + objectName); - return "/file/download/"+objectName; + return "/file/download/"+path; } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java index 32f662b..1e92ec2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java @@ -25,10 +25,18 @@ import java.util.Map; @Component public class UmengConfig { + /** + * + * + * @param token + * @return + */ + public static CloseableHttpResponse send(String token){ - String umAppkey = "5df88f83570df3b8d40012337"; - String appKey = "LTAI5tDWWzwqxumUXTFnkQFd"; - String appSecret = "KOD3y6OxbHJ23wxAf68NFpUQXCQEPX"; + //687b2df479267e0210b79b6f + String umAppkey = "687b2e1679267e0210b79b70"; + String appKey = "204918113"; + String appSecret = "v4UrIhhLZlo0adpmevyCfvThGFbrRer0"; // 下面的url要和阿里云云市场购买的商品对应 String url = "https://verify5.market.alicloudapi.com/api/v1/mobile/info?appkey=" + umAppkey; HttpPost httpPost = new HttpPost(url); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ActivityInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ActivityInfoMapper.java new file mode 100644 index 0000000..746053d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ActivityInfoMapper.java @@ -0,0 +1,69 @@ +package com.ruoyi.system.mapper; + +import com.ruoyi.common.core.domain.entity.ActivityInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2025-07-20 + */ +public interface ActivityInfoMapper +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public ActivityInfo selectActivityInfoById(String id); + + /** + * 查询【请填写功能名称】列表 + * + * @param activityInfo 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectActivityInfoList(ActivityInfo activityInfo); + + /** + * 新增【请填写功能名称】 + * + * @param activityInfo 【请填写功能名称】 + * @return 结果 + */ + public int insertActivityInfo(ActivityInfo activityInfo); + + /** + * 修改【请填写功能名称】 + * + * @param activityInfo 【请填写功能名称】 + * @return 结果 + */ + public int updateActivityInfo(ActivityInfo activityInfo); + + /** + * 删除【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteActivityInfoById(String id); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteActivityInfoByIds(String[] ids); + + ActivityInfo selectActivityShelfInfo(); + + ActivityInfo selectActivityInfoByUserId(Long userId); + + int insertActivityUser(@Param("userId") Long userId,@Param("activityId") String activityId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java index ce3c0ef..3dd9ea1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java @@ -81,4 +81,6 @@ public interface MusicInfoMapper int insertHistory(@Param("userId") Long userId,@Param("musicId") String musicId); List selectHistoryMusicByUser(Long userId); + + MusicInfo selectByMusicId(String musicId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ShopUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ShopUserMapper.java index 127e5b7..6a100c0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ShopUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ShopUserMapper.java @@ -28,6 +28,8 @@ public interface ShopUserMapper { */ public ShopUser selectShopUserById(String id); + public ShopUser selectShopUserByUserId(Long userId); + /** * 查询用户管理列表 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java index 86c1cf8..f17708d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.system.mapper; import com.ruoyi.common.core.domain.entity.UserCollect; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -59,4 +60,6 @@ public interface UserCollectMapper * @return 结果 */ public int deleteUserCollectByIds(Long[] ids); + + UserCollect selectUserCollectAndUserId(@Param("userId") Long userId,@Param("musicId") String musicId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java index 26524b5..f70a10a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.system.mapper; import com.ruoyi.common.core.domain.entity.UserLikeMusic; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -59,4 +60,6 @@ public interface UserLikeMusicMapper * @return 结果 */ public int deleteUserLikeMusicByIds(String[] ids); + + UserLikeMusic selectUserLikeMusicAndUserId(@Param("userId") Long userId,@Param("musicId") String musicId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IActivityInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IActivityInfoService.java new file mode 100644 index 0000000..80b766a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IActivityInfoService.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.service; + +import com.ruoyi.common.core.domain.entity.ActivityInfo; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2025-07-20 + */ +public interface IActivityInfoService +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public ActivityInfo selectActivityInfoById(String id); + + /** + * 查询【请填写功能名称】列表 + * + * @param activityInfo 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectActivityInfoList(ActivityInfo activityInfo); + + /** + * 新增【请填写功能名称】 + * + * @param activityInfo 【请填写功能名称】 + * @return 结果 + */ + public int insertActivityInfo(ActivityInfo activityInfo); + + /** + * 修改【请填写功能名称】 + * + * @param activityInfo 【请填写功能名称】 + * @return 结果 + */ + public int updateActivityInfo(ActivityInfo activityInfo); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int deleteActivityInfoByIds(String[] ids); + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteActivityInfoById(String id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java index d482170..58d1a63 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.entity.MusicInfo; import org.springframework.web.multipart.MultipartFile; import java.util.List; +import java.util.Map; /** * 音乐信息Service接口 @@ -77,4 +78,6 @@ public interface IMusicInfoService int addHistoryMusic(String musicId); List findHistoryMusicByUser(Long userId); + + MusicInfo getMusicInfo(Long userId, String musicId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ShopUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ShopUserService.java index b6df452..24d41ca 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ShopUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ShopUserService.java @@ -7,4 +7,5 @@ public interface ShopUserService { ShopUser login(ShopUserResq shopUser); + ShopUser modifyUser(ShopUser shopUser); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ActivityInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ActivityInfoServiceImpl.java new file mode 100644 index 0000000..18393ae --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ActivityInfoServiceImpl.java @@ -0,0 +1,94 @@ +package com.ruoyi.system.service.impl; + +import com.ruoyi.common.core.domain.entity.ActivityInfo; +import com.ruoyi.system.mapper.ActivityInfoMapper; +import com.ruoyi.system.service.IActivityInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2025-07-20 + */ +@Service +public class ActivityInfoServiceImpl implements IActivityInfoService +{ + @Autowired + private ActivityInfoMapper activityInfoMapper; + + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public ActivityInfo selectActivityInfoById(String id) + { + return activityInfoMapper.selectActivityInfoById(id); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param activityInfo 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectActivityInfoList(ActivityInfo activityInfo) + { + return activityInfoMapper.selectActivityInfoList(activityInfo); + } + + /** + * 新增【请填写功能名称】 + * + * @param activityInfo 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insertActivityInfo(ActivityInfo activityInfo) + { + return activityInfoMapper.insertActivityInfo(activityInfo); + } + + /** + * 修改【请填写功能名称】 + * + * @param activityInfo 【请填写功能名称】 + * @return 结果 + */ + @Override + public int updateActivityInfo(ActivityInfo activityInfo) + { + return activityInfoMapper.updateActivityInfo(activityInfo); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteActivityInfoByIds(String[] ids) + { + return activityInfoMapper.deleteActivityInfoByIds(ids); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteActivityInfoById(String id) + { + return activityInfoMapper.deleteActivityInfoById(id); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java index 99af3ab..3e1a9c4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BannerInfoServiceImpl.java @@ -58,7 +58,7 @@ public class BannerInfoServiceImpl implements IBannerInfoService public int insertBannerInfo(BannerInfo bannerInfo, MultipartFile file){ bannerInfo.setCreateTime(DateUtils.getNowDate()); try { - String addr = AliConfig.ossUp("config/" + file.getOriginalFilename(), file.getInputStream()); + String addr = AliConfig.ossUp("config/" , file.getOriginalFilename(), file.getInputStream()); bannerInfo.setBannerAddr(addr); } catch (IOException e) { throw new RuntimeException(e); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CShopUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CShopUserServiceImpl.java index 3ec2874..08773c7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CShopUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CShopUserServiceImpl.java @@ -1,17 +1,22 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.util.IdUtil; +import com.ruoyi.common.core.domain.entity.ActivityInfo; import com.ruoyi.common.core.domain.entity.ShopUser; import com.ruoyi.common.core.domain.entity.ShopUserResq; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.MusicUtil; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.config.UmengConfig; +import com.ruoyi.system.mapper.ActivityInfoMapper; import com.ruoyi.system.mapper.ShopUserMapper; import com.ruoyi.system.service.ShopUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Date; + @Transactional @Service public class CShopUserServiceImpl implements ShopUserService { @@ -22,6 +27,8 @@ public class CShopUserServiceImpl implements ShopUserService { private UmengConfig umengConfig; @Autowired private ShopUserMapper shopUserMapper; + @Autowired + private ActivityInfoMapper activityInfoMapper; @Override public ShopUser login(ShopUserResq shopUser) { @@ -40,8 +47,10 @@ public class CShopUserServiceImpl implements ShopUserService { case "2": // 验证码 String code = redisCache.getCacheObject("sms_code:"+shopUser.getPhone()); + // TODO:写死 + code="9527"; String reqCode = shopUser.getCode(); - if (code.equals(reqCode)){ + if (code != null && code.equals(reqCode)){ // 登录 return loginAndRegis(shopUser); }else { @@ -58,8 +67,50 @@ public class CShopUserServiceImpl implements ShopUserService { return null; } + @Override + public ShopUser modifyUser(ShopUser shopUser) { + // 先修改 在查询活动 在校验字段 + shopUserMapper.updateShopUser(shopUser); + ActivityInfo activityInfo = activityInfoMapper.selectActivityShelfInfo(); + if (activityInfo != null) { + // 获取当前时间 + Date date = new Date(); + Date start = activityInfo.getStartTime(); + Date end = activityInfo.getEndTime(); + // 判断 date 是否在 start 和 end 之间(包含边界) + boolean isBetween = !date.before(start) && !date.after(end); + // 或者如果你不想包含边界(即严格在 start 和 end 之间) + // boolean isBetween = date.after(start) && date.before(end); + if (isBetween) { + // 查询用户是否已经参与过活动 + ActivityInfo activity = activityInfoMapper.selectActivityInfoByUserId(shopUser.getUserId()); + if (activity != null) { + return shopUser; + } + // 查询用户信息 + ShopUser selectShopUser = shopUserMapper.selectShopUserByUserId(shopUser.getUserId()); + if (selectShopUser.getNickname() != null && + selectShopUser.getSex() != null && + selectShopUser.getBirthday() != null && + selectShopUser.getAddr() != null) { + String content = activityInfo.getContent(); + // 查询用户是否是vip 非vip 才送 + if (selectShopUser.getVip() == 2) { + selectShopUser.setVip(1L); + selectShopUser.setVipStartTime(new Date()); + Date endDate = MusicUtil.getDateAfterNDays(Integer.parseInt(content)); + selectShopUser.setVipEndTime(endDate); + activityInfoMapper.insertActivityUser(shopUser.getUserId(),activityInfo.getId()); + shopUserMapper.updateShopUser(selectShopUser); + } + } + } + } + return shopUser; + } + public ShopUser loginAndRegis(ShopUserResq shopUser) { - ShopUser member = shopUserMapper.selectShopUserByPhone(shopUser.getUsername()); + ShopUser member = shopUserMapper.selectShopUserByPhone(shopUser.getPhone()); if (StringUtils.isNull(member)) { // 走注册在登录 member = new ShopUser(); @@ -81,4 +132,6 @@ public class CShopUserServiceImpl implements ShopUserService { return member; } + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java index 00e6970..9de1fdd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java @@ -3,12 +3,16 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.util.IdUtil; import com.ruoyi.common.core.domain.entity.CategoryInfo; import com.ruoyi.common.core.domain.entity.MusicInfo; +import com.ruoyi.common.core.domain.entity.UserCollect; +import com.ruoyi.common.core.domain.entity.UserLikeMusic; import com.ruoyi.common.enums.Audio; import com.ruoyi.common.enums.MusicType; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.config.AliConfig; import com.ruoyi.system.mapper.MusicInfoMapper; +import com.ruoyi.system.mapper.UserCollectMapper; +import com.ruoyi.system.mapper.UserLikeMusicMapper; import com.ruoyi.system.service.IMusicInfoService; import com.ruoyi.system.service.IUserHistoryService; import org.springframework.beans.factory.annotation.Autowired; @@ -17,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; +import java.util.Map; /** * 音乐信息Service业务层处理 @@ -29,6 +34,10 @@ public class MusicInfoServiceImpl implements IMusicInfoService { @Autowired private MusicInfoMapper musicInfoMapper; + @Autowired + private UserLikeMusicMapper userLikeMusicMapper; + @Autowired + private UserCollectMapper userCollectMapper; /** @@ -67,8 +76,8 @@ public class MusicInfoServiceImpl implements IMusicInfoService musicInfo.setCreateTime(DateUtils.getNowDate()); musicInfo.setMusicId(IdUtil.getSnowflakeNextId()); try { - String imgAddr = AliConfig.ossUp("musicImg/" + img.getOriginalFilename(), img.getInputStream()); - String musicAddr = AliConfig.ossUp("musicFile/" + music.getOriginalFilename(), music.getInputStream()); + String imgAddr = AliConfig.ossUp("musicImg/" , img.getOriginalFilename(), img.getInputStream()); + String musicAddr = AliConfig.ossUp("musicFile/" , music.getOriginalFilename(), music.getInputStream()); musicInfo.setMusicAddr(musicAddr); musicInfo.setImgAddr(imgAddr); musicInfo.setMusicType(MusicType.ORDINARY.getMusicType()); @@ -160,4 +169,22 @@ public class MusicInfoServiceImpl implements IMusicInfoService public List findHistoryMusicByUser(Long userId) { return musicInfoMapper.selectHistoryMusicByUser(userId); } + + @Override + public MusicInfo getMusicInfo(Long userId, String musicId) { + MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId); + // 查询是否是用户喜欢 + UserLikeMusic userLikeMusic = userLikeMusicMapper.selectUserLikeMusicAndUserId(userId, musicId); + if (userLikeMusic != null){ + musicInfo.setLike(true); + } + // 查询是否是用户分类 + UserCollect userCollect = userCollectMapper.selectUserCollectAndUserId(userId, musicId); + if (userCollect != null){ + musicInfo.setCollect(true); + musicInfo.setUserCollect(userCollect); + } + + return musicInfo; + } } diff --git a/ruoyi-system/src/main/resources/mapper/system/ActivityInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/ActivityInfoMapper.xml new file mode 100644 index 0000000..f9a4203 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/ActivityInfoMapper.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + select id, name, content, start_time, end_time, creator, modify, shelf, is_del, img from activity_info + + + + + + + + insert into activity_info + + name, + content, + start_time, + end_time, + creator, + modify, + shelf, + is_del, + img, + + + #{name}, + #{content}, + #{startTime}, + #{endTime}, + #{creator}, + #{modify}, + #{shelf}, + #{isDel}, + #{img}, + + + + + update activity_info + + name = #{name}, + content = #{content}, + start_time = #{startTime}, + end_time = #{endTime}, + creator = #{creator}, + modify = #{modify}, + shelf = #{shelf}, + is_del = #{isDel}, + img = #{img}, + + where id = #{id} + + + + delete from activity_info where id = #{id} + + + + delete from activity_info where id in + + #{id} + + + + + + + + + insert into user_activity(user_id, activity_id) value (#{userId},#{activityId}) + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/CategoryInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/CategoryInfoMapper.xml index 7538c99..ba8b9b6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/CategoryInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/CategoryInfoMapper.xml @@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -16,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, category_id, name, is_del, create_time, update_time, creator, modify from category_info + select id, category_id, name, back_img,is_del, create_time, update_time, creator, modify from category_info SELECT * FROM user_history ulm LEFT JOIN music_info mi on ulm.music_id=mi.music_id WHERE ulm.user_id=#{userId} and mi.is_del=0 + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/ShopUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/ShopUserMapper.xml index 6528c0f..0545cf6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/ShopUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/ShopUserMapper.xml @@ -22,6 +22,8 @@ device_id, device_type, head_img, + vip_start_time, + vip_end_time, #{userId}, @@ -39,6 +41,8 @@ #{deviceId}, #{deviceType}, #{headImg}, + #{vipStartTime}, + #{vipEndTime}, @@ -65,7 +69,7 @@ - select id, user_id, username, password,device_type,device_id, phone, nickname, sex, birthday, addr, register_time, status, vip, online, create_time, update_time, is_del,head_img from shop_user + select id, user_id, username, password,device_type,device_id, phone, nickname, sex, birthday, addr, register_time, status, vip, online, create_time, update_time, is_del,head_img,vip_end_time,vip_start_time from shop_user @@ -103,7 +109,7 @@ @@ -162,8 +168,10 @@ create_time = #{createTime}, update_time = #{updateTime}, is_del = #{isDel}, + vip_start_time = #{vipStartTime}, + vip_end_time = #{vipEndTime}, - where id = #{id} + where shop_user.user_id = #{userId} @@ -177,4 +185,9 @@ #{id} + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml index 1db55fe..f08d001 100644 --- a/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml @@ -78,4 +78,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml index 3f33f1d..6061b8a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml @@ -58,4 +58,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + \ No newline at end of file diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index b4893b0..302ecd1 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,8 +1,11 @@ # 页面标题 VUE_APP_TITLE = 若依管理系统 -# 生产环境配置 -ENV = 'production' +# 开发环境配置 +ENV = 'development' -# 若依管理系统/生产环境 -VUE_APP_BASE_API = '/prod-api' +# 若依管理系统/开发环境 +VUE_APP_BASE_API = '/dev-api' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true