完善c端接口
This commit is contained in:
@@ -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<ActivityInfo> 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<ActivityInfo> list = activityInfoService.selectActivityInfoList(activityInfo);
|
||||
ExcelUtil<ActivityInfo> util = new ExcelUtil<ActivityInfo>(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));
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ public class IndexController extends BaseController {
|
||||
public TableDataInfo getCategoryMusic(@PathVariable String categoryId){
|
||||
startPage();
|
||||
List<MusicInfo> 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<MusicInfo> list = recommendInfoService.findRecommendMusic();
|
||||
return getDataTable(list);
|
||||
return getDataTableData(list);
|
||||
}
|
||||
|
||||
@GetMapping("/re/bind/music")
|
||||
|
||||
@@ -37,7 +37,7 @@ public class MusicCollectController extends BaseController
|
||||
{
|
||||
startPage();
|
||||
List<MusicCollect> list = musicCollectService.selectMusicCollectList(musicCollect);
|
||||
return getDataTable(list);
|
||||
return getDataTableData(list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -36,7 +36,7 @@ public class MusicController extends BaseController {
|
||||
startPage();
|
||||
List<MusicInfo> 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<MusicInfo> 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<MusicInfo> 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));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public class ShareInfoController extends BaseController
|
||||
{
|
||||
startPage();
|
||||
List<ShareInfo> list = shareInfoService.findShareInfoListPage(shareInfo);
|
||||
return getDataTable(list);
|
||||
return getDataTableData(list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -44,7 +44,7 @@ public class UserCollectController extends BaseController
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
userCollect.setUserId(userId);
|
||||
List<UserCollect> list = userCollectService.selectUserCollectList(userCollect);
|
||||
return getDataTable(list);
|
||||
return getDataTableData(list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,7 +37,7 @@ public class UserHistoryController extends BaseController
|
||||
{
|
||||
startPage();
|
||||
List<UserHistory> list = userHistoryService.selectUserHistoryList(userHistory);
|
||||
return getDataTable(list);
|
||||
return getDataTableData(list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -68,7 +68,7 @@ spring:
|
||||
# redis 配置
|
||||
redis:
|
||||
# 地址
|
||||
host: 60.205.107.210
|
||||
host: 192.168.31.55
|
||||
# 端口,默认为6379
|
||||
port: 6379
|
||||
# 数据库索引
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回成功
|
||||
*/
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ public class UserCollect extends BaseEntity
|
||||
private Long userId;
|
||||
|
||||
/** 音乐id */
|
||||
@Excel(name = "音乐id")
|
||||
@Excel(name = "收藏")
|
||||
private Long collectId;
|
||||
|
||||
/** 收藏名称 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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));;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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<ActivityInfo> 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);
|
||||
}
|
||||
@@ -81,4 +81,6 @@ public interface MusicInfoMapper
|
||||
int insertHistory(@Param("userId") Long userId,@Param("musicId") String musicId);
|
||||
|
||||
List<MusicInfo> selectHistoryMusicByUser(Long userId);
|
||||
|
||||
MusicInfo selectByMusicId(String musicId);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@ public interface ShopUserMapper {
|
||||
*/
|
||||
public ShopUser selectShopUserById(String id);
|
||||
|
||||
public ShopUser selectShopUserByUserId(Long userId);
|
||||
|
||||
/**
|
||||
* 查询用户管理列表
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<ActivityInfo> 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);
|
||||
}
|
||||
@@ -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<MusicInfo> findHistoryMusicByUser(Long userId);
|
||||
|
||||
MusicInfo getMusicInfo(Long userId, String musicId);
|
||||
}
|
||||
|
||||
@@ -7,4 +7,5 @@ public interface ShopUserService {
|
||||
|
||||
ShopUser login(ShopUserResq shopUser);
|
||||
|
||||
ShopUser modifyUser(ShopUser shopUser);
|
||||
}
|
||||
|
||||
@@ -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<ActivityInfo> 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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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<MusicInfo> 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.ActivityInfoMapper">
|
||||
|
||||
<resultMap type="ActivityInfo" id="ActivityInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="name" column="name" />
|
||||
<result property="content" column="content" />
|
||||
<result property="startTime" column="start_time" />
|
||||
<result property="endTime" column="end_time" />
|
||||
<result property="creator" column="creator" />
|
||||
<result property="modify" column="modify" />
|
||||
<result property="shelf" column="shelf" />
|
||||
<result property="isDel" column="is_del" />
|
||||
<result property="img" column="img" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectActivityInfoVo">
|
||||
select id, name, content, start_time, end_time, creator, modify, shelf, is_del, img from activity_info
|
||||
</sql>
|
||||
|
||||
<select id="selectActivityInfoList" parameterType="ActivityInfo" resultMap="ActivityInfoResult">
|
||||
<include refid="selectActivityInfoVo"/>
|
||||
<where>
|
||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
|
||||
<if test="content != null and content != ''"> and content = #{content}</if>
|
||||
<if test="startTime != null "> and start_time = #{startTime}</if>
|
||||
<if test="endTime != null "> and end_time = #{endTime}</if>
|
||||
<if test="creator != null and creator != ''"> and creator = #{creator}</if>
|
||||
<if test="modify != null and modify != ''"> and modify = #{modify}</if>
|
||||
<if test="shelf != null "> and shelf = #{shelf}</if>
|
||||
<if test="isDel != null "> and is_del = #{isDel}</if>
|
||||
<if test="img != null and img != ''"> and img = #{img}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectActivityInfoById" parameterType="String" resultMap="ActivityInfoResult">
|
||||
<include refid="selectActivityInfoVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertActivityInfo" parameterType="ActivityInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into activity_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">name,</if>
|
||||
<if test="content != null">content,</if>
|
||||
<if test="startTime != null">start_time,</if>
|
||||
<if test="endTime != null">end_time,</if>
|
||||
<if test="creator != null">creator,</if>
|
||||
<if test="modify != null">modify,</if>
|
||||
<if test="shelf != null">shelf,</if>
|
||||
<if test="isDel != null">is_del,</if>
|
||||
<if test="img != null">img,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">#{name},</if>
|
||||
<if test="content != null">#{content},</if>
|
||||
<if test="startTime != null">#{startTime},</if>
|
||||
<if test="endTime != null">#{endTime},</if>
|
||||
<if test="creator != null">#{creator},</if>
|
||||
<if test="modify != null">#{modify},</if>
|
||||
<if test="shelf != null">#{shelf},</if>
|
||||
<if test="isDel != null">#{isDel},</if>
|
||||
<if test="img != null">#{img},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateActivityInfo" parameterType="ActivityInfo">
|
||||
update activity_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="name != null">name = #{name},</if>
|
||||
<if test="content != null">content = #{content},</if>
|
||||
<if test="startTime != null">start_time = #{startTime},</if>
|
||||
<if test="endTime != null">end_time = #{endTime},</if>
|
||||
<if test="creator != null">creator = #{creator},</if>
|
||||
<if test="modify != null">modify = #{modify},</if>
|
||||
<if test="shelf != null">shelf = #{shelf},</if>
|
||||
<if test="isDel != null">is_del = #{isDel},</if>
|
||||
<if test="img != null">img = #{img},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteActivityInfoById" parameterType="String">
|
||||
delete from activity_info where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteActivityInfoByIds" parameterType="String">
|
||||
delete from activity_info where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectActivityShelfInfo" resultMap="ActivityInfoResult">
|
||||
SELECT * FROM activity_info where shelf=1 order by end_time desc limit 1;
|
||||
</select>
|
||||
|
||||
<select id="selectActivityInfoByUserId" resultType="com.ruoyi.common.core.domain.entity.ActivityInfo">
|
||||
SELECT activity_id as activityId FROM user_activity where user_id=#{userId}
|
||||
</select>
|
||||
|
||||
<insert id="insertActivityUser">
|
||||
insert into user_activity(user_id, activity_id) value (#{userId},#{activityId})
|
||||
</insert>
|
||||
</mapper>
|
||||
@@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="id" column="id" />
|
||||
<result property="categoryId" column="category_id" />
|
||||
<result property="name" column="name" />
|
||||
<result property="backImg" column="back_img" />
|
||||
<result property="isDel" column="is_del" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
@@ -16,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectCategoryInfoVo">
|
||||
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
|
||||
</sql>
|
||||
|
||||
<select id="selectCategoryInfoList" parameterType="CategoryInfo" resultMap="CategoryInfoResult">
|
||||
@@ -40,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="categoryId != null">category_id,</if>
|
||||
<if test="name != null">name,</if>
|
||||
<if test="backImg != null">back_img,</if>
|
||||
<if test="isDel != null">is_del,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
@@ -49,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="categoryId != null">#{categoryId},</if>
|
||||
<if test="name != null">#{name},</if>
|
||||
<if test="backImg != null">#{backImg},</if>
|
||||
<if test="isDel != null">#{isDel},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
|
||||
@@ -159,4 +159,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="selectHistoryMusicByUser" resultMap="MusicInfoResult">
|
||||
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
|
||||
</select>
|
||||
|
||||
<select id="selectByMusicId" resultMap="MusicInfoResult">
|
||||
SELECT * FROM music_info where music_id=#{musicId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -22,6 +22,8 @@
|
||||
<if test="deviceId != null">device_id,</if>
|
||||
<if test="deviceType != null">device_type,</if>
|
||||
<if test="headImg != null">head_img,</if>
|
||||
<if test="vipStartTime != null">vip_start_time,</if>
|
||||
<if test="vipEndTime != null">vip_end_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">#{userId},</if>
|
||||
@@ -39,6 +41,8 @@
|
||||
<if test="deviceId != null">#{deviceId},</if>
|
||||
<if test="deviceType != null">#{deviceType},</if>
|
||||
<if test="headImg != null">#{headImg},</if>
|
||||
<if test="vipStartTime != null">#{vipStartTime},</if>
|
||||
<if test="vipEndTime != null">#{vipEndTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -65,7 +69,7 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectShopUserVo">
|
||||
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
|
||||
</sql>
|
||||
|
||||
<select id="selectShopUserList" parameterType="ShopUser" resultMap="ShopUserResult">
|
||||
@@ -84,6 +88,8 @@
|
||||
<if test="vip != null "> and vip = #{vip}</if>
|
||||
<if test="online != null and online != ''"> and online = #{online}</if>
|
||||
<if test="isDel != null "> and is_del = #{isDel}</if>
|
||||
<if test="vipStartTime != null"> and #{vipStartTime},</if>
|
||||
<if test="vipEndTime != null"> and #{vipEndTime},</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@@ -103,7 +109,7 @@
|
||||
|
||||
<select id="selectShopUserById" parameterType="String" resultMap="ShopUserResult">
|
||||
<include refid="selectShopUserVo"/>
|
||||
where id = #{id}
|
||||
where shop_user.id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertShopUser" parameterType="ShopUser" useGeneratedKeys="true" keyProperty="id">
|
||||
@@ -162,8 +168,10 @@
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="isDel != null">is_del = #{isDel},</if>
|
||||
<if test="vipStartTime != null"> vip_start_time = #{vipStartTime},</if>
|
||||
<if test="vipEndTime != null"> vip_end_time = #{vipEndTime},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
where shop_user.user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteShopUserById" parameterType="String">
|
||||
@@ -177,4 +185,9 @@
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectShopUserByUserId" resultMap="ShopUserResult">
|
||||
<include refid="selectShopUserVo"/>
|
||||
where shop_user.user_id = #{userId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -78,4 +78,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectUserCollectAndUserId" resultMap="UserCollectResult">
|
||||
SELECT uc.* FROM music_collect mc LEFT JOIN user_collect uc on uc.collect_id=mc.collect_id WHERE mc.music_id=#{musicId} and uc.user_id=#{userId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -58,4 +58,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectUserLikeMusicAndUserId" resultType="com.ruoyi.common.core.domain.entity.UserLikeMusic">
|
||||
SELECT user_id as userId,music_id as musicId FROM user_like_music where user_id=#{userId} and music_id=#{musicId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user