Commit 4c59864b authored by “yiyousong”'s avatar “yiyousong”
parents a8aa14c3 e6d0761d
...@@ -927,12 +927,14 @@ CREATE TABLE mortals_sys_matter_ext ...@@ -927,12 +927,14 @@ CREATE TABLE mortals_sys_matter_ext
-- ----------------------------
-- 自助终端应用表
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- 自助终端应用表 -- 自助终端应用表
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_app`; DROP TABLE IF EXISTS `mortals_sys_app`;
CREATE TABLE mortals_sys_app CREATE TABLE mortals_sys_app(
(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长', `id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`siteId` bigint(20) COMMENT '站点Id', `siteId` bigint(20) COMMENT '站点Id',
`siteName` varchar(256) COMMENT '站点名称', `siteName` varchar(256) COMMENT '站点名称',
...@@ -942,19 +944,28 @@ CREATE TABLE mortals_sys_app ...@@ -942,19 +944,28 @@ CREATE TABLE mortals_sys_app
`appThemeName` varchar(256) COMMENT '应用主题名称', `appThemeName` varchar(256) COMMENT '应用主题名称',
`type` tinyint(2) COMMENT '类型(1.终端应用,2.移动端应用)', `type` tinyint(2) COMMENT '类型(1.终端应用,2.移动端应用)',
`downDevCount` int(4) COMMENT '下发设备次数', `downDevCount` int(4) COMMENT '下发设备次数',
`shelves` tinyint(2) COMMENT '是否上架(0.上架,1.下架)', `shelves` tinyint(2) COMMENT '是否上架(0.下架,1.上架)',
`appType` tinyint(2) COMMENT '类型(1.应用程序,2.url)',
`fileName` varchar(255) COMMENT '文件名称',
`filePath` varchar(256) COMMENT '文件相对路径地址', `filePath` varchar(256) COMMENT '文件相对路径地址',
`distributeFilePath` varchar(256) COMMENT '文件部署路径地址', `distributeFilePath` varchar(256) COMMENT '文件部署路径地址',
`version` varchar(64) COMMENT '当前版本', `version` int(9) COMMENT '当前版本',
`summary` varchar(2048) COMMENT '简介', `summary` varchar(2048) COMMENT '简介',
`notes` varchar(512) COMMENT '更新说明',
`distribute` tinyint(2) COMMENT '是否部署(0.否,1.是)', `distribute` tinyint(2) COMMENT '是否部署(0.否,1.是)',
`dateUpdate` tinyint(2) COMMENT '是否数据更新(0.否,1.是)', `dataUpdate` tinyint(2) COMMENT '是否数据更新(0.否,1.是)',
`createTime` datetime COMMENT '创建时间', `createTime` datetime COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户', `updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间', `updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用';
-- ---------------------------- -- ----------------------------
-- 自助终端应用数据集表 -- 自助终端应用数据集表
-- ---------------------------- -- ----------------------------
...@@ -973,19 +984,18 @@ CREATE TABLE mortals_sys_app_dataset ...@@ -973,19 +984,18 @@ CREATE TABLE mortals_sys_app_dataset
-- 自助终端应用信息字段表 -- 自助终端应用信息字段表
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_app_info_field`; DROP TABLE IF EXISTS `mortals_sys_app_info_field`;
CREATE TABLE mortals_sys_app_info_field CREATE TABLE mortals_sys_app_info_field(
(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长', `id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`datasetId` bigint(20) COMMENT '应用数据集id', `datasetId` bigint(20) COMMENT '应用数据集id',
`fieldCode` varchar(64) COMMENT '字段编码', `fieldCode` varchar(64) COMMENT '字段编码',
`fieldName` varchar(64) COMMENT '字段名称', `fieldName` varchar(64) COMMENT '字段名称',
`fieldType` varchar(64) COMMENT '字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框)', `fieldType` varchar(64) COMMENT '字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框)',
`dataType` varchar(64) COMMENT '数据类型(number.数字,string.字符串)', `dataType` varchar(64) COMMENT '数据类型(number.数字,string.字符串)',
`fieldValue` varchar(64) COMMENT '字段值', `fieldValue` text COMMENT '字段值',
`fieldLen` int(9) COMMENT '数据长度,默认128', `fieldLen` int(9) COMMENT '数据长度,默认128',
`fieldNull` tinyint(2) COMMENT '是否允许为空,(0.否,1.是)', `fieldNull` tinyint(2) COMMENT '是否允许为空,(0.否,1.是)',
`isList` tinyint(2) COMMENT '字段是否列表显示(0.否,1.是)', `isList` tinyint(2) COMMENT '字段是否列表显示(0.否,1.是)',
`fieldOrderNo` varchar(64) COMMENT '排序号', `fieldOrderNo` int(9) COMMENT '排序号',
`remark` varchar(1024) COMMENT '备注', `remark` varchar(1024) COMMENT '备注',
`createTime` datetime COMMENT '创建时间', `createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户', `createUserId` bigint(20) COMMENT '创建用户',
...@@ -994,23 +1004,24 @@ CREATE TABLE mortals_sys_app_info_field ...@@ -994,23 +1004,24 @@ CREATE TABLE mortals_sys_app_info_field
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用信息字段'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用信息字段';
-- ---------------------------- -- ----------------------------
-- 自助终端应用模板信息字段表 -- 自助终端应用模板信息字段表
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_app_info_templete_field`; DROP TABLE IF EXISTS `mortals_sys_app_info_templete_field`;
CREATE TABLE mortals_sys_app_info_templete_field CREATE TABLE mortals_sys_app_info_templete_field(
(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长', `id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`appId` bigint(20) COMMENT '应用id', `appId` bigint(20) COMMENT '应用id',
`fieldCode` varchar(64) COMMENT '字段编码', `fieldCode` varchar(64) COMMENT '字段编码',
`fieldName` varchar(64) COMMENT '字段名称', `fieldName` varchar(64) COMMENT '字段名称',
`fieldType` varchar(64) COMMENT '字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框)', `fieldType` varchar(64) COMMENT '字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本)',
`dataType` varchar(64) COMMENT '数据类型(number.数字,string.字符串)', `dataType` varchar(64) COMMENT '数据类型(number.数字,string.字符串)',
`fieldValue` varchar(64) COMMENT '字段值', `fieldValue` varchar(64) COMMENT '字段值',
`fieldLen` int(9) COMMENT '数据长度,默认128', `fieldLen` int(9) COMMENT '数据长度,默认128',
`fieldNull` tinyint(2) COMMENT '是否允许为空,(0.否,1.是)', `fieldNull` tinyint(2) COMMENT '是否允许为空,(0.否,1.是)',
`isList` tinyint(2) COMMENT '字段是否列表显示(0.否,1.是)', `isList` tinyint(2) COMMENT '字段是否列表显示(0.否,1.是)',
`fieldOrderNo` varchar(64) COMMENT '排序号', `fieldOrderNo` int(9) COMMENT '排序号',
`remark` varchar(1024) COMMENT '备注', `remark` varchar(1024) COMMENT '备注',
`createTime` datetime COMMENT '创建时间', `createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户', `createUserId` bigint(20) COMMENT '创建用户',
...@@ -1019,20 +1030,25 @@ CREATE TABLE mortals_sys_app_info_templete_field ...@@ -1019,20 +1030,25 @@ CREATE TABLE mortals_sys_app_info_templete_field
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用模板信息字段'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用模板信息字段';
-- ---------------------------- -- ----------------------------
-- 自助终端应用版本历史表 -- 自助终端应用版本历史表
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_app_version`; DROP TABLE IF EXISTS `mortals_sys_app_version`;
CREATE TABLE mortals_sys_app_version CREATE TABLE `mortals_sys_app_version` (
( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长', `appId` bigint(20) DEFAULT NULL COMMENT 'app应用Id',
`appId` bigint(20) COMMENT 'app应用Id', `appName` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '应用名称',
`appName` varchar(256) COMMENT '应用名称', `version` int(9) COMMENT '版本号',
`version` varchar(256) COMMENT '版本号', `notes` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '更新说明',
`notes` varchar(2048) COMMENT '更新说明', `fileName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '文件名称',
`createTime` datetime COMMENT '创建时间', `filePath` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '文件相对路径地址',
`updateUserId` bigint(20) COMMENT '更新用户', `distributeFilePath` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '文件部署路径地址',
`updateTime` datetime COMMENT '更新时间', `used` tinyint(2) DEFAULT '0' COMMENT '是否使用(0.否,1.是)',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
`updateUserId` bigint(20) DEFAULT NULL COMMENT '更新用户',
`updateTime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用版本历史'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用版本历史';
......
...@@ -9144,7 +9144,7 @@ data| object |数据对象 ...@@ -9144,7 +9144,7 @@ data| object |数据对象
  version| String |当前版本   version| String |当前版本
  summary| String |简介   summary| String |简介
  distribute| Integer |是否部署(0.否,1.是)   distribute| Integer |是否部署(0.否,1.是)
  dateUpdate| Integer |是否数据更新(0.否,1.是)   dataUpdate| Integer |是否数据更新(0.否,1.是)
  appDatasetList| array |数据结果集   appDatasetList| array |数据结果集
  applianceSiteScope| Integer |适用站点范围数量   applianceSiteScope| Integer |适用站点范围数量
  siteIdList| array |适用范围站点列表   siteIdList| array |适用范围站点列表
...@@ -9271,10 +9271,11 @@ appName|String|否|应用名称 ...@@ -9271,10 +9271,11 @@ appName|String|否|应用名称
appIconPath|String|否|应用图标 appIconPath|String|否|应用图标
appThemeName|String|否|应用主题名称 appThemeName|String|否|应用主题名称
type|Integer|否|类型(1.终端应用,2.移动端应用) type|Integer|否|类型(1.终端应用,2.移动端应用)
shelves|Integer|否|是否上架(0.上架,1.下架) appType|Integer|否|类型(1.应用程序,2.url)
shelves|Integer|否|是否上架(0.下架,1.上架)
filePath|String|否|文件相对路径地址 filePath|String|否|文件相对路径地址
summary|String|否|简介 summary|String|否|简介
dateUpdate|Integer|否|是否数据更新(0.否,1.是) dataUpdate|Integer|否|是否数据更新(0.否,1.是)
**请求样例:** **请求样例:**
...@@ -9287,12 +9288,13 @@ dateUpdate|Integer|否|是否数据更新(0.否,1.是) ...@@ -9287,12 +9288,13 @@ dateUpdate|Integer|否|是否数据更新(0.否,1.是)
"appIconPath":"3dzxzj", "appIconPath":"3dzxzj",
"appThemeName":"jy1ied", "appThemeName":"jy1ied",
"type":1, "type":1,
"appType":1,
"downDevCount":1824, "downDevCount":1824,
"shelves":226, "shelves":226,
"filePath":"f20yrl", "filePath":"f20yrl",
"summary":"ahn2gk", "summary":"ahn2gk",
"distribute":0, "distribute":0,
"dateUpdate":5868, "dataUpdate":5868,
} }
``` ```
...@@ -9377,50 +9379,7 @@ msg|String|消息|- ...@@ -9377,50 +9379,7 @@ msg|String|消息|-
``` ```
### 自助终端应用部署
**请求URL:** app/appDistribute
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 自主终端部署
**请求参数:**
参数名称|类型| 必填 |描述
:---|:---|:----|:-------
id|Long| 是 |应用app Id
**请求样例:**
```
{
"id":1
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
**响应消息样例:**
```
{
"msg":"部署成功",
"code":1,
"data":{}
}
}
```
### 自助终端应用克隆 ### 自助终端应用克隆
...@@ -10300,25 +10259,25 @@ appName|String|否|应用名称,字段前后添加%%模糊查询 ...@@ -10300,25 +10259,25 @@ appName|String|否|应用名称,字段前后添加%%模糊查询
**响应参数:** **响应参数:**
参数名称|参数类型|描述 参数名称| 参数类型 |描述
:---|:---|:------ :---|:---------|:------
code|Integer|结果码(-1.失败,1.成功) code| Integer |结果码(-1.失败,1.成功)
msg|String|消息 msg| String |消息
data|object|数据对象 data| object |数据对象
 per_page|Integer|每页条数  per_page| Integer |每页条数
 total|Integer|总条数  total| Integer |总条数
 last_page|Integer|总页数  last_page| Integer |总页数
 current_page|Integer|当前页  current_page| Integer |当前页
 data|array|结果集列表|数组  data| array |结果集列表|数组
  id|Long|主键ID,主键,自增长   id| Long |主键ID,主键,自增长
  appId|Long|app应用Id   appId| Long |app应用Id
  appName|String|应用名称   appName| String |应用名称
  version|String|版本号   version| Integer |版本号
  notes|String|更新说明   notes| String |更新说明
  createTime|Date|创建时间   createTime| Date |创建时间
  updateUserId|Long|更新用户   updateUserId| Long |更新用户
  updateTime|Date|更新时间   updateTime| Date |更新时间
dict|object|字典对象 dict| object |字典对象
**响应消息样例:** **响应消息样例:**
...@@ -10457,6 +10416,97 @@ msg|String|消息|- ...@@ -10457,6 +10416,97 @@ msg|String|消息|-
``` ```
### 自助终端应用使用
**请求URL:** app/version/used
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 自主终端部署
**请求参数:**
参数名称|类型| 必填 |描述
:---|:---|:----|:-------
appVersionId|Long| 是 |应用版本 Id
**请求样例:**
```
{
"appVersionId":1
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
**响应消息样例:**
```
{
"msg":"应用成功",
"code":1,
"data":{}
}
}
```
### 自助终端应用预览
**请求URL:** app/version/preview
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 自主终端预览
**请求参数:**
参数名称|类型| 必填 |描述
:---|:---|:----|:-------
appVersionId|Long| 是 |应用版本 Id
**请求样例:**
```
{
"appVersionId":1
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|请求地址
**响应消息样例:**
```
{
"msg":"应用成功",
"code":1,
"data":"http://www.baidu.com/aa/"
}
}
```
## 字典附录 ## 字典附录
### isBusiness ### isBusiness
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 数据类型(number.数字,string.字符串)枚举类
*
* @author zxfei
*/
public enum AppFieldTypeEnum {
INPUT("input", "单行输入框"),
TEXTAREA("textarea", "多行输入框"),
SELECT("select", "下拉选项框"),
DATE("date", "日期选择框"),
EDITOR("editor", "富文本"),
;
private String value;
private String desc;
AppFieldTypeEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static AppFieldTypeEnum getByValue(String value) {
for (AppFieldTypeEnum dataTypeEnum : AppFieldTypeEnum.values()) {
if (dataTypeEnum.getValue() == value) {
return dataTypeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (AppFieldTypeEnum item : AppFieldTypeEnum.values()) {
try {
boolean hasE = false;
for (String e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 事项来源 (0.政务网,1.自定义)枚举类
*
* @author zxfei
*/
public enum AppTypeEnum {
终端应用(1, "终端应用"),
移动端应用(2, "移动端应用");
private Integer value;
private String desc;
AppTypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static AppTypeEnum getByValue(Integer value) {
for (AppTypeEnum sourceEnum : AppTypeEnum.values()) {
if (sourceEnum.getValue() == value) {
return sourceEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (AppTypeEnum item : AppTypeEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
...@@ -9,8 +9,8 @@ import java.util.Map; ...@@ -9,8 +9,8 @@ import java.util.Map;
* @author zxfei * @author zxfei
*/ */
public enum DataTypeEnum { public enum DataTypeEnum {
number("number.数字", "number.数字"), number("number", "数字"),
string("string.字符串", "string.字符串"); string("string", "字符串");
private String value; private String value;
private String desc; private String desc;
......
...@@ -118,4 +118,10 @@ public final class Constant { ...@@ -118,4 +118,10 @@ public final class Constant {
public static final String VERSION_PREFIX = "V"; public static final String VERSION_PREFIX = "V";
/**
* 服务器http
*/
public final static String PARAM_SERVER_HTTP_URL = "server_http_url";
} }
...@@ -23,6 +23,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; ...@@ -23,6 +23,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.mortals.framework.springcloud.service.IApplicationStartedService; import com.mortals.framework.springcloud.service.IApplicationStartedService;
import org.springframework.util.ObjectUtils;
import java.util.List; import java.util.List;
...@@ -40,6 +41,8 @@ public class DemoStartedService implements IApplicationStartedService { ...@@ -40,6 +41,8 @@ public class DemoStartedService implements IApplicationStartedService {
private static Log logger = LogFactory.getLog(DemoStartedService.class); private static Log logger = LogFactory.getLog(DemoStartedService.class);
@Autowired @Autowired
private IUserFeign userFeign; private IUserFeign userFeign;
@Autowired
private UserService userService;
@Override @Override
public void start() { public void start() {
...@@ -52,6 +55,17 @@ public class DemoStartedService implements IApplicationStartedService { ...@@ -52,6 +55,17 @@ public class DemoStartedService implements IApplicationStartedService {
SyncTreeSiteThread syncTreeSiteThread = new SyncTreeSiteThread(contextTemp); SyncTreeSiteThread syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
ThreadPool.getInstance().execute(syncTreeSiteThread); ThreadPool.getInstance().execute(syncTreeSiteThread);
if(ObjectUtils.isEmpty(userFeign)){
logger.info("userFeign未加载,加载本地用户");
userService.find(new UserQuery()).forEach(user->{
Context context = new Context();
context.setUser(user);
ThreadPool.getInstance().execute(new SyncTreeSiteThread(context));
});
return;
}
userFeign.list(new UserPdu()).getData().getData().stream().forEach(userPdu->{ userFeign.list(new UserPdu()).getData().getData().stream().forEach(userPdu->{
Context context = new Context(); Context context = new Context();
......
...@@ -11,7 +11,7 @@ import com.mortals.xhx.module.app.model.AppDatasetEntity; ...@@ -11,7 +11,7 @@ import com.mortals.xhx.module.app.model.AppDatasetEntity;
* 自助终端应用实体对象 * 自助终端应用实体对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-01
*/ */
public class AppEntity extends AppVo { public class AppEntity extends AppVo {
...@@ -50,9 +50,17 @@ public class AppEntity extends AppVo { ...@@ -50,9 +50,17 @@ public class AppEntity extends AppVo {
*/ */
private Integer downDevCount; private Integer downDevCount;
/** /**
* 是否上架(0.上架,1.下架) * 是否上架(0.下架,1.上架)
*/ */
private Integer shelves; private Integer shelves;
/**
* 类型(1.应用程序,2.url)
*/
private Integer appType;
/**
* 文件名称
*/
private String fileName;
/** /**
* 文件相对路径地址 * 文件相对路径地址
*/ */
...@@ -64,11 +72,15 @@ public class AppEntity extends AppVo { ...@@ -64,11 +72,15 @@ public class AppEntity extends AppVo {
/** /**
* 当前版本 * 当前版本
*/ */
private String version; private Integer version;
/** /**
* 简介 * 简介
*/ */
private String summary; private String summary;
/**
* 更新说明
*/
private String notes;
/** /**
* 是否部署(0.否,1.是) * 是否部署(0.否,1.是)
*/ */
...@@ -76,7 +88,7 @@ public class AppEntity extends AppVo { ...@@ -76,7 +88,7 @@ public class AppEntity extends AppVo {
/** /**
* 是否数据更新(0.否,1.是) * 是否数据更新(0.否,1.是)
*/ */
private Integer dateUpdate; private Integer dataUpdate;
/** /**
* 自助终端应用数据集信息 * 自助终端应用数据集信息
...@@ -198,19 +210,47 @@ public class AppEntity extends AppVo { ...@@ -198,19 +210,47 @@ public class AppEntity extends AppVo {
this.downDevCount = downDevCount; this.downDevCount = downDevCount;
} }
/** /**
* 获取 是否上架(0.上架,1.下架) * 获取 是否上架(0.下架,1.上架)
* @return Integer * @return Integer
*/ */
public Integer getShelves(){ public Integer getShelves(){
return shelves; return shelves;
} }
/** /**
* 设置 是否上架(0.上架,1.下架) * 设置 是否上架(0.下架,1.上架)
* @param shelves * @param shelves
*/ */
public void setShelves(Integer shelves){ public void setShelves(Integer shelves){
this.shelves = shelves; this.shelves = shelves;
} }
/**
* 获取 类型(1.应用程序,2.url)
* @return Integer
*/
public Integer getAppType(){
return appType;
}
/**
* 设置 类型(1.应用程序,2.url)
* @param appType
*/
public void setAppType(Integer appType){
this.appType = appType;
}
/**
* 获取 文件名称
* @return String
*/
public String getFileName(){
return fileName;
}
/**
* 设置 文件名称
* @param fileName
*/
public void setFileName(String fileName){
this.fileName = fileName;
}
/** /**
* 获取 文件相对路径地址 * 获取 文件相对路径地址
* @return String * @return String
...@@ -241,16 +281,16 @@ public class AppEntity extends AppVo { ...@@ -241,16 +281,16 @@ public class AppEntity extends AppVo {
} }
/** /**
* 获取 当前版本 * 获取 当前版本
* @return String * @return Integer
*/ */
public String getVersion(){ public Integer getVersion(){
return version; return version;
} }
/** /**
* 设置 当前版本 * 设置 当前版本
* @param version * @param version
*/ */
public void setVersion(String version){ public void setVersion(Integer version){
this.version = version; this.version = version;
} }
/** /**
...@@ -267,6 +307,20 @@ public class AppEntity extends AppVo { ...@@ -267,6 +307,20 @@ public class AppEntity extends AppVo {
public void setSummary(String summary){ public void setSummary(String summary){
this.summary = summary; this.summary = summary;
} }
/**
* 获取 更新说明
* @return String
*/
public String getNotes(){
return notes;
}
/**
* 设置 更新说明
* @param notes
*/
public void setNotes(String notes){
this.notes = notes;
}
/** /**
* 获取 是否部署(0.否,1.是) * 获取 是否部署(0.否,1.是)
* @return Integer * @return Integer
...@@ -285,15 +339,15 @@ public class AppEntity extends AppVo { ...@@ -285,15 +339,15 @@ public class AppEntity extends AppVo {
* 获取 是否数据更新(0.否,1.是) * 获取 是否数据更新(0.否,1.是)
* @return Integer * @return Integer
*/ */
public Integer getDateUpdate(){ public Integer getDataUpdate(){
return dateUpdate; return dataUpdate;
} }
/** /**
* 设置 是否数据更新(0.否,1.是) * 设置 是否数据更新(0.否,1.是)
* @param dateUpdate * @param dataUpdate
*/ */
public void setDateUpdate(Integer dateUpdate){ public void setDataUpdate(Integer dataUpdate){
this.dateUpdate = dateUpdate; this.dataUpdate = dataUpdate;
} }
...@@ -333,12 +387,15 @@ public class AppEntity extends AppVo { ...@@ -333,12 +387,15 @@ public class AppEntity extends AppVo {
sb.append(",type:").append(getType()); sb.append(",type:").append(getType());
sb.append(",downDevCount:").append(getDownDevCount()); sb.append(",downDevCount:").append(getDownDevCount());
sb.append(",shelves:").append(getShelves()); sb.append(",shelves:").append(getShelves());
sb.append(",appType:").append(getAppType());
sb.append(",fileName:").append(getFileName());
sb.append(",filePath:").append(getFilePath()); sb.append(",filePath:").append(getFilePath());
sb.append(",distributeFilePath:").append(getDistributeFilePath()); sb.append(",distributeFilePath:").append(getDistributeFilePath());
sb.append(",version:").append(getVersion()); sb.append(",version:").append(getVersion());
sb.append(",summary:").append(getSummary()); sb.append(",summary:").append(getSummary());
sb.append(",notes:").append(getNotes());
sb.append(",distribute:").append(getDistribute()); sb.append(",distribute:").append(getDistribute());
sb.append(",dateUpdate:").append(getDateUpdate()); sb.append(",dataUpdate:").append(getDataUpdate());
return sb.toString(); return sb.toString();
} }
...@@ -362,16 +419,22 @@ public class AppEntity extends AppVo { ...@@ -362,16 +419,22 @@ public class AppEntity extends AppVo {
this.shelves = 0; this.shelves = 0;
this.filePath = null; this.appType = 1;
this.fileName = "";
this.filePath = "";
this.distributeFilePath = "";
this.distributeFilePath = null; this.version = 1;
this.version = null; this.summary = "";
this.summary = null; this.notes = null;
this.distribute = 0; this.distribute = 0;
this.dateUpdate = 0; this.dataUpdate = 0;
} }
} }
\ No newline at end of file
...@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel; ...@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.app.model.vo.AppInfoFieldVo; import com.mortals.xhx.module.app.model.vo.AppInfoFieldVo;
/** /**
* 自助终端应用信息字段实体对象 * 自助终端应用信息字段实体对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-02
*/ */
public class AppInfoFieldEntity extends AppInfoFieldVo { public class AppInfoFieldEntity extends AppInfoFieldVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -55,7 +55,7 @@ public class AppInfoFieldEntity extends AppInfoFieldVo { ...@@ -55,7 +55,7 @@ public class AppInfoFieldEntity extends AppInfoFieldVo {
/** /**
* 排序号 * 排序号
*/ */
private String fieldOrderNo; private Integer fieldOrderNo;
/** /**
* 备注 * 备注
*/ */
...@@ -192,16 +192,16 @@ public class AppInfoFieldEntity extends AppInfoFieldVo { ...@@ -192,16 +192,16 @@ public class AppInfoFieldEntity extends AppInfoFieldVo {
} }
/** /**
* 获取 排序号 * 获取 排序号
* @return String * @return Integer
*/ */
public String getFieldOrderNo(){ public Integer getFieldOrderNo(){
return fieldOrderNo; return fieldOrderNo;
} }
/** /**
* 设置 排序号 * 设置 排序号
* @param fieldOrderNo * @param fieldOrderNo
*/ */
public void setFieldOrderNo(String fieldOrderNo){ public void setFieldOrderNo(Integer fieldOrderNo){
this.fieldOrderNo = fieldOrderNo; this.fieldOrderNo = fieldOrderNo;
} }
/** /**
...@@ -258,24 +258,24 @@ public class AppInfoFieldEntity extends AppInfoFieldVo { ...@@ -258,24 +258,24 @@ public class AppInfoFieldEntity extends AppInfoFieldVo {
this.datasetId = null; this.datasetId = null;
this.fieldCode = null; this.fieldCode = "";
this.fieldName = null; this.fieldName = "";
this.fieldType = null; this.fieldType = "";
this.dataType = null; this.dataType = "";
this.fieldValue = null; this.fieldValue = "";
this.fieldLen = null; this.fieldLen = 0;
this.fieldNull = 1; this.fieldNull = 1;
this.isList = null; this.isList = 0;
this.fieldOrderNo = null; this.fieldOrderNo = 1;
this.remark = null; this.remark = "";
} }
} }
\ No newline at end of file
...@@ -3,11 +3,11 @@ package com.mortals.xhx.module.app.model; ...@@ -3,11 +3,11 @@ package com.mortals.xhx.module.app.model;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.app.model.AppInfoFieldEntity; import com.mortals.xhx.module.app.model.AppInfoFieldEntity;
/** /**
* 自助终端应用信息字段查询对象 * 自助终端应用信息字段查询对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-02
*/ */
public class AppInfoFieldQuery extends AppInfoFieldEntity { public class AppInfoFieldQuery extends AppInfoFieldEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
private Long idStart; private Long idStart;
...@@ -84,8 +84,17 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity { ...@@ -84,8 +84,17 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
/** 字段是否列表显示(0.否,1.是)列表 */ /** 字段是否列表显示(0.否,1.是)列表 */
private List <Integer> isListList; private List <Integer> isListList;
/** 排序号 */ /** 开始 排序号 */
private List<String> fieldOrderNoList; private Integer fieldOrderNoStart;
/** 结束 排序号 */
private Integer fieldOrderNoEnd;
/** 增加 排序号 */
private Integer fieldOrderNoIncrement;
/** 排序号列表 */
private List <Integer> fieldOrderNoList;
/** 备注 */ /** 备注 */
private List<String> remarkList; private List<String> remarkList;
...@@ -529,11 +538,59 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity { ...@@ -529,11 +538,59 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
this.isListList = isListList; this.isListList = isListList;
} }
/**
* 获取 开始 排序号
* @return fieldOrderNoStart
*/
public Integer getFieldOrderNoStart(){
return this.fieldOrderNoStart;
}
/**
* 设置 开始 排序号
* @param fieldOrderNoStart
*/
public void setFieldOrderNoStart(Integer fieldOrderNoStart){
this.fieldOrderNoStart = fieldOrderNoStart;
}
/**
* 获取 结束 排序号
* @return $fieldOrderNoEnd
*/
public Integer getFieldOrderNoEnd(){
return this.fieldOrderNoEnd;
}
/**
* 设置 结束 排序号
* @param fieldOrderNoEnd
*/
public void setFieldOrderNoEnd(Integer fieldOrderNoEnd){
this.fieldOrderNoEnd = fieldOrderNoEnd;
}
/**
* 获取 增加 排序号
* @return fieldOrderNoIncrement
*/
public Integer getFieldOrderNoIncrement(){
return this.fieldOrderNoIncrement;
}
/**
* 设置 增加 排序号
* @param fieldOrderNoIncrement
*/
public void setFieldOrderNoIncrement(Integer fieldOrderNoIncrement){
this.fieldOrderNoIncrement = fieldOrderNoIncrement;
}
/** /**
* 获取 排序号 * 获取 排序号
* @return fieldOrderNoList * @return fieldOrderNoList
*/ */
public List<String> getFieldOrderNoList(){ public List<Integer> getFieldOrderNoList(){
return this.fieldOrderNoList; return this.fieldOrderNoList;
} }
...@@ -541,9 +598,10 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity { ...@@ -541,9 +598,10 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
* 设置 排序号 * 设置 排序号
* @param fieldOrderNoList * @param fieldOrderNoList
*/ */
public void setFieldOrderNoList(List<String> fieldOrderNoList){ public void setFieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList; this.fieldOrderNoList = fieldOrderNoList;
} }
/** /**
* 获取 备注 * 获取 备注
* @return remarkList * @return remarkList
...@@ -1071,21 +1129,47 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity { ...@@ -1071,21 +1129,47 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
return this; return this;
} }
/** /**
* 设置 排序号 * 设置 排序号
* @param fieldOrderNo * @param fieldOrderNo
*/ */
public AppInfoFieldQuery fieldOrderNo(String fieldOrderNo){ public AppInfoFieldQuery fieldOrderNo(Integer fieldOrderNo){
setFieldOrderNo(fieldOrderNo); setFieldOrderNo(fieldOrderNo);
return this; return this;
} }
/**
* 设置 开始 排序号
* @param fieldOrderNoStart
*/
public AppInfoFieldQuery fieldOrderNoStart(Integer fieldOrderNoStart){
this.fieldOrderNoStart = fieldOrderNoStart;
return this;
}
/**
* 设置 结束 排序号
* @param fieldOrderNoEnd
*/
public AppInfoFieldQuery fieldOrderNoEnd(Integer fieldOrderNoEnd){
this.fieldOrderNoEnd = fieldOrderNoEnd;
return this;
}
/**
* 设置 增加 排序号
* @param fieldOrderNoIncrement
*/
public AppInfoFieldQuery fieldOrderNoIncrement(Integer fieldOrderNoIncrement){
this.fieldOrderNoIncrement = fieldOrderNoIncrement;
return this;
}
/** /**
* 设置 排序号 * 设置 排序号
* @param fieldOrderNoList * @param fieldOrderNoList
*/ */
public AppInfoFieldQuery fieldOrderNoList(List<String> fieldOrderNoList){ public AppInfoFieldQuery fieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList; this.fieldOrderNoList = fieldOrderNoList;
return this; return this;
} }
......
...@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel; ...@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.app.model.vo.AppInfoTempleteFieldVo; import com.mortals.xhx.module.app.model.vo.AppInfoTempleteFieldVo;
/** /**
* 自助终端应用模板信息字段实体对象 * 自助终端应用模板信息字段实体对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-02
*/ */
public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo { public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -29,7 +29,7 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo { ...@@ -29,7 +29,7 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
*/ */
private String fieldName; private String fieldName;
/** /**
* 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
*/ */
private String fieldType; private String fieldType;
/** /**
...@@ -55,7 +55,7 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo { ...@@ -55,7 +55,7 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
/** /**
* 排序号 * 排序号
*/ */
private String fieldOrderNo; private Integer fieldOrderNo;
/** /**
* 备注 * 备注
*/ */
...@@ -107,14 +107,14 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo { ...@@ -107,14 +107,14 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
this.fieldName = fieldName; this.fieldName = fieldName;
} }
/** /**
* 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @return String * @return String
*/ */
public String getFieldType(){ public String getFieldType(){
return fieldType; return fieldType;
} }
/** /**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldType * @param fieldType
*/ */
public void setFieldType(String fieldType){ public void setFieldType(String fieldType){
...@@ -192,16 +192,16 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo { ...@@ -192,16 +192,16 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
} }
/** /**
* 获取 排序号 * 获取 排序号
* @return String * @return Integer
*/ */
public String getFieldOrderNo(){ public Integer getFieldOrderNo(){
return fieldOrderNo; return fieldOrderNo;
} }
/** /**
* 设置 排序号 * 设置 排序号
* @param fieldOrderNo * @param fieldOrderNo
*/ */
public void setFieldOrderNo(String fieldOrderNo){ public void setFieldOrderNo(Integer fieldOrderNo){
this.fieldOrderNo = fieldOrderNo; this.fieldOrderNo = fieldOrderNo;
} }
/** /**
...@@ -258,24 +258,24 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo { ...@@ -258,24 +258,24 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
this.appId = null; this.appId = null;
this.fieldCode = null; this.fieldCode = "";
this.fieldName = null; this.fieldName = "";
this.fieldType = null; this.fieldType = "";
this.dataType = null; this.dataType = "";
this.fieldValue = null; this.fieldValue = "";
this.fieldLen = null; this.fieldLen = 0;
this.fieldNull = 1; this.fieldNull = 1;
this.isList = null; this.isList = 0;
this.fieldOrderNo = null; this.fieldOrderNo = 1;
this.remark = null; this.remark = "";
} }
} }
\ No newline at end of file
...@@ -3,11 +3,11 @@ package com.mortals.xhx.module.app.model; ...@@ -3,11 +3,11 @@ package com.mortals.xhx.module.app.model;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.app.model.AppInfoTempleteFieldEntity; import com.mortals.xhx.module.app.model.AppInfoTempleteFieldEntity;
/** /**
* 自助终端应用模板信息字段查询对象 * 自助终端应用模板信息字段查询对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-02
*/ */
public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
private Long idStart; private Long idStart;
...@@ -39,7 +39,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -39,7 +39,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** 字段名称 */ /** 字段名称 */
private List<String> fieldNameList; private List<String> fieldNameList;
/** 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框) */ /** 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本) */
private List<String> fieldTypeList; private List<String> fieldTypeList;
/** 数据类型(number.数字,string.字符串) */ /** 数据类型(number.数字,string.字符串) */
...@@ -84,8 +84,17 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -84,8 +84,17 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** 字段是否列表显示(0.否,1.是)列表 */ /** 字段是否列表显示(0.否,1.是)列表 */
private List <Integer> isListList; private List <Integer> isListList;
/** 排序号 */ /** 开始 排序号 */
private List<String> fieldOrderNoList; private Integer fieldOrderNoStart;
/** 结束 排序号 */
private Integer fieldOrderNoEnd;
/** 增加 排序号 */
private Integer fieldOrderNoIncrement;
/** 排序号列表 */
private List <Integer> fieldOrderNoList;
/** 备注 */ /** 备注 */
private List<String> remarkList; private List<String> remarkList;
...@@ -293,7 +302,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -293,7 +302,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
this.fieldNameList = fieldNameList; this.fieldNameList = fieldNameList;
} }
/** /**
* 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @return fieldTypeList * @return fieldTypeList
*/ */
public List<String> getFieldTypeList(){ public List<String> getFieldTypeList(){
...@@ -301,7 +310,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -301,7 +310,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
} }
/** /**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldTypeList * @param fieldTypeList
*/ */
public void setFieldTypeList(List<String> fieldTypeList){ public void setFieldTypeList(List<String> fieldTypeList){
...@@ -529,11 +538,59 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -529,11 +538,59 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
this.isListList = isListList; this.isListList = isListList;
} }
/**
* 获取 开始 排序号
* @return fieldOrderNoStart
*/
public Integer getFieldOrderNoStart(){
return this.fieldOrderNoStart;
}
/**
* 设置 开始 排序号
* @param fieldOrderNoStart
*/
public void setFieldOrderNoStart(Integer fieldOrderNoStart){
this.fieldOrderNoStart = fieldOrderNoStart;
}
/**
* 获取 结束 排序号
* @return $fieldOrderNoEnd
*/
public Integer getFieldOrderNoEnd(){
return this.fieldOrderNoEnd;
}
/**
* 设置 结束 排序号
* @param fieldOrderNoEnd
*/
public void setFieldOrderNoEnd(Integer fieldOrderNoEnd){
this.fieldOrderNoEnd = fieldOrderNoEnd;
}
/**
* 获取 增加 排序号
* @return fieldOrderNoIncrement
*/
public Integer getFieldOrderNoIncrement(){
return this.fieldOrderNoIncrement;
}
/**
* 设置 增加 排序号
* @param fieldOrderNoIncrement
*/
public void setFieldOrderNoIncrement(Integer fieldOrderNoIncrement){
this.fieldOrderNoIncrement = fieldOrderNoIncrement;
}
/** /**
* 获取 排序号 * 获取 排序号
* @return fieldOrderNoList * @return fieldOrderNoList
*/ */
public List<String> getFieldOrderNoList(){ public List<Integer> getFieldOrderNoList(){
return this.fieldOrderNoList; return this.fieldOrderNoList;
} }
...@@ -541,9 +598,10 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -541,9 +598,10 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
* 设置 排序号 * 设置 排序号
* @param fieldOrderNoList * @param fieldOrderNoList
*/ */
public void setFieldOrderNoList(List<String> fieldOrderNoList){ public void setFieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList; this.fieldOrderNoList = fieldOrderNoList;
} }
/** /**
* 获取 备注 * 获取 备注
* @return remarkList * @return remarkList
...@@ -881,7 +939,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -881,7 +939,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** /**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldType * @param fieldType
*/ */
public AppInfoTempleteFieldQuery fieldType(String fieldType){ public AppInfoTempleteFieldQuery fieldType(String fieldType){
...@@ -890,7 +948,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -890,7 +948,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
} }
/** /**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框 * 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldTypeList * @param fieldTypeList
*/ */
public AppInfoTempleteFieldQuery fieldTypeList(List<String> fieldTypeList){ public AppInfoTempleteFieldQuery fieldTypeList(List<String> fieldTypeList){
...@@ -1071,21 +1129,47 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity { ...@@ -1071,21 +1129,47 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
return this; return this;
} }
/** /**
* 设置 排序号 * 设置 排序号
* @param fieldOrderNo * @param fieldOrderNo
*/ */
public AppInfoTempleteFieldQuery fieldOrderNo(String fieldOrderNo){ public AppInfoTempleteFieldQuery fieldOrderNo(Integer fieldOrderNo){
setFieldOrderNo(fieldOrderNo); setFieldOrderNo(fieldOrderNo);
return this; return this;
} }
/**
* 设置 开始 排序号
* @param fieldOrderNoStart
*/
public AppInfoTempleteFieldQuery fieldOrderNoStart(Integer fieldOrderNoStart){
this.fieldOrderNoStart = fieldOrderNoStart;
return this;
}
/**
* 设置 结束 排序号
* @param fieldOrderNoEnd
*/
public AppInfoTempleteFieldQuery fieldOrderNoEnd(Integer fieldOrderNoEnd){
this.fieldOrderNoEnd = fieldOrderNoEnd;
return this;
}
/**
* 设置 增加 排序号
* @param fieldOrderNoIncrement
*/
public AppInfoTempleteFieldQuery fieldOrderNoIncrement(Integer fieldOrderNoIncrement){
this.fieldOrderNoIncrement = fieldOrderNoIncrement;
return this;
}
/** /**
* 设置 排序号 * 设置 排序号
* @param fieldOrderNoList * @param fieldOrderNoList
*/ */
public AppInfoTempleteFieldQuery fieldOrderNoList(List<String> fieldOrderNoList){ public AppInfoTempleteFieldQuery fieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList; this.fieldOrderNoList = fieldOrderNoList;
return this; return this;
} }
......
...@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel; ...@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.app.model.vo.AppVersionVo; import com.mortals.xhx.module.app.model.vo.AppVersionVo;
/** /**
* 自助终端应用版本历史实体对象 * 自助终端应用版本历史实体对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-01
*/ */
public class AppVersionEntity extends AppVersionVo { public class AppVersionEntity extends AppVersionVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -27,11 +27,27 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -27,11 +27,27 @@ public class AppVersionEntity extends AppVersionVo {
/** /**
* 版本号 * 版本号
*/ */
private String version; private Integer version;
/** /**
* 更新说明 * 更新说明
*/ */
private String notes; private String notes;
/**
* 文件名称
*/
private String fileName;
/**
* 文件相对路径地址
*/
private String filePath;
/**
* 文件部署路径地址
*/
private String distributeFilePath;
/**
* 是否使用(0.否,1.是)
*/
private Integer used;
...@@ -66,16 +82,16 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -66,16 +82,16 @@ public class AppVersionEntity extends AppVersionVo {
} }
/** /**
* 获取 版本号 * 获取 版本号
* @return String * @return Integer
*/ */
public String getVersion(){ public Integer getVersion(){
return version; return version;
} }
/** /**
* 设置 版本号 * 设置 版本号
* @param version * @param version
*/ */
public void setVersion(String version){ public void setVersion(Integer version){
this.version = version; this.version = version;
} }
/** /**
...@@ -92,6 +108,62 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -92,6 +108,62 @@ public class AppVersionEntity extends AppVersionVo {
public void setNotes(String notes){ public void setNotes(String notes){
this.notes = notes; this.notes = notes;
} }
/**
* 获取 文件名称
* @return String
*/
public String getFileName(){
return fileName;
}
/**
* 设置 文件名称
* @param fileName
*/
public void setFileName(String fileName){
this.fileName = fileName;
}
/**
* 获取 文件相对路径地址
* @return String
*/
public String getFilePath(){
return filePath;
}
/**
* 设置 文件相对路径地址
* @param filePath
*/
public void setFilePath(String filePath){
this.filePath = filePath;
}
/**
* 获取 文件部署路径地址
* @return String
*/
public String getDistributeFilePath(){
return distributeFilePath;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePath
*/
public void setDistributeFilePath(String distributeFilePath){
this.distributeFilePath = distributeFilePath;
}
/**
* 获取 是否使用(0.否,1.是)
* @return Integer
*/
public Integer getUsed(){
return used;
}
/**
* 设置 是否使用(0.否,1.是)
* @param used
*/
public void setUsed(Integer used){
this.used = used;
}
...@@ -118,6 +190,10 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -118,6 +190,10 @@ public class AppVersionEntity extends AppVersionVo {
sb.append(",appName:").append(getAppName()); sb.append(",appName:").append(getAppName());
sb.append(",version:").append(getVersion()); sb.append(",version:").append(getVersion());
sb.append(",notes:").append(getNotes()); sb.append(",notes:").append(getNotes());
sb.append(",fileName:").append(getFileName());
sb.append(",filePath:").append(getFilePath());
sb.append(",distributeFilePath:").append(getDistributeFilePath());
sb.append(",used:").append(getUsed());
return sb.toString(); return sb.toString();
} }
...@@ -127,8 +203,16 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -127,8 +203,16 @@ public class AppVersionEntity extends AppVersionVo {
this.appName = ""; this.appName = "";
this.version = ""; this.version = 0;
this.notes = ""; this.notes = "";
this.fileName = "";
this.filePath = "";
this.distributeFilePath = "";
this.used = 0;
} }
} }
\ No newline at end of file
...@@ -3,11 +3,11 @@ package com.mortals.xhx.module.app.model; ...@@ -3,11 +3,11 @@ package com.mortals.xhx.module.app.model;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.app.model.AppVersionEntity; import com.mortals.xhx.module.app.model.AppVersionEntity;
/** /**
* 自助终端应用版本历史查询对象 * 自助终端应用版本历史查询对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-12-01
*/ */
public class AppVersionQuery extends AppVersionEntity { public class AppVersionQuery extends AppVersionEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
private Long idStart; private Long idStart;
...@@ -36,12 +36,42 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -36,12 +36,42 @@ public class AppVersionQuery extends AppVersionEntity {
/** 应用名称 */ /** 应用名称 */
private List<String> appNameList; private List<String> appNameList;
/** 版本号 */ /** 开始 版本号 */
private List<String> versionList; private Integer versionStart;
/** 结束 版本号 */
private Integer versionEnd;
/** 增加 版本号 */
private Integer versionIncrement;
/** 版本号列表 */
private List <Integer> versionList;
/** 更新说明 */ /** 更新说明 */
private List<String> notesList; private List<String> notesList;
/** 文件名称 */
private List<String> fileNameList;
/** 文件相对路径地址 */
private List<String> filePathList;
/** 文件部署路径地址 */
private List<String> distributeFilePathList;
/** 开始 是否使用(0.否,1.是) */
private Integer usedStart;
/** 结束 是否使用(0.否,1.是) */
private Integer usedEnd;
/** 增加 是否使用(0.否,1.是) */
private Integer usedIncrement;
/** 是否使用(0.否,1.是)列表 */
private List <Integer> usedList;
/** 开始 创建时间 */ /** 开始 创建时间 */
private String createTimeStart; private String createTimeStart;
...@@ -217,11 +247,59 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -217,11 +247,59 @@ public class AppVersionQuery extends AppVersionEntity {
public void setAppNameList(List<String> appNameList){ public void setAppNameList(List<String> appNameList){
this.appNameList = appNameList; this.appNameList = appNameList;
} }
/**
* 获取 开始 版本号
* @return versionStart
*/
public Integer getVersionStart(){
return this.versionStart;
}
/**
* 设置 开始 版本号
* @param versionStart
*/
public void setVersionStart(Integer versionStart){
this.versionStart = versionStart;
}
/**
* 获取 结束 版本号
* @return $versionEnd
*/
public Integer getVersionEnd(){
return this.versionEnd;
}
/**
* 设置 结束 版本号
* @param versionEnd
*/
public void setVersionEnd(Integer versionEnd){
this.versionEnd = versionEnd;
}
/**
* 获取 增加 版本号
* @return versionIncrement
*/
public Integer getVersionIncrement(){
return this.versionIncrement;
}
/**
* 设置 增加 版本号
* @param versionIncrement
*/
public void setVersionIncrement(Integer versionIncrement){
this.versionIncrement = versionIncrement;
}
/** /**
* 获取 版本号 * 获取 版本号
* @return versionList * @return versionList
*/ */
public List<String> getVersionList(){ public List<Integer> getVersionList(){
return this.versionList; return this.versionList;
} }
...@@ -229,9 +307,10 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -229,9 +307,10 @@ public class AppVersionQuery extends AppVersionEntity {
* 设置 版本号 * 设置 版本号
* @param versionList * @param versionList
*/ */
public void setVersionList(List<String> versionList){ public void setVersionList(List<Integer> versionList){
this.versionList = versionList; this.versionList = versionList;
} }
/** /**
* 获取 更新说明 * 获取 更新说明
* @return notesList * @return notesList
...@@ -247,6 +326,115 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -247,6 +326,115 @@ public class AppVersionQuery extends AppVersionEntity {
public void setNotesList(List<String> notesList){ public void setNotesList(List<String> notesList){
this.notesList = notesList; this.notesList = notesList;
} }
/**
* 获取 文件名称
* @return fileNameList
*/
public List<String> getFileNameList(){
return this.fileNameList;
}
/**
* 设置 文件名称
* @param fileNameList
*/
public void setFileNameList(List<String> fileNameList){
this.fileNameList = fileNameList;
}
/**
* 获取 文件相对路径地址
* @return filePathList
*/
public List<String> getFilePathList(){
return this.filePathList;
}
/**
* 设置 文件相对路径地址
* @param filePathList
*/
public void setFilePathList(List<String> filePathList){
this.filePathList = filePathList;
}
/**
* 获取 文件部署路径地址
* @return distributeFilePathList
*/
public List<String> getDistributeFilePathList(){
return this.distributeFilePathList;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePathList
*/
public void setDistributeFilePathList(List<String> distributeFilePathList){
this.distributeFilePathList = distributeFilePathList;
}
/**
* 获取 开始 是否使用(0.否,1.是)
* @return usedStart
*/
public Integer getUsedStart(){
return this.usedStart;
}
/**
* 设置 开始 是否使用(0.否,1.是)
* @param usedStart
*/
public void setUsedStart(Integer usedStart){
this.usedStart = usedStart;
}
/**
* 获取 结束 是否使用(0.否,1.是)
* @return $usedEnd
*/
public Integer getUsedEnd(){
return this.usedEnd;
}
/**
* 设置 结束 是否使用(0.否,1.是)
* @param usedEnd
*/
public void setUsedEnd(Integer usedEnd){
this.usedEnd = usedEnd;
}
/**
* 获取 增加 是否使用(0.否,1.是)
* @return usedIncrement
*/
public Integer getUsedIncrement(){
return this.usedIncrement;
}
/**
* 设置 增加 是否使用(0.否,1.是)
* @param usedIncrement
*/
public void setUsedIncrement(Integer usedIncrement){
this.usedIncrement = usedIncrement;
}
/**
* 获取 是否使用(0.否,1.是)
* @return usedList
*/
public List<Integer> getUsedList(){
return this.usedList;
}
/**
* 设置 是否使用(0.否,1.是)
* @param usedList
*/
public void setUsedList(List<Integer> usedList){
this.usedList = usedList;
}
/** /**
* 获取 开始 创建时间 * 获取 开始 创建时间
* @return createTimeStart * @return createTimeStart
...@@ -484,21 +672,47 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -484,21 +672,47 @@ public class AppVersionQuery extends AppVersionEntity {
return this; return this;
} }
/** /**
* 设置 版本号 * 设置 版本号
* @param version * @param version
*/ */
public AppVersionQuery version(String version){ public AppVersionQuery version(Integer version){
setVersion(version); setVersion(version);
return this; return this;
} }
/**
* 设置 开始 版本号
* @param versionStart
*/
public AppVersionQuery versionStart(Integer versionStart){
this.versionStart = versionStart;
return this;
}
/**
* 设置 结束 版本号
* @param versionEnd
*/
public AppVersionQuery versionEnd(Integer versionEnd){
this.versionEnd = versionEnd;
return this;
}
/**
* 设置 增加 版本号
* @param versionIncrement
*/
public AppVersionQuery versionIncrement(Integer versionIncrement){
this.versionIncrement = versionIncrement;
return this;
}
/** /**
* 设置 版本号 * 设置 版本号
* @param versionList * @param versionList
*/ */
public AppVersionQuery versionList(List<String> versionList){ public AppVersionQuery versionList(List<Integer> versionList){
this.versionList = versionList; this.versionList = versionList;
return this; return this;
} }
...@@ -523,6 +737,108 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -523,6 +737,108 @@ public class AppVersionQuery extends AppVersionEntity {
} }
/**
* 设置 文件名称
* @param fileName
*/
public AppVersionQuery fileName(String fileName){
setFileName(fileName);
return this;
}
/**
* 设置 文件名称
* @param fileNameList
*/
public AppVersionQuery fileNameList(List<String> fileNameList){
this.fileNameList = fileNameList;
return this;
}
/**
* 设置 文件相对路径地址
* @param filePath
*/
public AppVersionQuery filePath(String filePath){
setFilePath(filePath);
return this;
}
/**
* 设置 文件相对路径地址
* @param filePathList
*/
public AppVersionQuery filePathList(List<String> filePathList){
this.filePathList = filePathList;
return this;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePath
*/
public AppVersionQuery distributeFilePath(String distributeFilePath){
setDistributeFilePath(distributeFilePath);
return this;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePathList
*/
public AppVersionQuery distributeFilePathList(List<String> distributeFilePathList){
this.distributeFilePathList = distributeFilePathList;
return this;
}
/**
* 设置 是否使用(0.否,1.是)
* @param used
*/
public AppVersionQuery used(Integer used){
setUsed(used);
return this;
}
/**
* 设置 开始 是否使用(0.否,1.是)
* @param usedStart
*/
public AppVersionQuery usedStart(Integer usedStart){
this.usedStart = usedStart;
return this;
}
/**
* 设置 结束 是否使用(0.否,1.是)
* @param usedEnd
*/
public AppVersionQuery usedEnd(Integer usedEnd){
this.usedEnd = usedEnd;
return this;
}
/**
* 设置 增加 是否使用(0.否,1.是)
* @param usedIncrement
*/
public AppVersionQuery usedIncrement(Integer usedIncrement){
this.usedIncrement = usedIncrement;
return this;
}
/**
* 设置 是否使用(0.否,1.是)
* @param usedList
*/
public AppVersionQuery usedList(List<Integer> usedList){
this.usedList = usedList;
return this;
}
/** /**
* 设置 更新用户 * 设置 更新用户
* @param updateUserId * @param updateUserId
......
...@@ -3,6 +3,7 @@ package com.mortals.xhx.module.app.service; ...@@ -3,6 +3,7 @@ package com.mortals.xhx.module.app.service;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.app.dao.AppDao;
import com.mortals.xhx.module.app.model.AppEntity; import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.site.model.SiteEntity; import com.mortals.xhx.module.site.model.SiteEntity;
...@@ -24,5 +25,6 @@ public interface AppService extends ICRUDService<AppEntity, Long> { ...@@ -24,5 +25,6 @@ public interface AppService extends ICRUDService<AppEntity, Long> {
Rest<String> cloneAppsBySites(List<AppEntity> appList, List<SiteEntity> siteList, Context context); Rest<String> cloneAppsBySites(List<AppEntity> appList, List<SiteEntity> siteList, Context context);
AppDao getAppDao();
} }
\ No newline at end of file
package com.mortals.xhx.module.app.service; package com.mortals.xhx.module.app.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.model.AppVersionEntity; import com.mortals.xhx.module.app.model.AppVersionEntity;
/** /**
* AppVersionService * AppVersionService
* *
...@@ -11,4 +16,9 @@ import com.mortals.xhx.module.app.model.AppVersionEntity; ...@@ -11,4 +16,9 @@ import com.mortals.xhx.module.app.model.AppVersionEntity;
*/ */
public interface AppVersionService extends ICRUDService<AppVersionEntity,Long>{ public interface AppVersionService extends ICRUDService<AppVersionEntity,Long>{
Rest<String> appDistribute(AppVersionEntity appVersionEntity, Context context);
Rest<Void> appUsed(AppVersionEntity appVersionEntity, Context context);
} }
\ No newline at end of file
...@@ -2,12 +2,14 @@ package com.mortals.xhx.module.app.service.impl; ...@@ -2,12 +2,14 @@ package com.mortals.xhx.module.app.service.impl;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.module.app.model.*; import com.mortals.xhx.module.app.model.*;
import com.mortals.xhx.module.app.service.AppInfoFieldService; import com.mortals.xhx.module.app.service.AppInfoFieldService;
import com.mortals.xhx.module.app.service.AppService; import com.mortals.xhx.module.app.service.AppService;
import com.mortals.xhx.module.app.service.AppVersionService; import com.mortals.xhx.module.app.service.AppVersionService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -51,8 +53,8 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao ...@@ -51,8 +53,8 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
} }
//更新版本号 //更新版本号
AppEntity appEntity = appService.get(entity.getAppId(), context); /* AppEntity appEntity = appService.get(entity.getAppId(), context);
saveOrUpdateAppVersion(appEntity, context); saveOrUpdateAppVersion(appEntity, context);*/
super.saveAfter(entity, context); super.saveAfter(entity, context);
} }
...@@ -73,9 +75,6 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao ...@@ -73,9 +75,6 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
appInfoFieldService.save(entity.getAppInfoFieldList()); appInfoFieldService.save(entity.getAppInfoFieldList());
} }
//更新版本号
AppEntity appEntity = appService.get(entity.getAppId(), context);
saveOrUpdateAppVersion(appEntity, context);
super.updateAfter(entity, context); super.updateAfter(entity, context);
} }
...@@ -88,7 +87,7 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao ...@@ -88,7 +87,7 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
super.removeAfter(ids, context, result); super.removeAfter(ids, context, result);
} }
private void saveOrUpdateAppVersion(AppEntity appEntity, Context context) { /* private void saveOrUpdateAppVersion(AppEntity appEntity, Context context) {
if (!ObjectUtils.isEmpty(appEntity)) { if (!ObjectUtils.isEmpty(appEntity)) {
String version = appEntity.getVersion(); String version = appEntity.getVersion();
String versionNum = StrUtil.subAfter(version, Constant.VERSION_PREFIX, false); String versionNum = StrUtil.subAfter(version, Constant.VERSION_PREFIX, false);
...@@ -100,11 +99,13 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao ...@@ -100,11 +99,13 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
versionEntity.setAppId(appEntity.getId()); versionEntity.setAppId(appEntity.getId());
versionEntity.setVersion(Constant.VERSION_PREFIX + newVersionNum); versionEntity.setVersion(Constant.VERSION_PREFIX + newVersionNum);
versionEntity.setNotes("应用数据更新!"); versionEntity.setNotes("应用数据更新!");
versionEntity.setFileName(appEntity.getFileName());
versionEntity.setDistributeFilePath(appVersionEntity.getDistributeFilePath());
versionEntity.setCreateTime(new Date()); versionEntity.setCreateTime(new Date());
versionEntity.setCreateUserId(this.getContextUserId(context)); versionEntity.setCreateUserId(this.getContextUserId(context));
appVersionService.save(versionEntity, context); appVersionService.save(versionEntity, context);
appEntity.setVersion(versionEntity.getVersion()); appEntity.setVersion(versionEntity.getVersion());
appService.update(appEntity, context); appService.update(appEntity, context);
} }
} }*/
} }
\ No newline at end of file
package com.mortals.xhx.module.app.service.impl; package com.mortals.xhx.module.app.service.impl;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.mortals.framework.model.DbMatchMode; import com.mortals.framework.model.DbMatchMode;
...@@ -9,6 +10,7 @@ import com.google.common.collect.Maps; ...@@ -9,6 +10,7 @@ import com.google.common.collect.Maps;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.base.system.upload.service.UploadService; import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
...@@ -63,9 +65,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -63,9 +65,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
@Override @Override
protected void findAfter(AppEntity params, PageInfo pageInfo, Context context, List<AppEntity> list) throws AppException { protected void findAfter(AppEntity params, PageInfo pageInfo, Context context, List<AppEntity> list) throws AppException {
//统计站点 //统计站点
list.forEach(item->{ list.forEach(item -> {
List<AppEntity> appEntityList = this.find(new AppQuery().appCode(item.getAppCode()), context); List<AppEntity> appEntityList = this.find(new AppQuery().appCode(item.getAppCode()), context);
// int count = this.count(new AppQuery().appCode(item.getAppCode()), context);
item.setApplianceSiteScope(appEntityList.size()); item.setApplianceSiteScope(appEntityList.size());
item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList())); item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList()));
}); });
...@@ -100,7 +101,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -100,7 +101,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
appEntity.setDistributeFilePath(disPath); appEntity.setDistributeFilePath(disPath);
appEntity.setDistribute(YesNoEnum.YES.getValue()); appEntity.setDistribute(YesNoEnum.YES.getValue());
appEntity.setUpdateTime(new Date()); appEntity.setUpdateTime(new Date());
this.update(appEntity, context); this.update(appEntity, context);
return Rest.ok("应用部署成功!"); return Rest.ok("应用部署成功!");
} }
...@@ -120,7 +120,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -120,7 +120,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
AppEntity appClone = new AppEntity(); AppEntity appClone = new AppEntity();
appClone.initAttrValue(); appClone.initAttrValue();
BeanUtils.copyProperties(appEntity, appClone, BeanUtil.getNullPropertyNames(appEntity)); BeanUtils.copyProperties(appEntity, appClone, BeanUtil.getNullPropertyNames(appEntity));
appClone.setVersion(appEntity.getVersion()); appClone.setVersion(1);
appClone.setDistribute(YesNoEnum.NO.getValue()); appClone.setDistribute(YesNoEnum.NO.getValue());
appClone.setDownDevCount(0); appClone.setDownDevCount(0);
appClone.setSiteId(siteEntity.getId()); appClone.setSiteId(siteEntity.getId());
...@@ -198,9 +198,14 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -198,9 +198,14 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
} }
@Override
public AppDao getAppDao() {
return this.dao;
}
@Override @Override
protected void saveBefore(AppEntity entity, Context context) throws AppException { protected void saveBefore(AppEntity entity, Context context) throws AppException {
entity.setVersion(Constant.VERSION_PREFIX+"1.0");
super.saveBefore(entity, context); super.saveBefore(entity, context);
} }
...@@ -210,14 +215,72 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -210,14 +215,72 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
AppVersionEntity versionEntity = new AppVersionEntity(); AppVersionEntity versionEntity = new AppVersionEntity();
versionEntity.initAttrValue(); versionEntity.initAttrValue();
versionEntity.setAppId(entity.getId()); versionEntity.setAppId(entity.getId());
versionEntity.setAppName(entity.getAppName());
versionEntity.setVersion(entity.getVersion()); versionEntity.setVersion(entity.getVersion());
versionEntity.setNotes("应用初始创建!"); versionEntity.setNotes("应用初始创建!");
versionEntity.setFileName(entity.getFileName());
versionEntity.setFilePath(entity.getFilePath());
versionEntity.setDistributeFilePath(entity.getDistributeFilePath());
versionEntity.setCreateTime(new Date()); versionEntity.setCreateTime(new Date());
versionEntity.setCreateUserId(this.getContextUserId(context)); versionEntity.setCreateUserId(this.getContextUserId(context));
appVersionService.save(versionEntity,context); appVersionService.save(versionEntity, context);
super.saveAfter(entity, context); super.saveAfter(entity, context);
} }
@Override
public AppEntity update(AppEntity entity, Context context) throws AppException {
this.updateBefore(entity, context);
String filePath = entity.getFilePath();
String fileName = entity.getFileName();
entity.setFilePath(null);
entity.setFileName(null);
int iRet = this.dao.update(entity);
if (iRet == 0) {
throw new AppException(-1002, "更新失败!");
} else {
entity.setFileName(fileName);
entity.setFilePath(filePath);
this.updateAfter(entity, context);
return entity;
}
}
@Override
protected void updateAfter(AppEntity entity, Context context) throws AppException {
AppVersionQuery appVersionQuery = new AppVersionQuery();
appVersionQuery.setAppId(entity.getId());
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("version", OrderCol.DESCENDING));
appVersionQuery.setOrderColList(orderColList);
List<AppVersionEntity> appVersionEntities = appVersionService.find(appVersionQuery, context);
//获取最大版本号
if (!ObjectUtils.isEmpty(appVersionEntities)) {
AppVersionEntity curAppVersionEntity = appVersionEntities.get(0);
// String versionNum = StrUtil.subAfter(curAppVersionEntity.getVersion(), Constant.VERSION_PREFIX, false);
Integer versionNum = curAppVersionEntity.getVersion();
// Integer newVersionNum = versionNum++;
AppVersionEntity appVersionEntity = new AppVersionEntity();
appVersionEntity.initAttrValue();
AppVersionEntity versionEntity = new AppVersionEntity();
versionEntity.initAttrValue();
versionEntity.setAppId(entity.getId());
versionEntity.setAppName(entity.getAppName());
versionEntity.setVersion(++versionNum);
versionEntity.setNotes(entity.getNotes());
versionEntity.setFileName(entity.getFileName());
versionEntity.setFilePath(entity.getFilePath());
versionEntity.setDistributeFilePath(entity.getDistributeFilePath());
versionEntity.setCreateTime(new Date());
versionEntity.setCreateUserId(this.getContextUserId(context));
appVersionService.save(versionEntity, context);
}
super.updateAfter(entity, context);
}
@Override @Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException { protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
//级联删除 appids 相关数据 //级联删除 appids 相关数据
...@@ -238,8 +301,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -238,8 +301,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if (!ObjectUtils.isEmpty(appDatasetDeleteList)) { if (!ObjectUtils.isEmpty(appDatasetDeleteList)) {
appDatasetService.removeList(appDatasetDeleteList, context); appDatasetService.removeList(appDatasetDeleteList, context);
List<AppInfoFieldEntity> appInfoFieldDeleteList = appInfoFieldService.find(new AppInfoFieldQuery().datasetIdList(appDatasetDeleteList.stream().map(AppDatasetEntity::getAppId).collect(Collectors.toList()))); List<AppInfoFieldEntity> appInfoFieldDeleteList = appInfoFieldService.find(new AppInfoFieldQuery().datasetIdList(appDatasetDeleteList.stream().map(AppDatasetEntity::getAppId).collect(Collectors.toList())));
if(!ObjectUtils.isEmpty(appInfoFieldDeleteList)){ if (!ObjectUtils.isEmpty(appInfoFieldDeleteList)) {
appInfoFieldService.removeList(appInfoFieldDeleteList,context); appInfoFieldService.removeList(appInfoFieldDeleteList, context);
} }
} }
...@@ -283,7 +346,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -283,7 +346,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
appInfoFieldEntity.setFieldLen(0); appInfoFieldEntity.setFieldLen(0);
appInfoFieldEntity.setFieldNull(0); appInfoFieldEntity.setFieldNull(0);
appInfoFieldEntity.setIsList(0); appInfoFieldEntity.setIsList(0);
appInfoFieldEntity.setFieldOrderNo(""); appInfoFieldEntity.setFieldOrderNo(1);
appInfoFieldEntity.setRemark(""); appInfoFieldEntity.setRemark("");
appInfoFieldEntity.setId(0L); appInfoFieldEntity.setId(0L);
appInfoFieldEntity.setColPickMode(0); appInfoFieldEntity.setColPickMode(0);
...@@ -307,7 +370,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -307,7 +370,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
System.out.println(JSON.toJSONString(appClone)); System.out.println(JSON.toJSONString(appClone));
System.out.println(NumberUtil.add("1.0","0.1").setScale(1).toString()); System.out.println(NumberUtil.add("1.0", "0.1").setScale(1).toString());
} }
......
package com.mortals.xhx.module.app.service.impl; package com.mortals.xhx.module.app.service.impl;
import cn.hutool.core.io.FileUtil;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.utils.ZipUtils;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.model.AppVersionQuery;
import com.mortals.xhx.module.app.service.AppService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.app.dao.AppVersionDao; import com.mortals.xhx.module.app.dao.AppVersionDao;
import com.mortals.xhx.module.app.model.AppVersionEntity; import com.mortals.xhx.module.app.model.AppVersionEntity;
import com.mortals.xhx.module.app.service.AppVersionService; import com.mortals.xhx.module.app.service.AppVersionService;
import java.io.File;
import java.util.Date;
/** /**
* AppVersionService * AppVersionService
* 自助终端应用版本历史 service实现 * 自助终端应用版本历史 service实现
* *
* @author zxfei * @author zxfei
* @date 2022-11-28 * @date 2022-11-28
*/ */
@Service("appVersionService") @Service("appVersionService")
public class AppVersionServiceImpl extends AbstractCRUDServiceImpl<AppVersionDao, AppVersionEntity, Long> implements AppVersionService { public class AppVersionServiceImpl extends AbstractCRUDServiceImpl<AppVersionDao, AppVersionEntity, Long> implements AppVersionService {
@Autowired
private AppService appService;
@Autowired
private SiteService siteService;
@Autowired
private UploadService uploadService;
@Override
public Rest<String> appDistribute(AppVersionEntity appVersionEntity, Context context) {
AppEntity appEntity = appService.get(appVersionEntity.getAppId(), context);
distributeFile(appVersionEntity, appEntity, context);
return Rest.ok("部署应用成功!");
}
private String distributeFile(AppVersionEntity appVersionEntity, AppEntity appEntity, Context context) {
SiteEntity siteCache = siteService.getCache(appEntity.getSiteId().toString());
//判断文件是否存在
String targetFilePath = uploadService.getFilePath(appVersionEntity.getFilePath());
if (FileUtil.isEmpty(new File(targetFilePath))) {
throw new AppException("部署文件不存在!");
}
if (!FileUtil.getSuffix(appVersionEntity.getFilePath()).equals("zip")) {
throw new AppException("部署只支持zip文件!");
}
//部署路径是否存在 如果不存在 创建目录,
//文件构成目录 基础path +站点编码+应用编码 /basepath/sitecode/appcode/v2/
String path = GlobalSysInfo.getParamValue(Constant.APP_BASE_DISTRIBUTE_PATH, "/home/publish/app");
String siteCode = siteCache.getSiteCode();
String appcode = appEntity.getAppCode();
Integer version = appVersionEntity.getVersion();
String disPath = path + File.separator + siteCode + File.separator + appcode + File.separator + version;
//判断目标目录是否存在 如果存在 这删除
if (FileUtil.isDirectory(disPath)) {
FileUtil.del(disPath);
}
ZipUtils.unzip(new File(targetFilePath), disPath);
return disPath;
}
@Override
public Rest<Void> appUsed(AppVersionEntity appVersionEntity, Context context) {
//使用 部署
AppEntity appEntity = appService.get(appVersionEntity.getAppId(), context);
String disPath = distributeFile(appVersionEntity, appEntity, context);
//更新app版本使用
appVersionEntity.setUsed(YesNoEnum.YES.getValue());
appVersionEntity.setDistributeFilePath(disPath);
this.getDao().update(new AppVersionQuery().appId(appVersionEntity.getAppId()).used(YesNoEnum.NO.getValue()));
this.update(appVersionEntity, context);
//更新当前app
appEntity.setFileName(appVersionEntity.getFileName());
appEntity.setFilePath(appVersionEntity.getFilePath());
appEntity.setDistributeFilePath(appVersionEntity.getDistributeFilePath());
appEntity.setVersion(appVersionEntity.getVersion());
appEntity.setDistribute(YesNoEnum.YES.getValue());
appEntity.setUpdateTime(new Date());
appService.getAppDao().update(appEntity);
return Rest.ok("使用应用成功!");
}
} }
\ No newline at end of file
package com.mortals.xhx.module.app.web; package com.mortals.xhx.module.app.web;
import cn.hutool.core.net.url.UrlBuilder;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.AppFieldTypeEnum;
import com.mortals.xhx.common.code.AppTypeEnum;
import com.mortals.xhx.common.code.DataTypeEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.model.AppQuery; import com.mortals.xhx.module.app.model.AppQuery;
import com.mortals.xhx.module.app.service.AppService;
import com.mortals.xhx.module.site.model.SiteEntity; import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteQuery; import com.mortals.xhx.module.site.model.SiteQuery;
import com.mortals.xhx.module.site.service.SiteService; import com.mortals.xhx.module.site.service.SiteService;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.service.AppService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/** /**
* 自助终端应用 * 自助终端应用
* *
...@@ -59,10 +48,11 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -59,10 +48,11 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", paramService.getParamBySecondOrganize("App", "type")); this.addDict(model, "type", AppTypeEnum.getEnumMap());
this.addDict(model, "shelves", paramService.getParamBySecondOrganize("App", "shelves")); this.addDict(model, "shelves", paramService.getParamBySecondOrganize("App", "shelves"));
this.addDict(model, "distribute", paramService.getParamBySecondOrganize("App", "distribute")); this.addDict(model, "distribute", YesNoEnum.getEnumMap());
this.addDict(model, "dateUpdate", paramService.getParamBySecondOrganize("App", "dateUpdate")); this.addDict(model, "dateUpdate", YesNoEnum.getEnumMap());
super.init(model, context); super.init(model, context);
} }
...@@ -125,4 +115,14 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -125,4 +115,14 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
} }
public static void main(String[] args) {
String homeUrl = "app/1/2";
String domainUrl = "http://192.168.0.98:11078";
String s = UrlBuilder.of(domainUrl).addPath("app").addPath("1").addPath("2").toString();
System.out.println(s);
}
} }
\ No newline at end of file
package com.mortals.xhx.module.app.web; package com.mortals.xhx.module.app.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.AppFieldTypeEnum;
import com.mortals.xhx.common.code.DataTypeEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -42,10 +45,10 @@ public class AppInfoFieldController extends BaseCRUDJsonBodyMappingController<Ap ...@@ -42,10 +45,10 @@ public class AppInfoFieldController extends BaseCRUDJsonBodyMappingController<Ap
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "fieldType", paramService.getParamBySecondOrganize("AppInfoField","fieldType")); this.addDict(model, "dataType", DataTypeEnum.getEnumMap());
this.addDict(model, "dataType", paramService.getParamBySecondOrganize("AppInfoField","dataType")); this.addDict(model, "fieldType", AppFieldTypeEnum.getEnumMap());
this.addDict(model, "fieldNull", paramService.getParamBySecondOrganize("AppInfoField","fieldNull")); this.addDict(model, "fieldNull", YesNoEnum.getEnumMap());
this.addDict(model, "isList", paramService.getParamBySecondOrganize("AppInfoField","isList")); this.addDict(model, "isList", YesNoEnum.getEnumMap());
super.init(model, context); super.init(model, context);
} }
......
package com.mortals.xhx.module.app.web; package com.mortals.xhx.module.app.web;
import cn.hutool.core.net.url.UrlBuilder;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.OrderCol; import com.mortals.framework.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.service.AppService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.app.model.AppVersionEntity; import com.mortals.xhx.module.app.model.AppVersionEntity;
import com.mortals.xhx.module.app.service.AppVersionService; import com.mortals.xhx.module.app.service.AppVersionService;
...@@ -18,26 +31,33 @@ import com.mortals.framework.util.StringUtils; ...@@ -18,26 +31,33 @@ import com.mortals.framework.util.StringUtils;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* * 自助终端应用版本历史
* 自助终端应用版本历史 *
* * @author zxfei
* @author zxfei * @date 2022-11-28
* @date 2022-11-28 */
*/
@RestController @RestController
@RequestMapping("app/version") @RequestMapping("app/version")
public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppVersionService,AppVersionEntity,Long> { public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppVersionService, AppVersionEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
public AppVersionController(){ @Autowired
super.setModuleDesc( "自助终端应用版本历史"); private SiteService siteService;
@Autowired
private AppService appService;
public AppVersionController() {
super.setModuleDesc("自助终端应用版本历史");
} }
@Override @Override
...@@ -49,9 +69,77 @@ public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppV ...@@ -49,9 +69,77 @@ public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppV
@Override @Override
protected void doListBefore(AppVersionEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(AppVersionEntity query, Map<String, Object> model, Context context) throws AppException {
List<OrderCol> orderColList = new ArrayList<>(); List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("version",OrderCol.DESCENDING)); orderColList.add(new OrderCol("version", OrderCol.DESCENDING));
query.setOrderColList(orderColList); query.setOrderColList(orderColList);
super.doListBefore(query, model, context); super.doListBefore(query, model, context);
} }
/**
* app历史版本使用
*/
@PostMapping(value = "used")
public Rest<String> used(Long appVersionId) {
String busiDesc = this.getModuleDesc() + "自助服务应用使用";
Rest<String> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(appVersionId)) {
throw new AppException("应用版本Id不能为空!");
}
AppVersionEntity appVersionEntity = this.service.get(appVersionId, getContext());
if (ObjectUtils.isEmpty(appVersionEntity)) {
throw new AppException("当前应用版本不存在!appVersionId:" + appVersionId);
}
if (appVersionEntity.getUsed() == YesNoEnum.YES.getValue()) {
throw new AppException("当前应用使用中!");
}
Rest<Void> usedRest = this.service.appUsed(appVersionEntity, getContext());
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("自助服务应用预览", e);
return Rest.fail(super.convertException(e));
}
return rest;
}
/**
* app应用预览
*/
@GetMapping(value = "preview")
public Rest<String> preview(Long appVersionId) {
String busiDesc = this.getModuleDesc() + "自助服务应用预览";
Rest<String> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(appVersionId)) {
throw new AppException("应用版本Id不能为空!");
}
AppVersionEntity appVersionEntity = this.service.get(appVersionId, getContext());
if (ObjectUtils.isEmpty(appVersionEntity)) {
throw new AppException("应用版本未找到!");
}
AppEntity appEntity = appService.get(appVersionEntity.getAppId(), getContext());
if (ObjectUtils.isEmpty(appEntity)) {
throw new AppException("当前应用不存在!appId:" + appVersionEntity.getAppId());
}
Rest<String> disRest = this.service.appDistribute(appVersionEntity, getContext());
SiteEntity siteEntity = siteService.get(appEntity.getSiteId(), getContext());
//请求地址 http://domian/app/siteCode/appcode/html
String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
rest.setData(UrlBuilder.of(domainUrl)
.addPath("app")
.addPath(siteEntity.getSiteCode())
.addPath(appEntity.getAppCode())
.addPath(appEntity.getVersion().toString())
.toString());
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("自助服务应用预览", e);
return Rest.fail(super.convertException(e));
}
return rest;
}
} }
\ No newline at end of file
...@@ -23,7 +23,7 @@ import java.util.Map; ...@@ -23,7 +23,7 @@ import java.util.Map;
* @author zxfei * @author zxfei
* @date 2022-01-12 * @date 2022-01-12
*/ */
public interface MatterService extends ICRUDCacheService<MatterEntity,Long> { public interface MatterService extends ICRUDService<MatterEntity,Long> {
/** /**
* 添加业务到站点 * 添加业务到站点
...@@ -54,7 +54,6 @@ public interface MatterService extends ICRUDCacheService<MatterEntity,Long> { ...@@ -54,7 +54,6 @@ public interface MatterService extends ICRUDCacheService<MatterEntity,Long> {
/** /**
* 添加业务到站点 * 添加业务到站点
* @param matterEntity * @param matterEntity
* @param siteId
* @param context * @param context
*/ */
Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity matterEntity, SiteEntity siteEntity, Context context); Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity matterEntity, SiteEntity siteEntity, Context context);
......
...@@ -12,6 +12,7 @@ import com.mortals.framework.model.Context; ...@@ -12,6 +12,7 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DataUtil;
import com.mortals.xhx.base.framework.config.InterceptorConfig; import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.common.code.FiletypeEnum; import com.mortals.xhx.common.code.FiletypeEnum;
...@@ -53,7 +54,7 @@ import java.util.stream.Collectors; ...@@ -53,7 +54,7 @@ import java.util.stream.Collectors;
* @date 2022-01-12 * @date 2022-01-12
*/ */
@Service("matterService") @Service("matterService")
public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, MatterEntity, Long> implements MatterService { public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, MatterEntity, Long> implements MatterService {
protected Log log = LogFactory.getLog(this.getClass()); protected Log log = LogFactory.getLog(this.getClass());
@Autowired @Autowired
private SiteMatterService siteMatterService; private SiteMatterService siteMatterService;
......
...@@ -33,7 +33,7 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao ...@@ -33,7 +33,7 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
protected void findAfter(SiteMatterEntity params, PageInfo pageInfo, Context context, List<SiteMatterEntity> list) throws AppException { protected void findAfter(SiteMatterEntity params, PageInfo pageInfo, Context context, List<SiteMatterEntity> list) throws AppException {
list.forEach(item->{ list.forEach(item->{
if(!ObjectUtils.isEmpty(item.getMatterId())){ if(!ObjectUtils.isEmpty(item.getMatterId())){
MatterEntity matterEntity = matterService.getCache(item.getMatterId().toString()); MatterEntity matterEntity = matterService.get(item.getMatterId());
if(!ObjectUtils.isEmpty(matterEntity)){ if(!ObjectUtils.isEmpty(matterEntity)){
item.setBelongDept(matterEntity.getBelongDept()); item.setBelongDept(matterEntity.getBelongDept());
item.setWindowToTheSceneNum(matterEntity.getWindowToTheSceneNum()); item.setWindowToTheSceneNum(matterEntity.getWindowToTheSceneNum());
......
...@@ -126,14 +126,17 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -126,14 +126,17 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
public List<SiteTreeSelect> siteTree(Context context) { public List<SiteTreeSelect> siteTree(Context context) {
Map<String, AreaEntity> areaMap = new HashMap<>(); Map<String, AreaEntity> areaMap = new HashMap<>();
SiteQuery siteQuery = new SiteQuery(); SiteQuery siteQuery = new SiteQuery();
if (context.getUser().getSiteIds() != null) {
Set<String> siteSet = Arrays.stream(context.getUser().getSiteIds().split(",")).filter(f -> !f.equals("")).collect(Collectors.toSet()); Set<String> siteSet = Arrays.stream(context.getUser().getSiteIds().split(",")).filter(f -> !f.equals("")).collect(Collectors.toSet());
if (!ObjectUtils.isEmpty(siteSet)) { if (!ObjectUtils.isEmpty(siteSet)) {
List<Long> siteIdList = siteSet.stream().map(Long::parseLong).collect(Collectors.toList()); List<Long> siteIdList = siteSet.stream().map(Long::parseLong).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(siteIdList)) { if (!ObjectUtils.isEmpty(siteIdList)) {
siteQuery.idList(siteIdList); siteQuery.idList(siteIdList);
} }
} }
}
//查詢指定的站點ids //查詢指定的站點ids
log.info(String.format("siteQuery==>%s", JSON.toJSONString(siteQuery))); log.info(String.format("siteQuery==>%s", JSON.toJSONString(siteQuery)));
List<SiteEntity> siteList = this.find(siteQuery); List<SiteEntity> siteList = this.find(siteQuery);
......
...@@ -70,6 +70,9 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman ...@@ -70,6 +70,9 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
try { try {
String ip = super.getRequestIP(request); String ip = super.getRequestIP(request);
WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd(),ip); WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd(),ip);
if(query.getSiteId()!=workmanEntity.getSiteId()){
throw new AppException("当前工作人员不在当前站点下!");
}
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "工作人员登录成功!"); ret.put(KEY_RESULT_MSG, "工作人员登录成功!");
ret.put(KEY_RESULT_DATA, workmanEntity); ret.put(KEY_RESULT_DATA, workmanEntity);
...@@ -95,6 +98,7 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman ...@@ -95,6 +98,7 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
} else { } else {
throw new AppException("账户密码修改失败!"); throw new AppException("账户密码修改失败!");
} }
} catch (Exception e) { } catch (Exception e) {
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE); ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e)); ret.put(KEY_RESULT_MSG, super.convertException(e));
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd"> "mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.app.dao.ibatis.AppInfoFieldDaoImpl"> <mapper namespace="com.mortals.xhx.module.app.dao.ibatis.AppInfoFieldDaoImpl">
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
...@@ -144,6 +144,9 @@ ...@@ -144,6 +144,9 @@
<if test="(colPickMode==0 and data.containsKey('fieldOrderNo')) or (colPickMode==1 and !data.containsKey('fieldOrderNo'))"> <if test="(colPickMode==0 and data.containsKey('fieldOrderNo')) or (colPickMode==1 and !data.containsKey('fieldOrderNo'))">
a.fieldOrderNo=#{data.fieldOrderNo}, a.fieldOrderNo=#{data.fieldOrderNo},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('fieldOrderNoIncrement')) or (colPickMode==1 and !data.containsKey('fieldOrderNoIncrement'))">
a.fieldOrderNo=ifnull(a.fieldOrderNo,0) + #{data.fieldOrderNoIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))"> <if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark}, a.remark=#{data.remark},
</if> </if>
...@@ -262,9 +265,14 @@ ...@@ -262,9 +265,14 @@
</trim> </trim>
<trim prefix="fieldOrderNo=(case" suffix="ELSE fieldOrderNo end),"> <trim prefix="fieldOrderNo=(case" suffix="ELSE fieldOrderNo end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('fieldOrderNo')) or (colPickMode==1 and !item.containsKey('fieldOrderNo'))"> <choose>
<when test="(colPickMode==0 and item.containsKey('fieldOrderNo')) or (colPickMode==1 and !item.containsKey('fieldOrderNo'))">
when a.id=#{item.id} then #{item.fieldOrderNo} when a.id=#{item.id} then #{item.fieldOrderNo}
</if> </when>
<when test="(colPickMode==0 and item.containsKey('fieldOrderNoIncrement')) or (colPickMode==1 and !item.containsKey('fieldOrderNoIncrement'))">
when a.id=#{item.id} then ifnull(a.fieldOrderNo,0) + #{item.fieldOrderNoIncrement}
</when>
</choose>
</foreach> </foreach>
</trim> </trim>
<trim prefix="remark=(case" suffix="ELSE remark end),"> <trim prefix="remark=(case" suffix="ELSE remark end),">
...@@ -608,10 +616,9 @@ ...@@ -608,10 +616,9 @@
${_conditionType_} a.isList <![CDATA[ <= ]]> #{${_conditionParam_}.isListEnd} ${_conditionType_} a.isList <![CDATA[ <= ]]> #{${_conditionParam_}.isListEnd}
</if> </if>
<if test="conditionParamRef.containsKey('fieldOrderNo')"> <if test="conditionParamRef.containsKey('fieldOrderNo')">
<if test="conditionParamRef.fieldOrderNo != null and conditionParamRef.fieldOrderNo != ''"> <if test="conditionParamRef.fieldOrderNo != null ">
${_conditionType_} a.fieldOrderNo like #{${_conditionParam_}.fieldOrderNo} ${_conditionType_} a.fieldOrderNo = #{${_conditionParam_}.fieldOrderNo}
</if> </if>
<if test="conditionParamRef.fieldOrderNo == null"> <if test="conditionParamRef.fieldOrderNo == null">
${_conditionType_} a.fieldOrderNo is null ${_conditionType_} a.fieldOrderNo is null
...@@ -623,6 +630,13 @@ ...@@ -623,6 +630,13 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('fieldOrderNoStart') and conditionParamRef.fieldOrderNoStart != null">
${_conditionType_} a.fieldOrderNo <![CDATA[ >= ]]> #{${_conditionParam_}.fieldOrderNoStart}
</if>
<if test="conditionParamRef.containsKey('fieldOrderNoEnd') and conditionParamRef.fieldOrderNoEnd != null">
${_conditionType_} a.fieldOrderNo <![CDATA[ <= ]]> #{${_conditionParam_}.fieldOrderNoEnd}
</if>
<if test="conditionParamRef.containsKey('remark')"> <if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''"> <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd"> "mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.app.dao.ibatis.AppInfoTempleteFieldDaoImpl"> <mapper namespace="com.mortals.xhx.module.app.dao.ibatis.AppInfoTempleteFieldDaoImpl">
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
...@@ -144,6 +144,9 @@ ...@@ -144,6 +144,9 @@
<if test="(colPickMode==0 and data.containsKey('fieldOrderNo')) or (colPickMode==1 and !data.containsKey('fieldOrderNo'))"> <if test="(colPickMode==0 and data.containsKey('fieldOrderNo')) or (colPickMode==1 and !data.containsKey('fieldOrderNo'))">
a.fieldOrderNo=#{data.fieldOrderNo}, a.fieldOrderNo=#{data.fieldOrderNo},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('fieldOrderNoIncrement')) or (colPickMode==1 and !data.containsKey('fieldOrderNoIncrement'))">
a.fieldOrderNo=ifnull(a.fieldOrderNo,0) + #{data.fieldOrderNoIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))"> <if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark}, a.remark=#{data.remark},
</if> </if>
...@@ -262,9 +265,14 @@ ...@@ -262,9 +265,14 @@
</trim> </trim>
<trim prefix="fieldOrderNo=(case" suffix="ELSE fieldOrderNo end),"> <trim prefix="fieldOrderNo=(case" suffix="ELSE fieldOrderNo end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('fieldOrderNo')) or (colPickMode==1 and !item.containsKey('fieldOrderNo'))"> <choose>
<when test="(colPickMode==0 and item.containsKey('fieldOrderNo')) or (colPickMode==1 and !item.containsKey('fieldOrderNo'))">
when a.id=#{item.id} then #{item.fieldOrderNo} when a.id=#{item.id} then #{item.fieldOrderNo}
</if> </when>
<when test="(colPickMode==0 and item.containsKey('fieldOrderNoIncrement')) or (colPickMode==1 and !item.containsKey('fieldOrderNoIncrement'))">
when a.id=#{item.id} then ifnull(a.fieldOrderNo,0) + #{item.fieldOrderNoIncrement}
</when>
</choose>
</foreach> </foreach>
</trim> </trim>
<trim prefix="remark=(case" suffix="ELSE remark end),"> <trim prefix="remark=(case" suffix="ELSE remark end),">
...@@ -608,10 +616,9 @@ ...@@ -608,10 +616,9 @@
${_conditionType_} a.isList <![CDATA[ <= ]]> #{${_conditionParam_}.isListEnd} ${_conditionType_} a.isList <![CDATA[ <= ]]> #{${_conditionParam_}.isListEnd}
</if> </if>
<if test="conditionParamRef.containsKey('fieldOrderNo')"> <if test="conditionParamRef.containsKey('fieldOrderNo')">
<if test="conditionParamRef.fieldOrderNo != null and conditionParamRef.fieldOrderNo != ''"> <if test="conditionParamRef.fieldOrderNo != null ">
${_conditionType_} a.fieldOrderNo like #{${_conditionParam_}.fieldOrderNo} ${_conditionType_} a.fieldOrderNo = #{${_conditionParam_}.fieldOrderNo}
</if> </if>
<if test="conditionParamRef.fieldOrderNo == null"> <if test="conditionParamRef.fieldOrderNo == null">
${_conditionType_} a.fieldOrderNo is null ${_conditionType_} a.fieldOrderNo is null
...@@ -623,6 +630,13 @@ ...@@ -623,6 +630,13 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('fieldOrderNoStart') and conditionParamRef.fieldOrderNoStart != null">
${_conditionType_} a.fieldOrderNo <![CDATA[ >= ]]> #{${_conditionParam_}.fieldOrderNoStart}
</if>
<if test="conditionParamRef.containsKey('fieldOrderNoEnd') and conditionParamRef.fieldOrderNoEnd != null">
${_conditionType_} a.fieldOrderNo <![CDATA[ <= ]]> #{${_conditionParam_}.fieldOrderNoEnd}
</if>
<if test="conditionParamRef.containsKey('remark')"> <if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''"> <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
......
...@@ -34,17 +34,41 @@ Content-Type: application/json ...@@ -34,17 +34,41 @@ Content-Type: application/json
{ {
"siteId":3, "siteId":3,
"siteName":"汇东县", "siteName":"汇东县",
"appCode":"cheshi", "appCode":"ckp",
"appName":"测试应用", "appName":"测试应用",
"appIconPath":"/file/preview/196089969797.jpg", "appIconPath":"/file/preview/196089969797.jpg",
"appThemeName":"应用程序", "appThemeName":"应用程序",
"type":1, "type":1,
"downDevCount":0, "downDevCount":0,
"shelves":0, "shelves":0,
"filePath":"file/uploadfile/1661928678354.zip", "fileName":"窗口屏.zip",
"version":"1.0", "filePath":"/file/uploadfile/1661928678354.zip",
"summary":"vyk2sq", "summary":"vyk2sq"
"distribute":0 }
> {%
client.global.set("App_id", JSON.parse(response.body).data.id);
%}
###自助终端应用更新
POST {{baseUrl}}/app/save
Authorization: {{authToken}}
Content-Type: application/json
{
"id":6,
"siteName":"汇东县",
"appCode":"ckp",
"appName":"测试应用1",
"appIconPath":"/file/preview/196089969797.jpg",
"appThemeName":"应用程序",
"type":1,
"downDevCount":0,
"shelves":0,
"fileName":"窗口屏1.zip",
"filePath":"/file/uploadfile/1664180492089.zip",
"summary":"vyk2sq"
} }
> {% > {%
......
...@@ -61,5 +61,13 @@ Authorization: {{authToken}} ...@@ -61,5 +61,13 @@ Authorization: {{authToken}}
Accept: application/json Accept: application/json
###自助终端应用版本使用
POST {{baseUrl}}/app/version/used?appVersionId=4
Authorization: {{authToken}}
Accept: application/json
###自助终端应用版本预览
GET {{baseUrl}}/app/version/preview?appVersionId=4
Authorization: {{authToken}}
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