脚手架v2

This commit is contained in:
钱涛 2025-05-16 14:19:56 +08:00
parent 16e730e16a
commit ca99d54880
38 changed files with 335 additions and 279 deletions

View File

@ -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.

View File

@ -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;
}
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -1,4 +1,4 @@
package com.weaver.seconddev.page.annotation;
package com.weaver.seconddev.qt.annotation;
import com.weaver.common.component.form.item.WeaFormItemType;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -1,4 +1,4 @@
package com.weaver.seconddev.page.common;
package com.weaver.seconddev.qt.common;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@ -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;

View File

@ -1,4 +1,4 @@
package com.weaver.seconddev.page.common;
package com.weaver.seconddev.qt.common;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -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

View File

@ -1,4 +1,4 @@
package com.weaver.seconddev.page.constant;
package com.weaver.seconddev.qt.constant;
/**
* 常量

View File

@ -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")

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -1,4 +1,4 @@
package com.weaver.seconddev.page.entity.dto;
package com.weaver.seconddev.qt.entity.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -1,4 +1,4 @@
package com.weaver.seconddev.page.enums;
package com.weaver.seconddev.qt.enums;
/**
* 基础枚举

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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> {
}

View File

@ -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();

View File

@ -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());

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;