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

添加设备黑名单应用

parent 7c8a7d87
......@@ -136,3 +136,22 @@ CREATE TABLE `mortals_xhx_device` (
`updateTime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备';
-- ----------------------------
-- 设备应用黑名单表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_blackapp`;
CREATE TABLE mortals_xhx_device_blackapp(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键,自增长',
`siteId` bigint(20) COMMENT '站点ID',
`deviceId` bigint(20) COMMENT '设备id',
`deviceCode` varchar(255) COMMENT '设备编码',
`deviceName` varchar(255) COMMENT '设备名称',
`appId` bigint(20) COMMENT '应用id',
`appCode` varchar(255) COMMENT '应用编码',
`appName` varchar(255) COMMENT '应用名称',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备应用黑名单';
......@@ -13205,6 +13205,256 @@ data|object|数据对象
```
## 设备
### 查询设备列表
**请求URL:** device/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询设备
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
deviceId|Long|否|设备id
deviceName|String|否|设备名称,字段前后添加%%模糊查询
deviceCode|String|否|设备编码,字段前后添加%%模糊查询
deviceSrc|Integer|否|设备来源(0.子设备,1.网关设备,2.直连设备)
deviceStatus|Integer|否|设备状态 (0.未激活,1.离线,2.在线)
**请求样例:**
```
{
"deviceId":7996,
"deviceName":"w7i721",
"deviceCode":"vzxi39",
"deviceSrc":9076,
"deviceStatus":472,
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|主键ID,主键,自增长
  deviceId|Long|设备id
  deviceName|String|设备名称
  deviceCode|String|设备编码
  deviceMac|String|设备的MAC地址
  siteId|Long|站点Id
  siteCode|String|站点编号,来源基础服务平台
  siteName|String|站点名称
  productCode|String|产品编码
  productName|String|产品名称
  deviceSrc|Integer|设备来源(0.子设备,1.网关设备,2.直连设备)
  lon|String|经度
  lati|String|纬度
  leadingOfficial|String|负责人
  leadingOfficialTelephone|String|联系电话
  deviceStatus|Integer|设备状态 (0.未激活,1.离线,2.在线)
  deviceRemark|String|备注
  source|Integer|设备来源(0.旧设备,1.新设备)
  createUserId|Long|创建用户
  createTime|Date|创建时间
  updateUserId|Long|更新用户
  updateTime|Date|更新时间
dict|object|字典对象
 deviceSrc|object|字典属性对象,详见附录
 deviceStatus|object|字典属性对象,详见附录
 source|object|字典属性对象,详见附录
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
## 设备应用黑名单
### 查询设备应用黑名单列表
**请求URL:** device/blackapp/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询设备应用黑名单
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|主键,自增长
  siteId|Long|站点ID
  deviceId|Long|设备id
  deviceCode|String|设备编码
  deviceName|String|设备名称
  appId|Long|应用id
  appCode|String|应用编码
  appName|String|应用名称
  createTime|Date|创建时间
  createUserId|Long|创建用户
  updateTime|Date|修改时间
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 保存更新设备应用黑名单
**请求URL:** device/blackapp/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新设备应用黑名单:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
siteId|Long|否|站点ID
deviceId|Long|否|设备id
deviceCode|String|否|设备编码
deviceName|String|否|设备名称
appId|Long|否|应用id
appCode|String|否|应用编码
appName|String|否|应用名称
**请求样例:**
```
{
"siteId":475,
"deviceId":6607,
"deviceCode":"gvi4oq",
"deviceName":"yp2e81",
"appId":6569,
"appCode":"saq4z7",
"appName":"azzcsh",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|保存后主键id
 entity|object|保存更新实体
  id|Long|主键,自增长
  siteId|Long|站点ID
  deviceId|Long|设备id
  deviceCode|String|设备编码
  deviceName|String|设备名称
  appId|Long|应用id
  appCode|String|应用编码
  appName|String|应用名称
  createTime|Date|创建时间
  createUserId|Long|创建用户
  updateTime|Date|修改时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除设备应用黑名单
**请求URL:** device/blackapp/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除设备应用黑名单
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/device/blackapp/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 字典附录
......
......@@ -19,9 +19,13 @@ public class AppVo extends BaseEntityLong {
* 适用站点范围数量
*/
private Integer applianceSiteScope;
/**
* 站点列表
*/
private List<Long> siteIdList;
/**
*
*/
private List <Long> idList;
/**
* 自主应用访问地址
......@@ -36,5 +40,9 @@ public class AppVo extends BaseEntityLong {
private String serverName;
private Integer serverPort;
/**
* 设备编码
*/
private String deviceCode;
}
\ No newline at end of file
......@@ -26,6 +26,9 @@ import com.mortals.xhx.common.utils.ZipUtils;
import com.mortals.xhx.feign.app.device.IAppFeign;
import com.mortals.xhx.module.app.model.*;
import com.mortals.xhx.module.app.service.*;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import com.mortals.xhx.module.device.model.DeviceBlackappQuery;
import com.mortals.xhx.module.device.service.DeviceBlackappService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.utils.EncodeUtil;
......@@ -72,40 +75,28 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
private AppVersionService appVersionService;
@Autowired
private IAppFeign appFeign;
@Autowired
private DeviceBlackappService deviceBlackappService;
/**
* @param params
* @param pageInfo
* @param context
* @return
* @throws AppException
*/
@Override
protected void findAfter(AppEntity params, PageInfo pageInfo, Context context, List<AppEntity> list) throws AppException {
//排序
if (!ObjectUtils.isEmpty(params.getIdList())) {
log.info("请求的排序id列表:{}", JSON.toJSONString(params.getIdList()));
try {
//去除idlist中不存在的
Set<Long> idSet = list.stream().map(item -> item.getId()).collect(Collectors.toSet());
List<Long> idList = params.getIdList();
Iterator<Long> ite = idList.iterator();
while (ite.hasNext()) {
Long next = ite.next();
if (!idSet.contains(next)) {
ite.remove();
}
}
//根据idList进行排序
for (int i = 0; i < idList.size(); i++) {
Long id = idList.get(i);
for (int j = 0; j < list.size(); j++) {
if (id.equals(list.get(j).getId())) {
//判断位置是否一直
if (i != j) {
//交换
Collections.swap(list, i, j);
}
}
}
}
} catch (Exception e) {
log.error("排序异常!", e);
}
protected AppEntity findBefore(AppEntity params, PageInfo pageInfo, Context context) throws AppException {
return super.findBefore(params, pageInfo, context);
}
@Override
protected void findAfter(AppEntity params, PageInfo pageInfo, Context context, List<AppEntity> list) throws AppException {
//判断是否存在设备编码。存在 查询设备编码应用黑名单
checkDeviceBlackApp(params, list);
//根据指定的idlist顺序进行排序
sortAppByIdList(params, list);
//统计站点
list.forEach(item -> {
List<AppEntity> appEntityList = this.find(new AppQuery().appCode(item.getAppCode()), context);
......@@ -113,16 +104,10 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList()));
//构建访问地址
SiteEntity siteEntity = siteService.getCache(item.getSiteId().toString());
// String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
String domainUrl = "";
if (!ObjectUtils.isEmpty(params.getServerName()) && Validator.isIpv4(params.getServerName())) {
//domainUrl = UrlBuilder.ofHttp(params.getServerName()).setPort(params.getServerPort() > 0 ? params.getServerPort() : 11078).build();
//domainUrl = StrUtil.sub(domainUrl, 0, domainUrl.length() - 1);
domainUrl= String.format("http://%s:%d",params.getServerName(), params.getServerPort() > 0 ? params.getServerPort() : 11078);
domainUrl = String.format("http://%s:%d", params.getServerName(), params.getServerPort() > 0 ? params.getServerPort() : 11078);
} else {
// domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
boolean isDomain = ReUtil.isMatch("^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$", params.getServerName());
if (isDomain) {
domainUrl = String.format("https://%s", params.getServerName());
......@@ -137,14 +122,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if (!ObjectUtils.isEmpty(domainUrl)) {
String custUrl = String.format("%s/%s/%s/%s/%s/", domainUrl, CUSTAPP_ROOT_PATH, siteEntity.getSiteCode(), item.getAppCode(), item.getVersion().toString());
item.setCustUrl(custUrl);
// item.setCustUrl(UrlBuilder.ofHttp(domainUrl)
// .addPath(CUSTAPP_ROOT_PATH)
// .addPath(siteEntity.getSiteCode())
// .addPath(item.getAppCode())
// .addPath(item.getVersion().toString())
// .build());
} else {
item.setCustUrl(CUSTAPP_ROOT_PATH + "/" + siteEntity.getSiteCode() + "/" + item.getAppCode() + "/" + item.getVersion()+ "/");
item.setCustUrl(CUSTAPP_ROOT_PATH + "/" + siteEntity.getSiteCode() + "/" + item.getAppCode() + "/" + item.getVersion() + "/");
}
} else {
......@@ -154,9 +133,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if (!ObjectUtils.isEmpty(domainUrl)) {
String appIconUrl = String.format("%s/%s", domainUrl, item.getAppIconPath());
item.setAppIconUrl(appIconUrl);
/*
item.setAppIconUrl(UrlBuilder.ofHttp(domainUrl)
.addPath(item.getAppIconPath()).build());*/
} else {
item.setAppIconUrl(item.getAppIconPath());
}
......@@ -165,6 +141,54 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
super.findAfter(params, pageInfo, context, list);
}
private void sortAppByIdList(AppEntity params, List<AppEntity> list) {
if (!ObjectUtils.isEmpty(params.getIdList())) {
log.info("请求的排序id列表:{}", JSON.toJSONString(params.getIdList()));
try {
//去除idlist中不存在的
Set<Long> idSet = list.stream().map(item -> item.getId()).collect(Collectors.toSet());
List<Long> idList = params.getIdList();
Iterator<Long> ite = idList.iterator();
while (ite.hasNext()) {
Long next = ite.next();
if (!idSet.contains(next)) {
ite.remove();
}
}
//根据idList进行排序
for (int i = 0; i < idList.size(); i++) {
Long id = idList.get(i);
for (int j = 0; j < list.size(); j++) {
if (id.equals(list.get(j).getId())) {
//判断位置是否一直
if (i != j) {
//交换
Collections.swap(list, i, j);
}
}
}
}
} catch (Exception e) {
log.error("排序异常!", e);
}
}
}
private void checkDeviceBlackApp(AppEntity params, List<AppEntity> list) {
if (!ObjectUtils.isEmpty(params.getDeviceCode())) {
Set<Long> blackAppSet = deviceBlackappService.find(new DeviceBlackappQuery().deviceCode(params.getDeviceCode())).stream().map(i -> i.getAppId()).collect(Collectors.toSet());
if (!ObjectUtils.isEmpty(blackAppSet)) {
Iterator<AppEntity> iterator = list.iterator();
while (iterator.hasNext()) {
AppEntity next = iterator.next();
if (!blackAppSet.contains(next.getId())) {
iterator.remove();
}
}
}
}
}
@Override
public Rest<String> appDistribute(AppEntity appEntity, Context context) {
SiteEntity siteCache = siteService.getCache(appEntity.getSiteId().toString());
......
package com.mortals.xhx.module.device.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import java.util.List;
/**
* 设备应用黑名单Dao
* 设备应用黑名单 DAO接口
*
* @author zxfei
* @date 2023-05-07
*/
public interface DeviceBlackappDao extends ICRUDDao<DeviceBlackappEntity,Long>{
}
package com.mortals.xhx.module.device.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.device.dao.DeviceBlackappDao;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 设备应用黑名单DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-07
*/
@Repository("deviceBlackappDao")
public class DeviceBlackappDaoImpl extends BaseCRUDDaoMybatis<DeviceBlackappEntity,Long> implements DeviceBlackappDao {
}
package com.mortals.xhx.module.device.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.vo.DeviceBlackappVo;
import lombok.Data;
/**
* 设备应用黑名单实体对象
*
* @author zxfei
* @date 2023-05-07
*/
@Data
public class DeviceBlackappEntity extends DeviceBlackappVo {
private static final long serialVersionUID = 1L;
/**
* 站点ID
*/
private Long siteId;
/**
* 设备id
*/
private Long deviceId;
/**
* 设备编码
*/
private String deviceCode;
/**
* 设备名称
*/
private String deviceName;
/**
* 应用id
*/
private Long appId;
/**
* 应用编码
*/
private String appCode;
/**
* 应用名称
*/
private String appName;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof DeviceBlackappEntity) {
DeviceBlackappEntity tmp = (DeviceBlackappEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.siteId = null;
this.deviceId = null;
this.deviceCode = "";
this.deviceName = "";
this.appId = null;
this.appCode = "";
this.appName = null;
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.model;
import java.util.List;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
/**
* 设备应用黑名单查询对象
*
* @author zxfei
* @date 2023-05-07
*/
public class DeviceBlackappQuery extends DeviceBlackappEntity {
/** 开始 主键,自增长 */
private Long idStart;
/** 结束 主键,自增长 */
private Long idEnd;
/** 增加 主键,自增长 */
private Long idIncrement;
/** 主键,自增长列表 */
private List <Long> idList;
/** 主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 站点ID */
private Long siteIdStart;
/** 结束 站点ID */
private Long siteIdEnd;
/** 增加 站点ID */
private Long siteIdIncrement;
/** 站点ID列表 */
private List <Long> siteIdList;
/** 站点ID排除列表 */
private List <Long> siteIdNotList;
/** 开始 设备id */
private Long deviceIdStart;
/** 结束 设备id */
private Long deviceIdEnd;
/** 增加 设备id */
private Long deviceIdIncrement;
/** 设备id列表 */
private List <Long> deviceIdList;
/** 设备id排除列表 */
private List <Long> deviceIdNotList;
/** 设备编码 */
private List<String> deviceCodeList;
/** 设备编码排除列表 */
private List <String> deviceCodeNotList;
/** 设备名称 */
private List<String> deviceNameList;
/** 设备名称排除列表 */
private List <String> deviceNameNotList;
/** 开始 应用id */
private Long appIdStart;
/** 结束 应用id */
private Long appIdEnd;
/** 增加 应用id */
private Long appIdIncrement;
/** 应用id列表 */
private List <Long> appIdList;
/** 应用id排除列表 */
private List <Long> appIdNotList;
/** 应用编码 */
private List<String> appCodeList;
/** 应用编码排除列表 */
private List <String> appCodeNotList;
/** 应用名称 */
private List<String> appNameList;
/** 应用名称排除列表 */
private List <String> appNameNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 修改时间 */
private String updateTimeStart;
/** 结束 修改时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<DeviceBlackappQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<DeviceBlackappQuery> andConditionList;
public DeviceBlackappQuery(){}
/**
* 获取 开始 主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 站点ID
* @return siteIdStart
*/
public Long getSiteIdStart(){
return this.siteIdStart;
}
/**
* 设置 开始 站点ID
* @param siteIdStart
*/
public void setSiteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
}
/**
* 获取 结束 站点ID
* @return $siteIdEnd
*/
public Long getSiteIdEnd(){
return this.siteIdEnd;
}
/**
* 设置 结束 站点ID
* @param siteIdEnd
*/
public void setSiteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
}
/**
* 获取 增加 站点ID
* @return siteIdIncrement
*/
public Long getSiteIdIncrement(){
return this.siteIdIncrement;
}
/**
* 设置 增加 站点ID
* @param siteIdIncrement
*/
public void setSiteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
}
/**
* 获取 站点ID
* @return siteIdList
*/
public List<Long> getSiteIdList(){
return this.siteIdList;
}
/**
* 设置 站点ID
* @param siteIdList
*/
public void setSiteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
}
/**
* 获取 站点ID
* @return siteIdNotList
*/
public List<Long> getSiteIdNotList(){
return this.siteIdNotList;
}
/**
* 设置 站点ID
* @param siteIdNotList
*/
public void setSiteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
}
/**
* 获取 开始 设备id
* @return deviceIdStart
*/
public Long getDeviceIdStart(){
return this.deviceIdStart;
}
/**
* 设置 开始 设备id
* @param deviceIdStart
*/
public void setDeviceIdStart(Long deviceIdStart){
this.deviceIdStart = deviceIdStart;
}
/**
* 获取 结束 设备id
* @return $deviceIdEnd
*/
public Long getDeviceIdEnd(){
return this.deviceIdEnd;
}
/**
* 设置 结束 设备id
* @param deviceIdEnd
*/
public void setDeviceIdEnd(Long deviceIdEnd){
this.deviceIdEnd = deviceIdEnd;
}
/**
* 获取 增加 设备id
* @return deviceIdIncrement
*/
public Long getDeviceIdIncrement(){
return this.deviceIdIncrement;
}
/**
* 设置 增加 设备id
* @param deviceIdIncrement
*/
public void setDeviceIdIncrement(Long deviceIdIncrement){
this.deviceIdIncrement = deviceIdIncrement;
}
/**
* 获取 设备id
* @return deviceIdList
*/
public List<Long> getDeviceIdList(){
return this.deviceIdList;
}
/**
* 设置 设备id
* @param deviceIdList
*/
public void setDeviceIdList(List<Long> deviceIdList){
this.deviceIdList = deviceIdList;
}
/**
* 获取 设备id
* @return deviceIdNotList
*/
public List<Long> getDeviceIdNotList(){
return this.deviceIdNotList;
}
/**
* 设置 设备id
* @param deviceIdNotList
*/
public void setDeviceIdNotList(List<Long> deviceIdNotList){
this.deviceIdNotList = deviceIdNotList;
}
/**
* 获取 设备编码
* @return deviceCodeList
*/
public List<String> getDeviceCodeList(){
return this.deviceCodeList;
}
/**
* 设置 设备编码
* @param deviceCodeList
*/
public void setDeviceCodeList(List<String> deviceCodeList){
this.deviceCodeList = deviceCodeList;
}
/**
* 获取 设备编码
* @return deviceCodeNotList
*/
public List<String> getDeviceCodeNotList(){
return this.deviceCodeNotList;
}
/**
* 设置 设备编码
* @param deviceCodeNotList
*/
public void setDeviceCodeNotList(List<String> deviceCodeNotList){
this.deviceCodeNotList = deviceCodeNotList;
}
/**
* 获取 设备名称
* @return deviceNameList
*/
public List<String> getDeviceNameList(){
return this.deviceNameList;
}
/**
* 设置 设备名称
* @param deviceNameList
*/
public void setDeviceNameList(List<String> deviceNameList){
this.deviceNameList = deviceNameList;
}
/**
* 获取 设备名称
* @return deviceNameNotList
*/
public List<String> getDeviceNameNotList(){
return this.deviceNameNotList;
}
/**
* 设置 设备名称
* @param deviceNameNotList
*/
public void setDeviceNameNotList(List<String> deviceNameNotList){
this.deviceNameNotList = deviceNameNotList;
}
/**
* 获取 开始 应用id
* @return appIdStart
*/
public Long getAppIdStart(){
return this.appIdStart;
}
/**
* 设置 开始 应用id
* @param appIdStart
*/
public void setAppIdStart(Long appIdStart){
this.appIdStart = appIdStart;
}
/**
* 获取 结束 应用id
* @return $appIdEnd
*/
public Long getAppIdEnd(){
return this.appIdEnd;
}
/**
* 设置 结束 应用id
* @param appIdEnd
*/
public void setAppIdEnd(Long appIdEnd){
this.appIdEnd = appIdEnd;
}
/**
* 获取 增加 应用id
* @return appIdIncrement
*/
public Long getAppIdIncrement(){
return this.appIdIncrement;
}
/**
* 设置 增加 应用id
* @param appIdIncrement
*/
public void setAppIdIncrement(Long appIdIncrement){
this.appIdIncrement = appIdIncrement;
}
/**
* 获取 应用id
* @return appIdList
*/
public List<Long> getAppIdList(){
return this.appIdList;
}
/**
* 设置 应用id
* @param appIdList
*/
public void setAppIdList(List<Long> appIdList){
this.appIdList = appIdList;
}
/**
* 获取 应用id
* @return appIdNotList
*/
public List<Long> getAppIdNotList(){
return this.appIdNotList;
}
/**
* 设置 应用id
* @param appIdNotList
*/
public void setAppIdNotList(List<Long> appIdNotList){
this.appIdNotList = appIdNotList;
}
/**
* 获取 应用编码
* @return appCodeList
*/
public List<String> getAppCodeList(){
return this.appCodeList;
}
/**
* 设置 应用编码
* @param appCodeList
*/
public void setAppCodeList(List<String> appCodeList){
this.appCodeList = appCodeList;
}
/**
* 获取 应用编码
* @return appCodeNotList
*/
public List<String> getAppCodeNotList(){
return this.appCodeNotList;
}
/**
* 设置 应用编码
* @param appCodeNotList
*/
public void setAppCodeNotList(List<String> appCodeNotList){
this.appCodeNotList = appCodeNotList;
}
/**
* 获取 应用名称
* @return appNameList
*/
public List<String> getAppNameList(){
return this.appNameList;
}
/**
* 设置 应用名称
* @param appNameList
*/
public void setAppNameList(List<String> appNameList){
this.appNameList = appNameList;
}
/**
* 获取 应用名称
* @return appNameNotList
*/
public List<String> getAppNameNotList(){
return this.appNameNotList;
}
/**
* 设置 应用名称
* @param appNameNotList
*/
public void setAppNameNotList(List<String> appNameNotList){
this.appNameNotList = appNameNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 修改时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 修改时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 修改时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 修改时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 主键,自增长
* @param id
*/
public DeviceBlackappQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键,自增长
* @param idStart
*/
public DeviceBlackappQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键,自增长
* @param idEnd
*/
public DeviceBlackappQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键,自增长
* @param idIncrement
*/
public DeviceBlackappQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键,自增长
* @param idList
*/
public DeviceBlackappQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 主键,自增长
* @param idNotList
*/
public DeviceBlackappQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 站点ID
* @param siteId
*/
public DeviceBlackappQuery siteId(Long siteId){
setSiteId(siteId);
return this;
}
/**
* 设置 开始 站点ID
* @param siteIdStart
*/
public DeviceBlackappQuery siteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
return this;
}
/**
* 设置 结束 站点ID
* @param siteIdEnd
*/
public DeviceBlackappQuery siteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
return this;
}
/**
* 设置 增加 站点ID
* @param siteIdIncrement
*/
public DeviceBlackappQuery siteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
return this;
}
/**
* 设置 站点ID
* @param siteIdList
*/
public DeviceBlackappQuery siteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
return this;
}
/**
* 设置 站点ID
* @param siteIdNotList
*/
public DeviceBlackappQuery siteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
return this;
}
/**
* 设置 设备id
* @param deviceId
*/
public DeviceBlackappQuery deviceId(Long deviceId){
setDeviceId(deviceId);
return this;
}
/**
* 设置 开始 设备id
* @param deviceIdStart
*/
public DeviceBlackappQuery deviceIdStart(Long deviceIdStart){
this.deviceIdStart = deviceIdStart;
return this;
}
/**
* 设置 结束 设备id
* @param deviceIdEnd
*/
public DeviceBlackappQuery deviceIdEnd(Long deviceIdEnd){
this.deviceIdEnd = deviceIdEnd;
return this;
}
/**
* 设置 增加 设备id
* @param deviceIdIncrement
*/
public DeviceBlackappQuery deviceIdIncrement(Long deviceIdIncrement){
this.deviceIdIncrement = deviceIdIncrement;
return this;
}
/**
* 设置 设备id
* @param deviceIdList
*/
public DeviceBlackappQuery deviceIdList(List<Long> deviceIdList){
this.deviceIdList = deviceIdList;
return this;
}
/**
* 设置 设备id
* @param deviceIdNotList
*/
public DeviceBlackappQuery deviceIdNotList(List<Long> deviceIdNotList){
this.deviceIdNotList = deviceIdNotList;
return this;
}
/**
* 设置 设备编码
* @param deviceCode
*/
public DeviceBlackappQuery deviceCode(String deviceCode){
setDeviceCode(deviceCode);
return this;
}
/**
* 设置 设备编码
* @param deviceCodeList
*/
public DeviceBlackappQuery deviceCodeList(List<String> deviceCodeList){
this.deviceCodeList = deviceCodeList;
return this;
}
/**
* 设置 设备名称
* @param deviceName
*/
public DeviceBlackappQuery deviceName(String deviceName){
setDeviceName(deviceName);
return this;
}
/**
* 设置 设备名称
* @param deviceNameList
*/
public DeviceBlackappQuery deviceNameList(List<String> deviceNameList){
this.deviceNameList = deviceNameList;
return this;
}
/**
* 设置 应用id
* @param appId
*/
public DeviceBlackappQuery appId(Long appId){
setAppId(appId);
return this;
}
/**
* 设置 开始 应用id
* @param appIdStart
*/
public DeviceBlackappQuery appIdStart(Long appIdStart){
this.appIdStart = appIdStart;
return this;
}
/**
* 设置 结束 应用id
* @param appIdEnd
*/
public DeviceBlackappQuery appIdEnd(Long appIdEnd){
this.appIdEnd = appIdEnd;
return this;
}
/**
* 设置 增加 应用id
* @param appIdIncrement
*/
public DeviceBlackappQuery appIdIncrement(Long appIdIncrement){
this.appIdIncrement = appIdIncrement;
return this;
}
/**
* 设置 应用id
* @param appIdList
*/
public DeviceBlackappQuery appIdList(List<Long> appIdList){
this.appIdList = appIdList;
return this;
}
/**
* 设置 应用id
* @param appIdNotList
*/
public DeviceBlackappQuery appIdNotList(List<Long> appIdNotList){
this.appIdNotList = appIdNotList;
return this;
}
/**
* 设置 应用编码
* @param appCode
*/
public DeviceBlackappQuery appCode(String appCode){
setAppCode(appCode);
return this;
}
/**
* 设置 应用编码
* @param appCodeList
*/
public DeviceBlackappQuery appCodeList(List<String> appCodeList){
this.appCodeList = appCodeList;
return this;
}
/**
* 设置 应用名称
* @param appName
*/
public DeviceBlackappQuery appName(String appName){
setAppName(appName);
return this;
}
/**
* 设置 应用名称
* @param appNameList
*/
public DeviceBlackappQuery appNameList(List<String> appNameList){
this.appNameList = appNameList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public DeviceBlackappQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public DeviceBlackappQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public DeviceBlackappQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public DeviceBlackappQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public DeviceBlackappQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public DeviceBlackappQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<DeviceBlackappQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<DeviceBlackappQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<DeviceBlackappQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<DeviceBlackappQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 设备应用黑名单视图对象
*
* @author zxfei
* @date 2023-05-07
*/
@Data
public class DeviceBlackappVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.device.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import com.mortals.xhx.module.device.dao.DeviceBlackappDao;
/**
* DeviceBlackappService
*
* 设备应用黑名单 service接口
*
* @author zxfei
* @date 2023-05-07
*/
public interface DeviceBlackappService extends ICRUDService<DeviceBlackappEntity,Long>{
DeviceBlackappDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.device.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.device.dao.DeviceBlackappDao;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import com.mortals.xhx.module.device.service.DeviceBlackappService;
import lombok.extern.slf4j.Slf4j;
/**
* DeviceBlackappService
* 设备应用黑名单 service实现
*
* @author zxfei
* @date 2023-05-07
*/
@Service("deviceBlackappService")
@Slf4j
public class DeviceBlackappServiceImpl extends AbstractCRUDServiceImpl<DeviceBlackappDao, DeviceBlackappEntity, Long> implements DeviceBlackappService {
}
\ No newline at end of file
package com.mortals.xhx.module.device.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import com.mortals.xhx.module.device.service.DeviceBlackappService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 设备应用黑名单
*
* @author zxfei
* @date 2023-05-07
*/
@RestController
@RequestMapping("device/blackapp")
public class DeviceBlackappController extends BaseCRUDJsonBodyMappingController<DeviceBlackappService,DeviceBlackappEntity,Long> {
@Autowired
private ParamService paramService;
public DeviceBlackappController(){
super.setModuleDesc( "设备应用黑名单");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.device.dao.ibatis.DeviceBlackappDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="DeviceBlackappEntity" id="DeviceBlackappEntity-Map">
<id property="id" column="id" />
<result property="siteId" column="siteId" />
<result property="deviceId" column="deviceId" />
<result property="deviceCode" column="deviceCode" />
<result property="deviceName" column="deviceName" />
<result property="appId" column="appId" />
<result property="appCode" column="appCode" />
<result property="appName" column="appName" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
a.siteId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceId') or colPickMode == 1 and data.containsKey('deviceId')))">
a.deviceId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceCode') or colPickMode == 1 and data.containsKey('deviceCode')))">
a.deviceCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceName') or colPickMode == 1 and data.containsKey('deviceName')))">
a.deviceName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appId') or colPickMode == 1 and data.containsKey('appId')))">
a.appId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appCode') or colPickMode == 1 and data.containsKey('appCode')))">
a.appCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appName') or colPickMode == 1 and data.containsKey('appName')))">
a.appName,
</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('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</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>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DeviceBlackappEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_device_blackapp
(siteId,deviceId,deviceCode,deviceName,appId,appCode,appName,createTime,createUserId,updateTime)
VALUES
(#{siteId},#{deviceId},#{deviceCode},#{deviceName},#{appId},#{appCode},#{appName},#{createTime},#{createUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_device_blackapp
(siteId,deviceId,deviceCode,deviceName,appId,appCode,appName,createTime,createUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.deviceId},#{item.deviceCode},#{item.deviceName},#{item.appId},#{item.appCode},#{item.appName},#{item.createTime},#{item.createUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_device_blackapp as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('siteId')) or (colPickMode==1 and !data.containsKey('siteId'))">
a.siteId=#{data.siteId},
</if>
<if test="(colPickMode==0 and data.containsKey('siteIdIncrement')) or (colPickMode==1 and !data.containsKey('siteIdIncrement'))">
a.siteId=ifnull(a.siteId,0) + #{data.siteIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceId')) or (colPickMode==1 and !data.containsKey('deviceId'))">
a.deviceId=#{data.deviceId},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceIdIncrement')) or (colPickMode==1 and !data.containsKey('deviceIdIncrement'))">
a.deviceId=ifnull(a.deviceId,0) + #{data.deviceIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceCode')) or (colPickMode==1 and !data.containsKey('deviceCode'))">
a.deviceCode=#{data.deviceCode},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceName')) or (colPickMode==1 and !data.containsKey('deviceName'))">
a.deviceName=#{data.deviceName},
</if>
<if test="(colPickMode==0 and data.containsKey('appId')) or (colPickMode==1 and !data.containsKey('appId'))">
a.appId=#{data.appId},
</if>
<if test="(colPickMode==0 and data.containsKey('appIdIncrement')) or (colPickMode==1 and !data.containsKey('appIdIncrement'))">
a.appId=ifnull(a.appId,0) + #{data.appIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('appCode')) or (colPickMode==1 and !data.containsKey('appCode'))">
a.appCode=#{data.appCode},
</if>
<if test="(colPickMode==0 and data.containsKey('appName')) or (colPickMode==1 and !data.containsKey('appName'))">
a.appName=#{data.appName},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_device_blackapp as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="siteId=(case" suffix="ELSE siteId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('siteId')) or (colPickMode==1 and !item.containsKey('siteId'))">
when a.id=#{item.id} then #{item.siteId}
</when>
<when test="(colPickMode==0 and item.containsKey('siteIdIncrement')) or (colPickMode==1 and !item.containsKey('siteIdIncrement'))">
when a.id=#{item.id} then ifnull(a.siteId,0) + #{item.siteIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceId=(case" suffix="ELSE deviceId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceId')) or (colPickMode==1 and !item.containsKey('deviceId'))">
when a.id=#{item.id} then #{item.deviceId}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceIdIncrement')) or (colPickMode==1 and !item.containsKey('deviceIdIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceId,0) + #{item.deviceIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceCode=(case" suffix="ELSE deviceCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceCode')) or (colPickMode==1 and !item.containsKey('deviceCode'))">
when a.id=#{item.id} then #{item.deviceCode}
</if>
</foreach>
</trim>
<trim prefix="deviceName=(case" suffix="ELSE deviceName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceName')) or (colPickMode==1 and !item.containsKey('deviceName'))">
when a.id=#{item.id} then #{item.deviceName}
</if>
</foreach>
</trim>
<trim prefix="appId=(case" suffix="ELSE appId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('appId')) or (colPickMode==1 and !item.containsKey('appId'))">
when a.id=#{item.id} then #{item.appId}
</when>
<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>
</choose>
</foreach>
</trim>
<trim prefix="appCode=(case" suffix="ELSE appCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('appCode')) or (colPickMode==1 and !item.containsKey('appCode'))">
when a.id=#{item.id} then #{item.appCode}
</if>
</foreach>
</trim>
<trim prefix="appName=(case" suffix="ELSE appName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('appName')) or (colPickMode==1 and !item.containsKey('appName'))">
when a.id=#{item.id} then #{item.appName}
</if>
</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="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</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>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="DeviceBlackappEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_blackapp as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_device_blackapp as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_device_blackapp where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_device_blackapp where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_device_blackapp where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_device_blackapp as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="DeviceBlackappEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_blackapp as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_device_blackapp as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" 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('siteId')">
<if test="conditionParamRef.siteId != null ">
${_conditionType_} a.siteId = #{${_conditionParam_}.siteId}
</if>
<if test="conditionParamRef.siteId == null">
${_conditionType_} a.siteId is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
${_conditionType_} a.siteId in
<foreach collection="conditionParamRef.siteIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdNotList') and conditionParamRef.siteIdNotList.size() > 0">
${_conditionType_} a.siteId not in
<foreach collection="conditionParamRef.siteIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdStart') and conditionParamRef.siteIdStart != null">
${_conditionType_} a.siteId <![CDATA[ >= ]]> #{${_conditionParam_}.siteIdStart}
</if>
<if test="conditionParamRef.containsKey('siteIdEnd') and conditionParamRef.siteIdEnd != null">
${_conditionType_} a.siteId <![CDATA[ <= ]]> #{${_conditionParam_}.siteIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceId')">
<if test="conditionParamRef.deviceId != null ">
${_conditionType_} a.deviceId = #{${_conditionParam_}.deviceId}
</if>
<if test="conditionParamRef.deviceId == null">
${_conditionType_} a.deviceId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceIdList') and conditionParamRef.deviceIdList.size() > 0">
${_conditionType_} a.deviceId in
<foreach collection="conditionParamRef.deviceIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceIdNotList') and conditionParamRef.deviceIdNotList.size() > 0">
${_conditionType_} a.deviceId not in
<foreach collection="conditionParamRef.deviceIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceIdStart') and conditionParamRef.deviceIdStart != null">
${_conditionType_} a.deviceId <![CDATA[ >= ]]> #{${_conditionParam_}.deviceIdStart}
</if>
<if test="conditionParamRef.containsKey('deviceIdEnd') and conditionParamRef.deviceIdEnd != null">
${_conditionType_} a.deviceId <![CDATA[ <= ]]> #{${_conditionParam_}.deviceIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceCode')">
<if test="conditionParamRef.deviceCode != null and conditionParamRef.deviceCode != ''">
${_conditionType_} a.deviceCode like #{${_conditionParam_}.deviceCode}
</if>
<if test="conditionParamRef.deviceCode == null">
${_conditionType_} a.deviceCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceCodeList') and conditionParamRef.deviceCodeList.size() > 0">
${_conditionType_} a.deviceCode in
<foreach collection="conditionParamRef.deviceCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceCodeNotList') and conditionParamRef.deviceCodeNotList.size() > 0">
${_conditionType_} a.deviceCode not in
<foreach collection="conditionParamRef.deviceCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceName')">
<if test="conditionParamRef.deviceName != null and conditionParamRef.deviceName != ''">
${_conditionType_} a.deviceName like #{${_conditionParam_}.deviceName}
</if>
<if test="conditionParamRef.deviceName == null">
${_conditionType_} a.deviceName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceNameList') and conditionParamRef.deviceNameList.size() > 0">
${_conditionType_} a.deviceName in
<foreach collection="conditionParamRef.deviceNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceNameNotList') and conditionParamRef.deviceNameNotList.size() > 0">
${_conditionType_} a.deviceName not in
<foreach collection="conditionParamRef.deviceNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('appId')">
<if test="conditionParamRef.appId != null ">
${_conditionType_} a.appId = #{${_conditionParam_}.appId}
</if>
<if test="conditionParamRef.appId == null">
${_conditionType_} a.appId is null
</if>
</if>
<if test="conditionParamRef.containsKey('appIdList') and conditionParamRef.appIdList.size() > 0">
${_conditionType_} a.appId in
<foreach collection="conditionParamRef.appIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('appIdNotList') and conditionParamRef.appIdNotList.size() > 0">
${_conditionType_} a.appId not in
<foreach collection="conditionParamRef.appIdNotList" 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('appCode')">
<if test="conditionParamRef.appCode != null and conditionParamRef.appCode != ''">
${_conditionType_} a.appCode like #{${_conditionParam_}.appCode}
</if>
<if test="conditionParamRef.appCode == null">
${_conditionType_} a.appCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('appCodeList') and conditionParamRef.appCodeList.size() > 0">
${_conditionType_} a.appCode in
<foreach collection="conditionParamRef.appCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('appCodeNotList') and conditionParamRef.appCodeNotList.size() > 0">
${_conditionType_} a.appCode not in
<foreach collection="conditionParamRef.appCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('appName')">
<if test="conditionParamRef.appName != null and conditionParamRef.appName != ''">
${_conditionType_} a.appName like #{${_conditionParam_}.appName}
</if>
<if test="conditionParamRef.appName == null">
${_conditionType_} a.appName is null
</if>
</if>
<if test="conditionParamRef.containsKey('appNameList') and conditionParamRef.appNameList.size() > 0">
${_conditionType_} a.appName in
<foreach collection="conditionParamRef.appNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('appNameNotList') and conditionParamRef.appNameNotList.size() > 0">
${_conditionType_} a.appName not in
<foreach collection="conditionParamRef.appNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</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('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('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_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 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 id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteId')">
a.siteId
<if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceId')">
a.deviceId
<if test='orderCol.deviceId != null and "DESC".equalsIgnoreCase(orderCol.deviceId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceCode')">
a.deviceCode
<if test='orderCol.deviceCode != null and "DESC".equalsIgnoreCase(orderCol.deviceCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceName')">
a.deviceName
<if test='orderCol.deviceName != null and "DESC".equalsIgnoreCase(orderCol.deviceName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('appId')">
a.appId
<if test='orderCol.appId != null and "DESC".equalsIgnoreCase(orderCol.appId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('appCode')">
a.appCode
<if test='orderCol.appCode != null and "DESC".equalsIgnoreCase(orderCol.appCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('appName')">
a.appName
<if test='orderCol.appName != null and "DESC".equalsIgnoreCase(orderCol.appName)'>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('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###设备应用黑名单列表
POST {{baseUrl}}/device/blackapp/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###设备应用黑名单更新与保存
POST {{baseUrl}}/device/blackapp/save
Authorization: {{authToken}}
Content-Type: application/json
{
"siteId":118,
"deviceId":671,
"deviceCode":"0vcb6m",
"deviceName":"8mrep3",
"appId":502,
"appCode":"ncrywd",
"appName":"41cc9s",
}
> {%
client.global.set("DeviceBlackapp_id", JSON.parse(response.body).data.id);
%}
###设备应用黑名单查看
GET {{baseUrl}}/device/blackapp/info?id={{DeviceBlackapp_id}}
Authorization: {{authToken}}
Accept: application/json
###设备应用黑名单编辑
GET {{baseUrl}}/device/blackapp/edit?id={{DeviceBlackapp_id}}
Authorization: {{authToken}}
Accept: application/json
###设备应用黑名单删除
GET {{baseUrl}}/device/blackapp/delete?id={{DeviceBlackapp_id}}
Authorization: {{authToken}}
Accept: application/json
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment