脚手架v2
This commit is contained in:
parent
16e730e16a
commit
ca99d54880
|
|
@ -31,7 +31,7 @@ configure(allprojects) { project ->
|
|||
}
|
||||
|
||||
jar {
|
||||
// apply plugin:'war'
|
||||
apply plugin:'war'
|
||||
from sourceSets.main.allJava
|
||||
manifest {
|
||||
attributes 'weaver-ecode-seconddev-id': rootProject.group + '-' + rootProject.name,
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,203 +0,0 @@
|
|||
package com.weaver.seconddev.page.util;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.weaver.datasource.utils.rest.CommonRestService;
|
||||
import com.weaver.ebuilder.datasource.api.entity.ExecuteSqlEntity;
|
||||
import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity;
|
||||
import com.weaver.ebuilder.datasource.api.enums.SourceType;
|
||||
import com.weaver.ebuilder.datasource.api.enums.SqlParamType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DataSetUtil {
|
||||
@Autowired
|
||||
private CommonRestService commonRestService;
|
||||
|
||||
public static String base64(String sql) {
|
||||
return Base64.encode(sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据数据库类型 找到对应数据库
|
||||
*
|
||||
* @param sourceType sourceType 枚举类
|
||||
* ETEAMS :数据仓库
|
||||
* FORM: ebuilder表单
|
||||
* LOGIC: 各模块提供业务数据(逻辑表)
|
||||
* EXTERNAL: 外部数据源
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> getDataGroups(String sourceType) {
|
||||
try {
|
||||
//拼接参数
|
||||
MultiValueMap<String, Object> valueMap = new LinkedMultiValueMap<>();
|
||||
valueMap.add("sourceType", sourceType);
|
||||
|
||||
return commonRestService.postForObject("/sapi/datasource/ds/group", MediaType.APPLICATION_FORM_URLENCODED, Map.class, valueMap);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw e;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行服务内部sql:/sapi/secondev/ds/executeSql
|
||||
* sourceType :LOGIC
|
||||
* groupId : weaver-ebuilder-app-service 可以通过group接口获取
|
||||
* sql : select * from ebda_app limit 10
|
||||
* @param sourceType LOGIC: 各模块提供业务数据(逻辑表)
|
||||
* @param groupId
|
||||
* @param sql
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> executeLogicSql(SourceType sourceType, String groupId, String sql) {
|
||||
//拼接参数
|
||||
Map<String, Object> valueMap = new HashMap<>();
|
||||
valueMap.put("sourceType", sourceType);
|
||||
valueMap.put("groupId", groupId);
|
||||
//sql select * from table where tenant_key = '租户key' and delete_dype = 0 and id in (1,2,3)
|
||||
valueMap.put("sql", base64(sql));
|
||||
|
||||
try {
|
||||
return commonRestService.getForObject("/sapi/secondev/ds/executeSql", valueMap, MediaType.APPLICATION_FORM_URLENCODED, Map.class);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行外部数据库sql: /sapi/datasearch/external/data/executeSql
|
||||
* sourceType : EXTERNAL: 外部数据源
|
||||
* groupId : 842668710322556928L 通过group接口获取数据加工内配置的连接id
|
||||
* sql : select * from ebda_app limit 10
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> executeExternalSql(SourceType sourceType, String groupId, String sql, List<SqlParamEntity> sqlParams) {
|
||||
//执行sql 参数sourceType groupId sql
|
||||
ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity();
|
||||
executeSqlEntity.setSql(base64(sql));
|
||||
executeSqlEntity.setGroupId(groupId);
|
||||
executeSqlEntity.setSourceType(sourceType);
|
||||
|
||||
//若通过占位符方式查询外部数据库,需增加此参数
|
||||
//占位符list 的顺序 要与 sql 的?占位符顺序一致
|
||||
if (sqlParams != null && !sqlParams.isEmpty()) {
|
||||
executeSqlEntity.setParams(sqlParams);
|
||||
}
|
||||
|
||||
//拼接参数
|
||||
Map<String, Object> valueMap = new HashMap<>();
|
||||
valueMap.put("params", JSONUtil.toJsonStr(executeSqlEntity));
|
||||
|
||||
try {
|
||||
return commonRestService.postForForm("/sapi/datasearch/external/data/executeSql", Map.class, valueMap);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建占位符参数
|
||||
* 注意:list的参数顺序 必须要与 sql内的占位符参数顺序一致
|
||||
* 此案例构建的json字符串 是提供给sql:select * from table where tenant_key = ? and delete_dype = ? and id in (?, ?, ?) 使用
|
||||
* @return
|
||||
*/
|
||||
public List<SqlParamEntity> getSqlParams() {
|
||||
List<SqlParamEntity> sqlParams = new ArrayList<>();
|
||||
|
||||
SqlParamEntity sqlParam1 = new SqlParamEntity();
|
||||
sqlParam1.setParamType(SqlParamType.VARCHAR);
|
||||
sqlParam1.setValue("thsv5s4n2c");
|
||||
sqlParams.add(sqlParam1);
|
||||
|
||||
SqlParamEntity sqlParam2 = new SqlParamEntity();
|
||||
sqlParam2.setParamType(SqlParamType.INTEGER);
|
||||
sqlParam2.setValue("0");
|
||||
sqlParams.add(sqlParam2);
|
||||
|
||||
List<Long> ids = new ArrayList<>();
|
||||
ids.add(1054407582048280585L);
|
||||
ids.add(1054407345976074241L);
|
||||
ids.add(1054406667262189570L);
|
||||
for (Long id : ids) {
|
||||
SqlParamEntity sqlParam3 = new SqlParamEntity();
|
||||
sqlParam3.setParamType(SqlParamType.LONG);
|
||||
sqlParam3.setValue(String.valueOf(id));
|
||||
sqlParams.add(sqlParam3);
|
||||
}
|
||||
|
||||
return sqlParams;
|
||||
}
|
||||
|
||||
//1201基线后支持的接口---------------------------------------------------
|
||||
/**
|
||||
* 1201基线后支持的聚合执行接口
|
||||
* LOGIC:支持普通sql与预编译sql执行,支持带事务执行
|
||||
* EXTERNAL:支持普通sql与预编译sql执行,不支持带事务执行
|
||||
* @param sourceType 连接类型
|
||||
* @param groupId 连接id
|
||||
* @param sql sql语句
|
||||
* @param sqlParams 预编译sql参数
|
||||
* @param transId 事务id
|
||||
* @param startTrans 是否开启事务
|
||||
* @param commit 是否提交事务
|
||||
* @param rollback 是否回滚事务
|
||||
*/
|
||||
public Map<String, Object> executeSqlWithTrans(SourceType sourceType, String groupId, String sql, List<SqlParamEntity> sqlParams, String transId, Boolean startTrans, Boolean commit, Boolean rollback) {
|
||||
//执行sql 参数sourceType groupId sql
|
||||
ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity();
|
||||
executeSqlEntity.setSql(base64(sql));
|
||||
executeSqlEntity.setGroupId(groupId);
|
||||
executeSqlEntity.setSourceType(sourceType);
|
||||
|
||||
//若通过占位符方式查询外部数据库,需增加此参数
|
||||
//占位符list 的顺序 要与 sql 的?占位符顺序一致
|
||||
if (sqlParams != null && !sqlParams.isEmpty()) {
|
||||
executeSqlEntity.setParams(sqlParams);
|
||||
}
|
||||
//设置事务id
|
||||
if (transId != null && !transId.isEmpty()) {
|
||||
executeSqlEntity.setTransactionId(transId);
|
||||
}
|
||||
//是否开启事务
|
||||
if (startTrans != null && startTrans) {
|
||||
executeSqlEntity.setStartTransaction(true);
|
||||
}
|
||||
//是否提交事务
|
||||
if (commit != null && commit) {
|
||||
executeSqlEntity.setCommitTransaction(true);
|
||||
}
|
||||
//是否回滚事务
|
||||
if (rollback != null && rollback) {
|
||||
executeSqlEntity.setRollbackTransaction(true);
|
||||
}
|
||||
|
||||
//拼接参数
|
||||
Map<String, Object> valueMap = new HashMap<>();
|
||||
valueMap.put("entity", JSONUtil.toJsonStr(executeSqlEntity));
|
||||
|
||||
try {
|
||||
return commonRestService.postForForm("/sapi/secondev/ds/executeSqlAll", Map.class, valueMap);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.action;
|
||||
package com.weaver.seconddev.qt.action;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import com.weaver.common.component.form.item.WeaFormItemType;
|
||||
import com.weaver.seconddev.page.enums.BaseEnum;
|
||||
import com.weaver.seconddev.qt.enums.BaseEnum;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import com.weaver.common.component.form.item.WeaFormItemType;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import com.weaver.common.component.search.item.WeaSearchConditionItemType;
|
||||
import com.weaver.seconddev.page.enums.BaseEnum;
|
||||
import com.weaver.seconddev.qt.enums.BaseEnum;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import com.weaver.common.component.table.type.WeaTableTypeEnum;
|
||||
import com.weaver.seconddev.page.constant.Constant;
|
||||
import com.weaver.seconddev.qt.constant.Constant;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.annotation;
|
||||
package com.weaver.seconddev.qt.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.browser;
|
||||
package com.weaver.seconddev.qt.browser;
|
||||
|
||||
import com.weaver.common.component.browser.entity.BrowserEntity;
|
||||
import com.weaver.common.component.browser.entity.BrowserParam;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.common;
|
||||
package com.weaver.seconddev.qt.common;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.common;
|
||||
package com.weaver.seconddev.qt.common;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.common;
|
||||
package com.weaver.seconddev.qt.common;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.config;
|
||||
package com.weaver.seconddev.qt.config;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
|
|
@ -9,10 +9,10 @@ import com.weaver.common.component.browser.entity.BrowserEntity;
|
|||
import com.weaver.common.component.browser.entity.WeaBrowserBaseBean;
|
||||
import com.weaver.common.component.browser.service.AbstractWeaBrowserBaseService;
|
||||
import com.weaver.common.component.table.page.Page;
|
||||
import com.weaver.seconddev.page.constant.Constant;
|
||||
import com.weaver.seconddev.page.entity.dto.OrderTypeListDTO;
|
||||
import com.weaver.seconddev.page.entity.param.OrderTypeQueryParam;
|
||||
import com.weaver.seconddev.page.service.DemoService;
|
||||
import com.weaver.seconddev.qt.constant.Constant;
|
||||
import com.weaver.seconddev.qt.entity.dto.OrderTypeListDTO;
|
||||
import com.weaver.seconddev.qt.entity.param.OrderTypeQueryParam;
|
||||
import com.weaver.seconddev.qt.service.PageDemoService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -34,7 +34,7 @@ import java.util.stream.Collectors;
|
|||
public class OrderTypeBrowser extends AbstractWeaBrowserBaseService {
|
||||
|
||||
@Autowired
|
||||
private DemoService demoService;
|
||||
private PageDemoService demoService;
|
||||
|
||||
/**
|
||||
* @param params
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.constant;
|
||||
package com.weaver.seconddev.qt.constant;
|
||||
|
||||
/**
|
||||
* 常量
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
package com.weaver.seconddev.page.controller;
|
||||
package com.weaver.seconddev.qt.controller;
|
||||
|
||||
import com.weaver.common.authority.annotation.WeaPermission;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.common.component.search.WeaSearchCondition;
|
||||
import com.weaver.common.component.table.WeaTable;
|
||||
import com.weaver.seconddev.page.entity.dto.DemoListDTO;
|
||||
import com.weaver.seconddev.page.entity.param.DemoQueryParam;
|
||||
import com.weaver.seconddev.page.service.DemoService;
|
||||
import com.weaver.seconddev.qt.entity.dto.DemoListDTO;
|
||||
import com.weaver.seconddev.qt.entity.param.DemoQueryParam;
|
||||
import com.weaver.seconddev.qt.service.PageDemoService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -14,10 +14,10 @@ import org.springframework.web.bind.annotation.*;
|
|||
@RestController
|
||||
@RequestMapping("/api/secondev/page/demo")
|
||||
@WeaPermission(publicPermission = true)
|
||||
public class DemoController {
|
||||
public class PageDemoController {
|
||||
|
||||
@Autowired
|
||||
private DemoService demoService;
|
||||
private PageDemoService demoService;
|
||||
|
||||
|
||||
@GetMapping("/getSearchCondition")
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
package com.weaver.seconddev.page.entity.dto;
|
||||
package com.weaver.seconddev.qt.entity.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.weaver.common.component.form.item.WeaFormItemType;
|
||||
import com.weaver.seconddev.page.annotation.Form;
|
||||
import com.weaver.seconddev.page.annotation.FormItem;
|
||||
import com.weaver.seconddev.page.annotation.TableColumn;
|
||||
import com.weaver.seconddev.page.common.BaseDTO;
|
||||
import com.weaver.seconddev.page.constant.Constant;
|
||||
import com.weaver.seconddev.qt.annotation.Form;
|
||||
import com.weaver.seconddev.qt.annotation.FormItem;
|
||||
import com.weaver.seconddev.qt.annotation.TableColumn;
|
||||
import com.weaver.seconddev.qt.common.BaseDTO;
|
||||
import com.weaver.seconddev.qt.constant.Constant;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.weaver.seconddev.page.entity.dto;
|
||||
package com.weaver.seconddev.qt.entity.dto;
|
||||
|
||||
import com.weaver.common.component.table.type.WeaTableTypeEnum;
|
||||
import com.weaver.seconddev.page.annotation.Table;
|
||||
import com.weaver.seconddev.page.annotation.TableColumn;
|
||||
import com.weaver.seconddev.page.annotation.TableOperate;
|
||||
import com.weaver.seconddev.qt.annotation.Table;
|
||||
import com.weaver.seconddev.qt.annotation.TableColumn;
|
||||
import com.weaver.seconddev.qt.annotation.TableOperate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.weaver.seconddev.page.entity.dto;
|
||||
package com.weaver.seconddev.qt.entity.dto;
|
||||
|
||||
import com.weaver.common.component.search.item.WeaSearchConditionItemType;
|
||||
import com.weaver.seconddev.page.annotation.SearchCondition;
|
||||
import com.weaver.seconddev.page.annotation.SearchConditionItem;
|
||||
import com.weaver.seconddev.page.constant.Constant;
|
||||
import com.weaver.seconddev.qt.annotation.SearchCondition;
|
||||
import com.weaver.seconddev.qt.annotation.SearchConditionItem;
|
||||
import com.weaver.seconddev.qt.constant.Constant;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.entity.dto;
|
||||
package com.weaver.seconddev.qt.entity.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.entity.param;
|
||||
package com.weaver.seconddev.qt.entity.param;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.entity.param;
|
||||
package com.weaver.seconddev.qt.entity.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
package com.weaver.seconddev.qt.entity.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* demo PO
|
||||
* <p>Copyright: Copyright (c) 2024</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@TableName("uf_gdjcxx")
|
||||
public class DemoPO {
|
||||
|
||||
private Long id;
|
||||
private Long formDataId;
|
||||
private Double dataIndex;
|
||||
private Date createTime;
|
||||
private Date updateTime;
|
||||
private String tenantKey;
|
||||
private Byte isDelete;
|
||||
private Long creator;
|
||||
private Long updater;
|
||||
private Byte deleteType;
|
||||
private Byte ftStatus;
|
||||
private String name;
|
||||
private Byte isFlow;
|
||||
private Long flowId;
|
||||
private Byte dataStatus;
|
||||
private String currentStep;
|
||||
private String flowStatus;
|
||||
private Long isTop;
|
||||
private Long classification;
|
||||
private String classificationExpire;
|
||||
private Byte dnFirst;
|
||||
private Long multiPathId;
|
||||
private Long multiTaskId;
|
||||
private String flowSystemNumber;
|
||||
private Long ebWorkflowId;
|
||||
private Long addBatchId;
|
||||
private Long updateBatchId;
|
||||
|
||||
private String bm;
|
||||
private String cbr;
|
||||
private String wtms;
|
||||
private String fqr;
|
||||
private String wd;
|
||||
private String cjrq;
|
||||
private String bt;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.enums;
|
||||
package com.weaver.seconddev.qt.enums;
|
||||
|
||||
/**
|
||||
* 基础枚举
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.weaver.seconddev.qt.enums;
|
||||
|
||||
public enum SQLStatusEnum implements BaseEnum<String> {
|
||||
OK("OK", "成功", 0),
|
||||
FAIL("FAIL", "失败", 0);
|
||||
|
||||
private String value;
|
||||
|
||||
private String defaultLabel;
|
||||
|
||||
private int labelId;
|
||||
|
||||
|
||||
SQLStatusEnum(String value, String defaultLabel, int labelId) {
|
||||
this.value = value;
|
||||
this.defaultLabel = defaultLabel;
|
||||
this.labelId = labelId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getLabelId() {
|
||||
return labelId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultLabel() {
|
||||
return defaultLabel;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.weaver.seconddev.qt.exception;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 业务异常
|
||||
* <p>Copyright: Copyright (c) 2024</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
public class BusinessRunTimeException extends RuntimeException {
|
||||
|
||||
public BusinessRunTimeException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.weaver.seconddev.qt.exception;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* sql执行异常
|
||||
* <p>Copyright: Copyright (c) 2024</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
public class SqlRunTimeException extends RuntimeException {
|
||||
public SqlRunTimeException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
package com.weaver.seconddev.qt.handler;
|
||||
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.seconddev.qt.exception.BusinessRunTimeException;
|
||||
import com.weaver.seconddev.qt.exception.SqlRunTimeException;
|
||||
import com.weaver.seconddev.qt.util.I18nUtil;
|
||||
import com.weaver.teams.security.context.TenantContext;
|
||||
import com.weaver.teams.security.context.UserContext;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.validation.ObjectError;
|
||||
import org.springframework.web.bind.MethodArgumentNotValidException;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Optional;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* 全局异常处理
|
||||
* <p>Copyright: Copyright (c) 2024</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@ControllerAdvice(value = "com.weaver.seconddev.qt.controller")
|
||||
public class GlobalExceptionHandler {
|
||||
|
||||
/**
|
||||
* 处理参数校验异常
|
||||
*
|
||||
* @param e 参数校验异常
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@ExceptionHandler(value = MethodArgumentNotValidException.class)
|
||||
public WeaResult<String> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
|
||||
String tenantKey = TenantContext.getCurrentTenantKey();
|
||||
Long employeeId = UserContext.getCurrentEmployeeId();
|
||||
|
||||
Pattern numberPattern = Pattern.compile("^LABEL:([0-9]+)$");
|
||||
StringBuilder errMsg = new StringBuilder();
|
||||
for (ObjectError error : e.getBindingResult().getAllErrors()) {
|
||||
Matcher matcher = numberPattern.matcher(Optional.ofNullable(error.getDefaultMessage()).orElse(StringUtils.EMPTY));
|
||||
if (matcher.find()) {
|
||||
errMsg.append(" ");
|
||||
errMsg.append(I18nUtil.getI18nLabel(tenantKey, employeeId, Integer.parseInt(matcher.group(1)), error.getDefaultMessage()));
|
||||
} else {
|
||||
errMsg.append(error.getDefaultMessage());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isEmpty(errMsg.toString())) {
|
||||
return WeaResult.fail(I18nUtil.getI18nLabel(tenantKey, employeeId, 0, "系统错误,请联系管理员"), e);
|
||||
}
|
||||
return WeaResult.fail(errMsg.toString(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理业务异常
|
||||
*
|
||||
* @param e 业务异常
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@ExceptionHandler(value = BusinessRunTimeException.class)
|
||||
public WeaResult<String> handleBusinessRunTimeException(BusinessRunTimeException e) {
|
||||
return WeaResult.fail(e.getMessage(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理业务异常
|
||||
*
|
||||
* @param e 业务异常
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@ExceptionHandler(value = SqlRunTimeException.class)
|
||||
public WeaResult<String> handleSqlRuntimeException(SqlRunTimeException e) {
|
||||
return WeaResult.fail(e.getMessage(), true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理未知异常
|
||||
*
|
||||
* @param e 异常信息
|
||||
* @param request 请求
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@ExceptionHandler(value = Exception.class)
|
||||
public WeaResult<String> handleException(Exception e, HttpServletRequest request) {
|
||||
String tenantKey = TenantContext.getCurrentTenantKey();
|
||||
Long employeeId = UserContext.getCurrentEmployeeId();
|
||||
// 打印异常信息
|
||||
log.warn("tenantKey: {}, employeeId: {}, uri: {}", tenantKey, employeeId, request.getRequestURI(), e);
|
||||
// 返回给前端默认异常信息
|
||||
return WeaResult.fail(I18nUtil.getI18nLabel(tenantKey, employeeId, 0, "系统错误,请联系管理员"), e);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.weaver.seconddev.qt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.weaver.seconddev.qt.entity.po.DemoPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
||||
@Mapper
|
||||
public interface DemoMapper extends BaseMapper<DemoPO> {
|
||||
|
||||
}
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
package com.weaver.seconddev.page.service;
|
||||
package com.weaver.seconddev.qt.service;
|
||||
|
||||
import com.weaver.common.component.form.WeaForm;
|
||||
import com.weaver.common.component.search.WeaSearchCondition;
|
||||
import com.weaver.common.component.table.WeaTable;
|
||||
import com.weaver.common.component.table.page.Page;
|
||||
import com.weaver.seconddev.page.entity.dto.DemoListDTO;
|
||||
import com.weaver.seconddev.page.entity.dto.OrderTypeListDTO;
|
||||
import com.weaver.seconddev.page.entity.param.DemoQueryParam;
|
||||
import com.weaver.seconddev.page.entity.param.OrderTypeQueryParam;
|
||||
import com.weaver.seconddev.qt.entity.dto.DemoListDTO;
|
||||
import com.weaver.seconddev.qt.entity.dto.OrderTypeListDTO;
|
||||
import com.weaver.seconddev.qt.entity.param.DemoQueryParam;
|
||||
import com.weaver.seconddev.qt.entity.param.OrderTypeQueryParam;
|
||||
|
||||
public interface DemoService {
|
||||
public interface PageDemoService {
|
||||
|
||||
WeaSearchCondition getSearchCondition();
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.service.impl;
|
||||
package com.weaver.seconddev.qt.service.impl;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.weaver.common.component.form.WeaForm;
|
||||
|
|
@ -9,17 +9,19 @@ import com.weaver.ebuilder.datasource.api.entity.ExecuteSqlEntity;
|
|||
import com.weaver.ebuilder.datasource.api.enums.SourceType;
|
||||
import com.weaver.ebuilder.datasource.api.service.DataSetService;
|
||||
import com.weaver.framework.spring.annotation.AopClass;
|
||||
import com.weaver.seconddev.page.common.SqlResponse;
|
||||
import com.weaver.seconddev.page.entity.dto.DemoFormDTO;
|
||||
import com.weaver.seconddev.page.entity.dto.DemoListDTO;
|
||||
import com.weaver.seconddev.page.entity.dto.DemoSearchConditionDTO;
|
||||
import com.weaver.seconddev.page.entity.dto.OrderTypeListDTO;
|
||||
import com.weaver.seconddev.page.entity.param.DemoQueryParam;
|
||||
import com.weaver.seconddev.page.entity.param.OrderTypeQueryParam;
|
||||
import com.weaver.seconddev.page.service.DemoService;
|
||||
import com.weaver.seconddev.page.util.EntityUtil;
|
||||
import com.weaver.seconddev.page.util.FormatUtil;
|
||||
import com.weaver.seconddev.page.util.PageUtil;
|
||||
import com.weaver.seconddev.qt.common.SqlResponse;
|
||||
import com.weaver.seconddev.qt.entity.dto.DemoFormDTO;
|
||||
import com.weaver.seconddev.qt.entity.dto.DemoListDTO;
|
||||
import com.weaver.seconddev.qt.entity.dto.DemoSearchConditionDTO;
|
||||
import com.weaver.seconddev.qt.entity.dto.OrderTypeListDTO;
|
||||
import com.weaver.seconddev.qt.entity.param.DemoQueryParam;
|
||||
import com.weaver.seconddev.qt.entity.param.OrderTypeQueryParam;
|
||||
import com.weaver.seconddev.qt.enums.SQLStatusEnum;
|
||||
import com.weaver.seconddev.qt.exception.SqlRunTimeException;
|
||||
import com.weaver.seconddev.qt.service.PageDemoService;
|
||||
import com.weaver.seconddev.qt.util.EntityUtil;
|
||||
import com.weaver.seconddev.qt.util.FormatUtil;
|
||||
import com.weaver.seconddev.qt.util.PageUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -28,7 +30,7 @@ import java.util.Map;
|
|||
|
||||
@Service
|
||||
@AopClass
|
||||
public class DemoServiceImpl implements DemoService {
|
||||
public class PageDemoServiceImpl implements PageDemoService {
|
||||
|
||||
@Autowired
|
||||
private DataSetService dataSetService;
|
||||
|
|
@ -47,7 +49,10 @@ public class DemoServiceImpl implements DemoService {
|
|||
String sql = "select t.id,t.bt,cjrq,fqr,bm,wtms,wd,e.username,d.shortname as bmName from uf_gdjcxx t " +
|
||||
"LEFT JOIN eteams.EMPLOYEE e ON e.id = t.fqr " +
|
||||
"LEFT JOIN eteams.DEPARTMENT d ON d.id = e.department " +
|
||||
"where e.TENANT_KEY = 'tma3ktp1q7' ";
|
||||
"where t.TENANT_KEY = 'tma3ktp1q7' ";
|
||||
|
||||
sql = "update uf_gdjcxx t set bt='123' " + "where t.TENANT_KEY = 'tma3ktp1q7' ";
|
||||
|
||||
ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity();
|
||||
executeSqlEntity.setSql(Base64.encode(sql));
|
||||
executeSqlEntity.setGroupId("weaver-ebuilder-app-service");
|
||||
|
|
@ -55,6 +60,9 @@ public class DemoServiceImpl implements DemoService {
|
|||
|
||||
Map<String, Object> map = dataSetService.executeSql(executeSqlEntity);
|
||||
SqlResponse<DemoListDTO> sqlResponse = EntityUtil.map2Entity(map, DemoListDTO.class);
|
||||
if (SQLStatusEnum.FAIL.getValue().equals(sqlResponse.getStatus())) {
|
||||
throw new SqlRunTimeException(sqlResponse.getMessage());
|
||||
}
|
||||
List<DemoListDTO> list = sqlResponse.getRecords();
|
||||
|
||||
Page<DemoListDTO> page = PageUtil.buildPage(list, queryParam.getCurrent(), queryParam.getPageSize());
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.weaver.seconddev.page.util;
|
||||
package com.weaver.seconddev.qt.util;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.weaver.seconddev.page.common.SqlResponse;
|
||||
import com.weaver.seconddev.qt.common.SqlResponse;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.util;
|
||||
package com.weaver.seconddev.qt.util;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Lists;
|
||||
|
|
@ -31,9 +31,9 @@ import com.weaver.common.component.table.type.WeaTableTypeEnum;
|
|||
import com.weaver.common.i18n.tool.util.I18nContextUtil;
|
||||
import com.weaver.framework.rpc.context.impl.TenantRpcContext;
|
||||
import com.weaver.framework.util.JsonUtil;
|
||||
import com.weaver.seconddev.page.annotation.*;
|
||||
import com.weaver.seconddev.page.constant.Constant;
|
||||
import com.weaver.seconddev.page.enums.BaseEnum;
|
||||
import com.weaver.seconddev.qt.annotation.*;
|
||||
import com.weaver.seconddev.qt.constant.Constant;
|
||||
import com.weaver.seconddev.qt.enums.BaseEnum;
|
||||
import com.weaver.teams.security.context.TenantContext;
|
||||
import com.weaver.teams.security.context.UserContext;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.util;
|
||||
package com.weaver.seconddev.qt.util;
|
||||
|
||||
import com.weaver.common.i18n.label.SystemEnv;
|
||||
import com.weaver.common.i18n.tool.util.I18nLanguageUtil;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.weaver.seconddev.page.util;
|
||||
package com.weaver.seconddev.qt.util;
|
||||
|
||||
import com.weaver.common.component.table.page.Page;
|
||||
import com.weaver.common.component.util.CommonPageUtil;
|
||||
Loading…
Reference in New Issue