Browse Source

Merge branch 'pt' of dd.tall.wiki:ccsens_wiki/ccsenscloud into pt

recovery
wang0018 4 years ago
parent
commit
30e3c46a5c
  1. 9
      tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java
  2. 6
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  3. 95
      tall/src/main/java/com/ccsens/tall/service/SysPluginService.java
  4. 14
      tall/src/main/resources/mapper_dao/TaskPluginDao.xml
  5. 1
      util/src/main/java/com/ccsens/util/CodeEnum.java

9
tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java

@ -1,5 +1,6 @@
package com.ccsens.tall.bean.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -130,7 +131,7 @@ public class PluginVo {
@ApiModelProperty("插件图标")
private Long pluginIcon;
@ApiModelProperty("插件图标")
private String iconUrl;
private FileVo.FilePosition iconUrl;
@ApiModelProperty("插件id")
private Long pluginId;
@ApiModelProperty("插件描述")
@ -138,10 +139,10 @@ public class PluginVo {
@ApiModelProperty("插件作者")
private Long pluginAuthor;
@ApiModelProperty("插件预览图片")
private List<ImgByTaskAdded> previewImgs = new ArrayList<>();
private List<FileVo.FilePosition> previewImgs = new ArrayList<>();
@JsonIgnore
private String fileIdList;
public PluginByTaskAdded() {
}
}
@Data
@ApiModel("插件预览图信息(已添加)")

6
tall/src/main/java/com/ccsens/tall/service/InputDocService.java

@ -238,6 +238,9 @@ public class InputDocService implements IInputDocService {
if (ArrayUtil.isEmpty(param.getFileIds()) && StrUtil.isBlank(param.getRemark())){
throw new BaseException("请上传文件或填写备注信息");
}
if (ObjectUtil.isNull(proTaskInputDocMapper.selectByPrimaryKey(param.getDocId()))){
throw new BaseException("输入文档不存在或已删除");
}
//多文件添加
if (!ArrayUtil.isEmpty(param.getFileIds())){
String fileIds = "";
@ -333,6 +336,9 @@ public class InputDocService implements IInputDocService {
public void updateDoc(InputDocDto.UpdateDoc param) {
//判断是否有重复
ProTaskInputDoc proTaskInputDoc = proTaskInputDocMapper.selectByPrimaryKey(param.getDocId());
if (ObjectUtil.isNull(proTaskInputDoc)){
throw new BaseException(CodeEnum.DOC_NONE);
}
ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample();
proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(proTaskInputDoc.getTaskDetailId());
List<ProTaskInputDoc> proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample);

95
tall/src/main/java/com/ccsens/tall/service/SysPluginService.java

@ -4,10 +4,16 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.tall.bean.dto.PluginDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.FileVo;
import com.ccsens.tall.bean.vo.PluginVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.PropUtil;
import com.ccsens.util.RestTemplateUtil;
import com.ccsens.util.WebConstant;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
@ -21,6 +27,7 @@ import org.springframework.web.context.ContextLoaderListener;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Slf4j
@ -90,15 +97,41 @@ public class SysPluginService implements ISysPluginService{
public List<PluginVo.PluginByTaskAdded> findPluginOfAdded(PluginDto.FindPluginByTask param) {
List<PluginVo.PluginByTaskAdded> plugins = taskPluginDao.findPluginOfAdded(param.getTaskId(),param.getRoleId(),param.getPluginName(),param.getPluginType());
plugins.forEach(plugin -> {
ProPluginPreviewFileExample example = new ProPluginPreviewFileExample();
example.createCriteria().andPluginIdEqualTo(plugin.getPluginId()).andRecStatusEqualTo((byte)0);
List<ProPluginPreviewFile> proPluginPreviewFiles = proPluginPreviewFileDao.selectByExample(example);
proPluginPreviewFiles.forEach(previewFile -> {
PluginVo.ImgByTaskAdded img = new PluginVo.ImgByTaskAdded();
img.setPreviewId(previewFile.getId());
img.setPreviewDescription(previewFile.getPreviewDescription());
plugin.getPreviewImgs().add(img);
});
if (plugin.getFileIdList().contains(",")){
String[] split = plugin.getFileIdList().split(",");
List<String> splits =new ArrayList<>(Arrays.asList(split));
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl,splits);
JsonResponse a = JSONObject.parseObject(c, JsonResponse.class);
//遍历区分是图标还是预览图
List<FileVo.FilePosition> filePositions = JSONArray.parseArray(a.getData().toString(), FileVo.FilePosition.class);
if(ObjectUtil.isNotNull(filePositions) && ObjectUtil.isNotNull(filePositions)){
for (int i = 0; i < filePositions.size(); i++) {
if (filePositions.get(i).getId().equals(plugin.getPluginIcon())){
plugin.setIconUrl(filePositions.get(i));
filePositions.remove(filePositions.get(i));
}
}
plugin.setPreviewImgs(filePositions);
}
}else{
//不包含逗号说明没有预览图,只有图标
List<String> id = new ArrayList<>();
id.add(plugin.getFileIdList());
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl,id);
JsonResponse a = JSONObject.parseObject(c, JsonResponse.class);
List<FileVo.FilePosition> filePositions = JSONArray.parseArray(a.getData().toString(), FileVo.FilePosition.class);
if(ObjectUtil.isNotNull(filePositions) && ObjectUtil.isNotNull(filePositions) && !filePositions.isEmpty()){
plugin.setIconUrl(filePositions.get(0));
}
}
});
return plugins;
}
@ -113,15 +146,41 @@ public class SysPluginService implements ISysPluginService{
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<PluginVo.PluginByTaskAdded> plugins = taskPluginDao.findPluginOfNoAdded(param.getTaskId(),param.getRoleId(),param.getPluginName(),param.getPluginType());
plugins.forEach(plugin -> {
ProPluginPreviewFileExample example = new ProPluginPreviewFileExample();
example.createCriteria().andPluginIdEqualTo(plugin.getPluginId()).andRecStatusEqualTo((byte)0);
List<ProPluginPreviewFile> proPluginPreviewFiles = proPluginPreviewFileDao.selectByExample(example);
proPluginPreviewFiles.forEach(previewFile -> {
PluginVo.ImgByTaskAdded img = new PluginVo.ImgByTaskAdded();
img.setPreviewId(previewFile.getId());
img.setPreviewDescription(previewFile.getPreviewDescription());
plugin.getPreviewImgs().add(img);
});
if (plugin.getFileIdList().contains(",")){
String[] split = plugin.getFileIdList().split(",");
List<String> splits =new ArrayList<>(Arrays.asList(split));
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl,splits);
JsonResponse a = JSONObject.parseObject(c, JsonResponse.class);
//遍历区分是图标还是预览图
List<FileVo.FilePosition> filePositions = JSONArray.parseArray(a.getData().toString(), FileVo.FilePosition.class);
if(ObjectUtil.isNotNull(filePositions) && ObjectUtil.isNotNull(filePositions)){
for (int i = 0; i < filePositions.size(); i++) {
if (filePositions.get(i).getId().equals(plugin.getPluginIcon())){
plugin.setIconUrl(filePositions.get(i));
filePositions.remove(filePositions.get(i));
}
}
plugin.setPreviewImgs(filePositions);
}
}else{
//不包含逗号说明没有预览图,只有图标
List<String> id = new ArrayList<>();
id.add(plugin.getFileIdList());
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl,id);
JsonResponse a = JSONObject.parseObject(c, JsonResponse.class);
List<FileVo.FilePosition> filePositions = JSONArray.parseArray(a.getData().toString(), FileVo.FilePosition.class);
if(ObjectUtil.isNotNull(filePositions) && ObjectUtil.isNotNull(filePositions) && !filePositions.isEmpty()){
plugin.setIconUrl(filePositions.get(0));
}
}
});
return new PageInfo<>(plugins);
}

14
tall/src/main/resources/mapper_dao/TaskPluginDao.xml

@ -11,11 +11,13 @@
sp.description AS description,
sp.plugin_author AS pluginAuthor,
ptp.task_detail_id,
ptp.member_role_id
ptp.member_role_id,
CONCAT_WS(',',GROUP_CONCAT(DISTINCT sp.plugin_icon),GROUP_CONCAT(DISTINCT pppf.file_id)) AS fileIdList
FROM
t_pro_task_plugin AS ptp
LEFT JOIN t_sys_plugin AS sp ON ptp.plugin_id = sp.id
LEFT JOIN t_file AS tf ON sp.plugin_icon = tf.id
LEFT JOIN t_sys_plugin AS sp ON ptp.plugin_id = sp.id AND sp.rec_status = 0
LEFT JOIN t_file AS tf ON sp.plugin_icon = tf.id AND tf.rec_status = 0
LEFT JOIN t_pro_plugin_preview_file AS pppf ON sp.id = pppf.plugin_id AND pppf.rec_status = 0
AND sp.rec_status = 0
WHERE
ptp.rec_status = 0
@ -27,6 +29,7 @@
<if test="pluginType!=null and pluginType!=''" >
AND sp.plugin_class = #{pluginType}
</if>
Group by ptp.plugin_id
</select>
<select id="findPluginOfNoAdded" resultType="com.ccsens.tall.bean.vo.PluginVo$PluginByTaskAdded">
@ -36,10 +39,12 @@
sp.plugin_icon AS pluginIcon,
tf.visit_location AS iconUrl,
sp.description AS description,
sp.plugin_author AS pluginAuthor
sp.plugin_author AS pluginAuthor,
CONCAT_WS(',',GROUP_CONCAT(DISTINCT sp.plugin_icon),GROUP_CONCAT(DISTINCT pppf.file_id)) AS fileIdList
FROM
t_sys_plugin AS sp
LEFT JOIN t_file AS tf ON sp.plugin_icon = tf.id
LEFT JOIN t_pro_plugin_preview_file AS pppf ON sp.id = pppf.plugin_id AND pppf.rec_status = 0
WHERE
sp.id NOT IN (
SELECT
@ -57,6 +62,7 @@
<if test="pluginType!=null and pluginType!=''" >
AND sp.plugin_class = #{pluginType}
</if>
Group By sp.id
</select>
</mapper>

1
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -189,6 +189,7 @@ public enum CodeEnum {
MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true),
QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true),
DOC_REPEAT(158,"输入文档已存在",true),
DOC_NONE(161,"输入文档不存在",true),
NOTNAME(159,"未找到该列",true),
CHONGFU(160,"该成员在项目下有多个成员角色",true),
CHAOGUOSHI(161,"角色展示不能超过10个",true),

Loading…
Cancel
Save