新增:1、qtask-debug结果渲染为表格

2、mdict 存贮到MySQL, meta 业务预览支持字典渲染验证
     3、其他交互优化
This commit is contained in:
2024-04-05 00:29:43 +08:00
parent 3bbf78f51c
commit 36a30ba2b3
14 changed files with 300 additions and 98 deletions

View File

@@ -5,7 +5,8 @@ import lombok.Getter;
import net.tccn.base.dbq.jdbc.api.DbAccount;
import net.tccn.base.dbq.jdbc.api.DbKit;
import net.tccn.base.dbq.table.Field;
import net.tccn.dict.Dict;
import net.tccn.dict.DictKit;
import net.tccn.dict.MDict;
import net.tccn.meta.*;
import net.tccn.plat.MPlat;
import net.tccn.qtask.TaskKit;
@@ -47,7 +48,7 @@ public class MetaKit extends AbstractService {
@Getter
private static List<QTask> qTasks;
@Getter
private static List<Dict> dicts;
private static List<MDict> dicts;
@Resource(name = "property.dataCate")
protected String dcate = "db";
@@ -68,7 +69,10 @@ public class MetaKit extends AbstractService {
else if (clazz == MTable.class) mTables = metaSource.queryList(MTable.class);
else if (clazz == MService.class) metaServices = metaSource.queryList(MService.class);
else if (clazz == MLink.class) metaLinks = metaSource.queryList(MLink.class);
else if (clazz == Dict.class) dicts = metaSource.queryList(Dict.class);
else if (clazz == MDict.class) {
dicts = metaSource.queryList(MDict.class);
DictKit.cleanCache();
}
/*if (clazz == MUser.class) {
users = metaSource.queryList(MUser.class);
}*/
@@ -83,7 +87,7 @@ public class MetaKit extends AbstractService {
reloadxAsync(MService.class);
reloadxAsync(MTable.class);
reloadxAsync(MLink.class);
// reloadxAsync(Dict.class);
reloadxAsync(MDict.class);
/*metaTables.forEach(x -> {
@@ -278,11 +282,11 @@ public class MetaKit extends AbstractService {
*
* @param plattoken
*/
public static Map<String, List<Dict>> getDictData(String plattoken) {
/*Integer platId = MetaKit.getPlatId(plattoken);
Map<String, List<Dict>> dicts = MetaKit.dicts.stream().filter(x -> x.getPlatid() == (int) platId).collect(Collectors.groupingBy(Dict::getType));
return dicts;*/
return new HashMap<>();
public static Map<String, List<MDict>> getDictData(String plattoken) {
int platid = MetaKit.getPlatId(plattoken);
Map<String, List<MDict>> dicts = MetaKit.dicts.stream().filter(x -> x.getPlatid() == platid).collect(Collectors.groupingBy(MDict::getType));
return dicts;
// return new HashMap<>();
}
// -----------------------------------

View File

@@ -1,25 +0,0 @@
package net.tccn.dict;
import lombok.Getter;
import lombok.Setter;
import net.tccn.base.BaseEntity;
import javax.persistence.Table;
/**
* @author: liangxianyou
*/
@Getter
@Setter
@Table(name = "Dict")
public class Dict extends BaseEntity {
private int dictid;
private String type; // 字典类型
private String value; // 字典值
private String label; // 中文名
private String pValue; // 父级字典值
private String code; //
private Integer platid; // 系统平台id
}

View File

@@ -13,7 +13,7 @@ import java.util.*;
public final class DictKit {
private static Map<String, DictKit> kits = new HashMap<>();
private String plattoken;
private Map<String, List<Dict>> dicts;
private Map<String, List<MDict>> dicts;
private DictKit() {
}
@@ -29,8 +29,8 @@ public final class DictKit {
return dictKit;
}
public synchronized void reload() {
this.dicts = MetaKit.getDictData(plattoken);
public static synchronized void cleanCache() {
kits.clear();
}
// 初始化字典,不同模式下,数据来源不同
@@ -123,20 +123,20 @@ public final class DictKit {
* @param code
* @return
*/
public List<Dict> getDicts(String code) {
public List<MDict> getDicts(String code) {
Objects.requireNonNull(code, "code 不能为空");
return dicts.getOrDefault(code, new ArrayList<>());
}
public Map<String, List<Dict>> getDicts() {
public Map<String, List<MDict>> getDicts() {
return dicts;
}
public String getDictLabel(String code, String value) {
Objects.requireNonNull(code, "code 不能为空");
Objects.requireNonNull(value, "value 不能为空");
List<Dict> dicts = getDicts(code);
Optional<Dict> any = dicts.stream().filter(x -> value.equals(x.getValue())).findAny();
List<MDict> dicts = getDicts(code);
Optional<MDict> any = dicts.stream().filter(x -> value.equals(x.getValue())).findAny();
return any.isPresent() ? any.get().getLabel() : "";
}
@@ -144,8 +144,8 @@ public final class DictKit {
Objects.requireNonNull(code, "code 不能为空");
Objects.requireNonNull(label, "label 不能为空");
List<Dict> dicts = getDicts(code);
Optional<Dict> any = dicts.stream().filter(x -> label.equals(x.getLabel())).findAny();
List<MDict> dicts = getDicts(code);
Optional<MDict> any = dicts.stream().filter(x -> label.equals(x.getLabel())).findAny();
return any.isPresent() ? any.get().getValue() : "";
}

View File

@@ -23,7 +23,7 @@ public class DictService extends BaseService {
DictKit dictKit = DictKit.use(token);
if (!isEmpty(type)) {
List<Dict> dicts = dictKit.getDicts(type);
List<MDict> dicts = dictKit.getDicts(type);
jBean.setBody(dicts);
} else {
Map dicts = dictKit.getDicts();

View File

@@ -0,0 +1,37 @@
package net.tccn.dict;
import lombok.Getter;
import lombok.Setter;
import net.tccn.base.BaseEntity;
import org.redkale.convert.ConvertColumn;
import org.redkale.persistence.Column;
import org.redkale.persistence.Entity;
import org.redkale.persistence.Id;
import org.redkale.persistence.Table;
/**
* @author: liangxianyou
*/
@Getter
@Setter
@Entity
@Table(comment = "字典表")
public class MDict extends BaseEntity {
@Id
@Column(comment = "[主键 ID]自增")
private int dictid;
@Column(comment = "[字典类型]")
private String type = "";
@Column(comment = "[字典值]")
private String value = "";
@Column(comment = "[中文名]")
private String label = "";
@ConvertColumn(ignore = true)
@Column(comment = "[系统平台 ID]")
private int platid;
}

View File

@@ -4,7 +4,6 @@ import lombok.Getter;
import lombok.Setter;
import net.tccn.base.BaseEntity;
import org.redkale.annotation.Comment;
import org.redkale.persistence.Column;
import org.redkale.persistence.Entity;
import org.redkale.persistence.Id;
@@ -25,7 +24,7 @@ public class MPlat extends BaseEntity {
@Comment("[备注信息]")
private String remark;
@Comment("[创建时间]")
/*@Comment("[创建时间]")
@Column(updatable = false)
private Long createtime;
private Long createtime;*/
}