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; package com.ccsens.tall.bean.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -130,7 +131,7 @@ public class PluginVo {
@ApiModelProperty("插件图标") @ApiModelProperty("插件图标")
private Long pluginIcon; private Long pluginIcon;
@ApiModelProperty("插件图标") @ApiModelProperty("插件图标")
private String iconUrl; private FileVo.FilePosition iconUrl;
@ApiModelProperty("插件id") @ApiModelProperty("插件id")
private Long pluginId; private Long pluginId;
@ApiModelProperty("插件描述") @ApiModelProperty("插件描述")
@ -138,10 +139,10 @@ public class PluginVo {
@ApiModelProperty("插件作者") @ApiModelProperty("插件作者")
private Long pluginAuthor; private Long pluginAuthor;
@ApiModelProperty("插件预览图片") @ApiModelProperty("插件预览图片")
private List<ImgByTaskAdded> previewImgs = new ArrayList<>(); private List<FileVo.FilePosition> previewImgs = new ArrayList<>();
@JsonIgnore
private String fileIdList;
public PluginByTaskAdded() {
}
} }
@Data @Data
@ApiModel("插件预览图信息(已添加)") @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())){ if (ArrayUtil.isEmpty(param.getFileIds()) && StrUtil.isBlank(param.getRemark())){
throw new BaseException("请上传文件或填写备注信息"); throw new BaseException("请上传文件或填写备注信息");
} }
if (ObjectUtil.isNull(proTaskInputDocMapper.selectByPrimaryKey(param.getDocId()))){
throw new BaseException("输入文档不存在或已删除");
}
//多文件添加 //多文件添加
if (!ArrayUtil.isEmpty(param.getFileIds())){ if (!ArrayUtil.isEmpty(param.getFileIds())){
String fileIds = ""; String fileIds = "";
@ -333,6 +336,9 @@ public class InputDocService implements IInputDocService {
public void updateDoc(InputDocDto.UpdateDoc param) { public void updateDoc(InputDocDto.UpdateDoc param) {
//判断是否有重复 //判断是否有重复
ProTaskInputDoc proTaskInputDoc = proTaskInputDocMapper.selectByPrimaryKey(param.getDocId()); ProTaskInputDoc proTaskInputDoc = proTaskInputDocMapper.selectByPrimaryKey(param.getDocId());
if (ObjectUtil.isNull(proTaskInputDoc)){
throw new BaseException(CodeEnum.DOC_NONE);
}
ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample(); ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample();
proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(proTaskInputDoc.getTaskDetailId()); proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(proTaskInputDoc.getTaskDetailId());
List<ProTaskInputDoc> proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample); 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.lang.Snowflake;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; 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.dto.PluginDto;
import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.FileVo;
import com.ccsens.tall.bean.vo.PluginVo; import com.ccsens.tall.bean.vo.PluginVo;
import com.ccsens.tall.persist.dao.*; 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.WebConstant;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -21,6 +27,7 @@ import org.springframework.web.context.ContextLoaderListener;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@ -90,15 +97,41 @@ public class SysPluginService implements ISysPluginService{
public List<PluginVo.PluginByTaskAdded> findPluginOfAdded(PluginDto.FindPluginByTask param) { public List<PluginVo.PluginByTaskAdded> findPluginOfAdded(PluginDto.FindPluginByTask param) {
List<PluginVo.PluginByTaskAdded> plugins = taskPluginDao.findPluginOfAdded(param.getTaskId(),param.getRoleId(),param.getPluginName(),param.getPluginType()); List<PluginVo.PluginByTaskAdded> plugins = taskPluginDao.findPluginOfAdded(param.getTaskId(),param.getRoleId(),param.getPluginName(),param.getPluginType());
plugins.forEach(plugin -> { plugins.forEach(plugin -> {
ProPluginPreviewFileExample example = new ProPluginPreviewFileExample(); if (plugin.getFileIdList().contains(",")){
example.createCriteria().andPluginIdEqualTo(plugin.getPluginId()).andRecStatusEqualTo((byte)0); String[] split = plugin.getFileIdList().split(",");
List<ProPluginPreviewFile> proPluginPreviewFiles = proPluginPreviewFileDao.selectByExample(example); List<String> splits =new ArrayList<>(Arrays.asList(split));
proPluginPreviewFiles.forEach(previewFile -> { //获取文件项目的路径
PluginVo.ImgByTaskAdded img = new PluginVo.ImgByTaskAdded(); String requestUrl = PropUtil.filedeal;
img.setPreviewId(previewFile.getId()); //通过文件id查询文件信息
img.setPreviewDescription(previewFile.getPreviewDescription()); String c = RestTemplateUtil.postBody1(requestUrl,splits);
plugin.getPreviewImgs().add(img); 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; return plugins;
} }
@ -113,15 +146,41 @@ public class SysPluginService implements ISysPluginService{
PageHelper.startPage(param.getPageNum(),param.getPageSize()); PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<PluginVo.PluginByTaskAdded> plugins = taskPluginDao.findPluginOfNoAdded(param.getTaskId(),param.getRoleId(),param.getPluginName(),param.getPluginType()); List<PluginVo.PluginByTaskAdded> plugins = taskPluginDao.findPluginOfNoAdded(param.getTaskId(),param.getRoleId(),param.getPluginName(),param.getPluginType());
plugins.forEach(plugin -> { plugins.forEach(plugin -> {
ProPluginPreviewFileExample example = new ProPluginPreviewFileExample(); if (plugin.getFileIdList().contains(",")){
example.createCriteria().andPluginIdEqualTo(plugin.getPluginId()).andRecStatusEqualTo((byte)0); String[] split = plugin.getFileIdList().split(",");
List<ProPluginPreviewFile> proPluginPreviewFiles = proPluginPreviewFileDao.selectByExample(example); List<String> splits =new ArrayList<>(Arrays.asList(split));
proPluginPreviewFiles.forEach(previewFile -> { //获取文件项目的路径
PluginVo.ImgByTaskAdded img = new PluginVo.ImgByTaskAdded(); String requestUrl = PropUtil.filedeal;
img.setPreviewId(previewFile.getId()); //通过文件id查询文件信息
img.setPreviewDescription(previewFile.getPreviewDescription()); String c = RestTemplateUtil.postBody1(requestUrl,splits);
plugin.getPreviewImgs().add(img); 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); return new PageInfo<>(plugins);
} }

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

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

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

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

Loading…
Cancel
Save