feat(resource): 重构模型相关 mapper 并添加新功能
-重命名 MallProductMapper 为 ModelMapper - 在 ModelImageMapper 和 ModelMapper 中添加新的查询方法- 更新 ModelProduct 实体,添加 likeNum 字段 - 重构 ModelServiceImpl 和 SysUserAttentionServiceImpl,使用新的 mapper 方法 - 更新 SysUserInfo 实体,增加模型相关统计字段feature/my-invitation
parent
1cdfb48ae3
commit
b8bf961509
|
@ -79,6 +79,10 @@ public class ModelProduct extends BaseEntity {
|
||||||
* 下载次数
|
* 下载次数
|
||||||
*/
|
*/
|
||||||
private Integer numbers;
|
private Integer numbers;
|
||||||
|
/**
|
||||||
|
* 点赞数
|
||||||
|
*/
|
||||||
|
private Integer likeNum;
|
||||||
/**
|
/**
|
||||||
* 审核状态
|
* 审核状态
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -29,12 +29,24 @@ public class SysUserInfo {
|
||||||
private Long bean = 0L;
|
private Long bean = 0L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载次数
|
* 模型下载次数
|
||||||
*/
|
*/
|
||||||
private Long download = 0L;
|
private Long modelDownloadNum = 0L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点赞次数
|
* 模型运行次数
|
||||||
*/
|
*/
|
||||||
private Long likeCount = 0L;
|
private Long modelRunNum = 0L;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型点赞次数
|
||||||
|
*/
|
||||||
|
private Long modelLikeNum = 0L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片点赞次数
|
||||||
|
*/
|
||||||
|
private Long imageLikeNum = 0L;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,9 @@ package com.mcwl.resource.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.mcwl.resource.domain.ModelImage;
|
import com.mcwl.resource.domain.ModelImage;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ModelImageMapper extends BaseMapper<ModelImage> {
|
public interface ModelImageMapper extends BaseMapper<ModelImage> {
|
||||||
|
Long sumLikeNumber(@Param("userId") Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,11 @@
|
||||||
package com.mcwl.resource.mapper;
|
package com.mcwl.resource.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.mcwl.resource.domain.ModelProduct;
|
import com.mcwl.resource.domain.ModelProduct;
|
||||||
import com.mcwl.resource.domain.ModelVersion;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:ChenYan
|
* @Author:ChenYan
|
||||||
* @Project:McWl
|
* @Project:McWl
|
||||||
|
@ -20,7 +15,7 @@ import java.util.Date;
|
||||||
* @Date:2024/12/30 18:23
|
* @Date:2024/12/30 18:23
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface MallProductMapper extends BaseMapper<ModelProduct> {
|
public interface ModelMapper extends BaseMapper<ModelProduct> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,4 +24,7 @@ public interface MallProductMapper extends BaseMapper<ModelProduct> {
|
||||||
|
|
||||||
void updateModel(ModelProduct modelProduct);
|
void updateModel(ModelProduct modelProduct);
|
||||||
|
|
||||||
|
Long sumLikeNumber(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
Long sumRunNumber(Long userId);
|
||||||
}
|
}
|
|
@ -4,14 +4,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.mcwl.common.exception.ServiceException;
|
import com.mcwl.common.exception.ServiceException;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.resource.domain.*;
|
import com.mcwl.resource.domain.*;
|
||||||
import com.mcwl.resource.domain.vo.MallProductVo;
|
import com.mcwl.resource.mapper.ModelMapper;
|
||||||
import com.mcwl.resource.mapper.MallProductMapper;
|
|
||||||
import com.mcwl.resource.mapper.ModelLikeMapper;
|
import com.mcwl.resource.mapper.ModelLikeMapper;
|
||||||
import com.mcwl.resource.service.ModelLikeService;
|
import com.mcwl.resource.service.ModelLikeService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import springfox.documentation.swagger2.mappers.ModelMapper;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -29,12 +27,12 @@ public class ModelLikeServiceImpl extends ServiceImpl<ModelLikeMapper, ModelLike
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MallProductMapper mallProductMapper;
|
private ModelMapper modelMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void like(Long modelId) {
|
public void like(Long modelId) {
|
||||||
ModelProduct model = mallProductMapper.selectById(modelId);
|
ModelProduct model = modelMapper.selectById(modelId);
|
||||||
if (Objects.isNull(model)) {
|
if (Objects.isNull(model)) {
|
||||||
throw new ServiceException("该模型不存在或已下架");
|
throw new ServiceException("该模型不存在或已下架");
|
||||||
}
|
}
|
||||||
|
@ -51,7 +49,7 @@ public class ModelLikeServiceImpl extends ServiceImpl<ModelLikeMapper, ModelLike
|
||||||
// 更新点赞记录
|
// 更新点赞记录
|
||||||
baseMapper.updateById(modelLike);
|
baseMapper.updateById(modelLike);
|
||||||
// 更新图片点赞数
|
// 更新图片点赞数
|
||||||
mallProductMapper.updateById(model);
|
modelMapper.updateById(model);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +64,6 @@ public class ModelLikeServiceImpl extends ServiceImpl<ModelLikeMapper, ModelLike
|
||||||
|
|
||||||
// 更新图片点赞数
|
// 更新图片点赞数
|
||||||
model.setNumbers(model.getNumbers() + 1);
|
model.setNumbers(model.getNumbers() + 1);
|
||||||
mallProductMapper.updateById(model);
|
modelMapper.updateById(model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@ package com.mcwl.resource.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
@ -12,24 +11,19 @@ import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.common.core.redis.RedisCache;
|
import com.mcwl.common.core.redis.RedisCache;
|
||||||
import com.mcwl.common.domain.IdsParam;
|
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.common.utils.StringUtils;
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.resource.domain.ModelImage;
|
|
||||||
import com.mcwl.resource.domain.ModelProduct;
|
import com.mcwl.resource.domain.ModelProduct;
|
||||||
import com.mcwl.resource.domain.ModelVersion;
|
import com.mcwl.resource.domain.ModelVersion;
|
||||||
import com.mcwl.resource.domain.WorkFlowVersion;
|
|
||||||
import com.mcwl.resource.domain.dto.ModelImagePageRes;
|
import com.mcwl.resource.domain.dto.ModelImagePageRes;
|
||||||
import com.mcwl.resource.domain.request.RequestModel;
|
import com.mcwl.resource.domain.request.RequestModel;
|
||||||
import com.mcwl.resource.domain.request.RequestWorkFlow;
|
|
||||||
import com.mcwl.resource.domain.vo.MallProductVo;
|
import com.mcwl.resource.domain.vo.MallProductVo;
|
||||||
import com.mcwl.resource.domain.vo.ModelImageVo;
|
import com.mcwl.resource.domain.vo.ModelImageVo;
|
||||||
import com.mcwl.resource.mapper.MallProductMapper;
|
import com.mcwl.resource.mapper.ModelMapper;
|
||||||
|
|
||||||
import com.mcwl.resource.mapper.ModelVersionMapper;
|
import com.mcwl.resource.mapper.ModelVersionMapper;
|
||||||
import com.mcwl.resource.service.ModelService;
|
import com.mcwl.resource.service.ModelService;
|
||||||
import com.mcwl.system.service.ISysUserService;
|
import com.mcwl.system.service.ISysUserService;
|
||||||
import lombok.extern.log4j.Log4j;
|
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -49,14 +43,14 @@ import java.util.Objects;
|
||||||
*/
|
*/
|
||||||
@Log4j2
|
@Log4j2
|
||||||
@Service
|
@Service
|
||||||
public class MallProductServiceImpl extends ServiceImpl<MallProductMapper,ModelProduct> implements ModelService {
|
public class ModelServiceImpl extends ServiceImpl<ModelMapper,ModelProduct> implements ModelService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisCache redisCache;
|
private RedisCache redisCache;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ModelVersionMapper modelVersionMapper;
|
private ModelVersionMapper modelVersionMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MallProductMapper postMapper;
|
private ModelMapper postMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
package com.mcwl.resource.service.impl;
|
package com.mcwl.resource.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
|
import com.mcwl.resource.domain.ModelProduct;
|
||||||
import com.mcwl.resource.domain.SysUserAttention;
|
import com.mcwl.resource.domain.SysUserAttention;
|
||||||
import com.mcwl.resource.domain.SysUserInfo;
|
import com.mcwl.resource.domain.SysUserInfo;
|
||||||
import com.mcwl.resource.mapper.MallProductLikeMapper;
|
import com.mcwl.resource.mapper.MallProductLikeMapper;
|
||||||
import com.mcwl.resource.mapper.MallProductMapper;
|
import com.mcwl.resource.mapper.ModelImageMapper;
|
||||||
|
import com.mcwl.resource.mapper.ModelMapper;
|
||||||
import com.mcwl.resource.mapper.SysUserAttentionMapper;
|
import com.mcwl.resource.mapper.SysUserAttentionMapper;
|
||||||
|
import com.mcwl.resource.service.ModelImageService;
|
||||||
|
import com.mcwl.resource.service.ModelService;
|
||||||
import com.mcwl.resource.service.SysUserAttentionService;
|
import com.mcwl.resource.service.SysUserAttentionService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -26,7 +32,7 @@ public class SysUserAttentionServiceImpl implements SysUserAttentionService {
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MallProductMapper mallProductMapper;
|
private ModelMapper modelMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MallProductLikeMapper mallProductLikeMapper;
|
private MallProductLikeMapper mallProductLikeMapper;
|
||||||
|
@ -34,6 +40,9 @@ public class SysUserAttentionServiceImpl implements SysUserAttentionService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysUserAttentionMapper sysUserAttentionMapper;
|
private SysUserAttentionMapper sysUserAttentionMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ModelImageMapper modelImageMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult addAttention(Long userId) {
|
public AjaxResult addAttention(Long userId) {
|
||||||
|
|
||||||
|
@ -71,9 +80,30 @@ public class SysUserAttentionServiceImpl implements SysUserAttentionService {
|
||||||
public SysUserInfo selectUserInfo() {
|
public SysUserInfo selectUserInfo() {
|
||||||
|
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
return SysUserInfo.builder().bean(sysUserAttentionMapper.selectBean(userId))
|
// 粉丝数
|
||||||
// .download(mallProductMapper.sumNumber(userId))
|
Long userBeanNum = sysUserAttentionMapper.selectBean(userId);
|
||||||
.likeCount(mallProductLikeMapper.countLike(userId))
|
|
||||||
.attention(sysUserAttentionMapper.selectAttentionCount(userId)).build();
|
// 关注数
|
||||||
|
Long userAttentionNum = sysUserAttentionMapper.selectAttentionCount(userId);
|
||||||
|
|
||||||
|
// 模型下载数
|
||||||
|
Long modelDownloadNum = modelMapper.sumNumber(userId);
|
||||||
|
|
||||||
|
// 模型运行次数
|
||||||
|
Long modelRunNum = modelMapper.sumRunNumber(userId);
|
||||||
|
|
||||||
|
// 模型点赞次数
|
||||||
|
Long modelLikeNum = modelMapper.sumLikeNumber(userId);
|
||||||
|
|
||||||
|
// 图片点赞次数
|
||||||
|
Long imageLikeNum = modelImageMapper.sumLikeNumber(userId);
|
||||||
|
|
||||||
|
return SysUserInfo.builder().bean(userBeanNum)
|
||||||
|
.attention(userAttentionNum)
|
||||||
|
.modelDownloadNum(modelDownloadNum)
|
||||||
|
.modelRunNum(modelRunNum)
|
||||||
|
.modelLikeNum(modelLikeNum)
|
||||||
|
.imageLikeNum(imageLikeNum)
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?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.mcwl.resource.mapper.ModelImageMapper">
|
||||||
|
|
||||||
|
<select id="sumLikeNumber" resultType="java.lang.Long">
|
||||||
|
SELECT sum(like_num)sum FROM model_image where user_id = #{userId} ORDER BY(user_id);
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -2,7 +2,7 @@
|
||||||
<!DOCTYPE mapper
|
<!DOCTYPE mapper
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.mcwl.resource.mapper.MallProductMapper">
|
<mapper namespace="com.mcwl.resource.mapper.ModelMapper">
|
||||||
<update id="updateModel">
|
<update id="updateModel">
|
||||||
update model
|
update model
|
||||||
<set>
|
<set>
|
||||||
|
@ -72,7 +72,14 @@
|
||||||
|
|
||||||
|
|
||||||
<select id="sumNumber" resultType="java.lang.Long">
|
<select id="sumNumber" resultType="java.lang.Long">
|
||||||
SELECT sum(number)sum FROM model where user_id = #{userId} ORDER BY(user_id);
|
SELECT sum(numbers)sum FROM model where user_id = #{userId} ORDER BY(user_id);
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="sumLikeNumber" resultType="java.lang.Long">
|
||||||
|
SELECT sum(like_num)sum FROM model where user_id = #{userId} ORDER BY(user_id);
|
||||||
|
</select>
|
||||||
|
<select id="sumRunNumber" resultType="java.lang.Long">
|
||||||
|
SELECT sum(reals)sum FROM model where user_id = #{userId} ORDER BY(user_id);
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
Loading…
Reference in New Issue