Compare commits
2 Commits
619bc45f17
...
a87d8c2295
Author | SHA1 | Date |
---|---|---|
|
a87d8c2295 | |
|
53fcee7ada |
|
@ -7,6 +7,9 @@ import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
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.ModelProduct;
|
||||||
import com.mcwl.resource.domain.ModelVersion;
|
import com.mcwl.resource.domain.ModelVersion;
|
||||||
import com.mcwl.resource.domain.dto.ModelImagePageRes;
|
import com.mcwl.resource.domain.dto.ModelImagePageRes;
|
||||||
|
@ -24,6 +27,10 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,6 +58,9 @@ public class MallProductController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysUserServiceImpl sysUserService;
|
private SysUserServiceImpl sysUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ConsumeService consumeService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模型列表
|
* 模型列表
|
||||||
|
@ -70,6 +80,17 @@ public class MallProductController extends BaseController {
|
||||||
RequestModel requestModel = new RequestModel();
|
RequestModel requestModel = new RequestModel();
|
||||||
|
|
||||||
ModelProduct modelVersion1 = modelService.getById(id);
|
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<>();
|
LambdaQueryWrapper<ModelVersion> modelVersionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
modelVersionLambdaQueryWrapper.eq(ModelVersion::getModelId,id);
|
modelVersionLambdaQueryWrapper.eq(ModelVersion::getModelId,id);
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class Consume extends BaseEntity {
|
||||||
// 商品id
|
// 商品id
|
||||||
private Long productId;
|
private Long productId;
|
||||||
|
|
||||||
// 商品类型
|
// 商品类型 0模型 1工作流 2图片
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
// 消费时间
|
// 消费时间
|
||||||
|
|
|
@ -324,10 +324,6 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
// 收款方信息
|
// 收款方信息
|
||||||
Participant payeeInfo = new Participant();
|
Participant payeeInfo = new Participant();
|
||||||
|
|
||||||
// 沙箱环境
|
|
||||||
// payeeInfo.setIdentity("2088722057445020");
|
|
||||||
// payeeInfo.setIdentityType("ALIPAY_USER_ID");
|
|
||||||
|
|
||||||
// 线上环境
|
// 线上环境
|
||||||
payeeInfo.setIdentity(sysUserPayAccount.getOpenId());
|
payeeInfo.setIdentity(sysUserPayAccount.getOpenId());
|
||||||
payeeInfo.setIdentityType("ALIPAY_OPEN_ID");
|
payeeInfo.setIdentityType("ALIPAY_OPEN_ID");
|
||||||
|
@ -550,9 +546,7 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
// 设置支付宝公钥,因为配置了证书,所以不需要设置支付宝公钥
|
// 设置支付宝公钥,因为配置了证书,所以不需要设置支付宝公钥
|
||||||
// config.setAlipayPublicKey(aliConfig.getPublicKey());
|
// config.setAlipayPublicKey(aliConfig.getPublicKey());
|
||||||
|
|
||||||
// 设置应用公钥证书路径(线上)
|
// 设置应用公钥证书路径
|
||||||
// config.setAppCertPath(getClass().getResource("/cert/appCertPublicKey.crt").getPath());
|
|
||||||
// 设置应用公钥证书路径(沙箱)
|
|
||||||
config.setAppCertPath(aliConfig.getAppCertPath());
|
config.setAppCertPath(aliConfig.getAppCertPath());
|
||||||
|
|
||||||
// 设置支付宝公钥证书路径
|
// 设置支付宝公钥证书路径
|
||||||
|
|
|
@ -167,4 +167,12 @@ public class ModelProduct extends BaseEntity {
|
||||||
private Integer isLike;
|
private Integer isLike;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否购买
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否购买 0未购买 1购买")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer isBuy;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,6 +48,9 @@ public class ModelLikeVo {
|
||||||
@ApiModelProperty(value = "下载数")
|
@ApiModelProperty(value = "下载数")
|
||||||
private Long downloadNumber;
|
private Long downloadNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点赞数")
|
||||||
|
private Long likeNumber;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package com.mcwl.resource.mapper;
|
package com.mcwl.resource.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||||
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.ModelImage;
|
import com.mcwl.resource.domain.ModelImage;
|
||||||
import com.mcwl.resource.domain.response.ResponseModelImage;
|
import com.mcwl.resource.domain.response.ResponseModelImage;
|
||||||
|
import com.mcwl.resource.domain.vo.ModelImageLikeVo;
|
||||||
import com.mcwl.resource.domain.vo.PageVo;
|
import com.mcwl.resource.domain.vo.PageVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -21,4 +24,11 @@ public interface ModelImageMapper extends BaseMapper<ModelImage> {
|
||||||
List<ResponseModelImage> imageList(PageVo pageVo);
|
List<ResponseModelImage> imageList(PageVo pageVo);
|
||||||
|
|
||||||
Long sumImageNumber(Long userId);
|
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.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.response.ResponseModelProduct;
|
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 com.mcwl.resource.domain.vo.PageVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -22,7 +25,6 @@ import java.util.List;
|
||||||
public interface ModelMapper extends BaseMapper<ModelProduct> {
|
public interface ModelMapper extends BaseMapper<ModelProduct> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Long sumNumber(@Param("userId") Long userId);
|
Long sumNumber(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,4 +42,8 @@ public interface ModelMapper extends BaseMapper<ModelProduct> {
|
||||||
List<ResponseModelProduct> modelSquare(PageVo pageVo);
|
List<ResponseModelProduct> modelSquare(PageVo pageVo);
|
||||||
|
|
||||||
Long sumModelNumber(Long userId);
|
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;
|
package com.mcwl.resource.mapper;
|
||||||
|
|
||||||
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.WorkFlow;
|
import com.mcwl.resource.domain.WorkFlow;
|
||||||
import com.mcwl.resource.domain.response.ResponseWorkFlow;
|
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.PageVo;
|
||||||
|
import com.mcwl.resource.domain.vo.WorkFlowLikeVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@ -28,4 +31,8 @@ public interface WorkFlowMapper extends BaseMapper<WorkFlow> {
|
||||||
List<ResponseWorkFlow> workFlowList(PageVo pageVo);
|
List<ResponseWorkFlow> workFlowList(PageVo pageVo);
|
||||||
|
|
||||||
Long sumWorkFlowNumber(Long userId);
|
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.core.bean.BeanUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
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.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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 org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
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
|
@Override
|
||||||
public TableDataInfo listByPage(PageDomain pageDomain) {
|
public TableDataInfo listByPage(PageDomain pageDomain) {
|
||||||
|
|
||||||
Page<ModelImageLike> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
|
||||||
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
||||||
pageDomain.setOrderByColumn("create_time");
|
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>()
|
// 2. 构建分页对象并设置排序规则
|
||||||
.eq(ModelImageLike::getUserId, SecurityUtils.getUserId()));
|
Page<ModelImageLikeVo> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
// 获取分页数据
|
|
||||||
List<ModelImageLike> modelImageList = page.getRecords();
|
|
||||||
|
|
||||||
// ModelImage数据转为ModelImagePageVo
|
List<ModelImageLikeVo> modelImageLikeVoList = modelImageMapper.selectLikedImagesByUser(
|
||||||
List<ModelImageLikeVo> modelImageLikeVoList = new ArrayList<>();
|
page,
|
||||||
for (ModelImageLike modelImageLike : modelImageList) {
|
SecurityUtils.getUserIdMax(),
|
||||||
ModelImageLikeVo modelImageLikeVo = new ModelImageLikeVo();
|
pageDomain.getOrderByColumn());
|
||||||
BeanUtil.copyProperties(modelImageLike, modelImageLikeVo);
|
|
||||||
|
|
||||||
// 获取用户信息
|
// 4. 封装分页结果
|
||||||
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);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 封装分页数据
|
|
||||||
TableDataInfo rspData = new TableDataInfo();
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
rspData.setCode(HttpStatus.SUCCESS);
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
rspData.setMsg("查询成功");
|
rspData.setMsg("查询成功");
|
||||||
rspData.setRows(modelImageLikeVoList);
|
rspData.setRows(modelImageLikeVoList);
|
||||||
rspData.setTotal(page.getTotal());
|
rspData.setTotal(page.getTotal());
|
||||||
|
|
||||||
return rspData;
|
return rspData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +138,6 @@ public class ModelImageLikeServiceImpl extends ServiceImpl<ModelImageLikeMapper,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void addLikeAdvice(ModelImage modelImage) {
|
private void addLikeAdvice(ModelImage modelImage) {
|
||||||
|
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
|
|
@ -15,6 +15,7 @@ import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.common.utils.StringUtils;
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.resource.domain.ModelLike;
|
import com.mcwl.resource.domain.ModelLike;
|
||||||
import com.mcwl.resource.domain.ModelProduct;
|
import com.mcwl.resource.domain.ModelProduct;
|
||||||
|
import com.mcwl.resource.domain.vo.ModelImageLikeVo;
|
||||||
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
||||||
import com.mcwl.resource.mapper.ModelLikeMapper;
|
import com.mcwl.resource.mapper.ModelLikeMapper;
|
||||||
import com.mcwl.resource.mapper.ModelMapper;
|
import com.mcwl.resource.mapper.ModelMapper;
|
||||||
|
@ -58,62 +59,27 @@ public class ModelLikeServiceImpl extends ServiceImpl<ModelLikeMapper, ModelLike
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo listByPage(PageDomain pageDomain) {
|
public TableDataInfo listByPage(PageDomain pageDomain) {
|
||||||
Page<ModelLike> page = initPage(pageDomain);
|
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
||||||
|
|
||||||
|
|
||||||
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())) {
|
|
||||||
pageDomain.setOrderByColumn("create_time");
|
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.common.utils.StringUtils;
|
||||||
import com.mcwl.resource.domain.WorkFlow;
|
import com.mcwl.resource.domain.WorkFlow;
|
||||||
import com.mcwl.resource.domain.WorkFlowLike;
|
import com.mcwl.resource.domain.WorkFlowLike;
|
||||||
|
import com.mcwl.resource.domain.vo.ModelLikeVo;
|
||||||
import com.mcwl.resource.domain.vo.WorkFlowLikeVo;
|
import com.mcwl.resource.domain.vo.WorkFlowLikeVo;
|
||||||
import com.mcwl.resource.mapper.WorkFlowLikeMapper;
|
import com.mcwl.resource.mapper.WorkFlowLikeMapper;
|
||||||
import com.mcwl.resource.mapper.WorkFlowMapper;
|
import com.mcwl.resource.mapper.WorkFlowMapper;
|
||||||
|
@ -65,48 +66,25 @@ public class WorkFlowLikeServiceImpl extends ServiceImpl<WorkFlowLikeMapper, Wor
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo listByPage(PageDomain pageDomain) {
|
public TableDataInfo listByPage(PageDomain pageDomain) {
|
||||||
|
|
||||||
Page<WorkFlowLike> page = initPage(pageDomain);
|
if (StringUtils.isEmpty(pageDomain.getOrderByColumn())) {
|
||||||
|
pageDomain.setOrderByColumn("create_time");
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 2. 构建分页对象并设置排序规则
|
||||||
|
Page<WorkFlowLikeVo> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
|
|
||||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
List<WorkFlowLikeVo> workFlowLikeVoList = workFlowMapper.selectLikedWorkFlowsByUser(
|
||||||
tableDataInfo.setRows(modelLikeVoList);
|
page,
|
||||||
tableDataInfo.setTotal(page.getTotal());
|
SecurityUtils.getUserIdMax(),
|
||||||
tableDataInfo.setCode(HttpStatus.SUCCESS);
|
pageDomain.getOrderByColumn());
|
||||||
tableDataInfo.setMsg("查询成功");
|
|
||||||
|
|
||||||
return tableDataInfo;
|
// 4. 封装分页结果
|
||||||
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
rspData.setMsg("查询成功");
|
||||||
|
rspData.setRows(workFlowLikeVoList);
|
||||||
|
rspData.setTotal(page.getTotal());
|
||||||
|
return rspData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,4 +43,37 @@
|
||||||
and status in (1, 2)
|
and status in (1, 2)
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
@ -115,5 +115,36 @@
|
||||||
and del_flag = 0
|
and del_flag = 0
|
||||||
and audit_status in (1, 2)
|
and audit_status in (1, 2)
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
@ -71,4 +71,35 @@
|
||||||
and del_flag = '0'
|
and del_flag = '0'
|
||||||
and audit_status in (1, 2)
|
and audit_status in (1, 2)
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue