Commit b92d53e6 authored by “yiyousong”'s avatar “yiyousong”
parents 3f174439 4a534f42
......@@ -945,6 +945,7 @@ CREATE TABLE mortals_sys_app(
`appThemeName` varchar(256) COMMENT '应用主题名称',
`type` tinyint(2) DEFAULT '1' COMMENT '类型(1.终端应用,2.移动端应用)',
`url` varchar(255) COMMENT '链接地址',
`serviceApi` varchar(255) COMMENT '服务接口地址',
`downDevCount` int(4) DEFAULT '0' COMMENT '下发设备次数',
`shelves` tinyint(2) DEFAULT '0' COMMENT '是否上架(0.下架,1.上架)',
`appType` tinyint(2) DEFAULT '1' COMMENT '类型(1.应用程序,2.url)',
......
......@@ -9124,41 +9124,44 @@ type|Integer|否|类型(1.终端应用,2.移动端应用)
参数名称| 参数类型 |描述
:---|:--------|:------
code| Integer |结果码(-1.失败,1.成功)
msg| String |消息
data| object |数据对象
 per_page| Integer |每页条数
 total| Integer |总条数
 last_page| Integer |总页数
 current_page| Integer |当前页
 data| array |结果集列表|数组
  id| Long |主键ID,主键,自增长
  siteId| Long |站点Id
  siteName| String |站点名称
  appCode| String |应用编码
  appName| String |应用名称
  appIconPath| String |应用图标
  appThemeName| String |应用主题名称
  type| Integer |类型(1.终端应用,2.移动端应用)
  downDevCount| Integer |下发设备次数
  shelves| Integer |是否上架(1.上架,0.下架)
  filePath| String |文件相对路径地址
  distributeFilePath| String |文件部署路径地址
  version| String |当前版本
  summary| String |简介
  distribute| Integer |是否部署(0.否,1.是)
  dataUpdate| Integer |是否数据更新(0.否,1.是)
  appDatasetList| array |数据结果集
  applianceSiteScope| Integer |适用站点范围数量
  siteIdList| array |适用范围站点列表
  createTime| Date |创建时间
  updateUserId| Long |更新用户
  updateTime| Date |更新时间
dict| object |字典对象
 type| object |字典属性对象,详见附录
 shelves| object |字典属性对象,详见附录
 distribute| object |字典属性对象,详见附录
 dateUpdate| object |字典属性对象,详见附录
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|主键ID,主键,自增长
  siteId|Long|站点Id
  siteName|String|站点名称
  appCode|String|应用编码
  appName|String|应用名称
  appIconPath|String|应用图标
  appThemeName|String|应用主题名称
  type|Integer|类型(1.终端应用,2.移动端应用)
  url|String|链接地址
  downDevCount|Integer|下发设备次数
  shelves|Integer|是否上架(0.下架,1.上架)
  appType|Integer|类型(1.应用程序,2.url)
  fileName|String|文件名称
  filePath|String|文件相对路径地址
  distributeFilePath|String|文件部署路径地址
  version|Integer|当前版本
  summary|String|简介
  notes|String|更新说明
  distribute|Integer|是否部署(0.否,1.是)
  dataUpdate|Integer|是否数据更新(0.否,1.是)
  createTime|Date|创建时间
  updateUserId|Long|更新用户
  updateTime|Date|更新时间
  serviceApi|String|服务接口地址
dict|object|字典对象
 type|object|字典属性对象,详见附录
 shelves|object|字典属性对象,详见附录
 appType|object|字典属性对象,详见附录
 distribute|object|字典属性对象,详见附录
 dataUpdate|object|字典属性对象,详见附录
**响应消息样例:**
......@@ -9207,22 +9210,28 @@ data|object|数据对象
 appIconPath|String|应用图标
 appThemeName|String|应用主题名称
 type|Integer|类型(1.终端应用,2.移动端应用)
 url|String|链接地址
 downDevCount|Integer|下发设备次数
 shelves|Integer|是否上架(1.上架,0.下架)
 shelves|Integer|是否上架(0.下架,1.上架)
 appType|Integer|类型(1.应用程序,2.url)
 fileName|String|文件名称
 filePath|String|文件相对路径地址
 distributeFilePath|String|文件部署路径地址
 version|String|当前版本
 version|Integer|当前版本
 summary|String|简介
 notes|String|更新说明
 distribute|Integer|是否部署(0.否,1.是)
 dateUpdate|Integer|是否数据更新(0.否,1.是)
 dataUpdate|Integer|是否数据更新(0.否,1.是)
 createTime|Date|创建时间
 updateUserId|Long|更新用户
 updateTime|Date|更新时间
 serviceApi|String|服务接口地址
dict|object|字典对象
 type|object|字典属性对象,详见附录
 shelves|object|字典属性对象,详见附录
 appType|object|字典属性对象,详见附录
 distribute|object|字典属性对象,详见附录
 dateUpdate|object|字典属性对象,详见附录
 dataUpdate|object|字典属性对象,详见附录
**响应消息样例:**
......@@ -9274,11 +9283,19 @@ appName|String|否|应用名称
appIconPath|String|否|应用图标
appThemeName|String|否|应用主题名称
type|Integer|否|类型(1.终端应用,2.移动端应用)
appType|Integer|否|类型(1.应用程序,2.url)
url|String|否|链接地址
downDevCount|Integer|否|下发设备次数
shelves|Integer|否|是否上架(0.下架,1.上架)
appType|Integer|否|类型(1.应用程序,2.url)
fileName|String|否|文件名称
filePath|String|否|文件相对路径地址
distributeFilePath|String|否|文件部署路径地址
version|Integer|否|当前版本
summary|String|否|简介
notes|String|否|更新说明
distribute|Integer|否|是否部署(0.否,1.是)
dataUpdate|Integer|否|是否数据更新(0.否,1.是)
serviceApi|String|否|服务接口地址
**请求样例:**
......
......@@ -11,7 +11,7 @@ import com.mortals.xhx.module.app.model.AppDatasetEntity;
* 自助终端应用实体对象
*
* @author zxfei
* @date 2022-12-14
* @date 2023-01-07
*/
public class AppEntity extends AppVo {
......@@ -49,6 +49,10 @@ public class AppEntity extends AppVo {
* 链接地址
*/
private String url;
/**
* 服务接口地址
*/
private String serviceApi;
/**
* 下发设备次数
*/
......@@ -213,6 +217,20 @@ public class AppEntity extends AppVo {
public void setUrl(String url){
this.url = url;
}
/**
* 获取 服务接口地址
* @return String
*/
public String getServiceApi(){
return serviceApi;
}
/**
* 设置 服务接口地址
* @param serviceApi
*/
public void setServiceApi(String serviceApi){
this.serviceApi = serviceApi;
}
/**
* 获取 下发设备次数
* @return Integer
......@@ -404,6 +422,7 @@ public class AppEntity extends AppVo {
sb.append(",appThemeName:").append(getAppThemeName());
sb.append(",type:").append(getType());
sb.append(",url:").append(getUrl());
sb.append(",serviceApi:").append(getServiceApi());
sb.append(",downDevCount:").append(getDownDevCount());
sb.append(",shelves:").append(getShelves());
sb.append(",appType:").append(getAppType());
......@@ -436,6 +455,8 @@ public class AppEntity extends AppVo {
this.url = null;
this.serviceApi = "";
this.downDevCount = 0;
this.shelves = 0;
......
......@@ -7,7 +7,7 @@ import com.mortals.xhx.module.app.model.AppEntity;
* 自助终端应用查询对象
*
* @author zxfei
* @date 2022-12-14
* @date 2023-01-07
*/
public class AppQuery extends AppEntity {
/** 开始 主键ID,主键,自增长 */
......@@ -64,6 +64,9 @@ public class AppQuery extends AppEntity {
/** 链接地址 */
private List<String> urlList;
/** 服务接口地址 */
private List<String> serviceApiList;
/** 开始 下发设备次数 */
private Integer downDevCountStart;
......@@ -465,6 +468,21 @@ public class AppQuery extends AppEntity {
public void setUrlList(List<String> urlList){
this.urlList = urlList;
}
/**
* 获取 服务接口地址
* @return serviceApiList
*/
public List<String> getServiceApiList(){
return this.serviceApiList;
}
/**
* 设置 服务接口地址
* @param serviceApiList
*/
public void setServiceApiList(List<String> serviceApiList){
this.serviceApiList = serviceApiList;
}
/**
* 获取 开始 下发设备次数
* @return downDevCountStart
......@@ -1301,6 +1319,25 @@ public class AppQuery extends AppEntity {
return this;
}
/**
* 设置 服务接口地址
* @param serviceApi
*/
public AppQuery serviceApi(String serviceApi){
setServiceApi(serviceApi);
return this;
}
/**
* 设置 服务接口地址
* @param serviceApiList
*/
public AppQuery serviceApiList(List<String> serviceApiList){
this.serviceApiList = serviceApiList;
return this;
}
/**
* 设置 下发设备次数
* @param downDevCount
......
package com.mortals.xhx.module.app.web;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.exception.AppException;
......@@ -9,6 +10,7 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.app.model.AppDatasetQuery;
import com.mortals.xhx.module.app.model.AppInfoFieldEntity;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -60,7 +62,7 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD
@Override
protected void doListBefore(AppDatasetEntity query, Map<String, Object> model, Context context) throws AppException {
if(!ObjectUtils.isEmpty(query.getOrConditionList())){
/* if(!ObjectUtils.isEmpty(query.getOrConditionList())){
AppDatasetQuery appDatasetQuery = new AppDatasetQuery();
appDatasetQuery.setAndConditionList(query.getOrConditionList());
appDatasetQuery.setAppId(query.getAppId());
......@@ -73,22 +75,23 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD
}
query.setOrConditionList(null);
}
}*/
if (!ObjectUtils.isEmpty(query.getFieldCode())||!ObjectUtils.isEmpty(query.getFieldName())) {
AppDatasetQuery appDatasetQuery = new AppDatasetQuery();
appDatasetQuery.setFieldCode(query.getFieldCode());
appDatasetQuery.setFieldName(query.getFieldName());
appDatasetQuery.setAppId(query.getAppId());
String fieldValue = StrUtil.addPrefixIfNot(query.getFieldValue(), "%");
fieldValue = StrUtil.addSuffixIfNot(fieldValue, "%");
appDatasetQuery.setFieldValue(fieldValue);
// String fieldValue = StrUtil.addPrefixIfNot(query.getFieldValue(), "%");
// fieldValue = StrUtil.addSuffixIfNot(fieldValue, "%");
appDatasetQuery.setFieldValue(query.getFieldValue());
PageInfo pageInfo = this.buildPageInfo(query);
Result<AppInfoFieldEntity> customResult = this.service.findCustomList(appDatasetQuery, pageInfo, context);
List<Long> datasetIdList = customResult.getList().stream().map(item -> item.getDatasetId()).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(datasetIdList)) {
query.setIdList(datasetIdList);
}else{
query.setIdList(ListUtil.toList(0L));
}
}
super.doListBefore(query, model, context);
......
......@@ -8,7 +8,7 @@
count( 1 )
FROM
mortals_sys_app_dataset a
LEFT JOIN mortals_sys_app_info_field b ON b.id = b.datasetId
LEFT JOIN mortals_sys_app_info_field b ON a.id = b.datasetId
<trim suffixOverrides="where" suffix="">
where 1=1 and
<trim prefixOverrides="and" prefix="">
......@@ -37,17 +37,16 @@
<include refid="_columns_sub"/>
FROM
mortals_sys_app_dataset a
LEFT JOIN mortals_sys_app_info_field b ON b.id = b.datasetId
LEFT JOIN mortals_sys_app_info_field b ON a.id = b.datasetId
<trim suffixOverrides="where" suffix="">
where 1=1 and
<trim prefixOverrides="and" prefix="">
<if test="condition.appId!=null and condition.appId!=''">
and a.appId = #{condition.appId,jdbcType=VARCHAR}
</if>
<include refid="_second_condition_"/>
<!--
<if test="condition.fieldCode!=null and condition.fieldCode!=''">
<!-- <if test="condition.fieldCode!=null and condition.fieldCode!=''">
and b.fieldCode = #{condition.fieldCode,jdbcType=VARCHAR}
</if>
<if test="condition.fieldName!=null and condition.fieldName!=''">
......
......@@ -14,6 +14,7 @@
<result property="appThemeName" column="appThemeName" />
<result property="type" column="type" />
<result property="url" column="url" />
<result property="serviceApi" column="serviceApi" />
<result property="downDevCount" column="downDevCount" />
<result property="shelves" column="shelves" />
<result property="appType" column="appType" />
......@@ -69,6 +70,9 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('url') or colPickMode == 1 and data.containsKey('url')))">
a.url,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('serviceApi') or colPickMode == 1 and data.containsKey('serviceApi')))">
a.serviceApi,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('downDevCount') or colPickMode == 1 and data.containsKey('downDevCount')))">
a.downDevCount,
</if>
......@@ -122,18 +126,18 @@
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AppEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_app
(siteId,siteName,appCode,appName,appIconPath,appThemeName,type,url,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,notes,distribute,dataUpdate,createTime,updateUserId,updateTime)
(siteId,siteName,appCode,appName,appIconPath,appThemeName,type,url,serviceApi,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,notes,distribute,dataUpdate,createTime,updateUserId,updateTime)
VALUES
(#{siteId},#{siteName},#{appCode},#{appName},#{appIconPath},#{appThemeName},#{type},#{url},#{downDevCount},#{shelves},#{appType},#{fileName},#{filePath},#{distributeFilePath},#{version},#{summary},#{notes},#{distribute},#{dataUpdate},#{createTime},#{updateUserId},#{updateTime})
(#{siteId},#{siteName},#{appCode},#{appName},#{appIconPath},#{appThemeName},#{type},#{url},#{serviceApi},#{downDevCount},#{shelves},#{appType},#{fileName},#{filePath},#{distributeFilePath},#{version},#{summary},#{notes},#{distribute},#{dataUpdate},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_app
(siteId,siteName,appCode,appName,appIconPath,appThemeName,type,url,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,notes,distribute,dataUpdate,createTime,updateUserId,updateTime)
(siteId,siteName,appCode,appName,appIconPath,appThemeName,type,url,serviceApi,downDevCount,shelves,appType,fileName,filePath,distributeFilePath,version,summary,notes,distribute,dataUpdate,createTime,updateUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.siteName},#{item.appCode},#{item.appName},#{item.appIconPath},#{item.appThemeName},#{item.type},#{item.url},#{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})
(#{item.siteId},#{item.siteName},#{item.appCode},#{item.appName},#{item.appIconPath},#{item.appThemeName},#{item.type},#{item.url},#{item.serviceApi},#{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>
</insert>
......@@ -173,6 +177,9 @@
<if test="(colPickMode==0 and data.containsKey('url')) or (colPickMode==1 and !data.containsKey('url'))">
a.url=#{data.url},
</if>
<if test="(colPickMode==0 and data.containsKey('serviceApi')) or (colPickMode==1 and !data.containsKey('serviceApi'))">
a.serviceApi=#{data.serviceApi},
</if>
<if test="(colPickMode==0 and data.containsKey('downDevCount')) or (colPickMode==1 and !data.containsKey('downDevCount'))">
a.downDevCount=#{data.downDevCount},
</if>
......@@ -314,6 +321,13 @@
</if>
</foreach>
</trim>
<trim prefix="serviceApi=(case" suffix="ELSE serviceApi end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('serviceApi')) or (colPickMode==1 and !item.containsKey('serviceApi'))">
when a.id=#{item.id} then #{item.serviceApi}
</if>
</foreach>
</trim>
<trim prefix="downDevCount=(case" suffix="ELSE downDevCount end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
......@@ -724,6 +738,21 @@
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('serviceApi')">
<if test="conditionParamRef.serviceApi != null and conditionParamRef.serviceApi != ''">
${_conditionType_} a.serviceApi like #{${_conditionParam_}.serviceApi}
</if>
<if test="conditionParamRef.serviceApi == null">
${_conditionType_} a.serviceApi is null
</if>
</if>
<if test="conditionParamRef.containsKey('serviceApiList')">
${_conditionType_} a.serviceApi in
<foreach collection="conditionParamRef.serviceApiList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('downDevCount')">
<if test="conditionParamRef.downDevCount != null ">
${_conditionType_} a.downDevCount = #{${_conditionParam_}.downDevCount}
......@@ -1034,6 +1063,11 @@
<if test='orderCol.url != null and "DESC".equalsIgnoreCase(orderCol.url)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('serviceApi')">
a.serviceApi
<if test='orderCol.serviceApi != null and "DESC".equalsIgnoreCase(orderCol.serviceApi)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('downDevCount')">
a.downDevCount
<if test='orderCol.downDevCount != null and "DESC".equalsIgnoreCase(orderCol.downDevCount)'>DESC</if>
......
......@@ -302,6 +302,7 @@ setup_rabbitmq() {
systemctl daemon-reload
systemctl start rabbitmq-server
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_web_stomp_examples
rabbitmqctl add_user ${RABBITMQ_USER} ${RABBITMQ_PASSWORD} # 添加用户
rabbitmqctl set_user_tags ${RABBITMQ_USER} administrator # 设置用户角色,分配操作权限
......
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