Commit 4c59864b authored by “yiyousong”'s avatar “yiyousong”
parents a8aa14c3 e6d0761d
......@@ -927,12 +927,14 @@ CREATE TABLE mortals_sys_matter_ext
-- ----------------------------
-- 自助终端应用表
-- ----------------------------
-- ----------------------------
-- 自助终端应用表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_app`;
CREATE TABLE mortals_sys_app
(
CREATE TABLE mortals_sys_app(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`siteId` bigint(20) COMMENT '站点Id',
`siteName` varchar(256) COMMENT '站点名称',
......@@ -942,19 +944,28 @@ CREATE TABLE mortals_sys_app
`appThemeName` varchar(256) COMMENT '应用主题名称',
`type` tinyint(2) COMMENT '类型(1.终端应用,2.移动端应用)',
`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 '文件相对路径地址',
`distributeFilePath` varchar(256) COMMENT '文件部署路径地址',
`version` varchar(64) COMMENT '当前版本',
`version` int(9) COMMENT '当前版本',
`summary` varchar(2048) COMMENT '简介',
`notes` varchar(512) COMMENT '更新说明',
`distribute` tinyint(2) COMMENT '是否部署(0.否,1.是)',
`dateUpdate` tinyint(2) COMMENT '是否数据更新(0.否,1.是)',
`dataUpdate` tinyint(2) COMMENT '是否数据更新(0.否,1.是)',
`createTime` datetime COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用';
-- ----------------------------
-- 自助终端应用数据集表
-- ----------------------------
......@@ -973,19 +984,18 @@ CREATE TABLE mortals_sys_app_dataset
-- 自助终端应用信息字段表
-- ----------------------------
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 '序号,主键,自增长',
`datasetId` bigint(20) COMMENT '应用数据集id',
`fieldCode` varchar(64) COMMENT '字段编码',
`fieldName` varchar(64) COMMENT '字段名称',
`fieldType` varchar(64) COMMENT '字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框)',
`dataType` varchar(64) COMMENT '数据类型(number.数字,string.字符串)',
`fieldValue` varchar(64) COMMENT '字段值',
`fieldValue` text COMMENT '字段值',
`fieldLen` int(9) COMMENT '数据长度,默认128',
`fieldNull` tinyint(2) COMMENT '是否允许为空,(0.否,1.是)',
`isList` tinyint(2) COMMENT '字段是否列表显示(0.否,1.是)',
`fieldOrderNo` varchar(64) COMMENT '排序号',
`fieldOrderNo` int(9) COMMENT '排序号',
`remark` varchar(1024) COMMENT '备注',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
......@@ -994,23 +1004,24 @@ CREATE TABLE mortals_sys_app_info_field
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用信息字段';
-- ----------------------------
-- 自助终端应用模板信息字段表
-- ----------------------------
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 '序号,主键,自增长',
`appId` bigint(20) COMMENT '应用id',
`fieldCode` 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.字符串)',
`fieldValue` varchar(64) COMMENT '字段值',
`fieldLen` int(9) COMMENT '数据长度,默认128',
`fieldNull` tinyint(2) COMMENT '是否允许为空,(0.否,1.是)',
`isList` tinyint(2) COMMENT '字段是否列表显示(0.否,1.是)',
`fieldOrderNo` varchar(64) COMMENT '排序号',
`fieldOrderNo` int(9) COMMENT '排序号',
`remark` varchar(1024) COMMENT '备注',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
......@@ -1019,20 +1030,25 @@ CREATE TABLE mortals_sys_app_info_templete_field
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用模板信息字段';
-- ----------------------------
-- 自助终端应用版本历史表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_app_version`;
CREATE TABLE mortals_sys_app_version
(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`appId` bigint(20) COMMENT 'app应用Id',
`appName` varchar(256) COMMENT '应用名称',
`version` varchar(256) COMMENT '版本号',
`notes` varchar(2048) COMMENT '更新说明',
`createTime` datetime COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
CREATE TABLE `mortals_sys_app_version` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`appId` bigint(20) DEFAULT NULL COMMENT 'app应用Id',
`appName` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '应用名称',
`version` int(9) COMMENT '版本号',
`notes` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '更新说明',
`fileName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '文件名称',
`filePath` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '文件相对路径地址',
`distributeFilePath` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' 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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用版本历史';
......
......@@ -9144,7 +9144,7 @@ data| object |数据对象
  version| String |当前版本
  summary| String |简介
  distribute| Integer |是否部署(0.否,1.是)
  dateUpdate| Integer |是否数据更新(0.否,1.是)
  dataUpdate| Integer |是否数据更新(0.否,1.是)
  appDatasetList| array |数据结果集
  applianceSiteScope| Integer |适用站点范围数量
  siteIdList| array |适用范围站点列表
......@@ -9271,10 +9271,11 @@ appName|String|否|应用名称
appIconPath|String|否|应用图标
appThemeName|String|否|应用主题名称
type|Integer|否|类型(1.终端应用,2.移动端应用)
shelves|Integer|否|是否上架(0.上架,1.下架)
appType|Integer|否|类型(1.应用程序,2.url)
shelves|Integer|否|是否上架(0.下架,1.上架)
filePath|String|否|文件相对路径地址
summary|String|否|简介
dateUpdate|Integer|否|是否数据更新(0.否,1.是)
dataUpdate|Integer|否|是否数据更新(0.否,1.是)
**请求样例:**
......@@ -9287,12 +9288,13 @@ dateUpdate|Integer|否|是否数据更新(0.否,1.是)
"appIconPath":"3dzxzj",
"appThemeName":"jy1ied",
"type":1,
"appType":1,
"downDevCount":1824,
"shelves":226,
"filePath":"f20yrl",
"summary":"ahn2gk",
"distribute":0,
"dateUpdate":5868,
"dataUpdate":5868,
}
```
......@@ -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|否|应用名称,字段前后添加%%模糊查询
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|主键ID,主键,自增长
  appId|Long|app应用Id
  appName|String|应用名称
  version|String|版本号
  notes|String|更新说明
  createTime|Date|创建时间
  updateUserId|Long|更新用户
  updateTime|Date|更新时间
dict|object|字典对象
参数名称| 参数类型 |描述
:---|:---------|:------
code| Integer |结果码(-1.失败,1.成功)
msg| String |消息
data| object |数据对象
 per_page| Integer |每页条数
 total| Integer |总条数
 last_page| Integer |总页数
 current_page| Integer |当前页
 data| array |结果集列表|数组
  id| Long |主键ID,主键,自增长
  appId| Long |app应用Id
  appName| String |应用名称
  version| Integer |版本号
  notes| String |更新说明
  createTime| Date |创建时间
  updateUserId| Long |更新用户
  updateTime| Date |更新时间
dict| object |字典对象
**响应消息样例:**
......@@ -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
......
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;
* @author zxfei
*/
public enum DataTypeEnum {
number("number.数字", "number.数字"),
string("string.字符串", "string.字符串");
number("number", "数字"),
string("string", "字符串");
private String value;
private String desc;
......
......@@ -118,4 +118,10 @@ public final class Constant {
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;
import org.springframework.stereotype.Component;
import com.mortals.framework.springcloud.service.IApplicationStartedService;
import org.springframework.util.ObjectUtils;
import java.util.List;
......@@ -40,6 +41,8 @@ public class DemoStartedService implements IApplicationStartedService {
private static Log logger = LogFactory.getLog(DemoStartedService.class);
@Autowired
private IUserFeign userFeign;
@Autowired
private UserService userService;
@Override
public void start() {
......@@ -52,6 +55,17 @@ public class DemoStartedService implements IApplicationStartedService {
SyncTreeSiteThread syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
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->{
Context context = new Context();
......
......@@ -11,7 +11,7 @@ import com.mortals.xhx.module.app.model.AppDatasetEntity;
* 自助终端应用实体对象
*
* @author zxfei
* @date 2022-11-28
* @date 2022-12-01
*/
public class AppEntity extends AppVo {
......@@ -50,9 +50,17 @@ public class AppEntity extends AppVo {
*/
private Integer downDevCount;
/**
* 是否上架(0.上架,1.下架)
* 是否上架(0.下架,1.上架)
*/
private Integer shelves;
/**
* 类型(1.应用程序,2.url)
*/
private Integer appType;
/**
* 文件名称
*/
private String fileName;
/**
* 文件相对路径地址
*/
......@@ -64,11 +72,15 @@ public class AppEntity extends AppVo {
/**
* 当前版本
*/
private String version;
private Integer version;
/**
* 简介
*/
private String summary;
/**
* 更新说明
*/
private String notes;
/**
* 是否部署(0.否,1.是)
*/
......@@ -76,7 +88,7 @@ public class AppEntity extends AppVo {
/**
* 是否数据更新(0.否,1.是)
*/
private Integer dateUpdate;
private Integer dataUpdate;
/**
* 自助终端应用数据集信息
......@@ -198,19 +210,47 @@ public class AppEntity extends AppVo {
this.downDevCount = downDevCount;
}
/**
* 获取 是否上架(0.上架,1.下架)
* 获取 是否上架(0.下架,1.上架)
* @return Integer
*/
public Integer getShelves(){
return shelves;
}
/**
* 设置 是否上架(0.上架,1.下架)
* 设置 是否上架(0.下架,1.上架)
* @param shelves
*/
public void setShelves(Integer 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
......@@ -241,16 +281,16 @@ public class AppEntity extends AppVo {
}
/**
* 获取 当前版本
* @return String
* @return Integer
*/
public String getVersion(){
public Integer getVersion(){
return version;
}
/**
* 设置 当前版本
* @param version
*/
public void setVersion(String version){
public void setVersion(Integer version){
this.version = version;
}
/**
......@@ -267,6 +307,20 @@ public class AppEntity extends AppVo {
public void setSummary(String summary){
this.summary = summary;
}
/**
* 获取 更新说明
* @return String
*/
public String getNotes(){
return notes;
}
/**
* 设置 更新说明
* @param notes
*/
public void setNotes(String notes){
this.notes = notes;
}
/**
* 获取 是否部署(0.否,1.是)
* @return Integer
......@@ -285,15 +339,15 @@ public class AppEntity extends AppVo {
* 获取 是否数据更新(0.否,1.是)
* @return Integer
*/
public Integer getDateUpdate(){
return dateUpdate;
public Integer getDataUpdate(){
return dataUpdate;
}
/**
* 设置 是否数据更新(0.否,1.是)
* @param dateUpdate
* @param dataUpdate
*/
public void setDateUpdate(Integer dateUpdate){
this.dateUpdate = dateUpdate;
public void setDataUpdate(Integer dataUpdate){
this.dataUpdate = dataUpdate;
}
......@@ -333,12 +387,15 @@ public class AppEntity extends AppVo {
sb.append(",type:").append(getType());
sb.append(",downDevCount:").append(getDownDevCount());
sb.append(",shelves:").append(getShelves());
sb.append(",appType:").append(getAppType());
sb.append(",fileName:").append(getFileName());
sb.append(",filePath:").append(getFilePath());
sb.append(",distributeFilePath:").append(getDistributeFilePath());
sb.append(",version:").append(getVersion());
sb.append(",summary:").append(getSummary());
sb.append(",notes:").append(getNotes());
sb.append(",distribute:").append(getDistribute());
sb.append(",dateUpdate:").append(getDateUpdate());
sb.append(",dataUpdate:").append(getDataUpdate());
return sb.toString();
}
......@@ -362,16 +419,22 @@ public class AppEntity extends AppVo {
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.dateUpdate = 0;
this.dataUpdate = 0;
}
}
\ No newline at end of file
......@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.app.model.vo.AppInfoFieldVo;
/**
* 自助终端应用信息字段实体对象
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用信息字段实体对象
*
* @author zxfei
* @date 2022-12-02
*/
public class AppInfoFieldEntity extends AppInfoFieldVo {
private static final long serialVersionUID = 1L;
......@@ -55,7 +55,7 @@ public class AppInfoFieldEntity extends AppInfoFieldVo {
/**
* 排序号
*/
private String fieldOrderNo;
private Integer fieldOrderNo;
/**
* 备注
*/
......@@ -192,16 +192,16 @@ public class AppInfoFieldEntity extends AppInfoFieldVo {
}
/**
* 获取 排序号
* @return String
* @return Integer
*/
public String getFieldOrderNo(){
public Integer getFieldOrderNo(){
return fieldOrderNo;
}
/**
* 设置 排序号
* @param fieldOrderNo
*/
public void setFieldOrderNo(String fieldOrderNo){
public void setFieldOrderNo(Integer fieldOrderNo){
this.fieldOrderNo = fieldOrderNo;
}
/**
......@@ -258,24 +258,24 @@ public class AppInfoFieldEntity extends AppInfoFieldVo {
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.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;
import java.util.List;
import com.mortals.xhx.module.app.model.AppInfoFieldEntity;
/**
* 自助终端应用信息字段查询对象
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用信息字段查询对象
*
* @author zxfei
* @date 2022-12-02
*/
public class AppInfoFieldQuery extends AppInfoFieldEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -84,8 +84,17 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
/** 字段是否列表显示(0.否,1.是)列表 */
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;
......@@ -529,11 +538,59 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
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
*/
public List<String> getFieldOrderNoList(){
public List<Integer> getFieldOrderNoList(){
return this.fieldOrderNoList;
}
......@@ -541,9 +598,10 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
* 设置 排序号
* @param fieldOrderNoList
*/
public void setFieldOrderNoList(List<String> fieldOrderNoList){
public void setFieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList;
}
/**
* 获取 备注
* @return remarkList
......@@ -1071,21 +1129,47 @@ public class AppInfoFieldQuery extends AppInfoFieldEntity {
return this;
}
/**
* 设置 排序号
* @param fieldOrderNo
*/
public AppInfoFieldQuery fieldOrderNo(String fieldOrderNo){
public AppInfoFieldQuery fieldOrderNo(Integer fieldOrderNo){
setFieldOrderNo(fieldOrderNo);
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
*/
public AppInfoFieldQuery fieldOrderNoList(List<String> fieldOrderNoList){
public AppInfoFieldQuery fieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList;
return this;
}
......
......@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.app.model.vo.AppInfoTempleteFieldVo;
/**
* 自助终端应用模板信息字段实体对象
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用模板信息字段实体对象
*
* @author zxfei
* @date 2022-12-02
*/
public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
private static final long serialVersionUID = 1L;
......@@ -29,7 +29,7 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
*/
private String fieldName;
/**
* 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
*/
private String fieldType;
/**
......@@ -55,7 +55,7 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
/**
* 排序号
*/
private String fieldOrderNo;
private Integer fieldOrderNo;
/**
* 备注
*/
......@@ -107,14 +107,14 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
this.fieldName = fieldName;
}
/**
* 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @return String
*/
public String getFieldType(){
return fieldType;
}
/**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldType
*/
public void setFieldType(String fieldType){
......@@ -192,16 +192,16 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
}
/**
* 获取 排序号
* @return String
* @return Integer
*/
public String getFieldOrderNo(){
public Integer getFieldOrderNo(){
return fieldOrderNo;
}
/**
* 设置 排序号
* @param fieldOrderNo
*/
public void setFieldOrderNo(String fieldOrderNo){
public void setFieldOrderNo(Integer fieldOrderNo){
this.fieldOrderNo = fieldOrderNo;
}
/**
......@@ -258,24 +258,24 @@ public class AppInfoTempleteFieldEntity extends AppInfoTempleteFieldVo {
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.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;
import java.util.List;
import com.mortals.xhx.module.app.model.AppInfoTempleteFieldEntity;
/**
* 自助终端应用模板信息字段查询对象
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用模板信息字段查询对象
*
* @author zxfei
* @date 2022-12-02
*/
public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -39,7 +39,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** 字段名称 */
private List<String> fieldNameList;
/** 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框) */
/** 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本) */
private List<String> fieldTypeList;
/** 数据类型(number.数字,string.字符串) */
......@@ -84,8 +84,17 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/** 字段是否列表显示(0.否,1.是)列表 */
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;
......@@ -293,7 +302,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
this.fieldNameList = fieldNameList;
}
/**
* 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 获取 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @return fieldTypeList
*/
public List<String> getFieldTypeList(){
......@@ -301,7 +310,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
}
/**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldTypeList
*/
public void setFieldTypeList(List<String> fieldTypeList){
......@@ -529,11 +538,59 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
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
*/
public List<String> getFieldOrderNoList(){
public List<Integer> getFieldOrderNoList(){
return this.fieldOrderNoList;
}
......@@ -541,9 +598,10 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
* 设置 排序号
* @param fieldOrderNoList
*/
public void setFieldOrderNoList(List<String> fieldOrderNoList){
public void setFieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList;
}
/**
* 获取 备注
* @return remarkList
......@@ -881,7 +939,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
/**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldType
*/
public AppInfoTempleteFieldQuery fieldType(String fieldType){
......@@ -890,7 +948,7 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
}
/**
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框
* 设置 字段类型(input.单行输入框,textarea.多行输入框,SELECT.下拉选项框,date.日期选择框,editer.富文本
* @param fieldTypeList
*/
public AppInfoTempleteFieldQuery fieldTypeList(List<String> fieldTypeList){
......@@ -1071,21 +1129,47 @@ public class AppInfoTempleteFieldQuery extends AppInfoTempleteFieldEntity {
return this;
}
/**
* 设置 排序号
* @param fieldOrderNo
*/
public AppInfoTempleteFieldQuery fieldOrderNo(String fieldOrderNo){
public AppInfoTempleteFieldQuery fieldOrderNo(Integer fieldOrderNo){
setFieldOrderNo(fieldOrderNo);
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
*/
public AppInfoTempleteFieldQuery fieldOrderNoList(List<String> fieldOrderNoList){
public AppInfoTempleteFieldQuery fieldOrderNoList(List<Integer> fieldOrderNoList){
this.fieldOrderNoList = fieldOrderNoList;
return this;
}
......
......@@ -7,11 +7,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.app.model.vo.AppVersionVo;
/**
* 自助终端应用版本历史实体对象
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用版本历史实体对象
*
* @author zxfei
* @date 2022-12-01
*/
public class AppVersionEntity extends AppVersionVo {
private static final long serialVersionUID = 1L;
......@@ -27,11 +27,27 @@ public class AppVersionEntity extends AppVersionVo {
/**
* 版本号
*/
private String version;
private Integer version;
/**
* 更新说明
*/
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 {
}
/**
* 获取 版本号
* @return String
* @return Integer
*/
public String getVersion(){
public Integer getVersion(){
return version;
}
/**
* 设置 版本号
* @param version
*/
public void setVersion(String version){
public void setVersion(Integer version){
this.version = version;
}
/**
......@@ -92,6 +108,62 @@ public class AppVersionEntity extends AppVersionVo {
public void setNotes(String 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 {
sb.append(",appName:").append(getAppName());
sb.append(",version:").append(getVersion());
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();
}
......@@ -127,8 +203,16 @@ public class AppVersionEntity extends AppVersionVo {
this.appName = "";
this.version = "";
this.version = 0;
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;
import java.util.List;
import com.mortals.xhx.module.app.model.AppVersionEntity;
/**
* 自助终端应用版本历史查询对象
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用版本历史查询对象
*
* @author zxfei
* @date 2022-12-01
*/
public class AppVersionQuery extends AppVersionEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
......@@ -36,12 +36,42 @@ public class AppVersionQuery extends AppVersionEntity {
/** 应用名称 */
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> 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;
......@@ -217,11 +247,59 @@ public class AppVersionQuery extends AppVersionEntity {
public void setAppNameList(List<String> 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
*/
public List<String> getVersionList(){
public List<Integer> getVersionList(){
return this.versionList;
}
......@@ -229,9 +307,10 @@ public class AppVersionQuery extends AppVersionEntity {
* 设置 版本号
* @param versionList
*/
public void setVersionList(List<String> versionList){
public void setVersionList(List<Integer> versionList){
this.versionList = versionList;
}
/**
* 获取 更新说明
* @return notesList
......@@ -247,6 +326,115 @@ public class AppVersionQuery extends AppVersionEntity {
public void setNotesList(List<String> 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
......@@ -484,21 +672,47 @@ public class AppVersionQuery extends AppVersionEntity {
return this;
}
/**
* 设置 版本号
* @param version
*/
public AppVersionQuery version(String version){
public AppVersionQuery version(Integer version){
setVersion(version);
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
*/
public AppVersionQuery versionList(List<String> versionList){
public AppVersionQuery versionList(List<Integer> versionList){
this.versionList = versionList;
return this;
}
......@@ -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
......
......@@ -3,6 +3,7 @@ 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.xhx.module.app.dao.AppDao;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.site.model.SiteEntity;
......@@ -24,5 +25,6 @@ public interface AppService extends ICRUDService<AppEntity, Long> {
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;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.model.AppVersionEntity;
/**
* AppVersionService
*
......@@ -11,4 +16,9 @@ import com.mortals.xhx.module.app.model.AppVersionEntity;
*/
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;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.module.app.model.*;
import com.mortals.xhx.module.app.service.AppInfoFieldService;
import com.mortals.xhx.module.app.service.AppService;
import com.mortals.xhx.module.app.service.AppVersionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -51,8 +53,8 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
}
//更新版本号
AppEntity appEntity = appService.get(entity.getAppId(), context);
saveOrUpdateAppVersion(appEntity, context);
/* AppEntity appEntity = appService.get(entity.getAppId(), context);
saveOrUpdateAppVersion(appEntity, context);*/
super.saveAfter(entity, context);
}
......@@ -73,9 +75,6 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
appInfoFieldService.save(entity.getAppInfoFieldList());
}
//更新版本号
AppEntity appEntity = appService.get(entity.getAppId(), context);
saveOrUpdateAppVersion(appEntity, context);
super.updateAfter(entity, context);
}
......@@ -88,7 +87,7 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
super.removeAfter(ids, context, result);
}
private void saveOrUpdateAppVersion(AppEntity appEntity, Context context) {
/* private void saveOrUpdateAppVersion(AppEntity appEntity, Context context) {
if (!ObjectUtils.isEmpty(appEntity)) {
String version = appEntity.getVersion();
String versionNum = StrUtil.subAfter(version, Constant.VERSION_PREFIX, false);
......@@ -100,11 +99,13 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
versionEntity.setAppId(appEntity.getId());
versionEntity.setVersion(Constant.VERSION_PREFIX + newVersionNum);
versionEntity.setNotes("应用数据更新!");
versionEntity.setFileName(appEntity.getFileName());
versionEntity.setDistributeFilePath(appVersionEntity.getDistributeFilePath());
versionEntity.setCreateTime(new Date());
versionEntity.setCreateUserId(this.getContextUserId(context));
appVersionService.save(versionEntity, context);
appEntity.setVersion(versionEntity.getVersion());
appService.update(appEntity, context);
}
}
}*/
}
\ No newline at end of file
package com.mortals.xhx.module.app.service.impl;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists;
import com.mortals.framework.model.DbMatchMode;
......@@ -9,6 +10,7 @@ import com.google.common.collect.Maps;
import cn.hutool.core.io.FileUtil;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.YesNoEnum;
......@@ -63,9 +65,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
@Override
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);
// int count = this.count(new AppQuery().appCode(item.getAppCode()), context);
item.setApplianceSiteScope(appEntityList.size());
item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList()));
});
......@@ -100,7 +101,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
appEntity.setDistributeFilePath(disPath);
appEntity.setDistribute(YesNoEnum.YES.getValue());
appEntity.setUpdateTime(new Date());
this.update(appEntity, context);
return Rest.ok("应用部署成功!");
}
......@@ -120,7 +120,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
AppEntity appClone = new AppEntity();
appClone.initAttrValue();
BeanUtils.copyProperties(appEntity, appClone, BeanUtil.getNullPropertyNames(appEntity));
appClone.setVersion(appEntity.getVersion());
appClone.setVersion(1);
appClone.setDistribute(YesNoEnum.NO.getValue());
appClone.setDownDevCount(0);
appClone.setSiteId(siteEntity.getId());
......@@ -198,9 +198,14 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
}
@Override
public AppDao getAppDao() {
return this.dao;
}
@Override
protected void saveBefore(AppEntity entity, Context context) throws AppException {
entity.setVersion(Constant.VERSION_PREFIX+"1.0");
super.saveBefore(entity, context);
}
......@@ -210,14 +215,72 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
AppVersionEntity versionEntity = new AppVersionEntity();
versionEntity.initAttrValue();
versionEntity.setAppId(entity.getId());
versionEntity.setAppName(entity.getAppName());
versionEntity.setVersion(entity.getVersion());
versionEntity.setNotes("应用初始创建!");
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);
appVersionService.save(versionEntity, 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
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
//级联删除 appids 相关数据
......@@ -238,8 +301,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if (!ObjectUtils.isEmpty(appDatasetDeleteList)) {
appDatasetService.removeList(appDatasetDeleteList, context);
List<AppInfoFieldEntity> appInfoFieldDeleteList = appInfoFieldService.find(new AppInfoFieldQuery().datasetIdList(appDatasetDeleteList.stream().map(AppDatasetEntity::getAppId).collect(Collectors.toList())));
if(!ObjectUtils.isEmpty(appInfoFieldDeleteList)){
appInfoFieldService.removeList(appInfoFieldDeleteList,context);
if (!ObjectUtils.isEmpty(appInfoFieldDeleteList)) {
appInfoFieldService.removeList(appInfoFieldDeleteList, context);
}
}
......@@ -283,7 +346,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
appInfoFieldEntity.setFieldLen(0);
appInfoFieldEntity.setFieldNull(0);
appInfoFieldEntity.setIsList(0);
appInfoFieldEntity.setFieldOrderNo("");
appInfoFieldEntity.setFieldOrderNo(1);
appInfoFieldEntity.setRemark("");
appInfoFieldEntity.setId(0L);
appInfoFieldEntity.setColPickMode(0);
......@@ -307,7 +370,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
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;
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 com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
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.model.AppVersionEntity;
import com.mortals.xhx.module.app.service.AppVersionService;
import java.io.File;
import java.util.Date;
/**
* AppVersionService
* 自助终端应用版本历史 service实现
*
* @author zxfei
* @date 2022-11-28
*/
* AppVersionService
* 自助终端应用版本历史 service实现
*
* @author zxfei
* @date 2022-11-28
*/
@Service("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;
import cn.hutool.core.net.url.UrlBuilder;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
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.service.AppService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteQuery;
import com.mortals.xhx.module.site.service.SiteService;
import org.apache.commons.lang3.ObjectUtils;
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.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.Map;
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,
@Override
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, "distribute", paramService.getParamBySecondOrganize("App", "distribute"));
this.addDict(model, "dateUpdate", paramService.getParamBySecondOrganize("App", "dateUpdate"));
this.addDict(model, "distribute", YesNoEnum.getEnumMap());
this.addDict(model, "dateUpdate", YesNoEnum.getEnumMap());
super.init(model, context);
}
......@@ -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;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -42,10 +45,10 @@ public class AppInfoFieldController extends BaseCRUDJsonBodyMappingController<Ap
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "fieldType", paramService.getParamBySecondOrganize("AppInfoField","fieldType"));
this.addDict(model, "dataType", paramService.getParamBySecondOrganize("AppInfoField","dataType"));
this.addDict(model, "fieldNull", paramService.getParamBySecondOrganize("AppInfoField","fieldNull"));
this.addDict(model, "isList", paramService.getParamBySecondOrganize("AppInfoField","isList"));
this.addDict(model, "dataType", DataTypeEnum.getEnumMap());
this.addDict(model, "fieldType", AppFieldTypeEnum.getEnumMap());
this.addDict(model, "fieldNull", YesNoEnum.getEnumMap());
this.addDict(model, "isList", YesNoEnum.getEnumMap());
super.init(model, context);
}
......
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.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
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.web.bind.annotation.RequestMapping;
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.AppVersionEntity;
import com.mortals.xhx.module.app.service.AppVersionService;
......@@ -18,26 +31,33 @@ import com.mortals.framework.util.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 自助终端应用版本历史
*
* @author zxfei
* @date 2022-11-28
*/
* 自助终端应用版本历史
*
* @author zxfei
* @date 2022-11-28
*/
@RestController
@RequestMapping("app/version")
public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppVersionService,AppVersionEntity,Long> {
public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppVersionService, AppVersionEntity, Long> {
@Autowired
private ParamService paramService;
public AppVersionController(){
super.setModuleDesc( "自助终端应用版本历史");
@Autowired
private SiteService siteService;
@Autowired
private AppService appService;
public AppVersionController() {
super.setModuleDesc("自助终端应用版本历史");
}
@Override
......@@ -49,9 +69,77 @@ public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppV
@Override
protected void doListBefore(AppVersionEntity query, Map<String, Object> model, Context context) throws AppException {
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("version",OrderCol.DESCENDING));
orderColList.add(new OrderCol("version", OrderCol.DESCENDING));
query.setOrderColList(orderColList);
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;
* @author zxfei
* @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> {
/**
* 添加业务到站点
* @param matterEntity
* @param siteId
* @param context
*/
Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity matterEntity, SiteEntity siteEntity, Context context);
......
......@@ -12,6 +12,7 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil;
import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.common.code.FiletypeEnum;
......@@ -53,7 +54,7 @@ import java.util.stream.Collectors;
* @date 2022-01-12
*/
@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());
@Autowired
private SiteMatterService siteMatterService;
......
......@@ -33,7 +33,7 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
protected void findAfter(SiteMatterEntity params, PageInfo pageInfo, Context context, List<SiteMatterEntity> list) throws AppException {
list.forEach(item->{
if(!ObjectUtils.isEmpty(item.getMatterId())){
MatterEntity matterEntity = matterService.getCache(item.getMatterId().toString());
MatterEntity matterEntity = matterService.get(item.getMatterId());
if(!ObjectUtils.isEmpty(matterEntity)){
item.setBelongDept(matterEntity.getBelongDept());
item.setWindowToTheSceneNum(matterEntity.getWindowToTheSceneNum());
......
......@@ -126,14 +126,17 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
public List<SiteTreeSelect> siteTree(Context context) {
Map<String, AreaEntity> areaMap = new HashMap<>();
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());
if (!ObjectUtils.isEmpty(siteSet)) {
List<Long> siteIdList = siteSet.stream().map(Long::parseLong).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(siteIdList)) {
siteQuery.idList(siteIdList);
}
}
}
//查詢指定的站點ids
log.info(String.format("siteQuery==>%s", JSON.toJSONString(siteQuery)));
List<SiteEntity> siteList = this.find(siteQuery);
......
......@@ -70,6 +70,9 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
try {
String ip = super.getRequestIP(request);
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_MSG, "工作人员登录成功!");
ret.put(KEY_RESULT_DATA, workmanEntity);
......@@ -95,6 +98,7 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
} else {
throw new AppException("账户密码修改失败!");
}
} catch (Exception e) {
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
......
<?xml version="1.0" encoding="UTF-8"?>
<!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">
<!-- 字段和属性映射 -->
......@@ -144,6 +144,9 @@
<if test="(colPickMode==0 and data.containsKey('fieldOrderNo')) or (colPickMode==1 and !data.containsKey('fieldOrderNo'))">
a.fieldOrderNo=#{data.fieldOrderNo},
</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'))">
a.remark=#{data.remark},
</if>
......@@ -262,9 +265,14 @@
</trim>
<trim prefix="fieldOrderNo=(case" suffix="ELSE fieldOrderNo end),">
<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}
</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>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
......@@ -608,10 +616,9 @@
${_conditionType_} a.isList <![CDATA[ <= ]]> #{${_conditionParam_}.isListEnd}
</if>
<if test="conditionParamRef.containsKey('fieldOrderNo')">
<if test="conditionParamRef.fieldOrderNo != null and conditionParamRef.fieldOrderNo != ''">
${_conditionType_} a.fieldOrderNo like #{${_conditionParam_}.fieldOrderNo}
<if test="conditionParamRef.fieldOrderNo != null ">
${_conditionType_} a.fieldOrderNo = #{${_conditionParam_}.fieldOrderNo}
</if>
<if test="conditionParamRef.fieldOrderNo == null">
${_conditionType_} a.fieldOrderNo is null
......@@ -623,6 +630,13 @@
#{item}
</foreach>
</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.remark != null and conditionParamRef.remark != ''">
......
<?xml version="1.0" encoding="UTF-8"?>
<!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">
<!-- 字段和属性映射 -->
......@@ -144,6 +144,9 @@
<if test="(colPickMode==0 and data.containsKey('fieldOrderNo')) or (colPickMode==1 and !data.containsKey('fieldOrderNo'))">
a.fieldOrderNo=#{data.fieldOrderNo},
</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'))">
a.remark=#{data.remark},
</if>
......@@ -262,9 +265,14 @@
</trim>
<trim prefix="fieldOrderNo=(case" suffix="ELSE fieldOrderNo end),">
<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}
</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>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
......@@ -608,10 +616,9 @@
${_conditionType_} a.isList <![CDATA[ <= ]]> #{${_conditionParam_}.isListEnd}
</if>
<if test="conditionParamRef.containsKey('fieldOrderNo')">
<if test="conditionParamRef.fieldOrderNo != null and conditionParamRef.fieldOrderNo != ''">
${_conditionType_} a.fieldOrderNo like #{${_conditionParam_}.fieldOrderNo}
<if test="conditionParamRef.fieldOrderNo != null ">
${_conditionType_} a.fieldOrderNo = #{${_conditionParam_}.fieldOrderNo}
</if>
<if test="conditionParamRef.fieldOrderNo == null">
${_conditionType_} a.fieldOrderNo is null
......@@ -623,6 +630,13 @@
#{item}
</foreach>
</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.remark != null and conditionParamRef.remark != ''">
......
......@@ -34,17 +34,41 @@ Content-Type: application/json
{
"siteId":3,
"siteName":"汇东县",
"appCode":"cheshi",
"appCode":"ckp",
"appName":"测试应用",
"appIconPath":"/file/preview/196089969797.jpg",
"appThemeName":"应用程序",
"type":1,
"downDevCount":0,
"shelves":0,
"filePath":"file/uploadfile/1661928678354.zip",
"version":"1.0",
"summary":"vyk2sq",
"distribute":0
"fileName":"窗口屏.zip",
"filePath":"/file/uploadfile/1661928678354.zip",
"summary":"vyk2sq"
}
> {%
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}}
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