Merge branch 'feature/my-invitation' of https://gitea.qinmian.online/CY/mcwl-ai into feature/resource

# Conflicts:
#	mcwl-resource/src/main/java/com/mcwl/resource/service/impl/WorkFlowServiceImpl.java
feature/my-invitation
ChenYan 2025-01-14 18:13:40 +08:00
commit 90de149f8f
9 changed files with 196 additions and 87 deletions

View File

@ -1,8 +1,10 @@
package com.mcwl.web.controller.resource; package com.mcwl.web.controller.resource;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mcwl.common.core.controller.BaseController; import com.mcwl.common.core.controller.BaseController;
import com.mcwl.common.core.domain.AjaxResult; import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.page.PageDomain;
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.resource.domain.ModelProduct; import com.mcwl.resource.domain.ModelProduct;
@ -12,6 +14,7 @@ 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.service.ModelImageService; import com.mcwl.resource.service.ModelImageService;
import com.mcwl.resource.service.ModelService; import com.mcwl.resource.service.ModelService;
import com.mcwl.resource.service.WorkFlowService;
import com.mcwl.system.service.ISysUserService; import com.mcwl.system.service.ISysUserService;
import com.mcwl.web.controller.common.OssUtil; import com.mcwl.web.controller.common.OssUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -23,6 +26,7 @@ import java.util.List;
/** /**
* *
*
* @AuthorChenYan * @AuthorChenYan
* @ProjectMcWl * @ProjectMcWl
* @Packagecom.mcwl.web.controller.resource * @Packagecom.mcwl.web.controller.resource
@ -42,6 +46,9 @@ public class MallProductController extends BaseController {
@Autowired @Autowired
private ModelImageService modelImageService; private ModelImageService modelImageService;
@Autowired
private WorkFlowService workFlowService;
/*** /***
* *
@ -50,7 +57,7 @@ public class MallProductController extends BaseController {
* @return * @return
*/ */
@PostMapping("/file") @PostMapping("/file")
public AjaxResult Malifile(@RequestParam MultipartFile file){ public AjaxResult Malifile(@RequestParam MultipartFile file) {
String s = OssUtil.uploadMultipartFile(file); String s = OssUtil.uploadMultipartFile(file);
return AjaxResult.success(s); return AjaxResult.success(s);
@ -64,14 +71,12 @@ public class MallProductController extends BaseController {
* @return * @return
*/ */
@PostMapping("/zipUrlFile") @PostMapping("/zipUrlFile")
public AjaxResult zipUrlFile(@RequestParam MultipartFile file){ public AjaxResult zipUrlFile(@RequestParam MultipartFile file) {
String s = OssUtil.uploadMultipartFile(file); String s = OssUtil.uploadMultipartFile(file);
return AjaxResult.success(s); return AjaxResult.success(s);
} }
/*** /***
* *
* zip * zip
@ -79,15 +84,12 @@ public class MallProductController extends BaseController {
* @return * @return
*/ */
@PostMapping("/zipUrl") @PostMapping("/zipUrl")
public AjaxResult zipUrl(@RequestParam MultipartFile file){ public AjaxResult zipUrl(@RequestParam MultipartFile file) {
String s = OssUtil.uploadMultipartFile(file); String s = OssUtil.uploadMultipartFile(file);
return AjaxResult.success(s); return AjaxResult.success(s);
} }
/** /**
* *
*/ */
@ -98,19 +100,15 @@ public class MallProductController extends BaseController {
} }
@PostMapping("finbyid") @PostMapping("finbyid")
public AjaxResult finbyid(@RequestBody ModelProduct modelVersion) public AjaxResult finbyid(@RequestBody ModelProduct modelVersion) {
{
ModelProduct modelVersion1 = modelService.getById(modelVersion.getId()); ModelProduct modelVersion1 = modelService.getById(modelVersion.getId());
return AjaxResult.success(modelVersion1); return AjaxResult.success(modelVersion1);
} }
@PostMapping("/insert") @PostMapping("/insert")
public AjaxResult addupdateModel(@RequestBody RequestModel requestModel){ public AjaxResult addupdateModel(@RequestBody RequestModel requestModel) {
ModelProduct modelProduct = requestModel.getModelProduct(); ModelProduct modelProduct = requestModel.getModelProduct();
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
modelProduct.setUserId(userId); modelProduct.setUserId(userId);
@ -119,7 +117,7 @@ public class MallProductController extends BaseController {
} }
@PostMapping("/update") @PostMapping("/update")
public AjaxResult updateModel(@RequestBody RequestModel requestModel){ public AjaxResult updateModel(@RequestBody RequestModel requestModel) {
ModelProduct modelProduct = requestModel.getModelProduct(); ModelProduct modelProduct = requestModel.getModelProduct();
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
@ -132,48 +130,71 @@ public class MallProductController extends BaseController {
@PostMapping("delete") @PostMapping("delete")
public AjaxResult delete(@RequestBody ModelProduct modelVersion) public AjaxResult delete(@RequestBody ModelProduct modelVersion) {
{
modelService.removeById(modelVersion.getId()); modelService.removeById(modelVersion.getId());
return AjaxResult.success(); return AjaxResult.success();
} }
/**
*
* @return
*/
@PostMapping("/selectByUserId")
public AjaxResult selectByUserId(@RequestBody MallProductVo mallProductVo){
Page<ModelProduct> mallProductList = modelService.selectByUserId(mallProductVo);
return AjaxResult.success(mallProductList);
}
/** /**
* - * -
*/ */
@PostMapping("/selectByUserIdModel") @PostMapping("/selectByUserIdModel")
public AjaxResult selectByUserIdModel(@RequestBody MallProductVo mallProductVo){ public TableDataInfo selectByUserIdModel(@RequestBody ModelImagePageRes imagePageRes) {
return AjaxResult.success(); return modelService.listByPage(imagePageRes);
} }
/** /**
* - * -
*/ */
@PostMapping("/selectByUserIdWorkFlow") @PostMapping("/selectByUserIdWorkFlow")
public AjaxResult selectByUserIdWorkFlow(@RequestBody MallProductVo mallProductVo){ public TableDataInfo selectByUserIdWorkFlow(@RequestBody ModelImagePageRes imagePageRes) {
return AjaxResult.success(); return workFlowService.listByPage(imagePageRes);
} }
/** /**
* - * -
*/ */
@PostMapping("/selectByUserIdImage") @PostMapping("/selectByUserIdImage")
public TableDataInfo selectByUserIdImage(@RequestBody ModelImagePageRes imagePageRes){ public TableDataInfo selectByUserIdImage(@RequestBody ModelImagePageRes imagePageRes) {
return modelImageService.listByPage(imagePageRes); return modelImageService.listByPage(imagePageRes);
} }
/**
* -
*/
@PostMapping("/likeModel")
public TableDataInfo likeModel(@RequestBody PageDomain pageDomain) {
ModelImagePageRes imagePageRes = new ModelImagePageRes();
BeanUtil.copyProperties(pageDomain, imagePageRes);
imagePageRes.setUserId(SecurityUtils.getUserId());
return modelService.listByPage(imagePageRes);
}
/**
* -
*/
@PostMapping("/likeWorkFlow")
public TableDataInfo likeWorkFlow(@RequestBody PageDomain pageDomain) {
ModelImagePageRes imagePageRes = new ModelImagePageRes();
BeanUtil.copyProperties(pageDomain, imagePageRes);
imagePageRes.setUserId(SecurityUtils.getUserId());
return workFlowService.listByPage(imagePageRes);
}
/**
* -
*/
@PostMapping("/likeImage")
public TableDataInfo likeImage(@RequestBody PageDomain pageDomain) {
ModelImagePageRes imagePageRes = new ModelImagePageRes();
BeanUtil.copyProperties(pageDomain, imagePageRes);
imagePageRes.setUserId(SecurityUtils.getUserId());
return modelImageService.listByPage(imagePageRes);
}
} }

View File

@ -79,6 +79,10 @@ public class ModelProduct extends BaseEntity {
* *
*/ */
private Integer reals; private Integer reals;
/**
*
*/
private String surfaceUrl;
/** /**
* *
*/ */

View File

@ -35,6 +35,10 @@ public class WorkFlow {
*/ */
@TableId @TableId
private Long id; private Long id;
/**
* id
*/
private Long userId;
/** /**
* 30 * 30
*/ */

View File

@ -1,6 +1,7 @@
package com.mcwl.resource.domain.vo; package com.mcwl.resource.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mcwl.common.core.page.PageDomain;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@ -5,9 +5,17 @@ import lombok.Data;
@Data @Data
public class ModelVo { public class ModelVo {
/** /**
* ID * id
*/ */
private Long id; private Long id;
/**
*
*/
private String modelName;
/**
*
*/
private String surfaceUrl;
/** /**
* ID * ID
*/ */
@ -20,54 +28,14 @@ public class ModelVo {
* *
*/ */
private String userAvatar; private String userAvatar;
/**
* 8
*/
private String imagePaths;
/**
*
*/
private Integer hasWatermark;
/**
*
*/
private Integer isMemberDownload;
/**
*
*/
private Integer isNotDownloadable;
/**
*
*/
private Integer hideGenInfo;
/**
* 30
*/
private String title;
/**
*
*/
private String tags;
/**
* 500
*/
private String description;
/** /**
* 线 * 线
*/ */
private Integer onlineGenNum; private Integer reals;
/** /**
* *
*/ */
private Integer downloadNum; private Integer numbers;
/**
*
*/
private Integer returnNum;
/**
*
*/
private Integer likeNum;

View File

@ -0,0 +1,42 @@
package com.mcwl.resource.domain.vo;
import lombok.Data;
@Data
public class WorkFlowVo {
/**
* id
*/
private Long id;
/**
*
*/
private String workflowName;
/**
*
*/
private String coverPath;
/**
* ID
*/
private Long userId;
/**
*
*/
private String userName;
/**
*
*/
private String userAvatar;
/**
* 线
*/
private Integer useNumber;
/**
*
*/
private Integer downloadNumber;
}

View File

@ -1,6 +1,10 @@
package com.mcwl.resource.service; package com.mcwl.resource.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.domain.AjaxResult; import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.resource.domain.WorkFlow;
import com.mcwl.resource.domain.dto.ModelImagePageRes;
import com.mcwl.resource.domain.request.RequestWorkFlow; import com.mcwl.resource.domain.request.RequestWorkFlow;
import com.mcwl.resource.domain.vo.PageVo; import com.mcwl.resource.domain.vo.PageVo;
@ -11,7 +15,7 @@ import com.mcwl.resource.domain.vo.PageVo;
* @apiNote * @apiNote
*/ */
public interface WorkFlowService { public interface WorkFlowService extends IService<WorkFlow> {
AjaxResult addWorkFlow(RequestWorkFlow requestWorkFlow); AjaxResult addWorkFlow(RequestWorkFlow requestWorkFlow);
void updateWorkFlow(RequestWorkFlow requestWorkFlow); void updateWorkFlow(RequestWorkFlow requestWorkFlow);
@ -21,4 +25,6 @@ public interface WorkFlowService {
AjaxResult selectWorkFlow(PageVo pageVo); AjaxResult selectWorkFlow(PageVo pageVo);
AjaxResult selectWorkFlowById(Long id); AjaxResult selectWorkFlowById(Long id);
TableDataInfo listByPage(ModelImagePageRes imagePageRes);
} }

View File

@ -20,6 +20,7 @@ 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.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.domain.vo.ModelVo;
import com.mcwl.resource.mapper.ModelMapper; import com.mcwl.resource.mapper.ModelMapper;
import com.mcwl.resource.mapper.ModelVersionMapper; import com.mcwl.resource.mapper.ModelVersionMapper;
@ -114,7 +115,6 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper,ModelProduct> impl
LambdaQueryWrapper<ModelProduct> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ModelProduct> lqw = new LambdaQueryWrapper<>();
lqw.eq(imagePageRes.getStatus() != null, ModelProduct::getAuditSatus, imagePageRes.getStatus()) lqw.eq(imagePageRes.getStatus() != null, ModelProduct::getAuditSatus, imagePageRes.getStatus())
.eq(imagePageRes.getUserId() != null, ModelProduct::getUserId, imagePageRes.getUserId()) .eq(imagePageRes.getUserId() != null, ModelProduct::getUserId, imagePageRes.getUserId())
.eq(imagePageRes.getPageNum() != null, ModelProduct::getUserId, imagePageRes.getUserId())
.ge(imagePageRes.getStartTime() != null, ModelProduct::getCreateTime, imagePageRes.getStartTime()) .ge(imagePageRes.getStartTime() != null, ModelProduct::getCreateTime, imagePageRes.getStartTime())
.le(imagePageRes.getEndTime() != null, ModelProduct::getCreateTime, imagePageRes.getEndTime()); .le(imagePageRes.getEndTime() != null, ModelProduct::getCreateTime, imagePageRes.getEndTime());
@ -123,23 +123,23 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper,ModelProduct> impl
List<ModelProduct> modelImageList = page.getRecords(); List<ModelProduct> modelImageList = page.getRecords();
// Model数据转为ModelPageVo // Model数据转为ModelPageVo
List<ModelImageVo> modelImageVoList = new ArrayList<>(); List<ModelVo> modelVoList = new ArrayList<>();
for (ModelProduct modelImage : modelImageList) { for (ModelProduct modelImage : modelImageList) {
ModelImageVo modelImageVo = new ModelImageVo(); ModelVo modelVo = new ModelVo();
BeanUtil.copyProperties(modelImage, modelImageVo); BeanUtil.copyProperties(modelImage, modelVo);
// 获取用户信息 // 获取用户信息
SysUser sysUser = sysUserService.selectUserById(modelImage.getUserId()); SysUser sysUser = sysUserService.selectUserById(modelImage.getUserId());
modelImageVo.setUserId(sysUser.getUserId()); modelVo.setUserId(sysUser.getUserId());
modelImageVo.setUserName(sysUser.getUserName()); modelVo.setUserName(sysUser.getUserName());
modelImageVo.setUserAvatar(sysUser.getAvatar()); modelVo.setUserAvatar(sysUser.getAvatar());
modelImageVoList.add(modelImageVo); modelVoList.add(modelVo);
} }
// 封装分页数据 // 封装分页数据
TableDataInfo rspData = new TableDataInfo(); TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS); rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功"); rspData.setMsg("查询成功");
rspData.setRows(modelImageVoList); rspData.setRows(modelVoList);
rspData.setTotal(page.getTotal()); rspData.setTotal(page.getTotal());
return rspData; return rspData;

View File

@ -1,20 +1,31 @@
package com.mcwl.resource.service.impl; package com.mcwl.resource.service.impl;
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.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.mcwl.common.constant.DictConstants; import com.mcwl.common.constant.DictConstants;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.AjaxResult; import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.StringUtils; import com.mcwl.common.utils.StringUtils;
import com.mcwl.resource.domain.ModelProduct;
import com.mcwl.resource.domain.WorkFlow; import com.mcwl.resource.domain.WorkFlow;
import com.mcwl.resource.domain.WorkFlowVersion; import com.mcwl.resource.domain.WorkFlowVersion;
import com.mcwl.resource.domain.dto.ModelImagePageRes;
import com.mcwl.resource.domain.request.RequestWorkFlow; import com.mcwl.resource.domain.request.RequestWorkFlow;
import com.mcwl.resource.domain.vo.ModelVo;
import com.mcwl.resource.domain.vo.PageVo; import com.mcwl.resource.domain.vo.PageVo;
import com.mcwl.resource.domain.vo.WorkFlowVo;
import com.mcwl.resource.mapper.WorkFlowMapper; import com.mcwl.resource.mapper.WorkFlowMapper;
import com.mcwl.resource.mapper.WorkFlowVersionMapper; import com.mcwl.resource.mapper.WorkFlowVersionMapper;
import com.mcwl.resource.service.ToActivityService; import com.mcwl.resource.service.ToActivityService;
import com.mcwl.resource.service.WorkFlowService; import com.mcwl.resource.service.WorkFlowService;
import com.mcwl.system.service.ISysUserService;
import com.mcwl.web.controller.init.DictInit; import com.mcwl.web.controller.init.DictInit;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -22,6 +33,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Objects;
/** /**
* *
@ -32,7 +45,7 @@ import java.util.Date;
@Slf4j @Slf4j
@Service @Service
public class WorkFlowServiceImpl implements WorkFlowService { public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> implements WorkFlowService {
@Autowired @Autowired
private WorkFlowMapper flowMapper; private WorkFlowMapper flowMapper;
@ -43,6 +56,9 @@ public class WorkFlowServiceImpl implements WorkFlowService {
@Autowired @Autowired
private ToActivityService toActivityService; private ToActivityService toActivityService;
@Autowired
private ISysUserService sysUserService;
@Override @Override
public AjaxResult addWorkFlow(RequestWorkFlow requestWorkFlow) { public AjaxResult addWorkFlow(RequestWorkFlow requestWorkFlow) {
@ -173,4 +189,51 @@ public class WorkFlowServiceImpl implements WorkFlowService {
return AjaxResult.success(workFlow); return AjaxResult.success(workFlow);
} }
@Override
public TableDataInfo listByPage(ModelImagePageRes imagePageRes) {
Page<WorkFlow> page = new Page<>(imagePageRes.getPageNum(), imagePageRes.getPageSize());
if (StringUtils.isEmpty(imagePageRes.getOrderByColumn())) {
imagePageRes.setOrderByColumn("create_time");
}
// 设置排序
boolean isAsc = Objects.equals(imagePageRes.getIsAsc(), "asc");
OrderItem orderItem = new OrderItem(imagePageRes.getOrderByColumn(), isAsc);
page.addOrder(orderItem);
LambdaQueryWrapper<WorkFlow> lqw = new LambdaQueryWrapper<>();
lqw.eq(imagePageRes.getStatus() != null, WorkFlow::getAuditStatus, imagePageRes.getStatus())
.eq(imagePageRes.getUserId() != null, WorkFlow::getUserId, imagePageRes.getUserId())
.ge(imagePageRes.getStartTime() != null, WorkFlow::getCreateTime, imagePageRes.getStartTime())
.le(imagePageRes.getEndTime() != null, WorkFlow::getCreateTime, imagePageRes.getEndTime());
baseMapper.selectPage(page, lqw);
// 获取分页数据
List<WorkFlow> workFlowList = page.getRecords();
// WorkFlow数据转为WorkFlowVo
List<WorkFlowVo> workFlowVoList = new ArrayList<>();
for (WorkFlow workFlow : workFlowList) {
WorkFlowVo workFlowVo = new WorkFlowVo();
BeanUtil.copyProperties(workFlow, workFlowVo);
// 获取用户信息
SysUser sysUser = sysUserService.selectUserById(workFlow.getUserId());
workFlowVo.setUserId(sysUser.getUserId());
workFlowVo.setUserName(sysUser.getUserName());
workFlowVo.setUserAvatar(sysUser.getAvatar());
workFlowVoList.add(workFlowVo);
}
// 封装分页数据
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(workFlowVoList);
rspData.setTotal(page.getTotal());
return rspData;
}
} }