Commit a7b2ebd2 authored by 赵啸非's avatar 赵啸非

修改app版本

parent 99908db6
...@@ -927,39 +927,45 @@ CREATE TABLE mortals_sys_matter_ext ...@@ -927,39 +927,45 @@ 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 '站点名称',
`appCode` varchar(256) COMMENT '应用编码', `appCode` varchar(256) COMMENT '应用编码',
`appName` varchar(256) COMMENT '应用名称', `appName` varchar(256) COMMENT '应用名称',
`appIconPath` varchar(256) COMMENT '应用图标', `appIconPath` varchar(256) COMMENT '应用图标',
`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)', `appType` tinyint(2) COMMENT '类型(1.应用程序,2.url)',
`fileName` varchar(255) COMMENT '文件名称', `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 '简介',
`distribute` tinyint(2) COMMENT '是否部署(0.否,1.是)', `notes` varchar(512) COMMENT '更新说明',
`dataUpdate` tinyint(2) COMMENT '是否数据更新(0.否,1.是)', `distribute` tinyint(2) COMMENT '是否部署(0.否,1.是)',
`createTime` datetime COMMENT '创建时间', `dataUpdate` tinyint(2) COMMENT '是否数据更新(0.否,1.是)',
`updateUserId` bigint(20) COMMENT '更新用户', `createTime` datetime COMMENT '创建时间',
`updateTime` datetime COMMENT '更新时间', `updateUserId` bigint(20) COMMENT '更新用户',
PRIMARY KEY (`id`) `updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用';
-- ---------------------------- -- ----------------------------
-- 自助终端应用数据集表 -- 自助终端应用数据集表
-- ---------------------------- -- ----------------------------
...@@ -986,7 +992,7 @@ CREATE TABLE mortals_sys_app_info_field ...@@ -986,7 +992,7 @@ CREATE TABLE mortals_sys_app_info_field
`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` text COMMENT '字段值', `fieldValue` longtext 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.是)',
...@@ -1029,17 +1035,20 @@ CREATE TABLE mortals_sys_app_info_templete_field ...@@ -1029,17 +1035,20 @@ CREATE TABLE mortals_sys_app_info_templete_field
-- 自助终端应用版本历史表 -- 自助终端应用版本历史表
-- ---------------------------- -- ----------------------------
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.是)',
PRIMARY KEY (`id`) `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='自助终端应用版本历史'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助终端应用版本历史';
...@@ -9379,50 +9379,7 @@ msg|String|消息|- ...@@ -9379,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":{}
}
}
```
### 自助终端应用克隆 ### 自助终端应用克隆
...@@ -10302,25 +10259,25 @@ appName|String|否|应用名称,字段前后添加%%模糊查询 ...@@ -10302,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 |字典对象
**响应消息样例:** **响应消息样例:**
...@@ -10459,6 +10416,97 @@ msg|String|消息|- ...@@ -10459,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
......
...@@ -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";
} }
...@@ -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-30 * @date 2022-12-01
*/ */
public class AppEntity extends AppVo { public class AppEntity extends AppVo {
...@@ -72,11 +72,15 @@ public class AppEntity extends AppVo { ...@@ -72,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.是)
*/ */
...@@ -277,16 +281,16 @@ public class AppEntity extends AppVo { ...@@ -277,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;
} }
/** /**
...@@ -303,6 +307,20 @@ public class AppEntity extends AppVo { ...@@ -303,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
...@@ -375,6 +393,7 @@ public class AppEntity extends AppVo { ...@@ -375,6 +393,7 @@ public class AppEntity extends AppVo {
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(",dataUpdate:").append(getDataUpdate()); sb.append(",dataUpdate:").append(getDataUpdate());
return sb.toString(); return sb.toString();
...@@ -408,10 +427,12 @@ public class AppEntity extends AppVo { ...@@ -408,10 +427,12 @@ public class AppEntity extends AppVo {
this.distributeFilePath = ""; this.distributeFilePath = "";
this.version = ""; this.version = 0;
this.summary = ""; this.summary = "";
this.notes = null;
this.distribute = 0; this.distribute = 0;
this.dataUpdate = 0; this.dataUpdate = 0;
......
...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.app.model.AppEntity; ...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.app.model.AppEntity;
* 自助终端应用查询对象 * 自助终端应用查询对象
* *
* @author zxfei * @author zxfei
* @date 2022-11-30 * @date 2022-12-01
*/ */
public class AppQuery extends AppEntity { public class AppQuery extends AppEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
...@@ -106,12 +106,24 @@ public class AppQuery extends AppEntity { ...@@ -106,12 +106,24 @@ public class AppQuery extends AppEntity {
/** 文件部署路径地址 */ /** 文件部署路径地址 */
private List<String> distributeFilePathList; private List<String> distributeFilePathList;
/** 当前版本 */ /** 开始 当前版本 */
private List<String> versionList; private Integer versionStart;
/** 结束 当前版本 */
private Integer versionEnd;
/** 增加 当前版本 */
private Integer versionIncrement;
/** 当前版本列表 */
private List <Integer> versionList;
/** 简介 */ /** 简介 */
private List<String> summaryList; private List<String> summaryList;
/** 更新说明 */
private List<String> notesList;
/** 开始 是否部署(0.否,1.是) */ /** 开始 是否部署(0.否,1.是) */
private Integer distributeStart; private Integer distributeStart;
...@@ -672,11 +684,59 @@ public class AppQuery extends AppEntity { ...@@ -672,11 +684,59 @@ public class AppQuery extends AppEntity {
public void setDistributeFilePathList(List<String> distributeFilePathList){ public void setDistributeFilePathList(List<String> distributeFilePathList){
this.distributeFilePathList = distributeFilePathList; this.distributeFilePathList = distributeFilePathList;
} }
/**
* 获取 开始 当前版本
* @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;
} }
...@@ -684,9 +744,10 @@ public class AppQuery extends AppEntity { ...@@ -684,9 +744,10 @@ public class AppQuery extends AppEntity {
* 设置 当前版本 * 设置 当前版本
* @param versionList * @param versionList
*/ */
public void setVersionList(List<String> versionList){ public void setVersionList(List<Integer> versionList){
this.versionList = versionList; this.versionList = versionList;
} }
/** /**
* 获取 简介 * 获取 简介
* @return summaryList * @return summaryList
...@@ -702,6 +763,21 @@ public class AppQuery extends AppEntity { ...@@ -702,6 +763,21 @@ public class AppQuery extends AppEntity {
public void setSummaryList(List<String> summaryList){ public void setSummaryList(List<String> summaryList){
this.summaryList = summaryList; this.summaryList = summaryList;
} }
/**
* 获取 更新说明
* @return notesList
*/
public List<String> getNotesList(){
return this.notesList;
}
/**
* 设置 更新说明
* @param notesList
*/
public void setNotesList(List<String> notesList){
this.notesList = notesList;
}
/** /**
* 获取 开始 是否部署(0.否,1.是) * 获取 开始 是否部署(0.否,1.是)
* @return distributeStart * @return distributeStart
...@@ -1380,21 +1456,47 @@ public class AppQuery extends AppEntity { ...@@ -1380,21 +1456,47 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/** /**
* 设置 当前版本 * 设置 当前版本
* @param version * @param version
*/ */
public AppQuery version(String version){ public AppQuery version(Integer version){
setVersion(version); setVersion(version);
return this; return this;
} }
/**
* 设置 开始 当前版本
* @param versionStart
*/
public AppQuery versionStart(Integer versionStart){
this.versionStart = versionStart;
return this;
}
/**
* 设置 结束 当前版本
* @param versionEnd
*/
public AppQuery versionEnd(Integer versionEnd){
this.versionEnd = versionEnd;
return this;
}
/**
* 设置 增加 当前版本
* @param versionIncrement
*/
public AppQuery versionIncrement(Integer versionIncrement){
this.versionIncrement = versionIncrement;
return this;
}
/** /**
* 设置 当前版本 * 设置 当前版本
* @param versionList * @param versionList
*/ */
public AppQuery versionList(List<String> versionList){ public AppQuery versionList(List<Integer> versionList){
this.versionList = versionList; this.versionList = versionList;
return this; return this;
} }
...@@ -1418,6 +1520,25 @@ public class AppQuery extends AppEntity { ...@@ -1418,6 +1520,25 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 更新说明
* @param notes
*/
public AppQuery notes(String notes){
setNotes(notes);
return this;
}
/**
* 设置 更新说明
* @param notesList
*/
public AppQuery notesList(List<String> notesList){
this.notesList = notesList;
return this;
}
/** /**
* 设置 是否部署(0.否,1.是) * 设置 是否部署(0.否,1.是)
* @param distribute * @param distribute
......
...@@ -7,98 +7,170 @@ import com.mortals.framework.annotation.Excel; ...@@ -7,98 +7,170 @@ 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;
/** /**
* app应用Id * app应用Id
*/ */
private Long appId; private Long appId;
/** /**
* 应用名称 * 应用名称
*/ */
private String appName; private String appName;
/** /**
* 版本号 * 版本号
*/ */
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;
public AppVersionEntity(){} public AppVersionEntity(){}
/** /**
* 获取 app应用Id * 获取 app应用Id
* @return Long * @return Long
*/ */
public Long getAppId(){ public Long getAppId(){
return appId; return appId;
} }
/** /**
* 设置 app应用Id * 设置 app应用Id
* @param appId * @param appId
*/ */
public void setAppId(Long appId){ public void setAppId(Long appId){
this.appId = appId; this.appId = appId;
} }
/** /**
* 获取 应用名称 * 获取 应用名称
* @return String * @return String
*/ */
public String getAppName(){ public String getAppName(){
return appName; return appName;
} }
/** /**
* 设置 应用名称 * 设置 应用名称
* @param appName * @param appName
*/ */
public void setAppName(String appName){ public void setAppName(String appName){
this.appName = appName; this.appName = appName;
} }
/** /**
* 获取 版本号 * 获取 版本号
* @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;
} }
/** /**
* 获取 更新说明 * 获取 更新说明
* @return String * @return String
*/ */
public String getNotes(){ public String getNotes(){
return notes; return notes;
} }
/** /**
* 设置 更新说明 * 设置 更新说明
* @param notes * @param notes
*/ */
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;
}
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return this.getId().hashCode();
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
...@@ -106,7 +178,7 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -106,7 +178,7 @@ public class AppVersionEntity extends AppVersionVo {
if (obj instanceof AppVersionEntity) { if (obj instanceof AppVersionEntity) {
AppVersionEntity tmp = (AppVersionEntity) obj; AppVersionEntity tmp = (AppVersionEntity) obj;
if (this.getId() == tmp.getId()) { if (this.getId() == tmp.getId()) {
return true; return true;
} }
} }
return false; return false;
...@@ -118,17 +190,29 @@ public class AppVersionEntity extends AppVersionVo { ...@@ -118,17 +190,29 @@ 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();
} }
public void initAttrValue(){ public void initAttrValue(){
this.appId = null; this.appId = null;
this.appName = "";
this.version = 0;
this.notes = "";
this.fileName = "";
this.appName = ""; this.filePath = "";
this.version = ""; this.distributeFilePath = "";
this.notes = ""; 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;
...@@ -75,528 +105,814 @@ public class AppVersionQuery extends AppVersionEntity { ...@@ -75,528 +105,814 @@ public class AppVersionQuery extends AppVersionEntity {
public AppVersionQuery(){} public AppVersionQuery(){}
/** /**
* 获取 开始 主键ID,主键,自增长 * 获取 开始 主键ID,主键,自增长
* @return idStart * @return idStart
*/ */
public Long getIdStart(){ public Long getIdStart(){
return this.idStart; return this.idStart;
} }
/** /**
* 设置 开始 主键ID,主键,自增长 * 设置 开始 主键ID,主键,自增长
* @param idStart * @param idStart
*/ */
public void setIdStart(Long idStart){ public void setIdStart(Long idStart){
this.idStart = idStart; this.idStart = idStart;
} }
/** /**
* 获取 结束 主键ID,主键,自增长 * 获取 结束 主键ID,主键,自增长
* @return $idEnd * @return $idEnd
*/ */
public Long getIdEnd(){ public Long getIdEnd(){
return this.idEnd; return this.idEnd;
} }
/** /**
* 设置 结束 主键ID,主键,自增长 * 设置 结束 主键ID,主键,自增长
* @param idEnd * @param idEnd
*/ */
public void setIdEnd(Long idEnd){ public void setIdEnd(Long idEnd){
this.idEnd = idEnd; this.idEnd = idEnd;
} }
/** /**
* 获取 增加 主键ID,主键,自增长 * 获取 增加 主键ID,主键,自增长
* @return idIncrement * @return idIncrement
*/ */
public Long getIdIncrement(){ public Long getIdIncrement(){
return this.idIncrement; return this.idIncrement;
} }
/** /**
* 设置 增加 主键ID,主键,自增长 * 设置 增加 主键ID,主键,自增长
* @param idIncrement * @param idIncrement
*/ */
public void setIdIncrement(Long idIncrement){ public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement; this.idIncrement = idIncrement;
} }
/** /**
* 获取 主键ID,主键,自增长 * 获取 主键ID,主键,自增长
* @return idList * @return idList
*/ */
public List<Long> getIdList(){ public List<Long> getIdList(){
return this.idList; return this.idList;
} }
/** /**
* 设置 主键ID,主键,自增长 * 设置 主键ID,主键,自增长
* @param idList * @param idList
*/ */
public void setIdList(List<Long> idList){ public void setIdList(List<Long> idList){
this.idList = idList; this.idList = idList;
} }
/** /**
* 获取 开始 app应用Id * 获取 开始 app应用Id
* @return appIdStart * @return appIdStart
*/ */
public Long getAppIdStart(){ public Long getAppIdStart(){
return this.appIdStart; return this.appIdStart;
} }
/** /**
* 设置 开始 app应用Id * 设置 开始 app应用Id
* @param appIdStart * @param appIdStart
*/ */
public void setAppIdStart(Long appIdStart){ public void setAppIdStart(Long appIdStart){
this.appIdStart = appIdStart; this.appIdStart = appIdStart;
} }
/** /**
* 获取 结束 app应用Id * 获取 结束 app应用Id
* @return $appIdEnd * @return $appIdEnd
*/ */
public Long getAppIdEnd(){ public Long getAppIdEnd(){
return this.appIdEnd; return this.appIdEnd;
} }
/** /**
* 设置 结束 app应用Id * 设置 结束 app应用Id
* @param appIdEnd * @param appIdEnd
*/ */
public void setAppIdEnd(Long appIdEnd){ public void setAppIdEnd(Long appIdEnd){
this.appIdEnd = appIdEnd; this.appIdEnd = appIdEnd;
} }
/** /**
* 获取 增加 app应用Id * 获取 增加 app应用Id
* @return appIdIncrement * @return appIdIncrement
*/ */
public Long getAppIdIncrement(){ public Long getAppIdIncrement(){
return this.appIdIncrement; return this.appIdIncrement;
} }
/** /**
* 设置 增加 app应用Id * 设置 增加 app应用Id
* @param appIdIncrement * @param appIdIncrement
*/ */
public void setAppIdIncrement(Long appIdIncrement){ public void setAppIdIncrement(Long appIdIncrement){
this.appIdIncrement = appIdIncrement; this.appIdIncrement = appIdIncrement;
} }
/** /**
* 获取 app应用Id * 获取 app应用Id
* @return appIdList * @return appIdList
*/ */
public List<Long> getAppIdList(){ public List<Long> getAppIdList(){
return this.appIdList; return this.appIdList;
} }
/** /**
* 设置 app应用Id * 设置 app应用Id
* @param appIdList * @param appIdList
*/ */
public void setAppIdList(List<Long> appIdList){ public void setAppIdList(List<Long> appIdList){
this.appIdList = appIdList; this.appIdList = appIdList;
} }
/** /**
* 获取 应用名称 * 获取 应用名称
* @return appNameList * @return appNameList
*/ */
public List<String> getAppNameList(){ public List<String> getAppNameList(){
return this.appNameList; return this.appNameList;
} }
/** /**
* 设置 应用名称 * 设置 应用名称
* @param appNameList * @param appNameList
*/ */
public void setAppNameList(List<String> appNameList){ public void setAppNameList(List<String> appNameList){
this.appNameList = appNameList; this.appNameList = appNameList;
} }
/** /**
* 获取 版本号 * 获取 开始 版本号
* @return versionList * @return versionStart
*/ */
public List<String> getVersionList(){ 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<Integer> getVersionList(){
return this.versionList; return this.versionList;
} }
/** /**
* 设置 版本号 * 设置 版本号
* @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
*/ */
public List<String> getNotesList(){ public List<String> getNotesList(){
return this.notesList; return this.notesList;
} }
/** /**
* 设置 更新说明 * 设置 更新说明
* @param notesList * @param notesList
*/ */
public void setNotesList(List<String> notesList){ public void setNotesList(List<String> notesList){
this.notesList = notesList; this.notesList = notesList;
} }
/** /**
* 获取 开始 创建时间 * 获取 文件名称
* @return createTimeStart * @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
*/
public String getCreateTimeStart(){ public String getCreateTimeStart(){
return this.createTimeStart; return this.createTimeStart;
} }
/** /**
* 设置 开始 创建时间 * 设置 开始 创建时间
* @param createTimeStart * @param createTimeStart
*/ */
public void setCreateTimeStart(String createTimeStart){ public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart; this.createTimeStart = createTimeStart;
} }
/** /**
* 获取 结束 创建时间 * 获取 结束 创建时间
* @return createTimeEnd * @return createTimeEnd
*/ */
public String getCreateTimeEnd(){ public String getCreateTimeEnd(){
return this.createTimeEnd; return this.createTimeEnd;
} }
/** /**
* 设置 结束 创建时间 * 设置 结束 创建时间
* @param createTimeEnd * @param createTimeEnd
*/ */
public void setCreateTimeEnd(String createTimeEnd){ public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd; this.createTimeEnd = createTimeEnd;
} }
/** /**
* 获取 开始 更新用户 * 获取 开始 更新用户
* @return updateUserIdStart * @return updateUserIdStart
*/ */
public Long getUpdateUserIdStart(){ public Long getUpdateUserIdStart(){
return this.updateUserIdStart; return this.updateUserIdStart;
} }
/** /**
* 设置 开始 更新用户 * 设置 开始 更新用户
* @param updateUserIdStart * @param updateUserIdStart
*/ */
public void setUpdateUserIdStart(Long updateUserIdStart){ public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart; this.updateUserIdStart = updateUserIdStart;
} }
/** /**
* 获取 结束 更新用户 * 获取 结束 更新用户
* @return $updateUserIdEnd * @return $updateUserIdEnd
*/ */
public Long getUpdateUserIdEnd(){ public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd; return this.updateUserIdEnd;
} }
/** /**
* 设置 结束 更新用户 * 设置 结束 更新用户
* @param updateUserIdEnd * @param updateUserIdEnd
*/ */
public void setUpdateUserIdEnd(Long updateUserIdEnd){ public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd; this.updateUserIdEnd = updateUserIdEnd;
} }
/** /**
* 获取 增加 更新用户 * 获取 增加 更新用户
* @return updateUserIdIncrement * @return updateUserIdIncrement
*/ */
public Long getUpdateUserIdIncrement(){ public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement; return this.updateUserIdIncrement;
} }
/** /**
* 设置 增加 更新用户 * 设置 增加 更新用户
* @param updateUserIdIncrement * @param updateUserIdIncrement
*/ */
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){ public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement; this.updateUserIdIncrement = updateUserIdIncrement;
} }
/** /**
* 获取 更新用户 * 获取 更新用户
* @return updateUserIdList * @return updateUserIdList
*/ */
public List<Long> getUpdateUserIdList(){ public List<Long> getUpdateUserIdList(){
return this.updateUserIdList; return this.updateUserIdList;
} }
/** /**
* 设置 更新用户 * 设置 更新用户
* @param updateUserIdList * @param updateUserIdList
*/ */
public void setUpdateUserIdList(List<Long> updateUserIdList){ public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList; this.updateUserIdList = updateUserIdList;
} }
/** /**
* 获取 开始 更新时间 * 获取 开始 更新时间
* @return updateTimeStart * @return updateTimeStart
*/ */
public String getUpdateTimeStart(){ public String getUpdateTimeStart(){
return this.updateTimeStart; return this.updateTimeStart;
} }
/** /**
* 设置 开始 更新时间 * 设置 开始 更新时间
* @param updateTimeStart * @param updateTimeStart
*/ */
public void setUpdateTimeStart(String updateTimeStart){ public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart; this.updateTimeStart = updateTimeStart;
} }
/** /**
* 获取 结束 更新时间 * 获取 结束 更新时间
* @return updateTimeEnd * @return updateTimeEnd
*/ */
public String getUpdateTimeEnd(){ public String getUpdateTimeEnd(){
return this.updateTimeEnd; return this.updateTimeEnd;
} }
/** /**
* 设置 结束 更新时间 * 设置 结束 更新时间
* @param updateTimeEnd * @param updateTimeEnd
*/ */
public void setUpdateTimeEnd(String updateTimeEnd){ public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd; this.updateTimeEnd = updateTimeEnd;
} }
/** /**
* 设置 主键ID,主键,自增长 * 设置 主键ID,主键,自增长
* @param id * @param id
*/ */
public AppVersionQuery id(Long id){ public AppVersionQuery id(Long id){
setId(id); setId(id);
return this; return this;
} }
/** /**
* 设置 开始 主键ID,主键,自增长 * 设置 开始 主键ID,主键,自增长
* @param idStart * @param idStart
*/ */
public AppVersionQuery idStart(Long idStart){ public AppVersionQuery idStart(Long idStart){
this.idStart = idStart; this.idStart = idStart;
return this; return this;
} }
/** /**
* 设置 结束 主键ID,主键,自增长 * 设置 结束 主键ID,主键,自增长
* @param idEnd * @param idEnd
*/ */
public AppVersionQuery idEnd(Long idEnd){ public AppVersionQuery idEnd(Long idEnd){
this.idEnd = idEnd; this.idEnd = idEnd;
return this; return this;
} }
/** /**
* 设置 增加 主键ID,主键,自增长 * 设置 增加 主键ID,主键,自增长
* @param idIncrement * @param idIncrement
*/ */
public AppVersionQuery idIncrement(Long idIncrement){ public AppVersionQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement; this.idIncrement = idIncrement;
return this; return this;
} }
/** /**
* 设置 主键ID,主键,自增长 * 设置 主键ID,主键,自增长
* @param idList * @param idList
*/ */
public AppVersionQuery idList(List<Long> idList){ public AppVersionQuery idList(List<Long> idList){
this.idList = idList; this.idList = idList;
return this; return this;
} }
/** /**
* 设置 app应用Id * 设置 app应用Id
* @param appId * @param appId
*/ */
public AppVersionQuery appId(Long appId){ public AppVersionQuery appId(Long appId){
setAppId(appId); setAppId(appId);
return this; return this;
} }
/** /**
* 设置 开始 app应用Id * 设置 开始 app应用Id
* @param appIdStart * @param appIdStart
*/ */
public AppVersionQuery appIdStart(Long appIdStart){ public AppVersionQuery appIdStart(Long appIdStart){
this.appIdStart = appIdStart; this.appIdStart = appIdStart;
return this; return this;
} }
/** /**
* 设置 结束 app应用Id * 设置 结束 app应用Id
* @param appIdEnd * @param appIdEnd
*/ */
public AppVersionQuery appIdEnd(Long appIdEnd){ public AppVersionQuery appIdEnd(Long appIdEnd){
this.appIdEnd = appIdEnd; this.appIdEnd = appIdEnd;
return this; return this;
} }
/** /**
* 设置 增加 app应用Id * 设置 增加 app应用Id
* @param appIdIncrement * @param appIdIncrement
*/ */
public AppVersionQuery appIdIncrement(Long appIdIncrement){ public AppVersionQuery appIdIncrement(Long appIdIncrement){
this.appIdIncrement = appIdIncrement; this.appIdIncrement = appIdIncrement;
return this; return this;
} }
/** /**
* 设置 app应用Id * 设置 app应用Id
* @param appIdList * @param appIdList
*/ */
public AppVersionQuery appIdList(List<Long> appIdList){ public AppVersionQuery appIdList(List<Long> appIdList){
this.appIdList = appIdList; this.appIdList = appIdList;
return this; return this;
} }
/** /**
* 设置 应用名称 * 设置 应用名称
* @param appName * @param appName
*/ */
public AppVersionQuery appName(String appName){ public AppVersionQuery appName(String appName){
setAppName(appName); setAppName(appName);
return this; return this;
} }
/** /**
* 设置 应用名称 * 设置 应用名称
* @param appNameList * @param appNameList
*/ */
public AppVersionQuery appNameList(List<String> appNameList){ public AppVersionQuery appNameList(List<String> appNameList){
this.appNameList = appNameList; this.appNameList = appNameList;
return this; return this;
} }
/**
/** * 设置 版本号
* 设置 版本号 * @param version
* @param version */
*/ public AppVersionQuery version(Integer version){
public AppVersionQuery version(String version){
setVersion(version); setVersion(version);
return this; return this;
} }
/** /**
* 设置 版本号 * 设置 开始 版本号
* @param versionList * @param versionStart
*/ */
public AppVersionQuery versionList(List<String> versionList){ 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<Integer> versionList){
this.versionList = versionList; this.versionList = versionList;
return this; return this;
} }
/** /**
* 设置 更新说明 * 设置 更新说明
* @param notes * @param notes
*/ */
public AppVersionQuery notes(String notes){ public AppVersionQuery notes(String notes){
setNotes(notes); setNotes(notes);
return this; return this;
} }
/** /**
* 设置 更新说明 * 设置 更新说明
* @param notesList * @param notesList
*/ */
public AppVersionQuery notesList(List<String> notesList){ public AppVersionQuery notesList(List<String> notesList){
this.notesList = notesList; this.notesList = notesList;
return this; return this;
} }
/** /**
* 设置 更新用户 * 设置 文件名称
* @param updateUserId * @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
*/
public AppVersionQuery updateUserId(Long updateUserId){ public AppVersionQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId); setUpdateUserId(updateUserId);
return this; return this;
} }
/** /**
* 设置 开始 更新用户 * 设置 开始 更新用户
* @param updateUserIdStart * @param updateUserIdStart
*/ */
public AppVersionQuery updateUserIdStart(Long updateUserIdStart){ public AppVersionQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart; this.updateUserIdStart = updateUserIdStart;
return this; return this;
} }
/** /**
* 设置 结束 更新用户 * 设置 结束 更新用户
* @param updateUserIdEnd * @param updateUserIdEnd
*/ */
public AppVersionQuery updateUserIdEnd(Long updateUserIdEnd){ public AppVersionQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd; this.updateUserIdEnd = updateUserIdEnd;
return this; return this;
} }
/** /**
* 设置 增加 更新用户 * 设置 增加 更新用户
* @param updateUserIdIncrement * @param updateUserIdIncrement
*/ */
public AppVersionQuery updateUserIdIncrement(Long updateUserIdIncrement){ public AppVersionQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement; this.updateUserIdIncrement = updateUserIdIncrement;
return this; return this;
} }
/** /**
* 设置 更新用户 * 设置 更新用户
* @param updateUserIdList * @param updateUserIdList
*/ */
public AppVersionQuery updateUserIdList(List<Long> updateUserIdList){ public AppVersionQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList; this.updateUserIdList = updateUserIdList;
return this; return this;
} }
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList * @return orConditionList
*/ */
public List<AppVersionQuery> getOrConditionList(){ public List<AppVersionQuery> getOrConditionList(){
return this.orConditionList; return this.orConditionList;
} }
/** /**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList * @param orConditionList
*/ */
public void setOrConditionList(List<AppVersionQuery> orConditionList){ public void setOrConditionList(List<AppVersionQuery> orConditionList){
this.orConditionList = orConditionList; this.orConditionList = orConditionList;
} }
/** /**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) * 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList * @return andConditionList
*/ */
public List<AppVersionQuery> getAndConditionList(){ public List<AppVersionQuery> getAndConditionList(){
return this.andConditionList; return this.andConditionList;
} }
/** /**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) * 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList * @param andConditionList
*/ */
public void setAndConditionList(List<AppVersionQuery> andConditionList){ public void setAndConditionList(List<AppVersionQuery> andConditionList){
this.andConditionList = andConditionList; this.andConditionList = andConditionList;
} }
......
...@@ -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);
} }
...@@ -100,6 +99,8 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao ...@@ -100,6 +99,8 @@ 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);
......
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;
...@@ -62,13 +64,12 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -62,13 +64,12 @@ 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())); });
});
super.findAfter(params, pageInfo, context, list); super.findAfter(params, pageInfo, context, list);
} }
...@@ -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("应用部署成功!");
} }
...@@ -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);
} }
...@@ -212,12 +217,92 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -212,12 +217,92 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
versionEntity.setAppId(entity.getId()); versionEntity.setAppId(entity.getId());
versionEntity.setVersion(entity.getVersion()); versionEntity.setVersion(entity.getVersion());
versionEntity.setNotes("应用初始创建!"); versionEntity.setNotes("应用初始创建!");
versionEntity.setFileName(entity.getFileName());
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.setVersion(versionNum++);
versionEntity.setNotes(entity.getNotes());
versionEntity.setFileName(entity.getFileName());
versionEntity.setDistributeFilePath(entity.getDistributeFilePath());
versionEntity.setCreateTime(new Date());
versionEntity.setCreateUserId(this.getContextUserId(context));
appVersionService.save(versionEntity, context);
}
/*
String version = entity.getVersion();
String versionNum = StrUtil.subAfter(version, Constant.VERSION_PREFIX, false);
String newVersionNum = NumberUtil.add(versionNum, "0.1").setScale(1).toString();
AppVersionEntity appVersionEntity = new AppVersionEntity();
appVersionEntity.initAttrValue();
AppVersionEntity versionEntity = new AppVersionEntity();
versionEntity.initAttrValue();
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);
*/
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 +323,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -238,8 +323,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);
} }
} }
...@@ -307,7 +392,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -307,7 +392,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) {
distributeFile(appVersionEntity, context);
return Rest.ok("部署应用成功!");
}
private AppEntity distributeFile(AppVersionEntity appVersionEntity, Context context) {
AppEntity appEntity = appService.get(appVersionEntity.getAppId(), 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 appEntity;
}
@Override
public Rest<Void> appUsed(AppVersionEntity appVersionEntity, Context context) {
//使用 部署
AppEntity appEntity = distributeFile(appVersionEntity, context);
// ZipUtil.unzip(targetFilePath, disPath);
//更新app版本使用
appVersionEntity.setUsed(YesNoEnum.YES.getValue());
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.ap.GlobalSysInfo;
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.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.AppQuery; import com.mortals.xhx.module.app.model.AppQuery;
import com.mortals.xhx.module.product.model.ProductEntity;
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;
...@@ -37,6 +42,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -37,6 +42,7 @@ 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.*;
import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_HTTP_URL;
/** /**
* 自助终端应用 * 自助终端应用
...@@ -99,6 +105,8 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -99,6 +105,8 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
} }
/** /**
* app应用克隆给其它站点 * app应用克隆给其它站点
*/ */
...@@ -125,4 +133,14 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -125,4 +133,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 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,76 @@ public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppV ...@@ -49,9 +69,76 @@ 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.NO.getValue()) {
throw new AppException("当前应用使用中!");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("自助服务应用预览", e);
rest = 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
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<result property="distributeFilePath" column="distributeFilePath" /> <result property="distributeFilePath" column="distributeFilePath" />
<result property="version" column="version" /> <result property="version" column="version" />
<result property="summary" column="summary" /> <result property="summary" column="summary" />
<result property="notes" column="notes" />
<result property="distribute" column="distribute" /> <result property="distribute" column="distribute" />
<result property="dataUpdate" column="dataUpdate" /> <result property="dataUpdate" column="dataUpdate" />
<result property="createTime" column="createTime" /> <result property="createTime" column="createTime" />
...@@ -88,6 +89,9 @@ ...@@ -88,6 +89,9 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('summary') or colPickMode == 1 and data.containsKey('summary')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('summary') or colPickMode == 1 and data.containsKey('summary')))">
a.summary, a.summary,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('notes') or colPickMode == 1 and data.containsKey('notes')))">
a.notes,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('distribute') or colPickMode == 1 and data.containsKey('distribute')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('distribute') or colPickMode == 1 and data.containsKey('distribute')))">
a.distribute, a.distribute,
</if> </if>
...@@ -114,18 +118,18 @@ ...@@ -114,18 +118,18 @@
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AppEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="AppEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_app insert into mortals_sys_app
(siteId,siteName,appCode,appName,appIconPath,appThemeName,type,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,distribute,dataUpdate,createTime,updateUserId,updateTime) (siteId,siteName,appCode,appName,appIconPath,appThemeName,type,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,notes,distribute,dataUpdate,createTime,updateUserId,updateTime)
VALUES VALUES
(#{siteId},#{siteName},#{appCode},#{appName},#{appIconPath},#{appThemeName},#{type},#{downDevCount},#{shelves},#{appType},#{fileName},#{filePath},#{distributeFilePath},#{version},#{summary},#{distribute},#{dataUpdate},#{createTime},#{updateUserId},#{updateTime}) (#{siteId},#{siteName},#{appCode},#{appName},#{appIconPath},#{appThemeName},#{type},#{downDevCount},#{shelves},#{appType},#{fileName},#{filePath},#{distributeFilePath},#{version},#{summary},#{notes},#{distribute},#{dataUpdate},#{createTime},#{updateUserId},#{updateTime})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_app insert into mortals_sys_app
(siteId,siteName,appCode,appName,appIconPath,appThemeName,type,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,distribute,dataUpdate,createTime,updateUserId,updateTime) (siteId,siteName,appCode,appName,appIconPath,appThemeName,type,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,notes,distribute,dataUpdate,createTime,updateUserId,updateTime)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.siteName},#{item.appCode},#{item.appName},#{item.appIconPath},#{item.appThemeName},#{item.type},#{item.downDevCount},#{item.shelves},#{item.appType},#{item.fileName},#{item.filePath},#{item.distributeFilePath},#{item.version},#{item.summary},#{item.distribute},#{item.dataUpdate},#{item.createTime},#{item.updateUserId},#{item.updateTime}) (#{item.siteId},#{item.siteName},#{item.appCode},#{item.appName},#{item.appIconPath},#{item.appThemeName},#{item.type},#{item.downDevCount},#{item.shelves},#{item.appType},#{item.fileName},#{item.filePath},#{item.distributeFilePath},#{item.version},#{item.summary},#{item.notes},#{item.distribute},#{item.dataUpdate},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach> </foreach>
</insert> </insert>
...@@ -192,9 +196,15 @@ ...@@ -192,9 +196,15 @@
<if test="(colPickMode==0 and data.containsKey('version')) or (colPickMode==1 and !data.containsKey('version'))"> <if test="(colPickMode==0 and data.containsKey('version')) or (colPickMode==1 and !data.containsKey('version'))">
a.version=#{data.version}, a.version=#{data.version},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('versionIncrement')) or (colPickMode==1 and !data.containsKey('versionIncrement'))">
a.version=ifnull(a.version,0) + #{data.versionIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('summary')) or (colPickMode==1 and !data.containsKey('summary'))"> <if test="(colPickMode==0 and data.containsKey('summary')) or (colPickMode==1 and !data.containsKey('summary'))">
a.summary=#{data.summary}, a.summary=#{data.summary},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('notes')) or (colPickMode==1 and !data.containsKey('notes'))">
a.notes=#{data.notes},
</if>
<if test="(colPickMode==0 and data.containsKey('distribute')) or (colPickMode==1 and !data.containsKey('distribute'))"> <if test="(colPickMode==0 and data.containsKey('distribute')) or (colPickMode==1 and !data.containsKey('distribute'))">
a.distribute=#{data.distribute}, a.distribute=#{data.distribute},
</if> </if>
...@@ -349,9 +359,14 @@ ...@@ -349,9 +359,14 @@
</trim> </trim>
<trim prefix="version=(case" suffix="ELSE version end),"> <trim prefix="version=(case" suffix="ELSE version 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('version')) or (colPickMode==1 and !item.containsKey('version'))"> <choose>
when a.id=#{item.id} then #{item.version} <when test="(colPickMode==0 and item.containsKey('version')) or (colPickMode==1 and !item.containsKey('version'))">
</if> when a.id=#{item.id} then #{item.version}
</when>
<when test="(colPickMode==0 and item.containsKey('versionIncrement')) or (colPickMode==1 and !item.containsKey('versionIncrement'))">
when a.id=#{item.id} then ifnull(a.version,0) + #{item.versionIncrement}
</when>
</choose>
</foreach> </foreach>
</trim> </trim>
<trim prefix="summary=(case" suffix="ELSE summary end),"> <trim prefix="summary=(case" suffix="ELSE summary end),">
...@@ -361,6 +376,13 @@ ...@@ -361,6 +376,13 @@
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="notes=(case" suffix="ELSE notes end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('notes')) or (colPickMode==1 and !item.containsKey('notes'))">
when a.id=#{item.id} then #{item.notes}
</if>
</foreach>
</trim>
<trim prefix="distribute=(case" suffix="ELSE distribute end),"> <trim prefix="distribute=(case" suffix="ELSE distribute end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
...@@ -781,10 +803,9 @@ ...@@ -781,10 +803,9 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('version')"> <if test="conditionParamRef.containsKey('version')">
<if test="conditionParamRef.version != null and conditionParamRef.version != ''"> <if test="conditionParamRef.version != null ">
${_conditionType_} a.version like #{${_conditionParam_}.version} ${_conditionType_} a.version = #{${_conditionParam_}.version}
</if> </if>
<if test="conditionParamRef.version == null"> <if test="conditionParamRef.version == null">
${_conditionType_} a.version is null ${_conditionType_} a.version is null
...@@ -796,6 +817,13 @@ ...@@ -796,6 +817,13 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('versionStart') and conditionParamRef.versionStart != null">
${_conditionType_} a.version <![CDATA[ >= ]]> #{${_conditionParam_}.versionStart}
</if>
<if test="conditionParamRef.containsKey('versionEnd') and conditionParamRef.versionEnd != null">
${_conditionType_} a.version <![CDATA[ <= ]]> #{${_conditionParam_}.versionEnd}
</if>
<if test="conditionParamRef.containsKey('summary')"> <if test="conditionParamRef.containsKey('summary')">
<if test="conditionParamRef.summary != null and conditionParamRef.summary != ''"> <if test="conditionParamRef.summary != null and conditionParamRef.summary != ''">
...@@ -811,6 +839,21 @@ ...@@ -811,6 +839,21 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('notes')">
<if test="conditionParamRef.notes != null and conditionParamRef.notes != ''">
${_conditionType_} a.notes like #{${_conditionParam_}.notes}
</if>
<if test="conditionParamRef.notes == null">
${_conditionType_} a.notes is null
</if>
</if>
<if test="conditionParamRef.containsKey('notesList')">
${_conditionType_} a.notes in
<foreach collection="conditionParamRef.notesList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('distribute')"> <if test="conditionParamRef.containsKey('distribute')">
<if test="conditionParamRef.distribute != null "> <if test="conditionParamRef.distribute != null ">
${_conditionType_} a.distribute = #{${_conditionParam_}.distribute} ${_conditionType_} a.distribute = #{${_conditionParam_}.distribute}
...@@ -997,6 +1040,11 @@ ...@@ -997,6 +1040,11 @@
<if test='orderCol.summary != null and "DESC".equalsIgnoreCase(orderCol.summary)'>DESC</if> <if test='orderCol.summary != null and "DESC".equalsIgnoreCase(orderCol.summary)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('notes')">
a.notes
<if test='orderCol.notes != null and "DESC".equalsIgnoreCase(orderCol.notes)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('distribute')"> <if test="orderCol.containsKey('distribute')">
a.distribute a.distribute
<if test='orderCol.distribute != null and "DESC".equalsIgnoreCase(orderCol.distribute)'>DESC</if> <if test='orderCol.distribute != null and "DESC".equalsIgnoreCase(orderCol.distribute)'>DESC</if>
......
<?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.AppVersionDaoImpl"> <mapper namespace="com.mortals.xhx.module.app.dao.ibatis.AppVersionDaoImpl">
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
<resultMap type="AppVersionEntity" id="AppVersionEntity-Map"> <resultMap type="AppVersionEntity" id="AppVersionEntity-Map">
<id property="id" column="id" /> <id property="id" column="id" />
<result property="appId" column="appId" /> <result property="appId" column="appId" />
<result property="appName" column="appName" /> <result property="appName" column="appName" />
<result property="version" column="version" /> <result property="version" column="version" />
<result property="notes" column="notes" /> <result property="notes" column="notes" />
<result property="createTime" column="createTime" /> <result property="fileName" column="fileName" />
<result property="updateUserId" column="updateUserId" /> <result property="filePath" column="filePath" />
<result property="updateTime" column="updateTime" /> <result property="distributeFilePath" column="distributeFilePath" />
<result property="used" column="used" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
</resultMap> </resultMap>
<!-- 表所有列 --> <!-- 表所有列 -->
<sql id="_columns"> <sql id="_columns">
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id, a.id,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appId') or colPickMode == 1 and data.containsKey('appId')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appId') or colPickMode == 1 and data.containsKey('appId')))">
a.appId, a.appId,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appName') or colPickMode == 1 and data.containsKey('appName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appName') or colPickMode == 1 and data.containsKey('appName')))">
a.appName, a.appName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('version') or colPickMode == 1 and data.containsKey('version')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('version') or colPickMode == 1 and data.containsKey('version')))">
a.version, a.version,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('notes') or colPickMode == 1 and data.containsKey('notes')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('notes') or colPickMode == 1 and data.containsKey('notes')))">
a.notes, a.notes,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('fileName') or colPickMode == 1 and data.containsKey('fileName')))">
a.createTime, a.fileName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('filePath') or colPickMode == 1 and data.containsKey('filePath')))">
a.updateUserId, a.filePath,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('distributeFilePath') or colPickMode == 1 and data.containsKey('distributeFilePath')))">
a.updateTime, a.distributeFilePath,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('used') or colPickMode == 1 and data.containsKey('used')))">
a.used,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AppVersionEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="AppVersionEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_app_version insert into mortals_sys_app_version
(appId,appName,version,notes,createTime,updateUserId,updateTime) (appId,appName,version,notes,fileName,filePath,distributeFilePath,used,createTime,updateUserId,updateTime)
VALUES VALUES
(#{appId},#{appName},#{version},#{notes},#{createTime},#{updateUserId},#{updateTime}) (#{appId},#{appName},#{version},#{notes},#{fileName},#{filePath},#{distributeFilePath},#{used},#{createTime},#{updateUserId},#{updateTime})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_app_version insert into mortals_sys_app_version
(appId,appName,version,notes,createTime,updateUserId,updateTime) (appId,appName,version,notes,fileName,filePath,distributeFilePath,used,createTime,updateUserId,updateTime)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.appId},#{item.appName},#{item.version},#{item.notes},#{item.createTime},#{item.updateUserId},#{item.updateTime}) (#{item.appId},#{item.appName},#{item.version},#{item.notes},#{item.fileName},#{item.filePath},#{item.distributeFilePath},#{item.used},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach> </foreach>
</insert> </insert>
...@@ -82,9 +98,27 @@ ...@@ -82,9 +98,27 @@
<if test="(colPickMode==0 and data.containsKey('version')) or (colPickMode==1 and !data.containsKey('version'))"> <if test="(colPickMode==0 and data.containsKey('version')) or (colPickMode==1 and !data.containsKey('version'))">
a.version=#{data.version}, a.version=#{data.version},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('versionIncrement')) or (colPickMode==1 and !data.containsKey('versionIncrement'))">
a.version=ifnull(a.version,0) + #{data.versionIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('notes')) or (colPickMode==1 and !data.containsKey('notes'))"> <if test="(colPickMode==0 and data.containsKey('notes')) or (colPickMode==1 and !data.containsKey('notes'))">
a.notes=#{data.notes}, a.notes=#{data.notes},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('fileName')) or (colPickMode==1 and !data.containsKey('fileName'))">
a.fileName=#{data.fileName},
</if>
<if test="(colPickMode==0 and data.containsKey('filePath')) or (colPickMode==1 and !data.containsKey('filePath'))">
a.filePath=#{data.filePath},
</if>
<if test="(colPickMode==0 and data.containsKey('distributeFilePath')) or (colPickMode==1 and !data.containsKey('distributeFilePath'))">
a.distributeFilePath=#{data.distributeFilePath},
</if>
<if test="(colPickMode==0 and data.containsKey('used')) or (colPickMode==1 and !data.containsKey('used'))">
a.used=#{data.used},
</if>
<if test="(colPickMode==0 and data.containsKey('usedIncrement')) or (colPickMode==1 and !data.containsKey('usedIncrement'))">
a.used=ifnull(a.used,0) + #{data.usedIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))"> <if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime}, a.createTime=#{data.createTime},
</if> </if>
...@@ -109,65 +143,103 @@ ...@@ -109,65 +143,103 @@
<update id="updateBatch" parameterType="paramDto"> <update id="updateBatch" parameterType="paramDto">
update mortals_sys_app_version as a update mortals_sys_app_version as a
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<trim prefix="appId=(case" suffix="ELSE appId end),"> <trim prefix="appId=(case" suffix="ELSE appId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('appId')) or (colPickMode==1 and !item.containsKey('appId'))"> <when test="(colPickMode==0 and item.containsKey('appId')) or (colPickMode==1 and !item.containsKey('appId'))">
when a.id=#{item.id} then #{item.appId} when a.id=#{item.id} then #{item.appId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('appIdIncrement')) or (colPickMode==1 and !item.containsKey('appIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('appIdIncrement')) or (colPickMode==1 and !item.containsKey('appIdIncrement'))">
when a.id=#{item.id} then ifnull(a.appId,0) + #{item.appIdIncrement} when a.id=#{item.id} then ifnull(a.appId,0) + #{item.appIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
</trim> </trim>
<trim prefix="appName=(case" suffix="ELSE appName end),"> <trim prefix="appName=(case" suffix="ELSE appName 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('appName')) or (colPickMode==1 and !item.containsKey('appName'))"> <if test="(colPickMode==0 and item.containsKey('appName')) or (colPickMode==1 and !item.containsKey('appName'))">
when a.id=#{item.id} then #{item.appName} when a.id=#{item.id} then #{item.appName}
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="version=(case" suffix="ELSE version end),"> <trim prefix="version=(case" suffix="ELSE version 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('version')) or (colPickMode==1 and !item.containsKey('version'))"> <choose>
<when test="(colPickMode==0 and item.containsKey('version')) or (colPickMode==1 and !item.containsKey('version'))">
when a.id=#{item.id} then #{item.version} when a.id=#{item.id} then #{item.version}
</if> </when>
</foreach> <when test="(colPickMode==0 and item.containsKey('versionIncrement')) or (colPickMode==1 and !item.containsKey('versionIncrement'))">
</trim> when a.id=#{item.id} then ifnull(a.version,0) + #{item.versionIncrement}
<trim prefix="notes=(case" suffix="ELSE notes end),"> </when>
<foreach collection="data.dataList" item="item" index="index" separator="" > </choose>
<if test="(colPickMode==0 and item.containsKey('notes')) or (colPickMode==1 and !item.containsKey('notes'))"> </foreach>
when a.id=#{item.id} then #{item.notes} </trim>
</if> <trim prefix="notes=(case" suffix="ELSE notes end),">
</foreach> <foreach collection="data.dataList" item="item" index="index" separator="" >
</trim> <if test="(colPickMode==0 and item.containsKey('notes')) or (colPickMode==1 and !item.containsKey('notes'))">
<trim prefix="createTime=(case" suffix="ELSE createTime end),"> when a.id=#{item.id} then #{item.notes}
<foreach collection="data.dataList" item="item" index="index" separator="" > </if>
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))"> </foreach>
when a.id=#{item.id} then #{item.createTime} </trim>
</if> <trim prefix="fileName=(case" suffix="ELSE fileName end),">
</foreach> <foreach collection="data.dataList" item="item" index="index" separator="" >
</trim> <if test="(colPickMode==0 and item.containsKey('fileName')) or (colPickMode==1 and !item.containsKey('fileName'))">
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),"> when a.id=#{item.id} then #{item.fileName}
<foreach collection="data.dataList" item="item" index="index" separator="" > </if>
<choose> </foreach>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))"> </trim>
when a.id=#{item.id} then #{item.updateUserId} <trim prefix="filePath=(case" suffix="ELSE filePath end),">
</when> <foreach collection="data.dataList" item="item" index="index" separator="" >
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))"> <if test="(colPickMode==0 and item.containsKey('filePath')) or (colPickMode==1 and !item.containsKey('filePath'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement} when a.id=#{item.id} then #{item.filePath}
</when> </if>
</choose> </foreach>
</foreach> </trim>
</trim> <trim prefix="distributeFilePath=(case" suffix="ELSE distributeFilePath end),">
<trim prefix="updateTime=(case" suffix="ELSE updateTime 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('distributeFilePath')) or (colPickMode==1 and !item.containsKey('distributeFilePath'))">
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))"> when a.id=#{item.id} then #{item.distributeFilePath}
when a.id=#{item.id} then #{item.updateTime} </if>
</if> </foreach>
</foreach> </trim>
</trim> <trim prefix="used=(case" suffix="ELSE used end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('used')) or (colPickMode==1 and !item.containsKey('used'))">
when a.id=#{item.id} then #{item.used}
</when>
<when test="(colPickMode==0 and item.containsKey('usedIncrement')) or (colPickMode==1 and !item.containsKey('usedIncrement'))">
when a.id=#{item.id} then ifnull(a.used,0) + #{item.usedIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim> </trim>
where id in where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
...@@ -284,197 +356,289 @@ ...@@ -284,197 +356,289 @@
${_conditionType_} a.id=#{${_conditionParam_}.id} ${_conditionType_} a.id=#{${_conditionParam_}.id}
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('id')"> <if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null "> <if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id} ${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('idList')"> <if test="conditionParamRef.id == null">
${_conditionType_} a.id in ${_conditionType_} a.id is null
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if> </if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null"> </if>
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart} <if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('appId')">
<if test="conditionParamRef.appId != null ">
${_conditionType_} a.appId = #{${_conditionParam_}.appId}
</if> </if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null"> <if test="conditionParamRef.appId == null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd} ${_conditionType_} a.appId is null
</if> </if>
</if>
<if test="conditionParamRef.containsKey('appIdList')">
${_conditionType_} a.appId in
<foreach collection="conditionParamRef.appIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('appIdStart') and conditionParamRef.appIdStart != null">
${_conditionType_} a.appId <![CDATA[ >= ]]> #{${_conditionParam_}.appIdStart}
</if>
<if test="conditionParamRef.containsKey('appIdEnd') and conditionParamRef.appIdEnd != null">
${_conditionType_} a.appId <![CDATA[ <= ]]> #{${_conditionParam_}.appIdEnd}
</if>
<if test="conditionParamRef.containsKey('appId')">
<if test="conditionParamRef.appId != null "> <if test="conditionParamRef.containsKey('appName')">
${_conditionType_} a.appId = #{${_conditionParam_}.appId} <if test="conditionParamRef.appName != null and conditionParamRef.appName != ''">
</if> ${_conditionType_} a.appName like #{${_conditionParam_}.appName}
<if test="conditionParamRef.appId == null">
${_conditionType_} a.appId is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('appIdList')"> <if test="conditionParamRef.appName == null">
${_conditionType_} a.appId in ${_conditionType_} a.appName is null
<foreach collection="conditionParamRef.appIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if> </if>
<if test="conditionParamRef.containsKey('appIdStart') and conditionParamRef.appIdStart != null"> </if>
${_conditionType_} a.appId <![CDATA[ >= ]]> #{${_conditionParam_}.appIdStart} <if test="conditionParamRef.containsKey('appNameList')">
${_conditionType_} a.appName in
<foreach collection="conditionParamRef.appNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('version')">
<if test="conditionParamRef.version != null ">
${_conditionType_} a.version = #{${_conditionParam_}.version}
</if> </if>
<if test="conditionParamRef.containsKey('appIdEnd') and conditionParamRef.appIdEnd != null"> <if test="conditionParamRef.version == null">
${_conditionType_} a.appId <![CDATA[ <= ]]> #{${_conditionParam_}.appIdEnd} ${_conditionType_} a.version is null
</if> </if>
</if>
<if test="conditionParamRef.containsKey('versionList')">
${_conditionType_} a.version in
<foreach collection="conditionParamRef.versionList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('versionStart') and conditionParamRef.versionStart != null">
${_conditionType_} a.version <![CDATA[ >= ]]> #{${_conditionParam_}.versionStart}
</if>
<if test="conditionParamRef.containsKey('versionEnd') and conditionParamRef.versionEnd != null">
${_conditionType_} a.version <![CDATA[ <= ]]> #{${_conditionParam_}.versionEnd}
</if>
<if test="conditionParamRef.containsKey('appName')"> <if test="conditionParamRef.containsKey('notes')">
<if test="conditionParamRef.appName != null and conditionParamRef.appName != ''"> <if test="conditionParamRef.notes != null and conditionParamRef.notes != ''">
${_conditionType_} a.appName like #{${_conditionParam_}.appName} ${_conditionType_} a.notes like #{${_conditionParam_}.notes}
</if>
<if test="conditionParamRef.appName == null">
${_conditionType_} a.appName is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('appNameList')"> <if test="conditionParamRef.notes == null">
${_conditionType_} a.appName in ${_conditionType_} a.notes is null
<foreach collection="conditionParamRef.appNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if> </if>
</if>
<if test="conditionParamRef.containsKey('notesList')">
${_conditionType_} a.notes in
<foreach collection="conditionParamRef.notesList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('version')"> <if test="conditionParamRef.containsKey('fileName')">
<if test="conditionParamRef.version != null and conditionParamRef.version != ''"> <if test="conditionParamRef.fileName != null and conditionParamRef.fileName != ''">
${_conditionType_} a.version like #{${_conditionParam_}.version} ${_conditionType_} a.fileName like #{${_conditionParam_}.fileName}
</if>
<if test="conditionParamRef.version == null">
${_conditionType_} a.version is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('versionList')"> <if test="conditionParamRef.fileName == null">
${_conditionType_} a.version in ${_conditionType_} a.fileName is null
<foreach collection="conditionParamRef.versionList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if> </if>
</if>
<if test="conditionParamRef.containsKey('fileNameList')">
${_conditionType_} a.fileName in
<foreach collection="conditionParamRef.fileNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('notes')"> <if test="conditionParamRef.containsKey('filePath')">
<if test="conditionParamRef.notes != null and conditionParamRef.notes != ''"> <if test="conditionParamRef.filePath != null and conditionParamRef.filePath != ''">
${_conditionType_} a.notes like #{${_conditionParam_}.notes} ${_conditionType_} a.filePath like #{${_conditionParam_}.filePath}
</if>
<if test="conditionParamRef.notes == null">
${_conditionType_} a.notes is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('notesList')"> <if test="conditionParamRef.filePath == null">
${_conditionType_} a.notes in ${_conditionType_} a.filePath is null
<foreach collection="conditionParamRef.notesList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if> </if>
</if>
<if test="conditionParamRef.containsKey('filePathList')">
${_conditionType_} a.filePath in
<foreach collection="conditionParamRef.filePathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')"> <if test="conditionParamRef.containsKey('distributeFilePath')">
<if test="conditionParamRef.createTime != null "> <if test="conditionParamRef.distributeFilePath != null and conditionParamRef.distributeFilePath != ''">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime} ${_conditionType_} a.distributeFilePath like #{${_conditionParam_}.distributeFilePath}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''"> <if test="conditionParamRef.distributeFilePath == null">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ${_conditionType_} a.distributeFilePath is null
</if> </if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''"> </if>
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') <if test="conditionParamRef.containsKey('distributeFilePathList')">
${_conditionType_} a.distributeFilePath in
<foreach collection="conditionParamRef.distributeFilePathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('used')">
<if test="conditionParamRef.used != null ">
${_conditionType_} a.used = #{${_conditionParam_}.used}
</if> </if>
<if test="conditionParamRef.containsKey('updateUserId')"> <if test="conditionParamRef.used == null">
<if test="conditionParamRef.updateUserId != null "> ${_conditionType_} a.used is null
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if> </if>
<if test="conditionParamRef.containsKey('updateUserIdList')"> </if>
${_conditionType_} a.updateUserId in <if test="conditionParamRef.containsKey('usedList')">
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=","> ${_conditionType_} a.used in
#{item} <foreach collection="conditionParamRef.usedList" open="(" close=")" index="index" item="item" separator=",">
</foreach> #{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('usedStart') and conditionParamRef.usedStart != null">
${_conditionType_} a.used <![CDATA[ >= ]]> #{${_conditionParam_}.usedStart}
</if>
<if test="conditionParamRef.containsKey('usedEnd') and conditionParamRef.usedEnd != null">
${_conditionType_} a.used <![CDATA[ <= ]]> #{${_conditionParam_}.usedEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if> </if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null"> </if>
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart} <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if> </if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null"> <if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd} ${_conditionType_} a.updateUserId is null
</if> </if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')"> <if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null "> <if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime} ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if> </if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''"> <if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ${_conditionType_} a.updateTime is null
</if> </if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql> </sql>
<sql id="_orderCols_"> <sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()"> <if test="orderColList != null and !orderColList.isEmpty()">
order by order by
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=","> <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind} ${item.colName} ${item.sortKind}
</foreach> </foreach>
</trim> </trim>
</if> </if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()"> <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by order by
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')"> <if test="orderCol.containsKey('id')">
a.id a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if> <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('appId')"> <if test="orderCol.containsKey('appId')">
a.appId a.appId
<if test='orderCol.appId != null and "DESC".equalsIgnoreCase(orderCol.appId)'>DESC</if> <if test='orderCol.appId != null and "DESC".equalsIgnoreCase(orderCol.appId)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('appName')"> <if test="orderCol.containsKey('appName')">
a.appName a.appName
<if test='orderCol.appName != null and "DESC".equalsIgnoreCase(orderCol.appName)'>DESC</if> <if test='orderCol.appName != null and "DESC".equalsIgnoreCase(orderCol.appName)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('version')"> <if test="orderCol.containsKey('version')">
a.version a.version
<if test='orderCol.version != null and "DESC".equalsIgnoreCase(orderCol.version)'>DESC</if> <if test='orderCol.version != null and "DESC".equalsIgnoreCase(orderCol.version)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('notes')"> <if test="orderCol.containsKey('notes')">
a.notes a.notes
<if test='orderCol.notes != null and "DESC".equalsIgnoreCase(orderCol.notes)'>DESC</if> <if test='orderCol.notes != null and "DESC".equalsIgnoreCase(orderCol.notes)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('createTime')"> <if test="orderCol.containsKey('fileName')">
a.createTime a.fileName
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if> <if test='orderCol.fileName != null and "DESC".equalsIgnoreCase(orderCol.fileName)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('updateUserId')"> <if test="orderCol.containsKey('filePath')">
a.updateUserId a.filePath
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if> <if test='orderCol.filePath != null and "DESC".equalsIgnoreCase(orderCol.filePath)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('updateTime')"> <if test="orderCol.containsKey('distributeFilePath')">
a.updateTime a.distributeFilePath
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if> <if test='orderCol.distributeFilePath != null and "DESC".equalsIgnoreCase(orderCol.distributeFilePath)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('used')">
a.used
<if test='orderCol.used != null and "DESC".equalsIgnoreCase(orderCol.used)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim> </trim>
</if> </if>
</sql> </sql>
......
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