修复工作流审核bug

新增图片审核
master
Diyu0904 2025-01-21 17:01:59 +08:00
parent b2dd5112c4
commit 71f1c01674
6 changed files with 108 additions and 28 deletions

View File

@ -1,12 +1,10 @@
package com.mcwl.web.controller.resource;
import com.mcwl.common.constant.DictConstants;
import com.mcwl.common.core.controller.BaseController;
import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.resource.domain.ModelVersion;
import com.mcwl.resource.service.ModelVersionService;
import com.mcwl.system.init.DictInit;
import com.mcwl.web.controller.common.OssUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -14,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
/**
@ -104,21 +101,12 @@ public class ModelVersionController extends BaseController {
@ApiOperation(value = "模型版本详情")
@PostMapping("finbyid")
public AjaxResult finbyid(@RequestBody ModelVersion modelVersion)
@GetMapping("finbyid")
public AjaxResult finbyid(@RequestParam Long id)
{
ModelVersion modelVersion1 = modelVersionService.getById(modelVersion.getId());
ArrayList<String> arrayList = new ArrayList<>();
//获取
String[] split = modelVersion1.getHigh().split(",");
for (String s : split) {
arrayList.add(DictInit.getDictValue(DictConstants.DICT_TYPE_MODEL_VERSION_HIGH,s));
}
ModelVersion modelVersion1 = modelVersionService.getById(id);
return AjaxResult.success(modelVersion1);
}

View File

@ -109,4 +109,10 @@ public class ModelImage extends BaseEntity {
*/
@ApiModelProperty(value = "是否置顶")
private Integer isTop;
/**
*
*/
@ApiModelProperty(value = "审核失败原因")
private String auditText;
}

View File

@ -95,10 +95,10 @@ public class ModelVersion extends BaseEntity {
@ApiModelProperty(value = "是否公开")
private Integer isPublic;
/**
*
* (0 1)
*/
@ApiModelProperty(value = "是否加密")
private String isEncrypt;
private Integer isEncrypt;
/**
* 线使
*/

View File

@ -2,7 +2,6 @@ package com.mcwl.resource.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import javax.validation.constraints.NotBlank;

View File

@ -1,24 +1,22 @@
package com.mcwl.resource.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
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.HttpStatus;
import com.mcwl.common.core.domain.entity.SysDictData;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.common.utils.StringUtils;
import com.mcwl.common.utils.baidu.BaiduCensor;
import com.mcwl.resource.domain.ModelImage;
import com.mcwl.resource.domain.ModelImageComment;
import com.mcwl.resource.domain.dto.ModelImageCommentRes;
import com.mcwl.resource.domain.dto.ModelImagePageRes;
import com.mcwl.resource.domain.dto.ModelImageRes;
import com.mcwl.resource.domain.vo.ModelImageCommentVo;
import com.mcwl.resource.domain.vo.ModelImageVo;
import com.mcwl.resource.mapper.ModelImageCommentMapper;
import com.mcwl.resource.mapper.ModelImageMapper;
@ -27,14 +25,16 @@ import com.mcwl.system.init.DictInit;
import com.mcwl.system.service.ISysDictDataService;
import com.mcwl.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
@RequiredArgsConstructor
public class ModelImageServiceImpl extends ServiceImpl<ModelImageMapper, ModelImage> implements ModelImageService {
@ -47,6 +47,8 @@ public class ModelImageServiceImpl extends ServiceImpl<ModelImageMapper, ModelIm
private final ISysDictDataService sysDictDataService;
@Autowired
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Override
@ -68,11 +70,98 @@ public class ModelImageServiceImpl extends ServiceImpl<ModelImageMapper, ModelIm
modelImage.setStatus(3);
modelImageMapper.insert(modelImage);
audit(modelImage);
}
private void audit(ModelImage modelImage) {
// 执行审核操作
threadPoolTaskExecutor.submit(() -> {
if (modelImage != null) {
if (modelImage.getTitle() != null) {
//审核名称
String s = BaiduCensor.TextCensor(modelImage.getTitle() + "," + modelImage.getTags() + ","
+ modelImage.getDescription());
// 解析 JSON 字符串
JSONObject jsonObject = JSONObject.parseObject(s);
// 获取 'conclusion' 字段的值
String conclusion = jsonObject.getString("conclusion");
if (conclusion.equals("不合规")) {
//更改状态,添加原因 -> 结束任务
// 获取 'data' 数组
JSONArray dataArray = jsonObject.getJSONArray("data");
// 存储所有的失败原因
List<String> failureReasons = new ArrayList<>();
// 遍历 'data' 数组中的每个元素
for (Object itemObj : dataArray) {
JSONObject item = (JSONObject) itemObj;
String msg = item.getString("msg");
failureReasons.add(msg);
}
// 使用逗号拼接所有的失败原因
String concatenatedReasons = String.join(", ", failureReasons);
modelImage.setAuditText(concatenatedReasons);
//修改状态以及失败原因
modelImage.setStatus(4);
log.info("执行111");
modelImageMapper.updateById(modelImage);
log.info("图片审核未通过");
//结束任务
return;
}
//修改为合格
modelImage.setAuditText("");
modelImage.setStatus(1);
baseMapper.updateById(modelImage);
}
}
if (modelImage.getImagePaths() == null) {
return;
}
//审核图片
String[] split = modelImage.getImagePaths().split(",");
for (String path : split) {
String s2 = BaiduCensor.ImageCnesor(path);
JSONObject jsonObject2 = JSONObject.parseObject(s2);
if (jsonObject2.getString("conclusion").equals("不合规")) {
//修改状态->跳出循环 判断下一个版本
// 获取 'data' 数组
JSONArray dataArray2 = jsonObject2.getJSONArray("data");
// 存储所有的失败原因
List<String> failureReasons = new ArrayList<>();
// 遍历 'data' 数组中的每个元素
for (Object itemObj : dataArray2) {
JSONObject item = (JSONObject) itemObj;
String msg = item.getString("msg");
failureReasons.add(msg);
}
// 使用逗号拼接所有的失败原因
String concatenatedReasons = String.join(", ", failureReasons);
modelImage.setAuditText(concatenatedReasons);
modelImage.setStatus(4);
baseMapper.updateById(modelImage);
log.info("图片审核未通过");
return;
}
}
//修改版本成功审核状态
modelImage.setAuditText("");
modelImage.setStatus(1);
baseMapper.updateById(modelImage);
log.info("全部通过审核");
});
}
/**
@ -155,5 +244,4 @@ public class ModelImageServiceImpl extends ServiceImpl<ModelImageMapper, ModelIm
}
}

View File

@ -211,7 +211,6 @@ public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> i
}else {
workFlowVersionMapper.updateByName(workFlowVersion);
}
workFlowVersionMapper.updateByName(workFlowVersion);
log.info("图片审核未通过");
break;
}