refactor(resource): 重构资源模块点赞功能
parent
d0238c2320
commit
53fcee7ada
|
@ -8,6 +8,9 @@ import com.mcwl.common.core.domain.AjaxResult;
|
|||
import com.mcwl.common.core.domain.R;
|
||||
import com.mcwl.common.core.page.TableDataInfo;
|
||||
import com.mcwl.common.utils.SecurityUtils;
|
||||
import com.mcwl.communityCenter.service.InviteService;
|
||||
import com.mcwl.myInvitation.domain.Consume;
|
||||
import com.mcwl.myInvitation.service.ConsumeService;
|
||||
import com.mcwl.resource.domain.ModelProduct;
|
||||
import com.mcwl.resource.domain.ModelVersion;
|
||||
import com.mcwl.resource.domain.dto.ModelImagePageRes;
|
||||
|
@ -25,6 +28,10 @@ import org.springframework.web.bind.annotation.*;
|
|||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -52,6 +59,9 @@ public class MallProductController extends BaseController {
|
|||
@Autowired
|
||||
private SysUserServiceImpl sysUserService;
|
||||
|
||||
@Autowired
|
||||
private ConsumeService consumeService;
|
||||
|
||||
|
||||
/**
|
||||
* 模型列表
|
||||
|
@ -71,6 +81,17 @@ public class MallProductController extends BaseController {
|
|||
RequestModel requestModel = new RequestModel();
|
||||
|
||||
ModelProduct modelVersion1 = modelService.getById(id);
|
||||
Set<Long> productIdSet = consumeService.lambdaQuery()
|
||||
.eq(Consume::getUserId, SecurityUtils.getUserId())
|
||||
.eq(Consume::getType, 0)
|
||||
.list()
|
||||
.parallelStream()
|
||||
.map(Consume::getProductId)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
Optional.ofNullable(modelVersion1)
|
||||
.filter(m -> productIdSet.contains(m.getId()))
|
||||
.ifPresent(m -> m.setIsBuy(1));
|
||||
|
||||
LambdaQueryWrapper<ModelVersion> modelVersionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
modelVersionLambdaQueryWrapper.eq(ModelVersion::getModelId,id);
|
||||
|
|
|
@ -29,7 +29,7 @@ public class Consume extends BaseEntity {
|
|||
// 商品id
|
||||
private Long productId;
|
||||
|
||||
// 商品类型
|
||||
// 商品类型 0模型 1工作流 2图片
|
||||
private Integer type;
|
||||
|
||||
// 消费时间
|
||||
|
|
|
@ -324,10 +324,6 @@ public class AliPayServiceImpl implements AliPayService {
|
|||
// 收款方信息
|
||||
Participant payeeInfo = new Participant();
|
||||
|
||||
// 沙箱环境
|
||||
// payeeInfo.setIdentity("2088722057445020");
|
||||
// payeeInfo.setIdentityType("ALIPAY_USER_ID");
|
||||
|
||||
// 线上环境
|
||||
payeeInfo.setIdentity(sysUserPayAccount.getOpenId());
|
||||
payeeInfo.setIdentityType("ALIPAY_OPEN_ID");
|
||||
|
@ -550,9 +546,7 @@ public class AliPayServiceImpl implements AliPayService {
|
|||
// 设置支付宝公钥,因为配置了证书,所以不需要设置支付宝公钥
|
||||
// config.setAlipayPublicKey(aliConfig.getPublicKey());
|
||||
|
||||
// 设置应用公钥证书路径(线上)
|
||||
// config.setAppCertPath(getClass().getResource("/cert/appCertPublicKey.crt").getPath());
|
||||
// 设置应用公钥证书路径(沙箱)
|
||||
// 设置应用公钥证书路径
|
||||
config.setAppCertPath(aliConfig.getAppCertPath());
|
||||
|
||||
// 设置支付宝公钥证书路径
|
||||
|
|
|
@ -167,4 +167,12 @@ public class ModelProduct extends BaseEntity {
|
|||
private Integer isLike;
|
||||
|
||||
|
||||
/**
|
||||
* 是否购买
|
||||
*/
|
||||
@ApiModelProperty(value = "是否购买 0未购买 1购买")
|
||||
@TableField(exist = false)
|
||||
private Integer isBuy;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -48,6 +48,9 @@ public class ModelLikeVo {
|
|||
@ApiModelProperty(value = "下载数")
|
||||
private Long downloadNumber;
|
||||
|
||||
@ApiModelProperty(value = "点赞数")
|
||||
private Long likeNumber;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
package com.mcwl.resource.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.mcwl.resource.domain.ModelImage;
|
||||
import com.mcwl.resource.domain.response.ResponseModelImage;
|
||||
import com.mcwl.resource.domain.vo.ModelImageLikeVo;
|
||||
import com.mcwl.resource.domain.vo.PageVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
@ -21,4 +24,11 @@ public interface ModelImageMapper extends BaseMapper<ModelImage> {
|
|||
List<ResponseModelImage> imageList(PageVo pageVo);
|
||||
|
||||
Long sumImageNumber(Long userId);
|
||||
|
||||
|
||||
List<ModelImageLikeVo> selectLikedImagesByUser(
|
||||
@Param("page") Page<ModelImageLikeVo> page,
|
||||
@Param("userId") Long userId,
|
||||
@Param("orderByColumn") String orderByColumn // 新增参数
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,11 @@ package com.mcwl.resource.mapper;
|
|||
|
||||
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.response.ResponseModelProduct;
|
||||
import com.mcwl.resource.domain.vo.ModelImageLikeVo;
|
||||
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
||||
import com.mcwl.resource.domain.vo.PageVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
@ -22,7 +25,6 @@ import java.util.List;
|
|||
public interface ModelMapper extends BaseMapper<ModelProduct> {
|
||||
|
||||
|
||||
|
||||
Long sumNumber(@Param("userId") Long userId);
|
||||
|
||||
|
||||
|
@ -40,4 +42,8 @@ public interface ModelMapper extends BaseMapper<ModelProduct> {
|
|||
List<ResponseModelProduct> modelSquare(PageVo pageVo);
|
||||
|
||||
Long sumModelNumber(Long userId);
|
||||
|
||||
List<ModelLikeVo> selectLikedModelsByUser(@Param("page") Page<ModelLikeVo> page,
|
||||
@Param("userId") Long userId,
|
||||
@Param("orderByColumn") String orderByColumn);
|
||||
}
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
package com.mcwl.resource.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.mcwl.resource.domain.WorkFlow;
|
||||
import com.mcwl.resource.domain.response.ResponseWorkFlow;
|
||||
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
||||
import com.mcwl.resource.domain.vo.PageVo;
|
||||
import com.mcwl.resource.domain.vo.WorkFlowLikeVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
@ -28,4 +31,8 @@ public interface WorkFlowMapper extends BaseMapper<WorkFlow> {
|
|||
List<ResponseWorkFlow> workFlowList(PageVo pageVo);
|
||||
|
||||
Long sumWorkFlowNumber(Long userId);
|
||||
|
||||
List<WorkFlowLikeVo> selectLikedWorkFlowsByUser(@Param("page") Page<WorkFlowLikeVo> page,
|
||||
@Param("userId") Long userId,
|
||||
@Param("orderByColumn") String orderByColumn);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.mcwl.resource.service.impl;
|
|||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
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.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
@ -33,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 图片点赞实现
|
||||
|
@ -71,7 +73,6 @@ public class ModelImageLikeServiceImpl extends ServiceImpl<ModelImageLikeMapper,
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
|
@ -81,57 +82,24 @@ public class ModelImageLikeServiceImpl extends ServiceImpl<ModelImageLikeMapper,
|
|||
@Override
|
||||
public TableDataInfo listByPage(PageDomain pageDomain) {
|
||||
|
||||
Page<ModelImageLike> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
||||
pageDomain.setOrderByColumn("create_time");
|
||||
}
|
||||
// 设置排序
|
||||
boolean isAsc = Objects.equals(pageDomain.getIsAsc(), "desc");
|
||||
OrderItem orderItem = new OrderItem(pageDomain.getOrderByColumn(), isAsc);
|
||||
page.addOrder(orderItem);
|
||||
|
||||
baseMapper.selectPage(page, new LambdaQueryWrapper<ModelImageLike>()
|
||||
.eq(ModelImageLike::getUserId, SecurityUtils.getUserId()));
|
||||
// 获取分页数据
|
||||
List<ModelImageLike> modelImageList = page.getRecords();
|
||||
// 2. 构建分页对象并设置排序规则
|
||||
Page<ModelImageLikeVo> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
|
||||
// ModelImage数据转为ModelImagePageVo
|
||||
List<ModelImageLikeVo> modelImageLikeVoList = new ArrayList<>();
|
||||
for (ModelImageLike modelImageLike : modelImageList) {
|
||||
ModelImageLikeVo modelImageLikeVo = new ModelImageLikeVo();
|
||||
BeanUtil.copyProperties(modelImageLike, modelImageLikeVo);
|
||||
List<ModelImageLikeVo> modelImageLikeVoList = modelImageMapper.selectLikedImagesByUser(
|
||||
page,
|
||||
SecurityUtils.getUserIdMax(),
|
||||
pageDomain.getOrderByColumn());
|
||||
|
||||
// 获取用户信息
|
||||
SysUser sysUser = sysUserService.selectUserById(modelImageLike.getUserId());
|
||||
if (Objects.isNull(sysUser)) {
|
||||
page.setTotal(page.getTotal() - 1);
|
||||
continue;
|
||||
}
|
||||
modelImageLikeVo.setUserName(sysUser.getNickName());
|
||||
modelImageLikeVo.setUserAvatar(sysUser.getAvatar());
|
||||
|
||||
// 获取图片信息
|
||||
ModelImage modelImage = modelImageMapper.selectById(modelImageLike.getModelImageId());
|
||||
if (Objects.isNull(modelImage)) {
|
||||
page.setTotal(page.getTotal() - 1);
|
||||
continue;
|
||||
}
|
||||
modelImageLikeVo.setDownloadNumber(Long.valueOf(modelImage.getDownloadNum()));
|
||||
modelImageLikeVo.setImagePaths(modelImage.getImagePaths());
|
||||
modelImageLikeVo.setLikeNum(modelImage.getLikeNum());
|
||||
|
||||
|
||||
modelImageLikeVoList.add(modelImageLikeVo);
|
||||
|
||||
}
|
||||
|
||||
// 封装分页数据
|
||||
// 4. 封装分页结果
|
||||
TableDataInfo rspData = new TableDataInfo();
|
||||
rspData.setCode(HttpStatus.SUCCESS);
|
||||
rspData.setMsg("查询成功");
|
||||
rspData.setRows(modelImageLikeVoList);
|
||||
rspData.setTotal(page.getTotal());
|
||||
|
||||
return rspData;
|
||||
}
|
||||
|
||||
|
@ -170,7 +138,6 @@ public class ModelImageLikeServiceImpl extends ServiceImpl<ModelImageLikeMapper,
|
|||
}
|
||||
|
||||
|
||||
|
||||
private void addLikeAdvice(ModelImage modelImage) {
|
||||
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
|
|
|
@ -15,6 +15,7 @@ import com.mcwl.common.utils.SecurityUtils;
|
|||
import com.mcwl.common.utils.StringUtils;
|
||||
import com.mcwl.resource.domain.ModelLike;
|
||||
import com.mcwl.resource.domain.ModelProduct;
|
||||
import com.mcwl.resource.domain.vo.ModelImageLikeVo;
|
||||
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
||||
import com.mcwl.resource.mapper.ModelLikeMapper;
|
||||
import com.mcwl.resource.mapper.ModelMapper;
|
||||
|
@ -58,62 +59,27 @@ public class ModelLikeServiceImpl extends ServiceImpl<ModelLikeMapper, ModelLike
|
|||
|
||||
@Override
|
||||
public TableDataInfo listByPage(PageDomain pageDomain) {
|
||||
Page<ModelLike> page = initPage(pageDomain);
|
||||
|
||||
|
||||
baseMapper.selectPage(page, new LambdaQueryWrapper<ModelLike>()
|
||||
.eq(ModelLike::getUserId, SecurityUtils.getUserId()));
|
||||
|
||||
List<ModelLike> modelLikeList = page.getRecords();
|
||||
List<ModelLikeVo> modelLikeVoList = new ArrayList<>();
|
||||
for (ModelLike modelLike : modelLikeList) {
|
||||
ModelLikeVo modelLikeVo = new ModelLikeVo();
|
||||
BeanUtil.copyProperties(modelLike, modelLikeVo);
|
||||
|
||||
// 获取用户信息
|
||||
SysUser sysUser = sysUserService.selectUserById(modelLike.getUserId());
|
||||
if (Objects.isNull(sysUser)) {
|
||||
page.setTotal(page.getTotal() - 1);
|
||||
continue;
|
||||
}
|
||||
modelLikeVo.setUserName(sysUser.getNickName());
|
||||
modelLikeVo.setUserAvatar(sysUser.getAvatar());
|
||||
|
||||
// 获取模型信息
|
||||
ModelProduct modelProduct = modelMapper.selectById(modelLike.getModelId());
|
||||
if (Objects.isNull(modelProduct)) {
|
||||
page.setTotal(page.getTotal() - 1);
|
||||
continue;
|
||||
}
|
||||
modelLikeVo.setDownloadNumber(Long.valueOf(modelProduct.getNumbers()));
|
||||
modelLikeVo.setSurfaceUrl(modelProduct.getSurfaceUrl());
|
||||
modelLikeVo.setModelName(modelProduct.getModelName());
|
||||
|
||||
modelLikeVoList.add(modelLikeVo);
|
||||
}
|
||||
|
||||
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setRows(modelLikeVoList);
|
||||
tableDataInfo.setTotal(page.getTotal());
|
||||
tableDataInfo.setCode(HttpStatus.SUCCESS);
|
||||
tableDataInfo.setMsg("查询成功");
|
||||
|
||||
return tableDataInfo;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private Page<ModelLike> initPage(PageDomain pageDomain) {
|
||||
Page<ModelLike> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
if (StringUtils.isBlank(pageDomain.getOrderByColumn())) {
|
||||
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
||||
pageDomain.setOrderByColumn("create_time");
|
||||
}
|
||||
OrderItem orderItem = OrderItem.desc(pageDomain.getOrderByColumn());
|
||||
page.addOrder(orderItem);
|
||||
|
||||
return page;
|
||||
// 2. 构建分页对象并设置排序规则
|
||||
Page<ModelLikeVo> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
|
||||
List<ModelLikeVo> modelLikeVoList = modelMapper.selectLikedModelsByUser(
|
||||
page,
|
||||
SecurityUtils.getUserIdMax(),
|
||||
pageDomain.getOrderByColumn());
|
||||
|
||||
// 4. 封装分页结果
|
||||
TableDataInfo rspData = new TableDataInfo();
|
||||
rspData.setCode(HttpStatus.SUCCESS);
|
||||
rspData.setMsg("查询成功");
|
||||
rspData.setRows(modelLikeVoList);
|
||||
rspData.setTotal(page.getTotal());
|
||||
return rspData;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ import com.mcwl.common.utils.SecurityUtils;
|
|||
import com.mcwl.common.utils.StringUtils;
|
||||
import com.mcwl.resource.domain.WorkFlow;
|
||||
import com.mcwl.resource.domain.WorkFlowLike;
|
||||
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
||||
import com.mcwl.resource.domain.vo.WorkFlowLikeVo;
|
||||
import com.mcwl.resource.mapper.WorkFlowLikeMapper;
|
||||
import com.mcwl.resource.mapper.WorkFlowMapper;
|
||||
|
@ -65,48 +66,25 @@ public class WorkFlowLikeServiceImpl extends ServiceImpl<WorkFlowLikeMapper, Wor
|
|||
@Override
|
||||
public TableDataInfo listByPage(PageDomain pageDomain) {
|
||||
|
||||
Page<WorkFlowLike> page = initPage(pageDomain);
|
||||
|
||||
|
||||
baseMapper.selectPage(page, new LambdaQueryWrapper<WorkFlowLike>()
|
||||
.eq(WorkFlowLike::getUserId, SecurityUtils.getUserId()));
|
||||
|
||||
List<WorkFlowLike> workFlowLikeList = page.getRecords();
|
||||
List<WorkFlowLikeVo> modelLikeVoList = new ArrayList<>();
|
||||
for (WorkFlowLike workFlowLike : workFlowLikeList) {
|
||||
WorkFlowLikeVo workFlowLikeVo = new WorkFlowLikeVo();
|
||||
BeanUtil.copyProperties(workFlowLike, workFlowLikeVo);
|
||||
|
||||
// 获取用户信息
|
||||
SysUser sysUser = sysUserService.selectUserById(workFlowLike.getUserId());
|
||||
if (Objects.isNull(sysUser)) {
|
||||
page.setTotal(page.getTotal() - 1);
|
||||
continue;
|
||||
}
|
||||
workFlowLikeVo.setUserName(sysUser.getNickName());
|
||||
workFlowLikeVo.setUserAvatar(sysUser.getAvatar());
|
||||
|
||||
// 获取工作流信息
|
||||
WorkFlow workFlow = workFlowMapper.selectById(workFlowLike.getWorkFlowId());
|
||||
if (Objects.isNull(workFlow)) {
|
||||
page.setTotal(page.getTotal() - 1);
|
||||
continue;
|
||||
}
|
||||
workFlowLikeVo.setDownloadNumber(workFlow.getDownloadNumber());
|
||||
workFlowLikeVo.setCoverPath(workFlow.getCoverPath());
|
||||
workFlowLikeVo.setLikeNum(workFlow.getLikeNum());
|
||||
|
||||
modelLikeVoList.add(workFlowLikeVo);
|
||||
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
||||
pageDomain.setOrderByColumn("create_time");
|
||||
}
|
||||
|
||||
// 2. 构建分页对象并设置排序规则
|
||||
Page<WorkFlowLikeVo> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setRows(modelLikeVoList);
|
||||
tableDataInfo.setTotal(page.getTotal());
|
||||
tableDataInfo.setCode(HttpStatus.SUCCESS);
|
||||
tableDataInfo.setMsg("查询成功");
|
||||
List<WorkFlowLikeVo> workFlowLikeVoList = workFlowMapper.selectLikedWorkFlowsByUser(
|
||||
page,
|
||||
SecurityUtils.getUserIdMax(),
|
||||
pageDomain.getOrderByColumn());
|
||||
|
||||
return tableDataInfo;
|
||||
// 4. 封装分页结果
|
||||
TableDataInfo rspData = new TableDataInfo();
|
||||
rspData.setCode(HttpStatus.SUCCESS);
|
||||
rspData.setMsg("查询成功");
|
||||
rspData.setRows(workFlowLikeVoList);
|
||||
rspData.setTotal(page.getTotal());
|
||||
return rspData;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -43,4 +43,37 @@
|
|||
and status in (1, 2)
|
||||
</select>
|
||||
|
||||
<select id="selectLikedImagesByUser" resultType="ModelImageLikeVo">
|
||||
SELECT
|
||||
mil.id,
|
||||
mi.user_id,
|
||||
u.nick_name AS userName,
|
||||
u.avatar AS userAvatar,
|
||||
mi.id AS modelImageId,
|
||||
mi.image_paths AS imagePaths,
|
||||
mi.like_num AS likeNum,
|
||||
mi.download_num AS downloadNumber
|
||||
FROM
|
||||
model_image mi
|
||||
LEFT JOIN
|
||||
model_image_like mil ON mil.model_image_id = mi.id
|
||||
LEFT JOIN
|
||||
sys_user u ON mil.user_id = u.user_id
|
||||
WHERE
|
||||
mil.user_id = #{userId}
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="orderByColumn == 'create_time'">
|
||||
mil.create_time
|
||||
</when>
|
||||
<when test="orderByColumn == 'like_num'">
|
||||
mi.like_num
|
||||
</when>
|
||||
<otherwise>
|
||||
mil.create_time
|
||||
</otherwise>
|
||||
</choose>
|
||||
desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -115,5 +115,36 @@
|
|||
and del_flag = 0
|
||||
and audit_status in (1, 2)
|
||||
</select>
|
||||
<select id="selectLikedModelsByUser" resultType="com.mcwl.resource.domain.vo.ModelLikeVo">
|
||||
SELECT ml.id,
|
||||
m.user_id AS userId,
|
||||
u.nick_name AS userName,
|
||||
u.avatar AS userAvatar,
|
||||
m.id AS modelId,
|
||||
m.model_name AS modelName,
|
||||
m.surface_url AS surfaceUrl,
|
||||
m.numbers AS downloadNumber,
|
||||
m.like_num AS likeNumber
|
||||
FROM model as m
|
||||
LEFT JOIN model_like as ml
|
||||
ON ml.model_id = m.id
|
||||
LEFT JOIN sys_user as u
|
||||
ON ml.user_id = u.user_id
|
||||
WHERE
|
||||
ml.user_id = #{userId}
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="orderByColumn == 'create_time'">
|
||||
ml.create_time
|
||||
</when>
|
||||
<when test="orderByColumn == 'like_num'">
|
||||
m.like_num
|
||||
</when>
|
||||
<otherwise>
|
||||
ml.create_time
|
||||
</otherwise>
|
||||
</choose>
|
||||
desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -71,4 +71,35 @@
|
|||
and del_flag = '0'
|
||||
and audit_status in (1, 2)
|
||||
</select>
|
||||
<select id="selectLikedWorkFlowsByUser" resultType="com.mcwl.resource.domain.vo.WorkFlowLikeVo">
|
||||
SELECT
|
||||
wfl.id,
|
||||
wfl.user_id AS userId,
|
||||
u.nick_name AS userName,
|
||||
u.avatar AS userAvatar,
|
||||
wf.id AS workFlowId,
|
||||
wf.cover_path AS coverPath,
|
||||
wf.like_num AS likeNum,
|
||||
wf.download_number AS downloadNumber
|
||||
FROM work_flow as wf
|
||||
LEFT JOIN work_flow_like as wfl
|
||||
ON wfl.work_flow_id = wf.id
|
||||
LEFT JOIN sys_user as u
|
||||
ON wfl.user_id = u.user_id
|
||||
WHERE
|
||||
wfl.user_id = #{userId}
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="orderByColumn == 'create_time'">
|
||||
wfl.create_time
|
||||
</when>
|
||||
<when test="orderByColumn == 'like_num'">
|
||||
wf.like_num
|
||||
</when>
|
||||
<otherwise>
|
||||
wfl.create_time
|
||||
</otherwise>
|
||||
</choose>
|
||||
desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue