Browse Source

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

recovery
zhizhi wu 4 years ago
parent
commit
17e0a02549
  1. 59
      beneficiation/src/main/java/com/ccsens/beneficiation/service/ParameterService.java
  2. 4
      beneficiation/src/main/resources/application.yml
  3. 2
      tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java
  4. 90
      tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java
  5. 95
      tall/src/main/java/com/ccsens/tall/bean/po/ProPluginPreviewFile.java
  6. 631
      tall/src/main/java/com/ccsens/tall/bean/po/ProPluginPreviewFileExample.java
  7. 45
      tall/src/main/java/com/ccsens/tall/bean/po/SysPlugin.java
  8. 228
      tall/src/main/java/com/ccsens/tall/bean/po/SysPluginExample.java
  9. 20
      tall/src/main/java/com/ccsens/tall/bean/vo/FileVo.java
  10. 19
      tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java
  11. 41
      tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java
  12. 9
      tall/src/main/java/com/ccsens/tall/persist/dao/ProPluginPreviewFileDao.java
  13. 26
      tall/src/main/java/com/ccsens/tall/persist/dao/TaskPluginDao.java
  14. 30
      tall/src/main/java/com/ccsens/tall/persist/mapper/ProPluginPreviewFileMapper.java
  15. 34
      tall/src/main/java/com/ccsens/tall/service/ISysPluginService.java
  16. 67
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  17. 3
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  18. 189
      tall/src/main/java/com/ccsens/tall/service/SysPluginService.java
  19. 23
      tall/src/main/java/com/ccsens/tall/web/DebugController.java
  20. 6
      tall/src/main/java/com/ccsens/tall/web/InputDocController.java
  21. 53
      tall/src/main/java/com/ccsens/tall/web/PluginController.java
  22. 3
      tall/src/main/resources/application-dev.yml
  23. 3
      tall/src/main/resources/application-prod.yml
  24. 2
      tall/src/main/resources/application-test.yml
  25. 62
      tall/src/main/resources/mapper_dao/TaskPluginDao.xml
  26. 243
      tall/src/main/resources/mapper_raw/ProPluginPreviewFileMapper.xml
  27. 80
      tall/src/main/resources/mapper_raw/SysPluginMapper.xml
  28. 6
      util/src/main/java/com/ccsens/util/CRCUtil.java
  29. 5
      util/src/main/java/com/ccsens/util/PropUtil.java
  30. 28
      util/src/main/java/com/ccsens/util/RestTemplateUtil.java
  31. 75
      util/src/test/java/com/ccsens/util/OtherTest.java

59
beneficiation/src/main/java/com/ccsens/beneficiation/service/ParameterService.java

@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
/**
@ -59,12 +60,20 @@ public class ParameterService implements IParameterService{
if(CollectionUtil.isNotEmpty(transducers)){
transducers.forEach(transducer -> {
String type = "变频器".equalsIgnoreCase(transducer.getTitle()) ? "transducer" : "solenoidValue";
int x = "变频器".equalsIgnoreCase(transducer.getTitle()) ? 0 : 1;
if(CollectionUtil.isNotEmpty(transducer.getValues())){
int i = transducer.getValues().size() <= 1 ? 0 : 1;
for (ParameterVo.TransducerValue value : transducer.getValues()) {
String a = i == 0 ? "" : Integer.toString(i);
value.setKey("实时/设置" + a);
value.setType(type + a);
BigDecimal currentTime;
if(x == 0){
currentTime = value.getCurrentTimeValue().divide(BigDecimal.valueOf(100), 0, BigDecimal.ROUND_HALF_UP);
}else {
currentTime = value.getCurrentTimeValue().divide(BigDecimal.valueOf(10),1,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(4));
}
value.setCurrentTimeValue(currentTime);
i++;
}
}
@ -118,22 +127,53 @@ public class ParameterService implements IParameterService{
}
//电磁阀1
ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1();
transducer(solenoidValue1);
if(ObjectUtil.isNotNull(solenoidValue1)) {
if (ObjectUtil.isNotNull(solenoidValue1.getSettingValue())) {
solenoidValue1.setSettingValue(solenoidValue1.getSettingValue().multiply(BigDecimal.valueOf(100)));
}
transducer(solenoidValue1);
}
//电磁阀2
ParameterDto.Parameter solenoidValue2 = param.getSolenoidValue2();
transducer(solenoidValue2);
if(ObjectUtil.isNotNull(solenoidValue2)){
if(ObjectUtil.isNotNull(solenoidValue2.getSettingValue())){
solenoidValue2.setSettingValue(solenoidValue2.getSettingValue().multiply(BigDecimal.valueOf(100)));
}
transducer(solenoidValue2);
}
//变频器1
ParameterDto.Parameter transducer1 = param.getTransducer1();
transducer(transducer1);
if(ObjectUtil.isNotNull(transducer1)) {
if (ObjectUtil.isNotNull(transducer1.getSettingValue())) {
transducer1.setSettingValue(transducer1.getSettingValue().add(BigDecimal.valueOf(4)));
}
transducer(transducer1);
}
//变频器2
ParameterDto.Parameter transducer2 = param.getTransducer1();
transducer(transducer2);
if(ObjectUtil.isNotNull(transducer2)) {
if (ObjectUtil.isNotNull(transducer2.getSettingValue())) {
transducer2.setSettingValue(transducer2.getSettingValue().add(BigDecimal.valueOf(4)));
}
transducer(transducer2);
}
//变频器3
ParameterDto.Parameter transducer3 = param.getTransducer1();
transducer(transducer3);
if(ObjectUtil.isNotNull(transducer3)) {
if (ObjectUtil.isNotNull(transducer3.getSettingValue())) {
transducer3.setSettingValue(transducer3.getSettingValue().add(BigDecimal.valueOf(4)));
}
transducer(transducer3);
}
//变频器4
ParameterDto.Parameter transducer4 = param.getTransducer1();
transducer(transducer4);
if(ObjectUtil.isNotNull(transducer4)) {
if (ObjectUtil.isNotNull(transducer4.getSettingValue())) {
transducer4.setSettingValue(transducer4.getSettingValue().add(BigDecimal.valueOf(4)));
}
transducer(transducer4);
}
//电耳1
ParameterDto.ParameterThreshold electricEar1 = param.getElectricEar1();
@ -217,6 +257,7 @@ public class ParameterService implements IParameterService{
// byte[] center = new byte[]{(byte)0x10,(byte)0x10,addr1,addr2,uc1,uc2};
byte[] center = new byte[]{(byte)0x10,(byte)0x10,addr1,addr2,0x00,0x01,0x02,uc1,uc2};
byte[] crc = new byte[2];
CRCUtil.crc16(crc,center,0,center.length);
log.info("计算crc校验:{}---{}",crc[0],crc[1]);
@ -227,6 +268,9 @@ public class ParameterService implements IParameterService{
System.arraycopy(crc,0,all,header.length + center.length,crc.length);
all[2] = (byte) (all.length - 3);
for (int i = 0; i < all.length; i++) {
log.info("发送数据:{}",Integer.toHexString(all[i] & 0xFF));
}
sendInMessage(all);
}
}
@ -237,7 +281,8 @@ public class ParameterService implements IParameterService{
*/
private void sendInMessage(byte[] all) throws Exception {
Set<String> userIdSet = new HashSet<>();
userIdSet.add(String.valueOf(1));
// userIdSet.add(String.valueOf(1));
userIdSet.add(String.valueOf(2));
MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
messageRule.setAckRule(MessageRule.AckRule.NONE);
messageRule.setOfflineDiscard((byte) 1);

4
beneficiation/src/main/resources/application.yml

@ -1,6 +1,6 @@
spring:
profiles:
active: prod
include: common, util-prod
active: test
include: common, util-test

2
tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java

@ -59,7 +59,7 @@ public class InputDocDto {
@ApiModelProperty("任务id")
private Long taskId;
@NotEmpty(message = "文档名称不能为空")
@ApiModelProperty("文名称")
@ApiModelProperty("文名称")
private String[] fileName;
}

90
tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java

@ -5,9 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.validation.constraints.*;
import java.util.List;
/**
@ -18,14 +16,94 @@ public class PluginDto {
@Data
@ApiModel("添加插件")
public static class SaveSysPlugin {
@NotEmpty
@NotEmpty(message = "请输入插件名")
@ApiModelProperty("插件名(英文的code)")
private String name;
@NotEmpty
@ApiModelProperty("插件描述")
@Size(max = 100,message = "详情不能超过一百字")
@NotEmpty(message = "请输入插件详情")
@ApiModelProperty("插件详情")
private String description;
@ApiModelProperty("插件展示位置 默认2:0不显示,1任务头上右侧图标,2任务详情显示按钮,3任务展开面板显示(特殊形式)")
private byte showType = 2;
@ApiModelProperty("插件图标")
private Long pluginIcon;
@ApiModelProperty("插件作者")
private Long pluginAuthor;
@ApiModelProperty("插件类型(0-公共,1-会务,2-医疗,3-pims)")
private Byte pluginClass;
@ApiModelProperty("预览图片")
private List<PreviewImg> previewImgs;
}
@Data
@ApiModel("添加插件预览图")
public static class PreviewImg {
@ApiModelProperty("预览图id")
private Long previewId;
@Size(max = 100,message = "详情不能超过一百字")
@ApiModelProperty("预览图描述")
private String previewDescription;
}
@Data
@ApiModel("根据任务id查询插件列表(已添加的)")
public static class FindPluginByTask {
@NotNull(message = "请选择任务")
@ApiModelProperty("任务id")
private Long taskId;
@NotNull(message = "获取角色信息失败")
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("插件名称")
private String pluginName;
@ApiModelProperty("插件类型(0-公共,1-会务,2-医疗,3-pims)单选")
private Byte pluginType;
}
@Data
@ApiModel("根据任务id查询插件列表(该任务未添加的的)")
public static class FindPluginByTaskNo {
@NotNull(message = "请选择任务")
@ApiModelProperty("任务id")
private Long taskId;
@NotNull(message = "获取角色信息失败")
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("插件名称")
private String pluginName;
@ApiModelProperty("插件类型(0-公共,1-会务,2-医疗,3-pims)单选")
private Byte pluginType;
@ApiModelProperty("页数")
private Integer pageNum = 1;
@ApiModelProperty("每页多少条")
private Integer pageSize = 10;
}
@Data
@ApiModel("给任务添加插件")
public static class AddPluginForTask {
@NotNull(message = "请选择任务")
@ApiModelProperty("任务id")
private Long taskId;
@NotNull(message = "获取角色信息失败")
@ApiModelProperty("角色id")
private Long roleId;
@NotNull(message = "请选择插件")
@ApiModelProperty("插件id")
private Long pluginId;
}
@Data
@ApiModel("给任务删除插件")
public static class DeletePluginForTask {
@NotNull(message = "请选择任务")
@ApiModelProperty("任务id")
private Long taskId;
@NotNull(message = "获取角色信息失败")
@ApiModelProperty("角色id")
private Long roleId;
@NotNull(message = "请选择插件")
@ApiModelProperty("插件id")
private Long pluginId;
}

95
tall/src/main/java/com/ccsens/tall/bean/po/ProPluginPreviewFile.java

@ -0,0 +1,95 @@
package com.ccsens.tall.bean.po;
import java.io.Serializable;
import java.util.Date;
public class ProPluginPreviewFile implements Serializable {
private Long id;
private Long pluginId;
private Long fileId;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private String previewDescription;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getPluginId() {
return pluginId;
}
public void setPluginId(Long pluginId) {
this.pluginId = pluginId;
}
public Long getFileId() {
return fileId;
}
public void setFileId(Long fileId) {
this.fileId = fileId;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
public String getPreviewDescription() {
return previewDescription;
}
public void setPreviewDescription(String previewDescription) {
this.previewDescription = previewDescription == null ? null : previewDescription.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", pluginId=").append(pluginId);
sb.append(", fileId=").append(fileId);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", previewDescription=").append(previewDescription);
sb.append("]");
return sb.toString();
}
}

631
tall/src/main/java/com/ccsens/tall/bean/po/ProPluginPreviewFileExample.java

@ -0,0 +1,631 @@
package com.ccsens.tall.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ProPluginPreviewFileExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public ProPluginPreviewFileExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andPluginIdIsNull() {
addCriterion("plugin_id is null");
return (Criteria) this;
}
public Criteria andPluginIdIsNotNull() {
addCriterion("plugin_id is not null");
return (Criteria) this;
}
public Criteria andPluginIdEqualTo(Long value) {
addCriterion("plugin_id =", value, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdNotEqualTo(Long value) {
addCriterion("plugin_id <>", value, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdGreaterThan(Long value) {
addCriterion("plugin_id >", value, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdGreaterThanOrEqualTo(Long value) {
addCriterion("plugin_id >=", value, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdLessThan(Long value) {
addCriterion("plugin_id <", value, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdLessThanOrEqualTo(Long value) {
addCriterion("plugin_id <=", value, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdIn(List<Long> values) {
addCriterion("plugin_id in", values, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdNotIn(List<Long> values) {
addCriterion("plugin_id not in", values, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdBetween(Long value1, Long value2) {
addCriterion("plugin_id between", value1, value2, "pluginId");
return (Criteria) this;
}
public Criteria andPluginIdNotBetween(Long value1, Long value2) {
addCriterion("plugin_id not between", value1, value2, "pluginId");
return (Criteria) this;
}
public Criteria andFileIdIsNull() {
addCriterion("file_id is null");
return (Criteria) this;
}
public Criteria andFileIdIsNotNull() {
addCriterion("file_id is not null");
return (Criteria) this;
}
public Criteria andFileIdEqualTo(Long value) {
addCriterion("file_id =", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdNotEqualTo(Long value) {
addCriterion("file_id <>", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdGreaterThan(Long value) {
addCriterion("file_id >", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdGreaterThanOrEqualTo(Long value) {
addCriterion("file_id >=", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdLessThan(Long value) {
addCriterion("file_id <", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdLessThanOrEqualTo(Long value) {
addCriterion("file_id <=", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdIn(List<Long> values) {
addCriterion("file_id in", values, "fileId");
return (Criteria) this;
}
public Criteria andFileIdNotIn(List<Long> values) {
addCriterion("file_id not in", values, "fileId");
return (Criteria) this;
}
public Criteria andFileIdBetween(Long value1, Long value2) {
addCriterion("file_id between", value1, value2, "fileId");
return (Criteria) this;
}
public Criteria andFileIdNotBetween(Long value1, Long value2) {
addCriterion("file_id not between", value1, value2, "fileId");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andPreviewDescriptionIsNull() {
addCriterion("preview_description is null");
return (Criteria) this;
}
public Criteria andPreviewDescriptionIsNotNull() {
addCriterion("preview_description is not null");
return (Criteria) this;
}
public Criteria andPreviewDescriptionEqualTo(String value) {
addCriterion("preview_description =", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionNotEqualTo(String value) {
addCriterion("preview_description <>", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionGreaterThan(String value) {
addCriterion("preview_description >", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionGreaterThanOrEqualTo(String value) {
addCriterion("preview_description >=", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionLessThan(String value) {
addCriterion("preview_description <", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionLessThanOrEqualTo(String value) {
addCriterion("preview_description <=", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionLike(String value) {
addCriterion("preview_description like", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionNotLike(String value) {
addCriterion("preview_description not like", value, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionIn(List<String> values) {
addCriterion("preview_description in", values, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionNotIn(List<String> values) {
addCriterion("preview_description not in", values, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionBetween(String value1, String value2) {
addCriterion("preview_description between", value1, value2, "previewDescription");
return (Criteria) this;
}
public Criteria andPreviewDescriptionNotBetween(String value1, String value2) {
addCriterion("preview_description not between", value1, value2, "previewDescription");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

45
tall/src/main/java/com/ccsens/tall/bean/po/SysPlugin.java

@ -12,13 +12,19 @@ public class SysPlugin implements Serializable {
private Byte scene;
private Byte showType;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private Byte showType;
private Long pluginIcon;
private Long pluginAuthor;
private Byte pluginClass;
private static final long serialVersionUID = 1L;
@ -54,6 +60,14 @@ public class SysPlugin implements Serializable {
this.scene = scene;
}
public Byte getShowType() {
return showType;
}
public void setShowType(Byte showType) {
this.showType = showType;
}
public Date getCreatedAt() {
return createdAt;
}
@ -78,12 +92,28 @@ public class SysPlugin implements Serializable {
this.recStatus = recStatus;
}
public Byte getShowType() {
return showType;
public Long getPluginIcon() {
return pluginIcon;
}
public void setShowType(Byte showType) {
this.showType = showType;
public void setPluginIcon(Long pluginIcon) {
this.pluginIcon = pluginIcon;
}
public Long getPluginAuthor() {
return pluginAuthor;
}
public void setPluginAuthor(Long pluginAuthor) {
this.pluginAuthor = pluginAuthor;
}
public Byte getPluginClass() {
return pluginClass;
}
public void setPluginClass(Byte pluginClass) {
this.pluginClass = pluginClass;
}
@Override
@ -96,10 +126,13 @@ public class SysPlugin implements Serializable {
sb.append(", name=").append(name);
sb.append(", description=").append(description);
sb.append(", scene=").append(scene);
sb.append(", showType=").append(showType);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", showType=").append(showType);
sb.append(", pluginIcon=").append(pluginIcon);
sb.append(", pluginAuthor=").append(pluginAuthor);
sb.append(", pluginClass=").append(pluginClass);
sb.append("]");
return sb.toString();
}

228
tall/src/main/java/com/ccsens/tall/bean/po/SysPluginExample.java

@ -365,6 +365,66 @@ public class SysPluginExample {
return (Criteria) this;
}
public Criteria andShowTypeIsNull() {
addCriterion("show_type is null");
return (Criteria) this;
}
public Criteria andShowTypeIsNotNull() {
addCriterion("show_type is not null");
return (Criteria) this;
}
public Criteria andShowTypeEqualTo(Byte value) {
addCriterion("show_type =", value, "showType");
return (Criteria) this;
}
public Criteria andShowTypeNotEqualTo(Byte value) {
addCriterion("show_type <>", value, "showType");
return (Criteria) this;
}
public Criteria andShowTypeGreaterThan(Byte value) {
addCriterion("show_type >", value, "showType");
return (Criteria) this;
}
public Criteria andShowTypeGreaterThanOrEqualTo(Byte value) {
addCriterion("show_type >=", value, "showType");
return (Criteria) this;
}
public Criteria andShowTypeLessThan(Byte value) {
addCriterion("show_type <", value, "showType");
return (Criteria) this;
}
public Criteria andShowTypeLessThanOrEqualTo(Byte value) {
addCriterion("show_type <=", value, "showType");
return (Criteria) this;
}
public Criteria andShowTypeIn(List<Byte> values) {
addCriterion("show_type in", values, "showType");
return (Criteria) this;
}
public Criteria andShowTypeNotIn(List<Byte> values) {
addCriterion("show_type not in", values, "showType");
return (Criteria) this;
}
public Criteria andShowTypeBetween(Byte value1, Byte value2) {
addCriterion("show_type between", value1, value2, "showType");
return (Criteria) this;
}
public Criteria andShowTypeNotBetween(Byte value1, Byte value2) {
addCriterion("show_type not between", value1, value2, "showType");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
@ -545,63 +605,183 @@ public class SysPluginExample {
return (Criteria) this;
}
public Criteria andShowTypeIsNull() {
addCriterion("show_type is null");
public Criteria andPluginIconIsNull() {
addCriterion("plugin_icon is null");
return (Criteria) this;
}
public Criteria andShowTypeIsNotNull() {
addCriterion("show_type is not null");
public Criteria andPluginIconIsNotNull() {
addCriterion("plugin_icon is not null");
return (Criteria) this;
}
public Criteria andShowTypeEqualTo(Byte value) {
addCriterion("show_type =", value, "showType");
public Criteria andPluginIconEqualTo(Long value) {
addCriterion("plugin_icon =", value, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeNotEqualTo(Byte value) {
addCriterion("show_type <>", value, "showType");
public Criteria andPluginIconNotEqualTo(Long value) {
addCriterion("plugin_icon <>", value, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeGreaterThan(Byte value) {
addCriterion("show_type >", value, "showType");
public Criteria andPluginIconGreaterThan(Long value) {
addCriterion("plugin_icon >", value, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeGreaterThanOrEqualTo(Byte value) {
addCriterion("show_type >=", value, "showType");
public Criteria andPluginIconGreaterThanOrEqualTo(Long value) {
addCriterion("plugin_icon >=", value, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeLessThan(Byte value) {
addCriterion("show_type <", value, "showType");
public Criteria andPluginIconLessThan(Long value) {
addCriterion("plugin_icon <", value, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeLessThanOrEqualTo(Byte value) {
addCriterion("show_type <=", value, "showType");
public Criteria andPluginIconLessThanOrEqualTo(Long value) {
addCriterion("plugin_icon <=", value, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeIn(List<Byte> values) {
addCriterion("show_type in", values, "showType");
public Criteria andPluginIconIn(List<Long> values) {
addCriterion("plugin_icon in", values, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeNotIn(List<Byte> values) {
addCriterion("show_type not in", values, "showType");
public Criteria andPluginIconNotIn(List<Long> values) {
addCriterion("plugin_icon not in", values, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeBetween(Byte value1, Byte value2) {
addCriterion("show_type between", value1, value2, "showType");
public Criteria andPluginIconBetween(Long value1, Long value2) {
addCriterion("plugin_icon between", value1, value2, "pluginIcon");
return (Criteria) this;
}
public Criteria andShowTypeNotBetween(Byte value1, Byte value2) {
addCriterion("show_type not between", value1, value2, "showType");
public Criteria andPluginIconNotBetween(Long value1, Long value2) {
addCriterion("plugin_icon not between", value1, value2, "pluginIcon");
return (Criteria) this;
}
public Criteria andPluginAuthorIsNull() {
addCriterion("plugin_author is null");
return (Criteria) this;
}
public Criteria andPluginAuthorIsNotNull() {
addCriterion("plugin_author is not null");
return (Criteria) this;
}
public Criteria andPluginAuthorEqualTo(Long value) {
addCriterion("plugin_author =", value, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorNotEqualTo(Long value) {
addCriterion("plugin_author <>", value, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorGreaterThan(Long value) {
addCriterion("plugin_author >", value, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorGreaterThanOrEqualTo(Long value) {
addCriterion("plugin_author >=", value, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorLessThan(Long value) {
addCriterion("plugin_author <", value, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorLessThanOrEqualTo(Long value) {
addCriterion("plugin_author <=", value, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorIn(List<Long> values) {
addCriterion("plugin_author in", values, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorNotIn(List<Long> values) {
addCriterion("plugin_author not in", values, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorBetween(Long value1, Long value2) {
addCriterion("plugin_author between", value1, value2, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginAuthorNotBetween(Long value1, Long value2) {
addCriterion("plugin_author not between", value1, value2, "pluginAuthor");
return (Criteria) this;
}
public Criteria andPluginClassIsNull() {
addCriterion("plugin_class is null");
return (Criteria) this;
}
public Criteria andPluginClassIsNotNull() {
addCriterion("plugin_class is not null");
return (Criteria) this;
}
public Criteria andPluginClassEqualTo(Byte value) {
addCriterion("plugin_class =", value, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassNotEqualTo(Byte value) {
addCriterion("plugin_class <>", value, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassGreaterThan(Byte value) {
addCriterion("plugin_class >", value, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassGreaterThanOrEqualTo(Byte value) {
addCriterion("plugin_class >=", value, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassLessThan(Byte value) {
addCriterion("plugin_class <", value, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassLessThanOrEqualTo(Byte value) {
addCriterion("plugin_class <=", value, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassIn(List<Byte> values) {
addCriterion("plugin_class in", values, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassNotIn(List<Byte> values) {
addCriterion("plugin_class not in", values, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassBetween(Byte value1, Byte value2) {
addCriterion("plugin_class between", value1, value2, "pluginClass");
return (Criteria) this;
}
public Criteria andPluginClassNotBetween(Byte value1, Byte value2) {
addCriterion("plugin_class not between", value1, value2, "pluginClass");
return (Criteria) this;
}
}

20
tall/src/main/java/com/ccsens/tall/bean/vo/FileVo.java

@ -0,0 +1,20 @@
package com.ccsens.tall.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FileVo {
@ApiModel("文件查询-返回")
@Data
public static class FilePosition{
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("文件名")
private String name;
@ApiModelProperty("存储路径")
private String path;
@ApiModelProperty("查看路径")
private String visitUrl;
}
}

19
tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java

@ -25,18 +25,17 @@ public class InputDocVo {
private String docName;
@ApiModelProperty("是否上传 0否 1是")
private Byte isUpload;
// @ApiModelProperty("文档中的文件id")
@ApiModelProperty("文档中的文件")
private List<Record> records = new ArrayList<>();
}
@Data
@ApiModel("该记录中的文件")
public static class File{
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("文件访问路径")
private String fileUrl;
}
// @Data
// @ApiModel("该记录中的文件")
// public static class File{
// @ApiModelProperty("文件名称")
// private String fileName;
// @ApiModelProperty("文件访问路径")
// private String fileUrl;
// }
@Data
@ApiModel("该文档下的记录列表")
@ -49,7 +48,7 @@ public class InputDocVo {
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("文件列表")
private List<File> fileList = new ArrayList<>();
private List<FileVo.FilePosition> fileList = new ArrayList<>();
}
@Data

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

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ -121,6 +122,46 @@ public class PluginVo {
private String projectName;
}
@Data
@ApiModel("根据任务id查找插件列表(已添加)")
public static class PluginByTaskAdded {
@ApiModelProperty("插件名称")
private String pluginName;
@ApiModelProperty("插件图标")
private Long pluginIcon;
@ApiModelProperty("插件图标")
private String iconUrl;
@ApiModelProperty("插件id")
private Long pluginId;
@ApiModelProperty("插件描述")
private String description;
@ApiModelProperty("插件作者")
private Long pluginAuthor;
@ApiModelProperty("插件预览图片")
private List<ImgByTaskAdded> previewImgs = new ArrayList<>();
public PluginByTaskAdded() {
}
}
@Data
@ApiModel("插件预览图信息(已添加)")
public static class ImgByTaskAdded {
@ApiModelProperty("预览图id")
private Long previewId;
@ApiModelProperty("预览图描述")
private String previewDescription;
}
@Data
@ApiModel("根据任务id查找插件列表(已添加)")
public static class PluginByTaskAdded1 {
@ApiModelProperty("插件名称")
private String pluginName;
@ApiModelProperty("插件id")
private Long pluginId;
@ApiModelProperty("插件描述")
private String description;
}
}

9
tall/src/main/java/com/ccsens/tall/persist/dao/ProPluginPreviewFileDao.java

@ -0,0 +1,9 @@
package com.ccsens.tall.persist.dao;
import com.ccsens.tall.persist.mapper.ProPluginPreviewFileMapper;
/**
* @author mz
*/
public interface ProPluginPreviewFileDao extends ProPluginPreviewFileMapper {
}

26
tall/src/main/java/com/ccsens/tall/persist/dao/TaskPluginDao.java

@ -1,8 +1,34 @@
package com.ccsens.tall.persist.dao;
import com.ccsens.tall.bean.vo.PluginVo;
import com.ccsens.tall.persist.mapper.ProTaskPluginMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author mz
*/
@Repository
public interface TaskPluginDao extends ProTaskPluginMapper{
/**
* 根据任务id查询插件列表(该任务已添加的)
* @param taskId 任务id
* @param roleId 角色id
* @param pluginName 插件名称
* @param pluginType 插件类型
* @return
*/
List<PluginVo.PluginByTaskAdded> findPluginOfAdded(@Param("taskId") Long taskId,@Param("roleId") Long roleId,@Param("pluginName") String pluginName,@Param("pluginType") Byte pluginType);
/**
* 根据任务id查询插件列表(该任务未添加的)
* @param taskId 任务id
* @param roleId 角色id
* @param pluginName 插件名称
* @param pluginType 插件类型
* @return
*/
List<PluginVo.PluginByTaskAdded> findPluginOfNoAdded(@Param("taskId") Long taskId,@Param("roleId") Long roleId,@Param("pluginName") String pluginName,@Param("pluginType") Byte pluginType);
}

30
tall/src/main/java/com/ccsens/tall/persist/mapper/ProPluginPreviewFileMapper.java

@ -0,0 +1,30 @@
package com.ccsens.tall.persist.mapper;
import com.ccsens.tall.bean.po.ProPluginPreviewFile;
import com.ccsens.tall.bean.po.ProPluginPreviewFileExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface ProPluginPreviewFileMapper {
long countByExample(ProPluginPreviewFileExample example);
int deleteByExample(ProPluginPreviewFileExample example);
int deleteByPrimaryKey(Long id);
int insert(ProPluginPreviewFile record);
int insertSelective(ProPluginPreviewFile record);
List<ProPluginPreviewFile> selectByExample(ProPluginPreviewFileExample example);
ProPluginPreviewFile selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") ProPluginPreviewFile record, @Param("example") ProPluginPreviewFileExample example);
int updateByExample(@Param("record") ProPluginPreviewFile record, @Param("example") ProPluginPreviewFileExample example);
int updateByPrimaryKeySelective(ProPluginPreviewFile record);
int updateByPrimaryKey(ProPluginPreviewFile record);
}

34
tall/src/main/java/com/ccsens/tall/service/ISysPluginService.java

@ -2,12 +2,18 @@ package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.PluginDto;
import com.ccsens.tall.bean.vo.PluginVo;
import com.github.pagehelper.PageInfo;
import java.util.List;
public interface ISysPluginService {
void saveSysPlugin(PluginDto.SaveSysPlugin saveSysPlugin);
/**
* 添加插件(插件总表)
* @param param
* @param userId
*/
void saveSysPlugin(PluginDto.SaveSysPlugin param,Long userId);
List<PluginVo.PluginInfo> getPluginAll();
@ -17,4 +23,30 @@ public interface ISysPluginService {
Long getTaskDetailIdByPlugin(Long taskPluginId);
/**
* 根据任务id查询插件列表(该任务已添加的)
* @param param
* @return
*/
List<PluginVo.PluginByTaskAdded> findPluginOfAdded(PluginDto.FindPluginByTask param);
/**
* 根据任务id查询插件列表(该任务未添加的的)
* @param param
* @return
*/
PageInfo<PluginVo.PluginByTaskAdded> findPluginOfNoAdded(PluginDto.FindPluginByTaskNo param);
/**
* 给任务添加插件
* @param param
*/
void addPluginForTask(PluginDto.AddPluginForTask param,Long userId);
/**
* 给任务删除插件
* @param param
* @param userId
*/
void deletePluginForTask(PluginDto.DeletePluginForTask param, Long userId);
}

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

@ -6,11 +6,14 @@ 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 cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.tall.bean.dto.InputDocDto;
import com.ccsens.tall.bean.dto.LwbsDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.FileVo;
import com.ccsens.tall.bean.vo.InputDocVo;
import com.ccsens.tall.bean.vo.LwbsVo;
import com.ccsens.tall.bean.vo.TaskVo;
@ -20,13 +23,21 @@ import com.ccsens.tall.persist.mapper.*;
import com.ccsens.tall.util.TaskUtil;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.PropUtil;
import com.ccsens.util.RestTemplateUtil;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class InputDocService implements IInputDocService {
@Resource
public ProMemberMapper proMemberMapper;
@ -165,24 +176,48 @@ public class InputDocService implements IInputDocService {
List<InputDocVo.DocOfTask> docByTasks = iInputDocDao.findDocByTask(param.getTaskId());
for (InputDocVo.DocOfTask docs:docByTasks){
for (InputDocVo.Record record:docs.getRecords()){
if (record.getFileIds().contains(",")){
String[] split = record.getFileIds().split(",");
for (int i = 0; i < split.length; i++) {
File file = fileMapper.selectByPrimaryKey(Long.valueOf(split[i]));
InputDocVo.File nowFile = new InputDocVo.File();
nowFile.setFileName(file.getFileName());
nowFile.setFileUrl(file.getVisitLocation());
record.getFileList().add(nowFile);
}
}else{
if (StrUtil.isNotBlank(record.getFileIds())){
File file = fileMapper.selectByPrimaryKey(Long.valueOf(record.getFileIds()));
InputDocVo.File nowFile = new InputDocVo.File();
nowFile.setFileName(file.getFileName());
nowFile.setFileUrl(file.getVisitLocation());
record.getFileList().add(nowFile);
if(ObjectUtil.isNotNull(record.getFileIds())) {
try {
//拆分文件id
String[] split = record.getFileIds().split(",");
List<String> splits =new ArrayList<>(Arrays.asList(split));
if(split.length != 0){
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl,splits);
JsonResponse<List<FileVo.FilePosition>> a = JSONObject.parseObject(c,JsonResponse.class);
if(ObjectUtil.isNotNull(a) && ObjectUtil.isNotNull(a.getData())){
List<FileVo.FilePosition> fileList = a.getData();
record.setFileList(fileList);
}
}
}catch (Exception e){
log.info("查询文件信息失败:{}", e);
}
}
// if (record.getFileIds().contains(",")){
// String[] split = record.getFileIds().split(",");
// for (int i = 0; i < split.length; i++) {
//
//
//// File file = fileMapper.selectByPrimaryKey(Long.valueOf(split[i]));
//// InputDocVo.File nowFile = new InputDocVo.File();
//// nowFile.setFileName(file.getFileName());
//// nowFile.setFileUrl(file.getVisitLocation());
//// record.getFileList().add(nowFile);
// }
// }else{
// if (StrUtil.isNotBlank(record.getFileIds())){
//// File file = fileMapper.selectByPrimaryKey(Long.valueOf(record.getFileIds()));
//// InputDocVo.File nowFile = new InputDocVo.File();
//// nowFile.setFileName(file.getFileName());
//// nowFile.setFileUrl(file.getVisitLocation());
//// record.getFileList().add(nowFile);
// }
// }
}
}
return docByTasks;

3
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -313,6 +313,9 @@ public class ProRoleService implements IProRoleService {
@Override
public int selectPowerByRoleName(Long userId, Long projectId) {
int power = 0;
if (null == userId || null == projectId){
return power;
}
SysProject project = projectDao.selectByPrimaryKey(projectId);
if (ObjectUtil.isNotNull(project)) {
if (project.getCreatorId().longValue() == userId) {

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

@ -2,11 +2,16 @@ package com.ccsens.tall.service;
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.ccsens.tall.bean.dto.PluginDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.PluginVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.util.WebConstant;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -34,19 +39,190 @@ public class SysPluginService implements ISysPluginService{
private SigninFieldDao signinFieldDao;
@Resource
private Snowflake snowflake;
@Resource
private ProPluginPreviewFileDao proPluginPreviewFileDao;
@Resource
private ProRoleService proRoleService;
@Resource
private ProRoleDao proRoleDao;
@Resource
private ProMemberDao proMemberDao;
@Resource
private ProMemberRoleDao proMemberRoleDao;
@Resource
private TaskSubTimeDao taskSubTimeDao;
/**
* 添加插件
* @param saveSysPlugin
* @param param
*/
@Override
public void saveSysPlugin(PluginDto.SaveSysPlugin saveSysPlugin) {
public void saveSysPlugin(PluginDto.SaveSysPlugin param,Long userId) {
SysPlugin sysPlugin = new SysPlugin();
sysPlugin.setId(snowflake.nextId());
sysPlugin.setName(saveSysPlugin.getName());
sysPlugin.setDescription(saveSysPlugin.getDescription());
sysPlugin.setShowType(saveSysPlugin.getShowType());
sysPlugin.setName(param.getName());
sysPlugin.setDescription(param.getDescription());
sysPlugin.setShowType(param.getShowType());
sysPlugin.setPluginIcon(param.getPluginIcon());
sysPlugin.setPluginAuthor(param.getPluginAuthor());
sysPlugin.setPluginClass(param.getPluginClass());
sysPluginDao.insertSelective(sysPlugin);
//预览表中添加数据
if (CollectionUtil.isNotEmpty(param.getPreviewImgs())){
param.getPreviewImgs().forEach(previewImg -> {
ProPluginPreviewFile previewFile = new ProPluginPreviewFile();
previewFile.setId(snowflake.nextId());
previewFile.setPluginId(sysPlugin.getId());
previewFile.setFileId(previewImg.getPreviewId());
previewFile.setPreviewDescription(previewImg.getPreviewDescription());
proPluginPreviewFileDao.insertSelective(previewFile);
});
}
}
/**
* 根据任务id查询插件列表(该任务已添加的)
* @param param
* @return
*/
@Override
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);
});
});
return plugins;
}
/**
* 根据任务id查询插件列表(该任务未添加的的)
* @param param
* @return
*/
@Override
public PageInfo<PluginVo.PluginByTaskAdded> findPluginOfNoAdded(PluginDto.FindPluginByTaskNo param) {
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);
});
});
return new PageInfo<>(plugins);
}
/**
* 给任务添加插件
*/
@Override
public void addPluginForTask(PluginDto.AddPluginForTask param,Long currentUserId) {
//查找分解任务,通过分级任务找到任务详情
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(param.getTaskId());
if (ObjectUtil.isNull(proTaskSubTime)){
throw new BaseException("获取任务信息错误");
}
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId());
if (ObjectUtil.isNull(taskDetail)){
throw new BaseException("获取任务信息错误");
}
//查找权限
int power = proRoleService.selectPowerByRoleName(currentUserId, taskDetail.getProjectId());
//当前用户是否是此任务的负责人
boolean flag = false;
ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole());
if (executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) {
flag = true;
} else {
ProMemberExample memberExample = new ProMemberExample();
memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(taskDetail.getProjectId());
List<ProMember> memberList = proMemberDao.selectByExample(memberExample);
if (CollectionUtil.isNotEmpty(memberList)) {
if (ObjectUtil.isNotNull(executorRole)) {
ProMemberRoleExample memberRoleExample = new ProMemberRoleExample();
memberRoleExample.createCriteria().andRoleIdEqualTo(executorRole.getId()).andMemberIdEqualTo(memberList.get(0).getId());
if (proMemberRoleDao.countByExample(memberRoleExample) != 0) {
flag = true;
}
}
}
}
//给任务添加插件
if (1 < power || flag){
ProTaskPlugin taskPlugin = new ProTaskPlugin();
taskPlugin.setId(snowflake.nextId());
taskPlugin.setPluginId(param.getPluginId());
taskPlugin.setTaskDetailId(taskDetail.getId());
taskPlugin.setMemberRoleId(param.getRoleId());
taskPluginDao.insertSelective(taskPlugin);
}else {
throw new BaseException("权限不足");
}
}
/**
* 给任务删除插件
* @param param
* @param currentUserId
*/
@Override
public void deletePluginForTask(PluginDto.DeletePluginForTask param, Long currentUserId) {
//查找分解任务,通过分级任务找到任务详情
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(param.getTaskId());
if (ObjectUtil.isNull(proTaskSubTime)){
throw new BaseException("获取任务信息错误");
}
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId());
if (ObjectUtil.isNull(taskDetail)){
throw new BaseException("获取任务信息错误");
}
//查找权限
int power = proRoleService.selectPowerByRoleName(currentUserId, taskDetail.getProjectId());
//当前用户是否是此任务的负责人
boolean flag = false;
ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole());
if (executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) {
flag = true;
} else {
ProMemberExample memberExample = new ProMemberExample();
memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(taskDetail.getProjectId());
List<ProMember> memberList = proMemberDao.selectByExample(memberExample);
if (CollectionUtil.isNotEmpty(memberList)) {
if (ObjectUtil.isNotNull(executorRole)) {
ProMemberRoleExample memberRoleExample = new ProMemberRoleExample();
memberRoleExample.createCriteria().andRoleIdEqualTo(executorRole.getId()).andMemberIdEqualTo(memberList.get(0).getId());
if (proMemberRoleDao.countByExample(memberRoleExample) != 0) {
flag = true;
}
}
}
}
//给任务删除插件
if (1 < power || flag){
ProTaskPluginExample taskPluginExample = new ProTaskPluginExample();
taskPluginExample.createCriteria().andPluginIdEqualTo(param.getPluginId())
.andTaskDetailIdEqualTo(taskDetail.getId())
.andMemberRoleIdNotEqualTo(param.getRoleId());
taskPluginDao.deleteByExample(taskPluginExample);
}else {
throw new BaseException("权限不足");
}
}
@Override
@ -55,6 +231,7 @@ public class SysPluginService implements ISysPluginService{
return pluginInfoList;
}
/**
* 透过插件id查询签到的信息
*/
@ -135,4 +312,6 @@ public class SysPluginService implements ISysPluginService{
}
return taskDetailId;
}
}

23
tall/src/main/java/com/ccsens/tall/web/DebugController.java

@ -1,9 +1,9 @@
package com.ccsens.tall.web;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.tall.bean.dto.message.SyncMessageWithStartDto;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.RedisUtil;
import com.ccsens.tall.bean.vo.FileVo;
import com.ccsens.util.*;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
import com.ccsens.util.bean.message.common.MessageRule;
@ -22,7 +22,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Slf4j
@Api(tags = "DEBUG" , description = "DebugController | ")
@ -114,4 +116,19 @@ public class DebugController {
}
@ApiOperation(value = "/测试",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value="htt",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
public JsonResponse https(HttpServletRequest request) throws Exception {
String requestUrl = "http://localhost:8001/file/query";
List<Long> files = new ArrayList<>();
files.add(1321760076465311744L);
String c = RestTemplateUtil.postBody1(requestUrl,files);
JsonResponse a = JSONObject.parseObject(c,JsonResponse.class);
return a;
}
}

6
tall/src/main/java/com/ccsens/tall/web/InputDocController.java

@ -30,9 +30,11 @@ import java.util.List;
@RestController
@RequestMapping("/inputDoc")
public class InputDocController {
@Autowired
private IInputDocService iInputDocService;
@MustLogin
/*@MustLogin
@ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档")
@RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse addInputDoc(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.AddAddInputDoc> params) {
@ -40,7 +42,7 @@ public class InputDocController {
//iInputDocService.addInputDoc(params.getParam(),params.getUserId());
log.info("添加输入文档");
return JsonResponse.newInstance().ok();
}
}*/
@MustLogin
@ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档")

53
tall/src/main/java/com/ccsens/tall/web/PluginController.java

@ -1,5 +1,6 @@
package com.ccsens.tall.web;
import com.ccsens.tall.annotation.MustLoginTall;
import com.ccsens.tall.bean.dto.PluginDto;
import com.ccsens.tall.bean.dto.TaskDto;
import com.ccsens.tall.bean.dto.WeekMeetingDto;
@ -11,6 +12,7 @@ import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant;
import com.ccsens.util.annotation.OperateType;
import com.ccsens.util.bean.dto.QueryDto;
import com.github.pagehelper.PageInfo;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
@ -30,13 +32,56 @@ public class PluginController {
@Autowired
private ISysPluginService sysPluginService;
@ApiOperation(value = "添加插件", notes = "")
@MustLoginTall
@ApiOperation(value = "添加插件(插件总表)", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveSysPlugin(HttpServletRequest request, @ApiParam @Validated @RequestBody PluginDto.SaveSysPlugin saveSysPlugin) throws Exception {
log.info("添加一个插件:{}",saveSysPlugin);
sysPluginService.saveSysPlugin(saveSysPlugin);
public JsonResponse saveSysPlugin(HttpServletRequest request, @ApiParam @Validated @RequestBody QueryDto<PluginDto.SaveSysPlugin> params) throws Exception {
log.info("添加一个插件:{}",params);
sysPluginService.saveSysPlugin(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "根据任务id查询插件列表(该任务已添加的)", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/findPluginOfAdded", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<PluginVo.PluginByTaskAdded>> findPluginOfAdded(@ApiParam @Validated @RequestBody QueryDto<PluginDto.FindPluginByTask> params) throws Exception {
log.info("根据任务id查询已添加插件列表:{}",params);
List<PluginVo.PluginByTaskAdded> pluginByTaskAddedList = sysPluginService.findPluginOfAdded(params.getParam());
return JsonResponse.newInstance().ok(pluginByTaskAddedList);
}
@ApiOperation(value = "根据任务id查询插件列表(该任务未添加的的)", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/findPluginOfNoAdded", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<PluginVo.PluginByTaskAdded>> findPluginOfNoAdded(@ApiParam @Validated @RequestBody QueryDto<PluginDto.FindPluginByTaskNo> params) throws Exception {
log.info("根据任务id查询未添加插件列表:{}",params);
PageInfo<PluginVo.PluginByTaskAdded> pluginByTaskNoAddedList = sysPluginService.findPluginOfNoAdded(params.getParam());
return JsonResponse.newInstance().ok(pluginByTaskNoAddedList);
}
@MustLoginTall
@ApiOperation(value = "给任务添加插件", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/addPluginForTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse addPluginForTask(@ApiParam @Validated @RequestBody QueryDto<PluginDto.AddPluginForTask> params) throws Exception {
log.info("给任务添加插件:{}",params);
sysPluginService.addPluginForTask(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}
@MustLoginTall
@ApiOperation(value = "给任务删除插件", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/deletePluginForTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse deletePluginForTask(@ApiParam @Validated @RequestBody QueryDto<PluginDto.DeletePluginForTask> params) throws Exception {
log.info("给任务删除插件:{}",params);
sysPluginService.deletePluginForTask(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}

3
tall/src/main/resources/application-dev.yml

@ -39,4 +39,5 @@ wx:
file:
path: /home/cloud/tall/uploads/
domain: http://localhost:7030/v1.0/
imgDomain: http://localhost:7030/v1.0/uploads
imgDomain: http://localhost:7030/v1.0/uploads
filedeal: http://localhost:8001/file/query

3
tall/src/main/resources/application-prod.yml

@ -45,4 +45,5 @@ wx:
file:
path: /home/cloud/tall/uploads/
domain: https://www.tall.wiki/gateway/tall/v1.0/
imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads
imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads
filedeal: https://www.tall.wiki/file/query

2
tall/src/main/resources/application-test.yml

@ -46,7 +46,7 @@ file:
path: /home/cloud/tall/uploads/
domain: https://test.tall.wiki/gateway/tall/v1.0/
imgDomain: https://test.tall.wiki/gateway/tall/v1.0/uploads
filedeal: https://test.tall.wiki/file/query
#file:
# domain: http://192.168.0.99/gateway/tall/v1.0/
# imgDomain: http://192.168.0.99/gateway/tall/v1.0/uploads

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

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.tall.persist.dao.TaskPluginDao">
<select id="findPluginOfAdded" resultType="com.ccsens.tall.bean.vo.PluginVo$PluginByTaskAdded">
SELECT
sp.id AS pluginId,
sp.`name` AS pluginName,
sp.plugin_icon AS pluginIcon,
tf.visit_location AS iconUrl,
sp.description AS description,
sp.plugin_author AS pluginAuthor,
ptp.task_detail_id,
ptp.member_role_id
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
AND sp.rec_status = 0
WHERE
ptp.rec_status = 0
AND ptp.task_detail_id = #{taskId}
AND ptp.member_role_id = #{roleId}
<if test="pluginName!=null and pluginName!=''" >
AND sp.description LIKE concat('%',#{pluginName},'%')
</if>
<if test="pluginType!=null and pluginType!=''" >
AND sp.plugin_class = #{pluginType}
</if>
</select>
<select id="findPluginOfNoAdded" resultType="com.ccsens.tall.bean.vo.PluginVo$PluginByTaskAdded">
SELECT
sp.id AS pluginId,
sp.`name` AS pluginName,
sp.plugin_icon AS pluginIcon,
tf.visit_location AS iconUrl,
sp.description AS description,
sp.plugin_author AS pluginAuthor
FROM
t_sys_plugin AS sp
LEFT JOIN t_file AS tf ON sp.plugin_icon = tf.id
WHERE
sp.id NOT IN (
SELECT
ptp.plugin_id
FROM
t_pro_task_plugin AS ptp
WHERE
ptp.task_detail_id = #{taskId}
AND ptp.member_role_id = #{roleId}
AND ptp.rec_status = 0
)
<if test="pluginName!=null and pluginName!=''" >
AND sp.description LIKE concat('%',#{pluginName},'%')
</if>
<if test="pluginType!=null and pluginType!=''" >
AND sp.plugin_class = #{pluginType}
</if>
</select>
</mapper>

243
tall/src/main/resources/mapper_raw/ProPluginPreviewFileMapper.xml

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.tall.persist.mapper.ProPluginPreviewFileMapper">
<resultMap id="BaseResultMap" type="com.ccsens.tall.bean.po.ProPluginPreviewFile">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="plugin_id" jdbcType="BIGINT" property="pluginId" />
<result column="file_id" jdbcType="BIGINT" property="fileId" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="preview_description" jdbcType="VARCHAR" property="previewDescription" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, plugin_id, file_id, created_at, updated_at, rec_status, preview_description
</sql>
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFileExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_pro_plugin_preview_file
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_pro_plugin_preview_file
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_pro_plugin_preview_file
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFileExample">
delete from t_pro_plugin_preview_file
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFile">
insert into t_pro_plugin_preview_file (id, plugin_id, file_id,
created_at, updated_at, rec_status,
preview_description)
values (#{id,jdbcType=BIGINT}, #{pluginId,jdbcType=BIGINT}, #{fileId,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT},
#{previewDescription,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFile">
insert into t_pro_plugin_preview_file
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="pluginId != null">
plugin_id,
</if>
<if test="fileId != null">
file_id,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
<if test="previewDescription != null">
preview_description,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="pluginId != null">
#{pluginId,jdbcType=BIGINT},
</if>
<if test="fileId != null">
#{fileId,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="previewDescription != null">
#{previewDescription,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFileExample" resultType="java.lang.Long">
select count(*) from t_pro_plugin_preview_file
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_pro_plugin_preview_file
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.pluginId != null">
plugin_id = #{record.pluginId,jdbcType=BIGINT},
</if>
<if test="record.fileId != null">
file_id = #{record.fileId,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.previewDescription != null">
preview_description = #{record.previewDescription,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_pro_plugin_preview_file
set id = #{record.id,jdbcType=BIGINT},
plugin_id = #{record.pluginId,jdbcType=BIGINT},
file_id = #{record.fileId,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT},
preview_description = #{record.previewDescription,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFile">
update t_pro_plugin_preview_file
<set>
<if test="pluginId != null">
plugin_id = #{pluginId,jdbcType=BIGINT},
</if>
<if test="fileId != null">
file_id = #{fileId,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="previewDescription != null">
preview_description = #{previewDescription,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.tall.bean.po.ProPluginPreviewFile">
update t_pro_plugin_preview_file
set plugin_id = #{pluginId,jdbcType=BIGINT},
file_id = #{fileId,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT},
preview_description = #{previewDescription,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

80
tall/src/main/resources/mapper_raw/SysPluginMapper.xml

@ -6,10 +6,13 @@
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="description" jdbcType="VARCHAR" property="description" />
<result column="scene" jdbcType="TINYINT" property="scene" />
<result column="show_type" jdbcType="TINYINT" property="showType" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="show_type" jdbcType="TINYINT" property="showType" />
<result column="plugin_icon" jdbcType="BIGINT" property="pluginIcon" />
<result column="plugin_author" jdbcType="BIGINT" property="pluginAuthor" />
<result column="plugin_class" jdbcType="TINYINT" property="pluginClass" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -70,7 +73,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, name, description, scene, created_at, updated_at, rec_status, show_type
id, name, description, scene, show_type, created_at, updated_at, rec_status, plugin_icon,
plugin_author, plugin_class
</sql>
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.SysPluginExample" resultMap="BaseResultMap">
select
@ -104,11 +108,13 @@
</delete>
<insert id="insert" parameterType="com.ccsens.tall.bean.po.SysPlugin">
insert into t_sys_plugin (id, name, description,
scene, created_at, updated_at,
rec_status, show_type)
scene, show_type, created_at,
updated_at, rec_status, plugin_icon,
plugin_author, plugin_class)
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR},
#{scene,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
#{recStatus,jdbcType=TINYINT}, #{showType,jdbcType=TINYINT})
#{scene,jdbcType=TINYINT}, #{showType,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{pluginIcon,jdbcType=BIGINT},
#{pluginAuthor,jdbcType=BIGINT}, #{pluginClass,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.SysPlugin">
insert into t_sys_plugin
@ -125,6 +131,9 @@
<if test="scene != null">
scene,
</if>
<if test="showType != null">
show_type,
</if>
<if test="createdAt != null">
created_at,
</if>
@ -134,8 +143,14 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="showType != null">
show_type,
<if test="pluginIcon != null">
plugin_icon,
</if>
<if test="pluginAuthor != null">
plugin_author,
</if>
<if test="pluginClass != null">
plugin_class,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
@ -151,6 +166,9 @@
<if test="scene != null">
#{scene,jdbcType=TINYINT},
</if>
<if test="showType != null">
#{showType,jdbcType=TINYINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
@ -160,8 +178,14 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="showType != null">
#{showType,jdbcType=TINYINT},
<if test="pluginIcon != null">
#{pluginIcon,jdbcType=BIGINT},
</if>
<if test="pluginAuthor != null">
#{pluginAuthor,jdbcType=BIGINT},
</if>
<if test="pluginClass != null">
#{pluginClass,jdbcType=TINYINT},
</if>
</trim>
</insert>
@ -186,6 +210,9 @@
<if test="record.scene != null">
scene = #{record.scene,jdbcType=TINYINT},
</if>
<if test="record.showType != null">
show_type = #{record.showType,jdbcType=TINYINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
@ -195,8 +222,14 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.showType != null">
show_type = #{record.showType,jdbcType=TINYINT},
<if test="record.pluginIcon != null">
plugin_icon = #{record.pluginIcon,jdbcType=BIGINT},
</if>
<if test="record.pluginAuthor != null">
plugin_author = #{record.pluginAuthor,jdbcType=BIGINT},
</if>
<if test="record.pluginClass != null">
plugin_class = #{record.pluginClass,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
@ -209,10 +242,13 @@
name = #{record.name,jdbcType=VARCHAR},
description = #{record.description,jdbcType=VARCHAR},
scene = #{record.scene,jdbcType=TINYINT},
show_type = #{record.showType,jdbcType=TINYINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT},
show_type = #{record.showType,jdbcType=TINYINT}
plugin_icon = #{record.pluginIcon,jdbcType=BIGINT},
plugin_author = #{record.pluginAuthor,jdbcType=BIGINT},
plugin_class = #{record.pluginClass,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -229,6 +265,9 @@
<if test="scene != null">
scene = #{scene,jdbcType=TINYINT},
</if>
<if test="showType != null">
show_type = #{showType,jdbcType=TINYINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
@ -238,8 +277,14 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="showType != null">
show_type = #{showType,jdbcType=TINYINT},
<if test="pluginIcon != null">
plugin_icon = #{pluginIcon,jdbcType=BIGINT},
</if>
<if test="pluginAuthor != null">
plugin_author = #{pluginAuthor,jdbcType=BIGINT},
</if>
<if test="pluginClass != null">
plugin_class = #{pluginClass,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
@ -249,10 +294,13 @@
set name = #{name,jdbcType=VARCHAR},
description = #{description,jdbcType=VARCHAR},
scene = #{scene,jdbcType=TINYINT},
show_type = #{showType,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT},
show_type = #{showType,jdbcType=TINYINT}
plugin_icon = #{pluginIcon,jdbcType=BIGINT},
plugin_author = #{pluginAuthor,jdbcType=BIGINT},
plugin_class = #{pluginClass,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

6
util/src/main/java/com/ccsens/util/CRCUtil.java

@ -1,7 +1,13 @@
package com.ccsens.util;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CRCUtil {
public static void crc16(byte crc[], byte data[], int index, int len) {
for (int i = 0; i < len; i++) {
log.info("发送数据:{}",Integer.toHexString(data[i] & 0xFF));
}
// 预置16位crc寄存器,初值全部为1
int wcrc = 0xFFFF;
// 定义中间变量

5
util/src/main/java/com/ccsens/util/PropUtil.java

@ -28,6 +28,7 @@ public class PropUtil {
public static String queryVisitUrls;
public static String getWpsFilePath;
public static String accessPath;
public static String filedeal;
@Value("${saveWpsFile:}")
public void setSaveWpsFile(String saveWpsFile) {
@ -99,4 +100,8 @@ public class PropUtil {
public void setAccessPath(String accessPath) {
PropUtil.accessPath = accessPath;
}
@Value("${filedeal:}")
public void setFiledeal(String filedeal) {
PropUtil.filedeal = filedeal;
}
}

28
util/src/main/java/com/ccsens/util/RestTemplateUtil.java

@ -2,6 +2,7 @@ package com.ccsens.util;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
@ -18,6 +19,7 @@ import org.springframework.web.client.RestTemplate;
import javax.annotation.PostConstruct;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.List;
import java.util.Map;
@Slf4j
@ -54,6 +56,7 @@ public class RestTemplateUtil {
log.info("entity:{}",entity);
return JSONObject.parseObject(entity.getBody(), returnClass);
}
public static String postBody(String url, Object params) {
log.info("路径:{}, 参数:{}", url, params);
HttpHeaders httpHeaders = new HttpHeaders();
@ -76,6 +79,31 @@ public class RestTemplateUtil {
log.info("返回:{}", response);
return response.getBody();
}
public static String postBody1(String url, List<? extends Object> params) {
log.info("路径:{}, 参数:{}", url, params);
HttpHeaders httpHeaders = new HttpHeaders();
MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8");
httpHeaders.setContentType(type);
// MultiValueMap<String, Object> map=new LinkedMultiValueMap<>();
// JSONObject json = JSON.parseObject(JSON.toJSONString(params));
HttpEntity<List<? extends Object>> objectHttpEntity = new HttpEntity<>(params,httpHeaders);
URI uri = null;
try {
uri = new URI(url);
}catch (URISyntaxException e) {
log.error("转换路径异常:{}", e);
throw new BaseException(CodeEnum.URL_ERROR);
}
ResponseEntity<String> response = util.restTemplate.postForEntity(uri, objectHttpEntity, String.class);
log.info("返回:{}", response);
return response.getBody();
}
public static String postUrlEncode(String url, Object params) {
log.info("请求路径:{},请求参数:{}", url, params);
MultiValueMap<String, Object> paramMap;

75
util/src/test/java/com/ccsens/util/OtherTest.java

@ -6,11 +6,16 @@ import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.io.File;
import java.io.*;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
@ -120,5 +125,73 @@ public class OtherTest {
}
@Test
public void test8(){
System.out.println(Byte.parseByte("-1") & 0xff);
}
//
// /**
// * 发送https请求
// *
// * @param requestUrl 请求地址
// * @param requestMethod 请求方式(GET、POST)
// * @param postStr 提交的数据
// * @return String(Json)
// */
// @Test
// public void test9(String requestUrl, String requestMethod, String postStr) throws Exception {
//
// requestUrl = "http://localhost:8001/file/query";
// requestMethod = "POST";
// List<Long> files = new ArrayList<>();
// files.add(1321760076465311744L);
//
// postStr = JacksonUtil.beanToJson(files);
//
// StringBuffer buffer = null;
// // 创建SSLContext对象,并使用我们指定的信任管理器初始化
// TrustManager[] tm = {new MyX509TrustManager()};
// SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
// sslContext.init(null, tm, new java.security.SecureRandom());
// // 从上述SSLContext对象中得到SSLSocketFactory对象
// SSLSocketFactory ssf = sslContext.getSocketFactory();
//
// URL url = new URL(requestUrl);
// HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
// conn.setSSLSocketFactory(ssf);
//
// conn.setDoOutput(true);
// conn.setDoInput(true);
// conn.setUseCaches(false);
// // 设置请求方式(GET/POST)
// conn.setRequestMethod(requestMethod);
//
// // 当outputStr不为null时向输出流写数据
// if (null != postStr) {
// OutputStream outputStream = conn.getOutputStream();
// // 注意编码格式
// outputStream.write(postStr.getBytes("UTF-8"));
// outputStream.close();
// }
//
// // 从输入流读取返回内容
// InputStream inputStream = conn.getInputStream();
// InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
// BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// String str = null;
// buffer = new StringBuffer();
// while ((str = bufferedReader.readLine()) != null) {
// buffer.append(str);
// }
//
// // 释放资源
// bufferedReader.close();
// inputStreamReader.close();
// inputStream.close();
// inputStream = null;
// conn.disconnect();
//// return buffer == null ? null : buffer.toString();
// System.out.println( buffer == null ? null : buffer.toString());
// }
}

Loading…
Cancel
Save