Commit 67a1a324 authored by “yiyousong”'s avatar “yiyousong”
parents 7969d656 bf828e28
......@@ -168,6 +168,626 @@ Content-Type: multipart/form-data
```
```
## 系统参数信息
### 查询参数信息列表
**请求URL:** param/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询参数信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|序号,主键,自增长
  name|String|参数名称
  firstOrganize|String|一级组织,如:平台配置
  secondOrganize|String|二级组织,如:基础配置
  paramKey|String|参数键,全局唯一
  paramValue|String|参数值
  validStatus|Integer|参数有效状态,0:禁用,1:启用,默认1
  modStatus|Integer|参数修改状态,0:隐藏,1:页面仅查看,2:页面可修改,3:页面可删除,4:页面可修改删除,默认4
  displayType|Integer|展现类型,0:普通文本框,1:多行文本框,2:开关,3:块输入框,默认:0
  remark|String|备注
  createTime|Date|创建时间
  createUserId|Long|创建用户
  createUserName|String|创建用户名称
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看参数信息
**请求URL:** param/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看参数信息,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/param/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|序号,主键,自增长
 name|String|参数名称
 firstOrganize|String|一级组织,如:平台配置
 secondOrganize|String|二级组织,如:基础配置
 paramKey|String|参数键,全局唯一
 paramValue|String|参数值
 validStatus|Integer|参数有效状态,0:禁用,1:启用,默认1
 modStatus|Integer|参数修改状态,0:隐藏,1:页面仅查看,2:页面可修改,3:页面可删除,4:页面可修改删除,默认4
 displayType|Integer|展现类型,0:普通文本框,1:多行文本框,2:开关,3:块输入框,默认:0
 remark|String|备注
 createTime|Date|创建时间
 createUserId|Long|创建用户
 createUserName|String|创建用户名称
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":29,
"name":"4p989i",
"firstOrganize":"fj5xc2",
"secondOrganize":"d5yjlg",
"paramKey":"z8z5d0",
"paramValue":"ezk1oj",
"validStatus":1880,
"modStatus":3777,
"displayType":9326,
"remark":"8vgfqn",
"createTime":"2023-03-24",
"createUserId":6280,
"createUserName":"gv0v64"
}
}
```
### 保存更新参数信息
**请求URL:** param/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新参数信息:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
name|String|否|参数名称
firstOrganize|String|否|一级组织,如:平台配置
secondOrganize|String|否|二级组织,如:基础配置
paramKey|String|否|参数键,全局唯一
paramValue|String|否|参数值
validStatus|Integer|否|参数有效状态,0:禁用,1:启用,默认1
modStatus|Integer|否|参数修改状态,0:隐藏,1:页面仅查看,2:页面可修改,3:页面可删除,4:页面可修改删除,默认4
displayType|Integer|否|展现类型,0:普通文本框,1:多行文本框,2:开关,3:块输入框,默认:0
remark|String|否|备注
createUserName|String|否|创建用户名称
**请求样例:**
```
{
"name":"eqddrw",
"firstOrganize":"3u01r6",
"secondOrganize":"upj5wt",
"paramKey":"ng5zkj",
"paramValue":"ptyky4",
"validStatus":2336,
"modStatus":5096,
"displayType":5050,
"remark":"4nt041",
"createUserName":"9g95tp"
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|保存后主键id
 entity|object|保存更新实体
  id|Long|序号,主键,自增长
  name|String|参数名称
  firstOrganize|String|一级组织,如:平台配置
  secondOrganize|String|二级组织,如:基础配置
  paramKey|String|参数键,全局唯一
  paramValue|String|参数值
  validStatus|Integer|参数有效状态,0:禁用,1:启用,默认1
  modStatus|Integer|参数修改状态,0:隐藏,1:页面仅查看,2:页面可修改,3:页面可删除,4:页面可修改删除,默认4
  displayType|Integer|展现类型,0:普通文本框,1:多行文本框,2:开关,3:块输入框,默认:0
  remark|String|备注
  createTime|Date|创建时间
  createUserId|Long|创建用户
  createUserName|String|创建用户名称
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除参数信息
**请求URL:** param/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除参数信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/param/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 任务信息
### 查询任务信息列表
**请求URL:** task/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询任务信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|序号,主键,自增长
  name|String|任务名称
  taskKey|String|任务关键字,区分任务执行流程
  status|Integer|任务状态,0:未启动,1:执行中,默认0
  excuteService|String|任务执行服务
  excuteParam|String|任务执行参数
  excuteHost|String|任务执行主机,为空表示不限制任务的执行主机,多个用逗号分隔
  excuteStrategy|Integer|执行策略,1:按日,2:按周,3:按月,4:按间隔时间,默认1
  excuteDate|Long|执行日期,按日:则为0;按周:则为1-7;按月:则为:1-31;按间隔时间:则为间隔时间,单位:秒;默认0
  excuteTime|String|执行时间,格式:HH:mm,默认:00:00
  remark|String|备注
  lastExcuteHost|String|最后执行主机
  lastExcuteTime|Date|最后执行时间
  interimExcuteStatus|Integer|临时执行状态,0:未启用,1:立即执行并保留,2:立即执行并删除,默认0
  createTime|Date|创建时间
  createUserId|Long|创建用户
  createUserName|String|创建用户名称
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看任务信息
**请求URL:** task/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看任务信息,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/task/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|序号,主键,自增长
 name|String|任务名称
 taskKey|String|任务关键字,区分任务执行流程
 status|Integer|任务状态,0:未启动,1:执行中,默认0
 excuteService|String|任务执行服务
 excuteParam|String|任务执行参数
 excuteHost|String|任务执行主机,为空表示不限制任务的执行主机,多个用逗号分隔
 excuteStrategy|Integer|执行策略,1:按日,2:按周,3:按月,4:按间隔时间,默认1
 excuteDate|Long|执行日期,按日:则为0;按周:则为1-7;按月:则为:1-31;按间隔时间:则为间隔时间,单位:秒;默认0
 excuteTime|String|执行时间,格式:HH:mm,默认:00:00
 remark|String|备注
 lastExcuteHost|String|最后执行主机
 lastExcuteTime|Date|最后执行时间
 interimExcuteStatus|Integer|临时执行状态,0:未启用,1:立即执行并保留,2:立即执行并删除,默认0
 createTime|Date|创建时间
 createUserId|Long|创建用户
 createUserName|String|创建用户名称
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":6047,
"name":"yzacg1",
"taskKey":"iyjpoz",
"status":7262,
"excuteService":"fvv4t3",
"excuteParam":"2jgiqq",
"excuteHost":"47j23c",
"excuteStrategy":4942,
"excuteDate":9987,
"excuteTime":"gci3nz",
"remark":"zfihsf",
"lastExcuteHost":"hzzj02",
"lastExcuteTime":"2023-03-24",
"interimExcuteStatus":8435,
"createTime":"2023-03-24",
"createUserId":8540,
"createUserName":"32vyv1"
}
}
```
### 保存更新任务信息
**请求URL:** task/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新任务信息:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
name|String|否|任务名称
taskKey|String|否|任务关键字,区分任务执行流程
status|Integer|否|任务状态,0:未启动,1:执行中,默认0
excuteService|String|否|任务执行服务
excuteParam|String|否|任务执行参数
excuteHost|String|否|任务执行主机,为空表示不限制任务的执行主机,多个用逗号分隔
excuteStrategy|Integer|否|执行策略,1:按日,2:按周,3:按月,4:按间隔时间,默认1
excuteDate|Long|否|执行日期,按日:则为0;按周:则为1-7;按月:则为:1-31;按间隔时间:则为间隔时间,单位:秒;默认0
excuteTime|String|否|执行时间,格式:HH:mm,默认:00:00
remark|String|否|备注
lastExcuteHost|String|否|最后执行主机
lastExcuteTime|Date|否|最后执行时间
interimExcuteStatus|Integer|否|临时执行状态,0:未启用,1:立即执行并保留,2:立即执行并删除,默认0
createUserName|String|否|创建用户名称
**请求样例:**
```
{
"name":"2l07xt",
"taskKey":"epvpri",
"status":8816,
"excuteService":"i9ru4d",
"excuteParam":"wb6ocw",
"excuteHost":"i8rzpc",
"excuteStrategy":6332,
"excuteDate":3262,
"excuteTime":"pw09n9",
"remark":"liinse",
"lastExcuteHost":"x9xwe9",
"lastExcuteTime":"2023-03-24",
"interimExcuteStatus":3469,
"createUserName":"vs74r1"
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|保存后主键id
 entity|object|保存更新实体
  id|Long|序号,主键,自增长
  name|String|任务名称
  taskKey|String|任务关键字,区分任务执行流程
  status|Integer|任务状态,0:未启动,1:执行中,默认0
  excuteService|String|任务执行服务
  excuteParam|String|任务执行参数
  excuteHost|String|任务执行主机,为空表示不限制任务的执行主机,多个用逗号分隔
  excuteStrategy|Integer|执行策略,1:按日,2:按周,3:按月,4:按间隔时间,默认1
  excuteDate|Long|执行日期,按日:则为0;按周:则为1-7;按月:则为:1-31;按间隔时间:则为间隔时间,单位:秒;默认0
  excuteTime|String|执行时间,格式:HH:mm,默认:00:00
  remark|String|备注
  lastExcuteHost|String|最后执行主机
  lastExcuteTime|Date|最后执行时间
  interimExcuteStatus|Integer|临时执行状态,0:未启用,1:立即执行并保留,2:立即执行并删除,默认0
  createTime|Date|创建时间
  createUserId|Long|创建用户
  createUserName|String|创建用户名称
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除任务信息
**请求URL:** task/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除任务信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/task/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 操作日志
### 查询操作日志列表
**请求URL:** oper/log/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询操作日志
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|序号,主键,自增长
  platformMark|String|平台标识
  userId|Long|用户id
  userName|String|用户名称
  loginName|String|用户登录名
  requestUrl|String|请求地址
  content|String|操作内容,记录操作具体信息,如修改前修改或的数据
  ip|String|操作IP地址
  logDate|Date|操作时间
  operType|Integer|操作类型,0:新增,1:修改,2:删除
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看操作日志
**请求URL:** oper/log/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看操作日志,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/oper/log/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|序号,主键,自增长
 platformMark|String|平台标识
 userId|Long|用户id
 userName|String|用户名称
 loginName|String|用户登录名
 requestUrl|String|请求地址
 content|String|操作内容,记录操作具体信息,如修改前修改或的数据
 ip|String|操作IP地址
 logDate|Date|操作时间
 operType|Integer|操作类型,0:新增,1:修改,2:删除
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":3164,
"platformMark":"bndjlq",
"userId":2769,
"userName":"t6wf13",
"loginName":"o3jujh",
"requestUrl":"bmsm3m",
"content":"o7cstx",
"ip":"vyh59j",
"logDate":"2023-03-24",
"operType":96
}
}
```
## 模块
......
......@@ -32,4 +32,9 @@ public class AppVo extends BaseEntityLong {
*/
private String appIconUrl;
private String serverName;
private Integer serverPort;
}
\ No newline at end of file
package com.mortals.xhx.module.app.service.impl;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
......@@ -110,20 +111,25 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList()));
//构建访问地址
SiteEntity siteEntity = siteService.getCache(item.getSiteId().toString());
String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
// String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
String domainUrl = "";
if (!ObjectUtils.isEmpty(params.getServerName()) && Validator.isIpv4(params.getServerName())) {
domainUrl = UrlBuilder.ofHttp(params.getServerName()).setPort(params.getServerPort() > 0 ? params.getServerPort() : 11078).build();
}
if (!ObjectUtils.isEmpty(siteEntity)) {
//请求地址 http://domian/app/siteCode/appcode/html
item.setCustUrl(UrlBuilder.of(domainUrl)
item.setCustUrl(UrlBuilder.ofHttp(params.getServerName()).setPort(params.getServerPort() > 0 ? params.getServerPort() : 11078)
.addPath(CUSTAPP_ROOT_PATH)
.addPath(siteEntity.getSiteCode())
.addPath(item.getAppCode())
.addPath(item.getVersion().toString())
.toString());
.build());
} else {
item.setCustUrl("");
}
//构建图标地址
item.setAppIconUrl(UrlBuilder.of(domainUrl)
item.setAppIconUrl(UrlBuilder.ofHttp(params.getServerName()).setPort(params.getServerPort() > 0 ? params.getServerPort() : 11078)
.addPath(item.getAppIconPath()).build());
});
super.findAfter(params, pageInfo, context, list);
......@@ -325,7 +331,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
entity.setFileName(null);
//判断如果应用下架,通知自助服务终端
if(entity.getShelves()==YesNoEnum.NO.getValue()){
if (entity.getShelves() == YesNoEnum.NO.getValue()) {
AppPdu appPdu = new AppPdu();
appPdu.setAppId(entity.getId());
appFeign.forbidden(appPdu);
......
......@@ -2,10 +2,12 @@ package com.mortals.xhx.module.app.web;
import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.AppTypeEnum;
......@@ -17,6 +19,7 @@ import com.mortals.xhx.module.app.service.AppService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteQuery;
import com.mortals.xhx.module.site.service.SiteService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -38,6 +41,7 @@ import static com.mortals.xhx.common.key.Constant.CUSTAPP_ROOT_PATH;
*/
@RestController
@RequestMapping("app")
@Slf4j
public class AppController extends BaseCRUDJsonBodyMappingController<AppService, AppEntity, Long> {
@Autowired
......@@ -53,11 +57,29 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", AppTypeEnum.getEnumMap());
this.addDict(model, "shelves", paramService.getParamBySecondOrganize("App", "shelves"));
this.addDict(model, "appThemeName", paramService.getParamBySecondOrganize("App", "appThemeName"));
this.addDict(model, "distribute", YesNoEnum.getEnumMap());
this.addDict(model, "dateUpdate", YesNoEnum.getEnumMap());
super.init(model, context);
}
/**
* @param query
* @param model
* @param context
* @throws AppException
*/
@Override
protected void doListBefore(AppEntity query, Map<String, Object> model, Context context) throws AppException {
String serverName = request.getHeader("server-name");
Integer serverPort = DataUtil.converStr2Int(request.getHeader("server-port"),0);
log.info("【应用请求】【请求体】-->serverName{} ,port:{}",serverName ,serverPort);
query.setServerName(serverName);
query.setServerPort(serverPort);
super.doListBefore(query, model, context);
}
@Override
protected int infoAfter(Long id, Map<String, Object> model, AppEntity entity, Context context) throws AppException {
List<AppEntity> appEntityList = this.service.find(new AppQuery().appCode(entity.getAppCode()), context);
......
......@@ -38,24 +38,6 @@ public class BusinessMatterServiceImpl extends AbstractCRUDServiceImpl<BusinessM
}
}
/**
* @param list
* @param context
* @throws AppException
*/
@Override
protected void saveBefore(List<BusinessMatterEntity> list, Context context) throws AppException {
//批量校验列表 如果存在 则剔除
Iterator<BusinessMatterEntity> iterator = list.iterator();
while (iterator.hasNext()) {
BusinessMatterEntity next = iterator.next();
int count = this.getDao().getCount(new BusinessMatterQuery().siteBusinessId(next.getSiteBusinessId()).matterId(next.getMatterId()));
if(count>0){
iterator.remove();
}
}
super.saveBefore(list, context);
}
@Override
public Result<BusinessMatterEntity> getListByBusiness(BusinessMatterQuery query, PageInfo pageInfo, Context context) {
......
......@@ -45,6 +45,22 @@ Content-Type: application/json
client.global.set("BusinessMatter_id", JSON.parse(response.body).data.id);
%}
###业务事项关联更新与保存
POST {{baseUrl}}/business/matter/batchSave
Authorization: {{authToken}}
Content-Type: application/json
[{
"siteId":1,
"siteName":"w19oxc",
"siteBusinessId":11,
"siteBusinessName":"ujaud2",
"matterId":34034,
"matterName":"iajw6p"
}]
###业务事项关联查看
GET {{baseUrl}}/business/matter/info?id={{BusinessMatter_id}}
Accept: application/json
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment