模型广场新增下载

我的收藏列表新增参数
更改新增下载记录
master
Diyu0904 2025-03-22 17:55:07 +08:00
parent a9b0d8806c
commit c9637b5ae6
7 changed files with 72 additions and 45 deletions

View File

@ -198,7 +198,14 @@ public class ModelVersion extends BaseEntity {
*/ */
@ApiModelProperty(value = "是否收藏") @ApiModelProperty(value = "是否收藏")
@TableField(exist = false) @TableField(exist = false)
private Integer isCollect = 0; private Integer isCollect;
/**
*
*/
@ApiModelProperty(value = "是否下载")
@TableField(exist = false)
private Integer isDownload;
/** /**
* hash * hash

View File

@ -32,6 +32,12 @@ public class ResponseCollect {
@ApiModelProperty(value = "文件名") @ApiModelProperty(value = "文件名")
private String fileName; private String fileName;
@ApiModelProperty(value = "加密后文件名")
private String encryptionFileName;
@ApiModelProperty(value = "是否加密 0不加密 1加密")
private Integer isEncrypt;
@ApiModelProperty(value = "模型名") @ApiModelProperty(value = "模型名")
private String productName; private String productName;

View File

@ -78,6 +78,11 @@ public class CollectServiceImpl implements CollectService {
//校验是否下载 //校验是否下载
for (ResponseCollect collect : responseCollectList) { for (ResponseCollect collect : responseCollectList) {
//校验是否加密
if (collect.getIsEncrypt() == 1){
collect.setFileName(collect.getEncryptionFileName());
}
collect.setIsDownload(downloadRecordService.selectDownloadByUser(userIdMax,collect.getId(),0)); collect.setIsDownload(downloadRecordService.selectDownloadByUser(userIdMax,collect.getId(),0));
//翻译类型 //翻译类型
collect.setType(DictInit.getDictValue(DictConstants.MODE_VERSION_TYPE,collect.getType())); collect.setType(DictInit.getDictValue(DictConstants.MODE_VERSION_TYPE,collect.getType()));

View File

@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mcwl.common.constant.DictConstants; import com.mcwl.common.constant.DictConstants;
import com.mcwl.common.constant.HttpStatus; import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.R; import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
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.*; import com.mcwl.resource.domain.DownloadRecord;
import com.mcwl.resource.domain.request.RequestDownload; import com.mcwl.resource.domain.request.RequestDownload;
import com.mcwl.resource.domain.vo.PageVo; import com.mcwl.resource.domain.vo.PageVo;
import com.mcwl.resource.mapper.*; import com.mcwl.resource.mapper.*;
@ -59,43 +58,43 @@ public class DownloadRecordServiceImpl implements DownloadRecordService {
downloadRecord.setUserId(SecurityUtils.getUserId()); downloadRecord.setUserId(SecurityUtils.getUserId());
downloadRecord.setCreateTime(new Date()); downloadRecord.setCreateTime(new Date());
//获取作品信息 // //获取作品信息
if (downloadRecord.getProductType() == 0){ // if (downloadRecord.getProductType() == 0){
//
//查询文件/名称信息 // //查询文件/名称信息
ModelVersion modelVersion = modelVersionMapper.selectById(downloadRecord.getProductId()); // ModelVersion modelVersion = modelVersionMapper.selectById(downloadRecord.getProductId());
downloadRecord.setFileName(modelVersion.getFileName()); // downloadRecord.setFileName(modelVersion.getFileName());
downloadRecord.setFileSize(modelVersion.getFileSize()); // downloadRecord.setFileSize(modelVersion.getFileSize());
downloadRecord.setModelVersionType(modelVersion.getModelVersionType()+""); // downloadRecord.setModelVersionType(modelVersion.getModelVersionType()+"");
//
//根据版本查找封面信息 // //根据版本查找封面信息
ModelProduct modelProduct = modelMapper.selectById(modelVersion.getModelId()); // ModelProduct modelProduct = modelMapper.selectById(modelVersion.getModelId());
downloadRecord.setCover(modelProduct.getSurfaceUrl()); // downloadRecord.setCover(modelProduct.getSurfaceUrl());
downloadRecord.setProductName(modelProduct.getModelName()); // downloadRecord.setProductName(modelProduct.getModelName());
//
//查询作者信息 // //查询作者信息
SysUser sysUser = sysUserMapper.selectUserById(modelProduct.getUserId()); // SysUser sysUser = sysUserMapper.selectUserById(modelProduct.getUserId());
downloadRecord.setAuthorName(sysUser.getNickName()); // downloadRecord.setAuthorName(sysUser.getNickName());
//
}else { // }else {
//
//查询文件/名称信息 // //查询文件/名称信息
WorkFlowVersion workFlowVersion = workFlowVersionMapper.selectById(downloadRecord.getProductId()); // WorkFlowVersion workFlowVersion = workFlowVersionMapper.selectById(downloadRecord.getProductId());
downloadRecord.setFileName(workFlowVersion.getFileName()); // downloadRecord.setFileName(workFlowVersion.getFileName());
downloadRecord.setFileSize(workFlowVersion.getFileSize()); // downloadRecord.setFileSize(workFlowVersion.getFileSize());
//
//
//根据版本查找封面信息 // //根据版本查找封面信息
WorkFlow workFlow = workFlowMapper.selectById(workFlowVersion.getWorkFlowId()); // WorkFlow workFlow = workFlowMapper.selectById(workFlowVersion.getWorkFlowId());
downloadRecord.setCover(workFlow.getCoverPath()); // downloadRecord.setCover(workFlow.getCoverPath());
downloadRecord.setProductName(workFlow.getWorkflowName()); // downloadRecord.setProductName(workFlow.getWorkflowName());
//
//
//查询作者信息 // //查询作者信息
SysUser sysUser = sysUserMapper.selectUserById(workFlow.getUserId()); // SysUser sysUser = sysUserMapper.selectUserById(workFlow.getUserId());
downloadRecord.setAuthorName(sysUser.getNickName()); // downloadRecord.setAuthorName(sysUser.getNickName());
//
} // }
downloadRecordMapper.insert(downloadRecord); downloadRecordMapper.insert(downloadRecord);

View File

@ -27,10 +27,7 @@ import com.mcwl.resource.domain.response.ResponseModelProduct;
import com.mcwl.resource.domain.vo.MallProductVo; import com.mcwl.resource.domain.vo.MallProductVo;
import com.mcwl.resource.domain.vo.ModelVo; 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.mapper.ModelLikeMapper; import com.mcwl.resource.mapper.*;
import com.mcwl.resource.mapper.ModelMapper;
import com.mcwl.resource.mapper.ModelVersionMapper;
import com.mcwl.resource.mapper.SysUserAttentionMapper;
import com.mcwl.resource.service.ModelService; import com.mcwl.resource.service.ModelService;
import com.mcwl.resource.service.ToActivityService; import com.mcwl.resource.service.ToActivityService;
import com.mcwl.system.init.DictInit; import com.mcwl.system.init.DictInit;
@ -65,6 +62,8 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper,ModelProduct> impl
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired
private DownloadRecordServiceImpl downloadRecordService;
@Autowired @Autowired
private ThreadPoolTaskExecutor threadPoolTaskExecutor; private ThreadPoolTaskExecutor threadPoolTaskExecutor;
@ -131,6 +130,9 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper,ModelProduct> impl
if (userIdMax == 0){ if (userIdMax == 0){
//收藏为空 //收藏为空
modelVersion.setIsCollect(0); modelVersion.setIsCollect(0);
//下载为空
modelVersion.setIsDownload(0);
}else { }else {
//查询是否收藏 //查询是否收藏
Collect collect = collectService.selectCollectById(modelVersion.getId(), userIdMax, 0); Collect collect = collectService.selectCollectById(modelVersion.getId(), userIdMax, 0);
@ -142,6 +144,9 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper,ModelProduct> impl
modelVersion.setIsCollect(1); modelVersion.setIsCollect(1);
} }
//校验是否下载
modelVersion.setIsDownload(downloadRecordService.selectDownloadByUser(userIdMax,modelVersion.getModelId(),0));
} }
responseModelProduct.setModelVersion(modelVersion); responseModelProduct.setModelVersion(modelVersion);

View File

@ -134,6 +134,10 @@ public class ModelVersionServiceImpl extends ServiceImpl< ModelVersionMapper,Mo
} }
if (modelVersion.getIsEncrypt() == 1){ if (modelVersion.getIsEncrypt() == 1){
if (StringUtils.isEmpty(modelVersion.getEncryptionFilePath())){
return R.fail(HttpStatus.SHOW_ERROR_MSG,"该模型加密未完成,请稍后再试");
}
return R.ok(modelVersion.getEncryptionFilePath(),modelVersion.getEncryptionFileName()); return R.ok(modelVersion.getEncryptionFilePath(),modelVersion.getEncryptionFileName());
} }
return R.ok(modelVersion.getFilePath(),modelVersion.getFileName()); return R.ok(modelVersion.getFilePath(),modelVersion.getFileName());

View File

@ -26,7 +26,8 @@
</select> </select>
<select id="selectCollectModel" resultType="com.mcwl.resource.domain.response.ResponseCollect"> <select id="selectCollectModel" resultType="com.mcwl.resource.domain.response.ResponseCollect">
SELECT c.product_id as id,m.surface_url as file_path,v.file_name,m.model_name as product_name,u.nick_name,v.file_size,c.create_time,v.model_version_type as type,v.trigger_words SELECT c.product_id as id,m.surface_url as file_path,v.file_name,m.model_name as product_name,u.nick_name,
v.file_size,c.create_time,v.model_version_type as type,v.trigger_words,v.is_encrypt,v.encryption_file_name
FROM collect as c FROM collect as c
LEFT JOIN model_version as v on c.product_id = v.id LEFT JOIN model_version as v on c.product_id = v.id
LEFT JOIN model as m on v.model_id = m.id LEFT JOIN model as m on v.model_id = m.id