first commit
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>jeecg-system-api</artifactId>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<version>3.8.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>jeecg-system-local-api</artifactId>
|
||||
|
||||
</project>
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
package org.jeecg.common.bpm.api;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.vo.DictModel;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/**
|
||||
* 流程接口
|
||||
*
|
||||
* @author scott
|
||||
*/
|
||||
public interface IBpmBaseExtApi {
|
||||
/**
|
||||
* 23. 流程提交接口(online,自定义开发)
|
||||
* @param flowCode 流程业务关联 例如:joa_leave_01
|
||||
* @param id 表单业务数据data id
|
||||
* @param formUrl 流程审批时附件页面默认展示的PC端表单组件(地址)
|
||||
* @param formUrlMobile 流程审批时附件页面默认展示的移动端表单组件(地址)
|
||||
* @param username 流程发起人账号
|
||||
* @param jsonData Json串,额外扩展的流程变量值 【非必填】
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
Result<String> startMutilProcess(String flowCode, String id, String formUrl, String formUrlMobile,String username, String jsonData) throws Exception;
|
||||
|
||||
/**
|
||||
* 24. 流程提交接口(自定义表单设计器)
|
||||
* @param flowCode 流程业务关联 例如:joa_leave_01
|
||||
* @param id 表单业务数据data id
|
||||
* @param formUrl 流程审批时附件页面默认展示的PC端表单组件(地址)
|
||||
* @param formUrlMobile 流程审批时附件页面默认展示的移动端表单组件(地址)
|
||||
* @param username 流程发起人账号
|
||||
* @param jsonData Json串,额外扩展的流程变量值 【非必填】
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
Result<String> startDesFormMutilProcess(String flowCode, String id, String formUrl, String formUrlMobile,String username,String jsonData) throws Exception;
|
||||
/**
|
||||
* 25. 保存流程草稿箱接口(自定义开发表单、online表单)
|
||||
* @param flowCode 流程业务关联 例如:joa_leave_01
|
||||
* @param id 表单业务数据data id
|
||||
* @param formUrl 流程审批时附件页面默认展示的PC端表单组件(地址) 【非必填】
|
||||
* @param formUrlMobile 流程审批时附件页面默认展示的移动端表单组件(地址) 【非必填】
|
||||
* @param username 流程发起人账号
|
||||
* @param jsonData Json串,额外扩展的流程变量值 【非必填】
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
Result<String> saveMutilProcessDraft(String flowCode, String id, String formUrl, String formUrlMobile,String username,String jsonData) throws Exception;
|
||||
|
||||
/**
|
||||
* 批量删除应用下的流程
|
||||
*
|
||||
* @param appId 零代码应用ID
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
Boolean batchDeleteProcessByAppId(String appId) throws Exception;
|
||||
|
||||
/**
|
||||
* 批量关闭应用下的流程
|
||||
*
|
||||
* @param appId 零代码应用ID
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
Boolean batchCloseProcessByAppId(String appId) throws Exception;
|
||||
|
||||
/**
|
||||
* 批量激活应用下的流程(打开激活流程,如未发布过则同时发布流程)
|
||||
*
|
||||
* @param appId 零代码应用ID
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public Boolean batchActivateProcessByAppId(String appId) throws Exception;
|
||||
|
||||
}
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
package org.jeecg.common.desform.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.jeecg.common.desform.vo.DesignFormDataVo;
|
||||
import org.jeecg.common.lowapp.model.LowAppCopyMenu;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 表单设计器API接口
|
||||
*
|
||||
* @author sunjianlei
|
||||
*/
|
||||
public interface IDesformBaseApi {
|
||||
|
||||
/**
|
||||
* 通过id获取表单数据
|
||||
*
|
||||
* @param desformCode
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DesignFormDataVo getDataById(String desformCode, String id);
|
||||
|
||||
/**
|
||||
* 通过id获取表单数据 (数据进行翻译)
|
||||
*
|
||||
* @param desformCode
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DesignFormDataVo getTranslateDataById(String desformCode, String id);
|
||||
|
||||
/**
|
||||
* 通过ids批量获取表单数据,多个ID用英文逗号分割
|
||||
*
|
||||
* @param desformCode
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<DesignFormDataVo> getDataByIds(String desformCode, String ids);
|
||||
|
||||
/**
|
||||
* 通过id修改数据
|
||||
*
|
||||
* @param desformCode
|
||||
* @param id 数据ID
|
||||
* @param jsonData 表单数据,要携带id
|
||||
* @return
|
||||
*/
|
||||
boolean updateDataById(String desformCode, String id, JSONObject jsonData);
|
||||
|
||||
/**
|
||||
* 通过ids批量删除表单数据,多个ID用英文逗号分割(真实删除)
|
||||
*
|
||||
* @param desformCode
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
boolean deleteDataById(String desformCode, String ids);
|
||||
|
||||
/**
|
||||
* 后台翻译多条数据
|
||||
* 翻译数据,封装翻译结果
|
||||
*
|
||||
* @param desformCode 表单编码
|
||||
* @param dataList 数据列表
|
||||
* @return
|
||||
*/
|
||||
JSONObject translateListDataByJsonArray(String desformCode, JSONArray dataList);
|
||||
|
||||
/**
|
||||
* 后台翻译多条数据
|
||||
* 翻译数据,封装翻译结果
|
||||
*
|
||||
* @param desformCode 表单编码
|
||||
* @param onlyFields 仅翻译的字段,逗号分割。不传则翻译所有字段
|
||||
* @param dataList 数据列表
|
||||
* @return
|
||||
*/
|
||||
JSONObject translateListDataByJsonArray2(String desformCode, String onlyFields, JSONArray dataList);
|
||||
|
||||
/**
|
||||
* 删除表单
|
||||
* @param designFormCode
|
||||
* @return
|
||||
*/
|
||||
boolean deleteDesignForm(String designFormCode);
|
||||
|
||||
/**
|
||||
* 复制 表单
|
||||
* @param lowAppCopyMenu
|
||||
* 用到属性如下:
|
||||
* originFormCode 表单设计器 原来的编码、
|
||||
* isIdForm 表单设计器,是否是采用ID访问、
|
||||
* copyLevel app级别的复制/menu级别的复制、
|
||||
* backupKey 备份标识、
|
||||
* appId 应用ID(复制时传的是复制后的 应用ID)
|
||||
* @return
|
||||
*/
|
||||
LowAppCopyMenu copyDesignForm(LowAppCopyMenu lowAppCopyMenu);
|
||||
|
||||
/**
|
||||
* 复制app时,复制表单设计器json,需要修改json中的关联记录的编码,子表的编码
|
||||
* @param lowAppCopyMenu
|
||||
* 用到属性如下:
|
||||
* formCodeMapping 表单复制 原表单编码--> 新表单编码的映射关系
|
||||
*/
|
||||
void updateDesignFormJson(LowAppCopyMenu lowAppCopyMenu);
|
||||
|
||||
/**
|
||||
* 从备份还原app
|
||||
* @param lowAppCopyMenu
|
||||
* 用到属性如下:
|
||||
* originFormCode 表单设计器 原来的编码、
|
||||
* isIdForm 表单设计器,是否是采用ID访问、
|
||||
* backupKey 备份标识
|
||||
*/
|
||||
void coverDesignForm(LowAppCopyMenu lowAppCopyMenu);
|
||||
|
||||
/**
|
||||
* 通过表单编码获取表单视图列表
|
||||
*
|
||||
* @param desformCode 表单设计器编码
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> getViewListByCode(String desformCode);
|
||||
|
||||
/**
|
||||
* 修改自定义按钮的流程id
|
||||
* @param lowAppCopyMenu
|
||||
* 用到属性如下:
|
||||
* designFormCodeList 一次处理多个表单编码
|
||||
* processIdMapping 流程复制 原ID--> 新ID的映射关系
|
||||
*/
|
||||
void updateLowAppButtonProcessId(LowAppCopyMenu lowAppCopyMenu);
|
||||
|
||||
/**
|
||||
* 复制 列表上方图表配置的 chartId
|
||||
* @param lowAppCopyMenu
|
||||
* 用到属性如下:
|
||||
* formCodeMapping 表单复制 原表单编码--> 新表单编码的映射关系
|
||||
* formIdMapping 表单复制 原表单ID--> 新表单ID的映射关系
|
||||
* dragIdMapping 仪表盘复制 原ID--> 新ID的映射关系
|
||||
* viewIdMapping 视图复制 原ID--> 新ID的映射关系
|
||||
* processIdMapping 流程复制 原ID--> 新ID的映射关系
|
||||
*/
|
||||
void copyLowAppChart(LowAppCopyMenu lowAppCopyMenu);
|
||||
|
||||
/**
|
||||
* 删除设计器表单
|
||||
* @param menuUrl
|
||||
* @param deleteMongo
|
||||
*/
|
||||
void deleteDesignFormForAppCopy(String menuUrl, Boolean deleteMongo);
|
||||
|
||||
/**
|
||||
* 关联记录的关联表是其他租户下的,则设置该控件不可用
|
||||
* @date 20230913
|
||||
* @author scott
|
||||
*
|
||||
* @param lowAppCopyMenu
|
||||
*/
|
||||
void batchDisabledOtherTenantLinkRecords(LowAppCopyMenu lowAppCopyMenu);
|
||||
|
||||
}
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
package org.jeecg.common.desform.vo;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import org.bson.json.JsonWriterSettings;
|
||||
import org.jeecg.common.desform.vo.def.BigDecimalVoConverter;
|
||||
import org.jeecg.common.desform.vo.def.DesformVoFields;
|
||||
import org.bson.Document;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 表单设计数据
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2019-05-16
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
public class DesignFormDataVo implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final BigDecimalVoConverter BIG_DECIMAL_CONVERTER = new BigDecimalVoConverter();
|
||||
|
||||
/**
|
||||
* 将MongoDB的数据转换为DesignFormData
|
||||
*
|
||||
* @param document
|
||||
*/
|
||||
public DesignFormDataVo(String desformCode, Document document) {
|
||||
JsonWriterSettings writerSettings = JsonWriterSettings
|
||||
.builder()
|
||||
.decimal128Converter(BIG_DECIMAL_CONVERTER)
|
||||
.build();
|
||||
this.parseDataByJson(desformCode, JSON.parseObject(document.toJson(writerSettings)));
|
||||
}
|
||||
|
||||
public DesignFormDataVo(String desformCode, JSONObject jsonData) {
|
||||
this.parseDataByJson(desformCode, jsonData);
|
||||
}
|
||||
public DesignFormDataVo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private String id;
|
||||
/**
|
||||
* 表单设计ID
|
||||
*/
|
||||
private String desformId;
|
||||
/**
|
||||
* 表单设计编码
|
||||
*/
|
||||
private String desformCode;
|
||||
/**
|
||||
* 表单设计名称
|
||||
*/
|
||||
private String desformName;
|
||||
/**
|
||||
* 表单数据JSON
|
||||
*/
|
||||
private String desformDataJson;
|
||||
/**
|
||||
* 表单设计器原始数据
|
||||
*/
|
||||
private JSONObject desformData;
|
||||
/**
|
||||
* Online表单的Code
|
||||
*/
|
||||
private String onlineFormCode;
|
||||
/**
|
||||
* Online数据表中的id,用于修改
|
||||
*/
|
||||
private String onlineFormDataId;
|
||||
private String bpmStatus;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private java.util.Date createTime;
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private String updateBy;
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private java.util.Date updateTime;
|
||||
|
||||
/** 非持久化:是否触发流程信号 */
|
||||
private boolean isTriggerProcess = true;
|
||||
|
||||
/**
|
||||
* 获取数据JSON字符串
|
||||
*/
|
||||
public String getDesformDataJson() {
|
||||
if (this.desformData == null) {
|
||||
return this.desformDataJson;
|
||||
}
|
||||
return this.desformData.toJSONString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 jsonData 赋值
|
||||
*
|
||||
* @param desformCode
|
||||
* @param jsonData
|
||||
*/
|
||||
private void parseDataByJson(String desformCode, JSONObject jsonData) {
|
||||
this.desformCode = desformCode;
|
||||
this.id = jsonData.getString(DesformVoFields.ID);
|
||||
this.desformId = jsonData.getString(DesformVoFields.DESFORM_ID);
|
||||
this.desformName = jsonData.getString(DesformVoFields.DESFORM_NAME);
|
||||
this.onlineFormCode = jsonData.getString(DesformVoFields.ONLINE_FORM_CODE);
|
||||
this.onlineFormDataId = jsonData.getString(DesformVoFields.ONLINE_FORM_ID);
|
||||
this.bpmStatus = jsonData.getString(DesformVoFields.BPM_STATUS);
|
||||
this.createBy = jsonData.getString(DesformVoFields.CREATE_BY);
|
||||
this.createTime = jsonData.getDate(DesformVoFields.CREATE_TIME);
|
||||
this.updateBy = jsonData.getString(DesformVoFields.UPDATE_BY);
|
||||
this.updateTime = jsonData.getDate(DesformVoFields.UPDATE_TIME);
|
||||
this.desformData = jsonData;
|
||||
}
|
||||
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package org.jeecg.common.desform.vo.def;
|
||||
|
||||
import org.bson.json.Converter;
|
||||
import org.bson.json.StrictJsonWriter;
|
||||
import org.bson.types.Decimal128;
|
||||
|
||||
/**
|
||||
* 将 Decimal128 转换为 BigDecimal
|
||||
*/
|
||||
public class BigDecimalVoConverter implements Converter<Decimal128> {
|
||||
|
||||
@Override
|
||||
public void convert(Decimal128 value, StrictJsonWriter writer) {
|
||||
writer.writeRaw(value.toString());
|
||||
}
|
||||
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package org.jeecg.common.desform.vo.def;
|
||||
|
||||
/**
|
||||
* 表单设计器,MongoDB标准字段
|
||||
*/
|
||||
public interface DesformVoFields {
|
||||
// ID不能去掉前下划线
|
||||
String ID = "_id";
|
||||
String ID_SQL = "id";
|
||||
String DESFORM_ID = "desform_id";
|
||||
String DESFORM_NAME = "desform_name";
|
||||
String ONLINE_FORM_CODE = "online_form_code";
|
||||
String ONLINE_FORM_ID = "online_form_id";
|
||||
String BPM_STATUS = "bpm_status";
|
||||
String CREATE_BY = "create_by";
|
||||
String CREATE_TIME = "create_time";
|
||||
String UPDATE_BY = "update_by";
|
||||
String UPDATE_TIME = "update_time";
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package org.jeecg.common.drag.api;
|
||||
|
||||
import org.jeecg.common.api.dto.DragRelIdsDTO;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 仪表盘API接口
|
||||
* @date 2023/1/9
|
||||
* @author lsq
|
||||
*/
|
||||
public interface IDragBaseApi {
|
||||
|
||||
|
||||
/**
|
||||
* 通过id删除仪表盘
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteDragPage(String id);
|
||||
|
||||
/**
|
||||
* 通过id复制仪表盘
|
||||
*
|
||||
* @param id
|
||||
* @return id
|
||||
*/
|
||||
String copyDragPage(String id,Integer tenantId);
|
||||
|
||||
/**
|
||||
* 备份仪表盘
|
||||
* @param id 仪表盘id
|
||||
* @param backupKey 新的仪表盘id后缀
|
||||
* @return
|
||||
*/
|
||||
String backupsPageCrossApp(String id,String backupKey);
|
||||
/**
|
||||
* 还原仪表盘
|
||||
* @param id 仪表盘id带后缀
|
||||
* @param backupKey 仪表盘id后缀
|
||||
* @return
|
||||
*/
|
||||
void revertPageCrossApp(String id,String backupKey);
|
||||
|
||||
/**
|
||||
* 跨应用复制仪表盘
|
||||
* @param dragRelIdsDTO 映射关系实体
|
||||
* @return
|
||||
*/
|
||||
String copyPageCrossApp(DragRelIdsDTO dragRelIdsDTO);
|
||||
/**
|
||||
* 替换仪表盘中关联id的数据
|
||||
* @param dragRelIdsDTO 映射关系实体
|
||||
* @return
|
||||
*/
|
||||
void replacePageRelIdsCrossApp(DragRelIdsDTO dragRelIdsDTO);
|
||||
|
||||
}
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
package org.jeecg.common.easyoa.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.jeecg.common.constant.enums.FileTypeEnum;
|
||||
import org.jeecg.common.system.vo.SysFilesModel;
|
||||
|
||||
/**
|
||||
* EasyOA 公共API
|
||||
* @author: jeecg-boot
|
||||
*/
|
||||
public interface IEasyOaBaseApi {
|
||||
|
||||
/**
|
||||
* 获取公文发文模板
|
||||
*
|
||||
* @param fileId
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
JSONObject oaOfficialdocOrgancodeGetTemp(String fileId, String code);
|
||||
|
||||
/**
|
||||
* 文号和模板id修改公文模板
|
||||
* @param oaOfficialdocTemp 公文模板id,文号
|
||||
* @return boolean true或false
|
||||
*/
|
||||
boolean oaOfficialdocTempEditByFiledId(JSONObject oaOfficialdocTemp);
|
||||
|
||||
/**
|
||||
* 通过fileId查询所有
|
||||
*
|
||||
* @param filedId
|
||||
* @return
|
||||
*/
|
||||
JSONObject oaOfficialdocTempGetTempByFileId(String filedId);
|
||||
|
||||
/**
|
||||
* 通过fileId修改公文word名称
|
||||
*
|
||||
* @param filedId
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
boolean oaOfficialdocTempUpdateNameByFileId(String filedId, String name);
|
||||
|
||||
/**
|
||||
* 根据wps文件id和机关代字修改模板文件id
|
||||
*
|
||||
* @param wpsId wps文件id
|
||||
* @param fileId 文件id
|
||||
* @param code 机关待字
|
||||
*/
|
||||
void oaOfficialdocUpdateFileId(String wpsId, String fileId, String code);
|
||||
|
||||
/**
|
||||
* 添加文件到知识库
|
||||
* @param sysFilesModel
|
||||
*/
|
||||
void addSysFiles(SysFilesModel sysFilesModel);
|
||||
|
||||
/**
|
||||
* 通过文件路径获取文件id
|
||||
* @param fileId
|
||||
*/
|
||||
String getFileUrl(String fileId);
|
||||
|
||||
/**
|
||||
* 添加公共文件
|
||||
* @param orgName
|
||||
* @param fileType
|
||||
* @param savePath
|
||||
* @param size
|
||||
*/
|
||||
void addSysCommonFile(String orgName, FileTypeEnum fileType, String savePath, long size);
|
||||
|
||||
/**
|
||||
* 根据文件id获取文件
|
||||
* @param fileId
|
||||
* @return
|
||||
*/
|
||||
SysFilesModel getFileById(String fileId);
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package org.jeecg.common.lowapp.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.jeecg.common.lowapp.model.LowAppFormAuthRecordModel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 【低代码应用】API接口
|
||||
*
|
||||
* @author sunjianlei
|
||||
*/
|
||||
public interface ILowAppBaseApi {
|
||||
|
||||
/**
|
||||
* 获取 low app表单的查询 权限信息
|
||||
* @param userId
|
||||
* @param appId
|
||||
* @param designFormCode
|
||||
* @param authType read读取/update编辑/delete删除
|
||||
* @return
|
||||
*/
|
||||
LowAppFormAuthRecordModel getLowAppReadAuth(String userId, String appId, String designFormCode, String authType);
|
||||
|
||||
/**
|
||||
* 获取 low app表单的查询 权限信息
|
||||
*
|
||||
* @param userId
|
||||
* @param appId
|
||||
* @param designFormCode
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> getLowAppFormFieldAllAuth(String userId, String appId, String designFormCode);
|
||||
|
||||
/**
|
||||
* 根据表单ID或表单编码查询菜单(用于兼容新旧版本)
|
||||
*
|
||||
* @param desformId
|
||||
* @param desformCode
|
||||
* @return
|
||||
*/
|
||||
JSONObject getLowAppMenuByDesformIdOrCode(String lowAppId, String desformId, String desformCode);
|
||||
|
||||
}
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
package org.jeecg.common.miniflow;
|
||||
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.desform.vo.DesignFormDataVo;
|
||||
import org.jeecg.common.lowapp.model.LowAppCopyMenu;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 流程启动接口
|
||||
*
|
||||
* @author zyf
|
||||
*/
|
||||
public interface ISignalProcessStartApi {
|
||||
|
||||
/**
|
||||
* 流程发布的时候,批量同步日期触发字段,生成定时job
|
||||
*
|
||||
* 逻辑说明:
|
||||
* 发布流程的时候做一下操作
|
||||
* 1.删除流程所有的,自定义流程定时器配置
|
||||
* 2.查询符合条件的数据,插入定期器配置
|
||||
* 3.删除流程、暂停流程,要不要清理定时器??
|
||||
*
|
||||
* 缺点:一条数据一个定期器,数据太多了
|
||||
*
|
||||
* @param processKey 流程 key
|
||||
* @return
|
||||
*/
|
||||
void batchSyncDateFieldTriggerProcessJob(String processKey) ;
|
||||
|
||||
/**
|
||||
* 纠正定时流程的开始时间
|
||||
* (自定义corn定时规则时,无法指定开始时间,只能手工改下 act_ru_timer_job 的首次执行时间 DUEDATE_)
|
||||
*
|
||||
* @param processKey
|
||||
*/
|
||||
void setTimeTriggerProcessJobStartTime(String processKey) ;
|
||||
|
||||
/**
|
||||
* 信号流程启动
|
||||
* @param action 动作(add/update/delete)
|
||||
* @param dataId 数据ID
|
||||
* @param oldFormData 表单老数据 (非必填,动作为update、delete的时候传递)
|
||||
* @param formKey 表单key
|
||||
* @param applyUserId 发起人
|
||||
* @return
|
||||
*/
|
||||
Result signalStartProcess(String action, String dataId, DesignFormDataVo oldFormData, String formKey, String applyUserId);
|
||||
|
||||
/**
|
||||
* 按钮流程启动
|
||||
* @param processId 流程ID
|
||||
* @param inputParams 流程参数
|
||||
* @param applyUserId 发起人
|
||||
* @param dataId 数据ID
|
||||
* @param formKey 表单code
|
||||
* @return
|
||||
*/
|
||||
Result buttonStartProcess(String processId,String dataId, String formKey, String inputParams, String applyUserId);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 人员事件启动流程
|
||||
*
|
||||
* @param eventType 事件类型(1入职 2离职)
|
||||
* @param loginUser 用户数据对象
|
||||
* @param applyUserId 发起人
|
||||
* @param tenantId 租户ID
|
||||
* @return
|
||||
*/
|
||||
Result userStartProcess(Integer eventType, LoginUser loginUser, String applyUserId,String tenantId);
|
||||
|
||||
/**
|
||||
* 复制low app下的流程信息
|
||||
* @param lowAppCopyMenu
|
||||
* 用到属性如下:
|
||||
* appId 应用ID
|
||||
* newAppId 复制流程信息用到-新的应用ID
|
||||
* formCodeMapping 表单复制 原表单编码--> 新表单编码的映射关系
|
||||
* isCrossTenant 是否跨租户复制流程
|
||||
* @return
|
||||
*/
|
||||
Map<String, String> copyAppProcess(LowAppCopyMenu lowAppCopyMenu, Boolean isCrossTenant);
|
||||
|
||||
/**
|
||||
* 备份low-app的工作流信息
|
||||
* @param appId
|
||||
* @param backupKey
|
||||
*/
|
||||
void backupAppProcess(String appId, String backupKey);
|
||||
|
||||
/**
|
||||
* 还原备份low-app的工作流信息
|
||||
* @param appId
|
||||
* @param backupKey
|
||||
*/
|
||||
void coverAppProcess(String appId, String backupKey);
|
||||
|
||||
/**
|
||||
* 删除流程信息
|
||||
* @param appId
|
||||
*/
|
||||
void deleteAppProcess(String appId);
|
||||
|
||||
}
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
package org.jeecg.common.online.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.jeecg.common.lowapp.model.LowAppFormAuthRecordModel;
|
||||
import org.jeecg.common.system.vo.DictModel;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 表单设计器【Online】翻译API接口
|
||||
*
|
||||
* @author sunjianlei
|
||||
*/
|
||||
public interface IOnlineBaseExtApi {
|
||||
|
||||
/**
|
||||
* 【Online】 表单设计器专用:同步新增
|
||||
* @param tableName 表名
|
||||
* @param jsonObject
|
||||
* @throws Exception
|
||||
* @return String
|
||||
*/
|
||||
String cgformPostCrazyForm(String tableName, JSONObject jsonObject) throws Exception;
|
||||
|
||||
/**
|
||||
* 【Online】 表单设计器专用:同步编辑
|
||||
* @param tableName 表名
|
||||
* @param jsonObject
|
||||
* @throws Exception
|
||||
* @return String
|
||||
*/
|
||||
String cgformPutCrazyForm(String tableName, JSONObject jsonObject) throws Exception;
|
||||
|
||||
/**
|
||||
* online表单删除数据
|
||||
*
|
||||
* @param cgformCode Online表单code
|
||||
* @param dataIds 数据ID,可逗号分割
|
||||
* @return
|
||||
*/
|
||||
String cgformDeleteDataByCode(String cgformCode, String dataIds);
|
||||
|
||||
/**
|
||||
* 通过online表名查询数据,同时查询出子表的数据
|
||||
*
|
||||
* @param tableName online表名
|
||||
* @param dataIds online数据ID
|
||||
* @return
|
||||
*/
|
||||
JSONObject cgformQueryAllDataByTableName(String tableName, String dataIds);
|
||||
|
||||
/**
|
||||
* 对 cgreportGetData 的返回值做优化,封装 DictModel 集合
|
||||
* @param code
|
||||
* @param dictCode
|
||||
* @param dataList
|
||||
* @param dictText 字典文本
|
||||
* @return
|
||||
*/
|
||||
List<DictModel> cgreportGetDataPackage(String code, String dictText, String dictCode, String dataList);
|
||||
|
||||
/**
|
||||
* 【cgreport】通过 head code 获取 sql语句,并执行该语句返回查询数据
|
||||
*
|
||||
* @param code 报表Code,如果没传ID就通过code查
|
||||
* @param forceKey
|
||||
* @param dataList
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> cgreportGetData(String code, String forceKey, String dataList);
|
||||
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package org.jeecg.common.pay.api;
|
||||
|
||||
import org.jeecg.common.system.vo.SysPayVipVo;
|
||||
|
||||
/**
|
||||
* @Description: 支付接口通用api
|
||||
*
|
||||
* @author: wangshuai
|
||||
* @date: 2023/6/25 19:20
|
||||
*/
|
||||
public interface IPayBaseApi {
|
||||
|
||||
/**
|
||||
* 验证当前登录用户是否为vip
|
||||
* @return
|
||||
*/
|
||||
SysPayVipVo verifyVipIdentity();
|
||||
|
||||
/**
|
||||
* 检查当前登录用户的短信发送是否超限
|
||||
*
|
||||
* @return 达到上限返回true
|
||||
*/
|
||||
boolean checkSmsSendLimit(Integer tenantId, String userId);
|
||||
|
||||
/**
|
||||
* 当前登录用户短信发送次数加1
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
boolean plusSmsCountYearUsed(Integer tenantId, String userId);
|
||||
|
||||
}
|
||||
+547
@@ -0,0 +1,547 @@
|
||||
package org.jeecg.common.system.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.jeecg.common.api.CommonAPI;
|
||||
import org.jeecg.common.api.dto.DataLogDTO;
|
||||
import org.jeecg.common.api.dto.OnlineAuthDTO;
|
||||
import org.jeecg.common.api.dto.message.*;
|
||||
import org.jeecg.common.constant.enums.EmailTemplateEnum;
|
||||
import org.jeecg.common.system.vo.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @Description 底层共通业务API,提供其他独立模块调用
|
||||
* @Author scott
|
||||
* @Date 2019-4-20
|
||||
* @Version V1.0
|
||||
*/
|
||||
public interface ISysBaseAPI extends CommonAPI {
|
||||
|
||||
//=======OLD 系统消息推送接口============================
|
||||
/**
|
||||
* 1发送系统消息
|
||||
* @param message 使用构造器赋值参数 如果不设置category(消息类型)则默认为2 发送系统消息
|
||||
*/
|
||||
void sendSysAnnouncement(MessageDTO message);
|
||||
|
||||
/**
|
||||
* 2发送消息 附带业务参数
|
||||
* @param message 使用构造器赋值参数
|
||||
*/
|
||||
void sendBusAnnouncement(BusMessageDTO message);
|
||||
|
||||
/**
|
||||
* 3通过模板发送消息
|
||||
* @param message 使用构造器赋值参数
|
||||
*/
|
||||
void sendTemplateAnnouncement(TemplateMessageDTO message);
|
||||
|
||||
/**
|
||||
* 4通过模板发送消息 附带业务参数
|
||||
* @param message 使用构造器赋值参数
|
||||
*/
|
||||
void sendBusTemplateAnnouncement(BusTemplateMessageDTO message);
|
||||
|
||||
/**
|
||||
* 5通过消息中心模板,生成推送内容
|
||||
* @param templateDTO 使用构造器赋值参数
|
||||
* @return
|
||||
*/
|
||||
String parseTemplateByCode(TemplateDTO templateDTO);
|
||||
//=======OLD 系统消息推送接口============================
|
||||
|
||||
//=======TY NEW 自定义消息推送接口,邮件、钉钉、企业微信、系统消息============================
|
||||
/**
|
||||
* NEW发送模板消息【新,支持自定义推送类型: 邮件、钉钉、企业微信、系统消息】
|
||||
* @param message
|
||||
*/
|
||||
void sendTemplateMessage(MessageDTO message);
|
||||
|
||||
/**
|
||||
* NEW根据模板编码获取模板内容【新,支持自定义推送类型】
|
||||
* @param templateCode
|
||||
* @return
|
||||
*/
|
||||
String getTemplateContent(String templateCode);
|
||||
//=======TY NEW 自定义消息推送接口,邮件、钉钉、企业微信、系统消息============================
|
||||
|
||||
/**
|
||||
* 6根据用户id查询用户信息
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
LoginUser getUserById(String id);
|
||||
|
||||
/**
|
||||
* 7通过用户账号查询角色集合
|
||||
* @param username
|
||||
* @return
|
||||
*/
|
||||
List<String> getRolesByUsername(String username);
|
||||
|
||||
/**
|
||||
* 7通过用户账号查询角色集合
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<String> getRolesByUserId(String userId);
|
||||
|
||||
/**
|
||||
* 8通过用户账号查询部门集合
|
||||
* @param username
|
||||
* @return 部门 id
|
||||
*/
|
||||
List<String> getDepartIdsByUsername(String username);
|
||||
/**
|
||||
* 8通过用户账号查询部门集合
|
||||
* @param userId
|
||||
* @return 部门 id
|
||||
*/
|
||||
List<String> getDepartIdsByUserId(String userId);
|
||||
|
||||
/**
|
||||
* 8.2 通过用户账号查询部门父ID集合
|
||||
* @param username
|
||||
* @return 部门 parentIds
|
||||
*/
|
||||
Set<String> getDepartParentIdsByUsername(String username);
|
||||
|
||||
/**
|
||||
* 8.2 查询部门父ID集合
|
||||
* @param depIds
|
||||
* @return 部门 parentIds
|
||||
*/
|
||||
Set<String> getDepartParentIdsByDepIds(Set<String> depIds);
|
||||
|
||||
/**
|
||||
* 9通过用户账号查询部门 name
|
||||
* @param username
|
||||
* @return 部门 name
|
||||
*/
|
||||
List<String> getDepartNamesByUsername(String username);
|
||||
|
||||
|
||||
|
||||
/** 11查询所有的父级字典,按照create_time排序
|
||||
* @return List<DictModel> 字典集合
|
||||
*/
|
||||
public List<DictModel> queryAllDict();
|
||||
|
||||
/**
|
||||
* 12查询所有分类字典
|
||||
* @return
|
||||
*/
|
||||
public List<SysCategoryModel> queryAllSysCategory();
|
||||
|
||||
|
||||
/**
|
||||
* 14查询所有部门 作为字典信息 id -->value,departName -->text
|
||||
* @return
|
||||
*/
|
||||
public List<DictModel> queryAllDepartBackDictModel();
|
||||
|
||||
/**
|
||||
* 15根据业务类型及业务id修改消息已读
|
||||
* @param busType
|
||||
* @param busId
|
||||
*/
|
||||
public void updateSysAnnounReadFlag(String busType, String busId);
|
||||
|
||||
/**
|
||||
* 16查询表字典 支持过滤数据
|
||||
* @param table
|
||||
* @param text
|
||||
* @param code
|
||||
* @param filterSql
|
||||
* @return
|
||||
*/
|
||||
public List<DictModel> queryFilterTableDictInfo(String table, String text, String code, String filterSql);
|
||||
|
||||
/**
|
||||
* 17查询指定table的 text code 获取字典,包含text和value
|
||||
* @param table
|
||||
* @param text
|
||||
* @param code
|
||||
* @param keyArray
|
||||
* @return
|
||||
*/
|
||||
@Deprecated
|
||||
public List<String> queryTableDictByKeys(String table, String text, String code, String[] keyArray);
|
||||
|
||||
/**
|
||||
* 18查询所有用户 返回ComboModel
|
||||
* @return
|
||||
*/
|
||||
public List<ComboModel> queryAllUserBackCombo();
|
||||
|
||||
/**
|
||||
* 19分页查询用户 返回JSONObject
|
||||
* @param userIds 多个用户id
|
||||
* @param pageNo 当前页数
|
||||
* @param pageSize 每页显示条数
|
||||
* @return
|
||||
*/
|
||||
public JSONObject queryAllUser(String userIds, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 20获取所有角色
|
||||
* @return
|
||||
*/
|
||||
public List<ComboModel> queryAllRole();
|
||||
|
||||
/**
|
||||
* 21获取所有角色 带参
|
||||
* @param roleIds 默认选中角色
|
||||
* @return
|
||||
*/
|
||||
public List<ComboModel> queryAllRole(String[] roleIds );
|
||||
|
||||
/**
|
||||
* 22通过用户账号查询角色Id集合
|
||||
* @param username
|
||||
* @return
|
||||
*/
|
||||
public List<String> getRoleIdsByUsername(String username);
|
||||
|
||||
/**
|
||||
* 23通过部门编号查询部门id
|
||||
* @param orgCode
|
||||
* @return
|
||||
*/
|
||||
public String getDepartIdsByOrgCode(String orgCode);
|
||||
|
||||
/**
|
||||
* 24查询所有部门
|
||||
* @return
|
||||
*/
|
||||
public List<SysDepartModel> getAllSysDepart();
|
||||
|
||||
/**
|
||||
* 25查找父级部门
|
||||
* @param departId
|
||||
* @return
|
||||
*/
|
||||
DictModel getParentDepartId(String departId);
|
||||
|
||||
/**
|
||||
* 26根据部门Id获取部门负责人
|
||||
* @param deptId
|
||||
* @return
|
||||
*/
|
||||
public List<String> getDeptHeadByDepId(String deptId);
|
||||
|
||||
/**
|
||||
* 27给指定用户发消息
|
||||
* @param userIds
|
||||
* @param cmd
|
||||
*/
|
||||
public void sendWebSocketMsg(String[] userIds, String cmd);
|
||||
|
||||
/**
|
||||
* 28根据id获取所有参与用户
|
||||
* @param userIds 多个用户id
|
||||
* @return
|
||||
*/
|
||||
public List<UserAccountInfo> queryAllUserByIds(String[] userIds);
|
||||
|
||||
/**
|
||||
* 29将会议签到信息推动到预览
|
||||
* userIds
|
||||
* @return
|
||||
* @param userId
|
||||
*/
|
||||
void meetingSignWebsocket(String userId);
|
||||
|
||||
/**
|
||||
* 30根据name获取所有参与用户
|
||||
* @param userNames 多个用户账户
|
||||
* @return
|
||||
*/
|
||||
List<UserAccountInfo> queryUserByNames(String[] userNames);
|
||||
|
||||
|
||||
/**
|
||||
* 根据高级查询条件查询用户
|
||||
* @param superQuery
|
||||
* @param matchType
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryUserBySuperQuery(String superQuery,String matchType);
|
||||
|
||||
|
||||
/**
|
||||
* 根据ID查询用户
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
JSONObject queryUserById(String id);
|
||||
|
||||
|
||||
/**
|
||||
* 根据高级查询条件查询部门
|
||||
* @param superQuery
|
||||
* @param matchType
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryDeptBySuperQuery(String superQuery,String matchType);
|
||||
|
||||
/**
|
||||
* 根据高级查询条件查询角色
|
||||
* @param superQuery
|
||||
* @param matchType
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryRoleBySuperQuery(String superQuery,String matchType);
|
||||
|
||||
|
||||
/**
|
||||
* 根据租户ID查询用户ID
|
||||
* @param tenantId 租户ID
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> selectUserIdByTenantId(String tenantId);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 31获取用户的角色集合
|
||||
* @param username
|
||||
* @return
|
||||
*/
|
||||
Set<String> getUserRoleSet(String username);
|
||||
/**
|
||||
* 31获取用户的角色集合
|
||||
* @param useId
|
||||
* @return
|
||||
*/
|
||||
Set<String> getUserRoleSetById(String useId);
|
||||
|
||||
/**
|
||||
* 32获取用户的权限集合
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
Set<String> getUserPermissionSet(String userId);
|
||||
|
||||
/**
|
||||
* 33判断是否有online访问的权限
|
||||
* @param onlineAuthDTO
|
||||
* @return
|
||||
*/
|
||||
boolean hasOnlineAuth(OnlineAuthDTO onlineAuthDTO);
|
||||
|
||||
/**
|
||||
* 34通过部门id获取部门全部信息
|
||||
* @param id 部门id
|
||||
* @return SysDepartModel对象
|
||||
*/
|
||||
SysDepartModel selectAllById(String id);
|
||||
|
||||
/**
|
||||
* 35根据用户id查询用户所属公司下所有用户ids
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<String> queryDeptUsersByUserId(String userId);
|
||||
|
||||
/**
|
||||
* 36根据多个用户账号(逗号分隔),查询返回多个用户信息
|
||||
* @param usernames
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryUsersByUsernames(String usernames);
|
||||
|
||||
/**
|
||||
* 37根据多个用户ID(逗号分隔),查询返回多个用户信息
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryUsersByIds(String ids);
|
||||
|
||||
/**
|
||||
* 38根据多个部门编码(逗号分隔),查询返回多个部门信息
|
||||
* @param orgCodes
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryDepartsByOrgcodes(String orgCodes);
|
||||
|
||||
/**
|
||||
* 39根据多个部门id(逗号分隔),查询返回多个部门信息
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryDepartsByIds(String ids);
|
||||
|
||||
/**
|
||||
* 40发送邮件消息
|
||||
* @param email
|
||||
* @param title
|
||||
* @param content
|
||||
*/
|
||||
void sendEmailMsg(String email,String title,String content);
|
||||
|
||||
/**
|
||||
* 40发送模版邮件消息
|
||||
*
|
||||
* @param email 接收邮箱
|
||||
* @param title 邮件标题
|
||||
* @param emailTemplateEnum 邮件模版枚举
|
||||
* @param params 模版参数
|
||||
*/
|
||||
void sendHtmlTemplateEmail(String email, String title, EmailTemplateEnum emailTemplateEnum, JSONObject params);
|
||||
/**
|
||||
* 41 获取公司下级部门和公司下所有用户信息
|
||||
* @param orgCode
|
||||
* @return List<Map>
|
||||
*/
|
||||
List<Map> getDeptUserByOrgCode(String orgCode);
|
||||
|
||||
/**
|
||||
* 查询分类字典翻译
|
||||
* @param ids 多个分类字典id
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> loadCategoryDictItem(String ids);
|
||||
|
||||
/**
|
||||
* 反向翻译分类字典,用于导入
|
||||
*
|
||||
* @param names 名称,逗号分割
|
||||
*/
|
||||
List<String> loadCategoryDictItemByNames(String names, boolean delNotExist);
|
||||
|
||||
/**
|
||||
* 根据字典code加载字典text
|
||||
*
|
||||
* @param dictCode 顺序:tableName,text,code
|
||||
* @param keys 要查询的key
|
||||
* @return
|
||||
*/
|
||||
List<String> loadDictItem(String dictCode, String keys);
|
||||
|
||||
/**
|
||||
* 复制应用下的所有字典配置到新的租户下
|
||||
*
|
||||
* @param originalAppId 原始低代码应用ID
|
||||
* @param appId 新的低代码应用ID
|
||||
* @param tenantId 新的租户ID
|
||||
* @return Map<String, String> Map<原字典编码, 新字典编码>
|
||||
*/
|
||||
Map<String, String> copyLowAppDict(String originalAppId, String appId, String tenantId);
|
||||
|
||||
/**
|
||||
* 根据字典code查询字典项
|
||||
*
|
||||
* @param dictCode 顺序:tableName,text,code
|
||||
* @param dictCode 要查询的key
|
||||
* @return
|
||||
*/
|
||||
List<DictModel> getDictItems(String dictCode);
|
||||
|
||||
/**
|
||||
* 根据多个字典code查询多个字典项
|
||||
* @param dictCodeList
|
||||
* @return key = dictCode ; value=对应的字典项
|
||||
*/
|
||||
Map<String, List<DictModel>> getManyDictItems(List<String> dictCodeList);
|
||||
|
||||
/**
|
||||
* 【JSearchSelectTag下拉搜索组件专用接口】
|
||||
* 大数据量的字典表 走异步加载 即前端输入内容过滤数据
|
||||
*
|
||||
* @param dictCode 字典code格式:table,text,code
|
||||
* @param keyword 过滤关键字
|
||||
* @param pageSize 分页条数
|
||||
* @return
|
||||
*/
|
||||
List<DictModel> loadDictItemByKeyword(String dictCode, String keyword, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 新增数据日志
|
||||
* @param dataLogDto
|
||||
*/
|
||||
void saveDataLog(DataLogDTO dataLogDto);
|
||||
/**
|
||||
* 更新头像
|
||||
* @param loginUser
|
||||
*/
|
||||
void updateAvatar(LoginUser loginUser);
|
||||
|
||||
/**
|
||||
* 向app端 websocket推送聊天刷新消息
|
||||
* @param userId
|
||||
*/
|
||||
void sendAppChatSocket(String userId);
|
||||
|
||||
/**
|
||||
* 根据角色id查询角色code
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
String getRoleCodeById(String id);
|
||||
|
||||
/**
|
||||
* 根据roleCode查询角色信息,可逗号分隔多个
|
||||
*
|
||||
* @param roleCodes
|
||||
* @return
|
||||
*/
|
||||
List<DictModel> queryRoleDictByCode(String roleCodes);
|
||||
|
||||
/**
|
||||
* 根据部门ID查询用户ID
|
||||
* @param deptIds
|
||||
* @return
|
||||
*/
|
||||
List<String> queryUserIdsByDeptIds(List<String> deptIds);
|
||||
|
||||
/**
|
||||
* 根据部门ID查询用户账号
|
||||
* @param deptIds
|
||||
* @return
|
||||
*/
|
||||
List<String> queryUserAccountsByDeptIds(List<String> deptIds);
|
||||
|
||||
/**
|
||||
* 根据角色编码 查询用户ID
|
||||
* @param roleCodes
|
||||
* @return
|
||||
*/
|
||||
List<String> queryUserIdsByRoleds(List<String> roleCodes);
|
||||
|
||||
/**
|
||||
* 根据职务ID查询用户ID
|
||||
* @param positionIds
|
||||
* @return
|
||||
*/
|
||||
List<String> queryUserIdsByPositionIds(List<String> positionIds);
|
||||
|
||||
/**
|
||||
* 根据部门和子部门下的所有用户账号
|
||||
*
|
||||
* @param orgCode 部门编码
|
||||
* @return
|
||||
*/
|
||||
public List<String> getUserAccountsByDepCode(String orgCode);
|
||||
|
||||
/**
|
||||
* 检查查询sql的表和字段是否在白名单中
|
||||
*
|
||||
* @param selectSql
|
||||
* @return
|
||||
*/
|
||||
boolean dictTableWhiteListCheckBySql(String selectSql);
|
||||
|
||||
/**
|
||||
* 根据字典表或者字典编码,校验是否在白名单中
|
||||
*
|
||||
* @param tableOrDictCode 表名或dictCode
|
||||
* @param fields 如果传的是dictCode,则该参数必须传null
|
||||
* @return
|
||||
*/
|
||||
boolean dictTableWhiteListCheckByDict(String tableOrDictCode, String... fields);
|
||||
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package org.jeecg.common.wps.api;
|
||||
|
||||
import org.jeecg.common.wps.vo.OaWpsModel;
|
||||
|
||||
/**
|
||||
* @Description: WPS通用接口
|
||||
* @Author: wangshuai
|
||||
* @Date:20200709
|
||||
* @Version:V1.0
|
||||
*/
|
||||
public interface IWpsBaseApi {
|
||||
|
||||
/**
|
||||
* 根据模板id获取模板信息
|
||||
* @param id 模板id
|
||||
* @return OaWpsModel对象
|
||||
*/
|
||||
OaWpsModel getById(String id);
|
||||
|
||||
/**
|
||||
* 根据文件路径下载文件
|
||||
* @param objectName 桶
|
||||
* @param basePath 文件路径
|
||||
* @param fileName 文件名称
|
||||
*/
|
||||
void downloadOosFiles(String objectName, String basePath, String fileName);
|
||||
|
||||
/**
|
||||
* WPS 设置数据存储,用于逻辑判断
|
||||
* @param type WPS存储值类别(1 code文号 2 text)
|
||||
* @param text 存储文本
|
||||
*/
|
||||
void context(String type, String text);
|
||||
|
||||
/**
|
||||
* 删除WPS模板文件相关信息
|
||||
* @param id WPS模板文件id
|
||||
*/
|
||||
void deleteById(String id);
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
package org.jeecg.common.wps.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 文档
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2020-06-09
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("oa_wps_file")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Schema(description="公文文档")
|
||||
public class OaWpsModel implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description = "id")
|
||||
private String id;
|
||||
/**
|
||||
* name
|
||||
*/
|
||||
@Excel(name = "name", width = 15)
|
||||
@Schema(description = "name")
|
||||
private String name;
|
||||
/**
|
||||
* version
|
||||
*/
|
||||
@Excel(name = "version", width = 15)
|
||||
@Schema(description = "version")
|
||||
private Integer version;
|
||||
/**
|
||||
* size
|
||||
*/
|
||||
@Excel(name = "size", width = 15)
|
||||
@Schema(description = "size")
|
||||
private Integer size;
|
||||
/**
|
||||
* downloadUrl
|
||||
*/
|
||||
@Excel(name = "downloadUrl", width = 15)
|
||||
@Schema(description = "downloadUrl")
|
||||
private String downloadUrl;
|
||||
/**
|
||||
* deleted
|
||||
*/
|
||||
@Excel(name = "deleted", width = 15)
|
||||
@Schema(description = "deleted")
|
||||
private String deleted;
|
||||
/**
|
||||
* canDelete
|
||||
*/
|
||||
@Excel(name = "canDelete", width = 15)
|
||||
@Schema(description = "canDelete")
|
||||
private String canDelete;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@Schema(description = "创建人")
|
||||
private String createBy;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@Schema(description = "更新人")
|
||||
private String updateBy;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "更新时间")
|
||||
private Date updateTime;
|
||||
/**
|
||||
* 组织机构编码
|
||||
*/
|
||||
@Schema(description = "组织机构编码")
|
||||
private String sysOrgCode;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String userId;
|
||||
}
|
||||
Reference in New Issue
Block a user