完善c端接口

This commit is contained in:
menxipeng
2025-07-21 22:50:24 +08:00
parent 658a1f0e1b
commit 83fdbf2e41
27 changed files with 378 additions and 295 deletions

View File

@@ -1,6 +1,7 @@
package com.ruoyi.system.config;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.enums.DeviceTypeEnum;
import com.ruoyi.common.utils.uuid.UUID;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
@@ -25,14 +26,12 @@ import java.util.Map;
@Component
public class UmengConfig {
/**
*
*
* @param token
* @return
*/
public static CloseableHttpResponse send(String token){
public static CloseableHttpResponse send(String token,String deviceTypeUp){
if (deviceTypeUp.equals(DeviceTypeEnum.ANDROID.name())){
}
//687b2df479267e0210b79b6f
String umAppkey = "687b2e1679267e0210b79b70";
String appKey = "204918113";
@@ -94,10 +93,11 @@ public class UmengConfig {
public static void main(String[] args) throws IOException {
CloseableHttpResponse sss = send("1234");
String reponseContent = EntityUtils.toString(sss.getEntity());
System.out.println(reponseContent);
System.out.println(sss.getStatusLine().getReasonPhrase());
System.out.println(DeviceTypeEnum.ANDROID.name());
// CloseableHttpResponse sss = send("1234");
// String reponseContent = EntityUtils.toString(sss.getEntity());
// System.out.println(reponseContent);
// System.out.println(sss.getStatusLine().getReasonPhrase());
}
private static String getSignString(HttpPost httpPost) {

View File

@@ -68,6 +68,8 @@ public interface MusicInfoMapper
List<MusicInfo> selectMusicInfoByIds(List<Long> musicIdList);
List<MusicInfo> selectMusicInfoByIdsLimit(List<Long> musicIdList);
List<MusicInfo> selectRecommendMusic();
List<MusicInfo> selectMusicByCollectId(String collectId);
@@ -83,4 +85,8 @@ public interface MusicInfoMapper
List<MusicInfo> selectHistoryMusicByUser(Long userId);
MusicInfo selectByMusicId(String musicId);
List<MusicInfo> selectRecommendMusicByReId(String reId);
MusicInfo selectByPath(String path);
}

View File

@@ -59,4 +59,6 @@ public interface MusicSceneMapper
* @return 结果
*/
public int deleteMusicSceneByIds(String[] ids);
List<MusicScene> selectMusicSceneBySceneIds(String[] sceneArray);
}

View File

@@ -12,51 +12,8 @@ import java.util.List;
*/
public interface MusicSceneRelateMapper
{
/**
* 查询【请填写功能名称】
*
* @param id 【请填写功能名称】主键
* @return 【请填写功能名称】
*/
public MusicSceneRelate selectMusicSceneRelateById(String id);
/**
* 查询【请填写功能名称】列表
*
* @param musicSceneRelate 【请填写功能名称】
* @return 【请填写功能名称】集合
*/
public List<MusicSceneRelate> selectMusicSceneRelateList(MusicSceneRelate musicSceneRelate);
int insertMusicSceneRelate(MusicSceneRelate musicSceneRelate);
/**
* 新增【请填写功能名称】
*
* @param musicSceneRelate 【请填写功能名称】
* @return 结果
*/
public int insertMusicSceneRelate(MusicSceneRelate musicSceneRelate);
/**
* 修改【请填写功能名称】
*
* @param musicSceneRelate 【请填写功能名称】
* @return 结果
*/
public int updateMusicSceneRelate(MusicSceneRelate musicSceneRelate);
/**
* 删除【请填写功能名称】
*
* @param id 【请填写功能名称】主键
* @return 结果
*/
public int deleteMusicSceneRelateById(String id);
/**
* 批量删除【请填写功能名称】
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMusicSceneRelateByIds(String[] ids);
MusicSceneRelate selectByMusicId(String musicId);
}

View File

@@ -80,4 +80,6 @@ public interface IMusicInfoService
List<MusicInfo> findHistoryMusicByUser(Long userId);
MusicInfo getMusicInfo(Long userId, String musicId);
MusicInfo addMixMusicInfo(Map<String, String> param);
}

View File

@@ -66,4 +66,6 @@ public interface IRecommendInfoService
List<MusicInfo> findRecommendMusic();
List<RecommendInfo> findRecommendBindMusic();
List<MusicInfo> findRecommendMusicByReId(String reId);
}

View File

@@ -61,7 +61,9 @@ public class CShopUserServiceImpl implements ShopUserService {
case "3":
// 一键 todo 完善功能
String uMtoken = shopUser.getUMtoken();
umengConfig.send(uMtoken);
String deviceType = shopUser.getDeviceType();
String deviceTypeUp = deviceType.toUpperCase();
umengConfig.send(uMtoken,deviceTypeUp);
break;
}
return null;

View File

@@ -1,18 +1,14 @@
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.core.domain.entity.*;
import com.ruoyi.common.enums.Audio;
import com.ruoyi.common.enums.MusicType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MusicUtil;
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.mapper.*;
import com.ruoyi.system.service.IMusicInfoService;
import com.ruoyi.system.service.IUserHistoryService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +34,13 @@ public class MusicInfoServiceImpl implements IMusicInfoService
private UserLikeMusicMapper userLikeMusicMapper;
@Autowired
private UserCollectMapper userCollectMapper;
@Autowired
private MusicSceneMapper musicSceneMapper;
@Autowired
private MusicSceneRelateMapper relateMapper;
@Autowired
private ShopUserMapper shopUserMapper;
/**
@@ -173,6 +176,14 @@ public class MusicInfoServiceImpl implements IMusicInfoService
@Override
public MusicInfo getMusicInfo(Long userId, String musicId) {
MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId);
if (musicInfo.getVip() != null && musicInfo.getVip()==1){
ShopUser shopUser = shopUserMapper.selectShopUserByUserId(userId);
if (!MusicUtil.getShopIsVip(shopUser)){
return null;
}
}
// 查询是否是用户喜欢
UserLikeMusic userLikeMusic = userLikeMusicMapper.selectUserLikeMusicAndUserId(userId, musicId);
if (userLikeMusic != null){
@@ -184,7 +195,53 @@ public class MusicInfoServiceImpl implements IMusicInfoService
musicInfo.setCollect(true);
musicInfo.setUserCollect(userCollect);
}
// 判断是否是是混音
if (musicInfo.getMusicType().equals(MusicType.MIXING.getMusicType())){
// 查询混音相关信息
MusicSceneRelate relateInfo = relateMapper.selectByMusicId(musicId);
String sceneIds = relateInfo.getSceneIds();
String[] sceneArray = sceneIds.split(",");
List<MusicScene> musicScenes = musicSceneMapper.selectMusicSceneBySceneIds(sceneArray);
relateInfo.setMusicScenes(musicScenes);
musicInfo.setMusicScene(relateInfo);
}
return musicInfo;
}
@Override
public MusicInfo addMixMusicInfo(Map<String, String> param) {
Long userId = SecurityUtils.getUserId();
String musicId = param.get("musicId");
String sceneIds = param.get("sceneIds");
String sceneJson = param.get("sceneJson");
// 新增混音音乐标签
MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId);
if (musicInfo != null){
long newMusicId = IdUtil.getSnowflakeNextId();
musicInfo.setMusicId(newMusicId);
musicInfo.setMusicType(MusicType.MIXING.getMusicType());
musicInfoMapper.insertMusicInfo(musicInfo);
MusicSceneRelate musicSceneRelate = new MusicSceneRelate();
musicSceneRelate.setMusicId(String.valueOf(newMusicId));
musicSceneRelate.setSceneIds(sceneIds);
musicSceneRelate.setUserId(userId);
musicSceneRelate.setSceneInfo(sceneJson);
musicSceneRelate.setSourceMusicId(musicId);
return musicInfo;
}
return null;
}
//TODO: 待完善
public Map<String, String> getMixMusicInfo(String musicId){
MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId);
if (musicInfo.getMusicType().equals(MusicType.MIXING.getMusicType())){
// 获取混音信息
relateMapper.selectByMusicId(musicId);
}
return null;
}
}

View File

@@ -20,28 +20,15 @@ public class MusicSceneRelateServiceImpl implements IMusicSceneRelateService
@Autowired
private MusicSceneRelateMapper musicSceneRelateMapper;
/**
* 查询【请填写功能名称】
*
* @param id 【请填写功能名称】主键
* @return 【请填写功能名称】
*/
@Override
public MusicSceneRelate selectMusicSceneRelateById(String id)
{
return musicSceneRelateMapper.selectMusicSceneRelateById(id);
public MusicSceneRelate selectMusicSceneRelateById(String id) {
return null;
}
/**
* 查询【请填写功能名称】列表
*
* @param musicSceneRelate 【请填写功能名称】
* @return 【请填写功能名称】
*/
@Override
public List<MusicSceneRelate> selectMusicSceneRelateList(MusicSceneRelate musicSceneRelate)
{
return musicSceneRelateMapper.selectMusicSceneRelateList(musicSceneRelate);
public List<MusicSceneRelate> selectMusicSceneRelateList(MusicSceneRelate musicSceneRelate) {
return null;
}
/**
@@ -56,39 +43,19 @@ public class MusicSceneRelateServiceImpl implements IMusicSceneRelateService
return musicSceneRelateMapper.insertMusicSceneRelate(musicSceneRelate);
}
/**
* 修改【请填写功能名称】
*
* @param musicSceneRelate 【请填写功能名称】
* @return 结果
*/
@Override
public int updateMusicSceneRelate(MusicSceneRelate musicSceneRelate)
{
return musicSceneRelateMapper.updateMusicSceneRelate(musicSceneRelate);
public int updateMusicSceneRelate(MusicSceneRelate musicSceneRelate) {
return 0;
}
/**
* 批量删除【请填写功能名称】
*
* @param ids 需要删除的【请填写功能名称】主键
* @return 结果
*/
@Override
public int deleteMusicSceneRelateByIds(String[] ids)
{
return musicSceneRelateMapper.deleteMusicSceneRelateByIds(ids);
public int deleteMusicSceneRelateByIds(String[] ids) {
return 0;
}
/**
* 删除【请填写功能名称】信息
*
* @param id 【请填写功能名称】主键
* @return 结果
*/
@Override
public int deleteMusicSceneRelateById(String id)
{
return musicSceneRelateMapper.deleteMusicSceneRelateById(id);
public int deleteMusicSceneRelateById(String id) {
return 0;
}
}

View File

@@ -1,7 +1,9 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.util.IdUtil;
import com.ruoyi.common.core.domain.entity.MusicScene;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.MusicSceneMapper;
import com.ruoyi.system.service.IMusicSceneService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -55,6 +57,8 @@ public class MusicSceneServiceImpl implements IMusicSceneService
public int insertMusicScene(MusicScene musicScene)
{
musicScene.setCreateTime(DateUtils.getNowDate());
musicScene.setSceneId(IdUtil.getSnowflakeNextId());
musicScene.setCreator(SecurityUtils.getUsername());
return musicSceneMapper.insertMusicScene(musicScene);
}

View File

@@ -129,10 +129,16 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService
reMusicMap.forEach((reId,rmcs) -> {
RecommendInfo recommendInfo = recommendInfoMapper.selectRecommendInfoById(reId);
List<Long> musicIdList = rmcs.stream().map(MusicRecommend::getMusicId).collect(Collectors.toList());
musicIdList = musicIdList.stream().limit(10).collect(Collectors.toList());
List<MusicInfo> musicInfos = musicInfoMapper.selectMusicInfoByIds(musicIdList);
recommendInfo.setMusics(musicInfos);
result.add(recommendInfo);
});
return result;
}
@Override
public List<MusicInfo> findRecommendMusicByReId(String reId) {
return musicInfoMapper.selectRecommendMusicByReId(reId);
}
}

View File

@@ -163,4 +163,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectByMusicId" resultMap="MusicInfoResult">
SELECT * FROM music_info where music_id=#{musicId}
</select>
<select id="selectMusicInfoByIdsLimit" resultType="com.ruoyi.common.core.domain.entity.MusicInfo">
SELECT * from music_info where music_info.music_id in
<foreach item="id" collection="collection" open="(" close=")" separator=",">
#{id}
</foreach>
</select>
<select id="selectRecommendMusicByReId" resultMap="MusicInfoResult">
SELECT mi.* FROM music_recommend mr LEFT JOIN music_info mi on mr.music_id=mi.music_id WHERE mr.recommend_id=#{reId} and mi.is_del=0
</select>
<select id="selectByPath" resultMap="MusicInfoResult">
<include refid="selectMusicInfoVo" /> where music_addr=#{path} and is_del=0
</select>
</mapper>

View File

@@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="sceneId" column="scene_id" />
<result property="scene" column="scene" />
<result property="musicAddr" column="music_addr" />
<result property="imgAddr" column="img_addr" />
<result property="creator" column="creator" />
<result property="modify" column="modify" />
<result property="createTime" column="create_time" />
@@ -17,7 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectMusicSceneVo">
select id, scene_id, scene, music_addr, creator, modify, create_time, update_time, is_del from music_scene
select id, scene_id, scene, music_addr, creator, modify, create_time, update_time, is_del,img_addr from music_scene
</sql>
<select id="selectMusicSceneList" parameterType="MusicScene" resultMap="MusicSceneResult">
@@ -48,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="isDel != null">is_del,</if>
<if test="imgAddr != null">img_addr,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sceneId != null">#{sceneId},</if>
@@ -58,6 +60,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="isDel != null">#{isDel},</if>
<if test="imgAddr != null">#{imgAddr},</if>
</trim>
</insert>
@@ -72,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<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="imgAddr != null">img_addr = #{imgAddr},</if>
</trim>
where id = #{id}
</update>
@@ -86,4 +90,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<select id="selectMusicSceneBySceneIds" resultMap="MusicSceneResult">
<include refid="selectMusicSceneVo" /> where scene_id in
<foreach collection="array" item="sceneId" open="(" separator="," close=")">
#{sceneId}
</foreach>
and is_del=0
</select>
</mapper>

View File

@@ -7,55 +7,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="MusicSceneRelate" id="MusicSceneRelateResult">
<result property="id" column="id" />
<result property="musicId" column="music_id" />
<result property="sceneId" column="scene_id" />
<result property="sceneIds" column="scene_ids" />
<result property="userId" column="user_id" />
<result property="sceneInfo" column="scene_info" />
<result property="sourceMusicId" column="source_music_id" />
</resultMap>
<sql id="selectMusicSceneRelateVo">
select id, music_id, scene_id from music_scene_relate
select id, music_id, scene_ids,user_id,scene_info,source_music_id from music_scene_relate
</sql>
<select id="selectMusicSceneRelateList" parameterType="MusicSceneRelate" resultMap="MusicSceneRelateResult">
<include refid="selectMusicSceneRelateVo"/>
<where>
<if test="musicId != null "> and music_id = #{musicId}</if>
<if test="sceneId != null "> and scene_id = #{sceneId}</if>
</where>
</select>
<select id="selectMusicSceneRelateById" parameterType="String" resultMap="MusicSceneRelateResult">
<include refid="selectMusicSceneRelateVo"/>
where id = #{id}
</select>
<insert id="insertMusicSceneRelate" parameterType="MusicSceneRelate" useGeneratedKeys="true" keyProperty="id">
insert into music_scene_relate
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="musicId != null">music_id,</if>
<if test="sceneId != null">scene_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="musicId != null">#{musicId},</if>
<if test="sceneId != null">#{sceneId},</if>
</trim>
<insert id="insertMusicSceneRelate">
INSERT INTO music_scene_relate(music_id, scene_ids, user_id, scene_info,source_music_id) VALUE (#{musicId},#{sceneIds},#{userId},#{sceneInfo},#{sourceMusicId})
</insert>
<update id="updateMusicSceneRelate" parameterType="MusicSceneRelate">
update music_scene_relate
<trim prefix="SET" suffixOverrides=",">
<if test="musicId != null">music_id = #{musicId},</if>
<if test="sceneId != null">scene_id = #{sceneId},</if>
</trim>
where id = #{id}
</update>
<select id="selectByMusicId" resultType="com.ruoyi.common.core.domain.entity.MusicSceneRelate">
<delete id="deleteMusicSceneRelateById" parameterType="String">
delete from music_scene_relate where id = #{id}
</delete>
<delete id="deleteMusicSceneRelateByIds" parameterType="String">
delete from music_scene_relate where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</select>
</mapper>