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

添加告警消息统计逻辑

parent 837df04d
...@@ -83,4 +83,37 @@ ALTER TABLE mortals_xhx_idgenerator ADD COLUMN `createTime` datetime(0) NULL DE ...@@ -83,4 +83,37 @@ ALTER TABLE mortals_xhx_idgenerator ADD COLUMN `createTime` datetime(0) NULL DE
ALTER TABLE mortals_xhx_device ADD COLUMN `resolution` varchar(64) DEFAULT '' COMMENT '设备分辨率' AFTER deviceInFloor; ALTER TABLE mortals_xhx_device ADD COLUMN `resolution` varchar(64) DEFAULT '' COMMENT '设备分辨率' AFTER deviceInFloor;
ALTER TABLE mortals_xhx_device ADD COLUMN `resolutionValue` varchar(64) DEFAULT '' COMMENT '设备分辨率' AFTER resolution; ALTER TABLE mortals_xhx_device ADD COLUMN `resolutionValue` varchar(64) DEFAULT '' COMMENT '设备分辨率' AFTER resolution;
UPDATE mortals_xhx_device_module_distribute SET imageResolution =imageResolutionValue UPDATE mortals_xhx_device_module_distribute SET imageResolution =imageResolutionValue
\ No newline at end of file
-- ----------------------------
2024-03-26
-- ----------------------------
-- ----------------------------
-- 设备消息统计表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_message_stat`;
CREATE TABLE mortals_xhx_device_message_stat(
`id` bigint(20) AUTO_INCREMENT COMMENT 'ID',
`siteId` bigint(20) COMMENT '站点Id,来源基础服务平台',
`productId` bigint(20) COMMENT '产品Id',
`productCode` varchar(256) COMMENT '产品编码',
`productName` varchar(256) COMMENT '产品名称',
`alarmTotalCount` int(9) NOT NULL DEFAULT '0' COMMENT '今日告警数量',
`pushTotalCount` int(9) NOT NULL DEFAULT '0' COMMENT '今日消息推送数量',
`uploadMessageTotalCount` int(9) NOT NULL DEFAULT '0' COMMENT '今日上行消息数量',
`downloadMessageTotalCount` int(9) NOT NULL DEFAULT '0' COMMENT '今日下行消息数量',
`year` int(9) NOT NULL COMMENT '年',
`month` int(9) NOT NULL COMMENT '月',
`day` int(9) NOT NULL COMMENT '日',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
,KEY `siteId` (`siteId`) USING BTREE
,KEY `productId` (`productId`) USING BTREE
,KEY `productCode` (`productCode`) USING BTREE
,KEY `productName` (`productName`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备消息统计';
...@@ -6,6 +6,7 @@ import com.mortals.framework.service.ITaskExcuteService; ...@@ -6,6 +6,7 @@ import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.PlatformTypeEnum; import com.mortals.xhx.common.code.PlatformTypeEnum;
import com.mortals.xhx.common.pdu.site.SitePdu; import com.mortals.xhx.common.pdu.site.SitePdu;
import com.mortals.xhx.feign.site.ISiteFeign; import com.mortals.xhx.feign.site.ISiteFeign;
import com.mortals.xhx.module.device.service.DeviceMessageStatService;
import com.mortals.xhx.module.device.service.DeviceStatService; import com.mortals.xhx.module.device.service.DeviceStatService;
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;
...@@ -29,6 +30,9 @@ public class DeviceTotalStatTaskImpl implements ITaskExcuteService { ...@@ -29,6 +30,9 @@ public class DeviceTotalStatTaskImpl implements ITaskExcuteService {
@Autowired @Autowired
private DeviceStatService deviceStatService; private DeviceStatService deviceStatService;
@Autowired
private DeviceMessageStatService deviceMessageStatService;
@Value("${platform.type:cloud}") @Value("${platform.type:cloud}")
private String platFormType;//版本,默认云服务版本 private String platFormType;//版本,默认云服务版本
...@@ -48,12 +52,15 @@ public class DeviceTotalStatTaskImpl implements ITaskExcuteService { ...@@ -48,12 +52,15 @@ public class DeviceTotalStatTaskImpl implements ITaskExcuteService {
List<SitePdu> siteList = siteFeign.list(sitePdu).getData().getData(); List<SitePdu> siteList = siteFeign.list(sitePdu).getData().getData();
for (SitePdu item : siteList) { for (SitePdu item : siteList) {
deviceStatService.deviceStat(item.getId(), null); deviceStatService.deviceStat(item.getId(), null);
deviceMessageStatService.deviceMessageStat(item.getId(), null);
} }
} else if (platFormType.equalsIgnoreCase(PlatformTypeEnum.STANDALONE.getValue())) { } else if (platFormType.equalsIgnoreCase(PlatformTypeEnum.STANDALONE.getValue())) {
List<SiteEntity> siteEntities = siteService.find(new SiteQuery()); List<SiteEntity> siteEntities = siteService.find(new SiteQuery());
for (SiteEntity siteEntity : siteEntities) { for (SiteEntity siteEntity : siteEntities) {
//判断如果当前节点无设备 则不统计 //判断如果当前节点无设备 则不统计
deviceStatService.deviceStat(siteEntity.getId(), null); deviceStatService.deviceStat(siteEntity.getId(), null);
deviceMessageStatService.deviceMessageStat(siteEntity.getId(), null);
} }
} }
log.info("设备统计任务,生成当天统计数据结束"); log.info("设备统计任务,生成当天统计数据结束");
......
package com.mortals.xhx.module.device.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.device.model.DeviceMessageStatEntity;
import java.util.List;
/**
* 设备消息统计Dao
* 设备消息统计 DAO接口
*
* @author zxfei
* @date 2024-03-26
*/
public interface DeviceMessageStatDao extends ICRUDDao<DeviceMessageStatEntity,Long>{
String SQLID_GET_STATLIST = "getStatList";
List<DeviceMessageStatEntity> getStatList(DeviceMessageStatEntity query, PageInfo pageInfo);
}
package com.mortals.xhx.module.device.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.ParamDto;
import com.mortals.xhx.module.device.dao.DeviceMessageStatDao;
import com.mortals.xhx.module.device.model.DeviceMessageStatEntity;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 设备消息统计DaoImpl DAO接口
*
* @author zxfei
* @date 2024-03-26
*/
@Repository("deviceMessageStatDao")
public class DeviceMessageStatDaoImpl extends BaseCRUDDaoMybatis<DeviceMessageStatEntity,Long> implements DeviceMessageStatDao {
@Override
public List<DeviceMessageStatEntity> getStatList(DeviceMessageStatEntity query, PageInfo pageInfo) {
ParamDto queryParam = super.getQueryParam(query);
if (pageInfo.getPrePageResult() == -1) {
return getSqlSession().selectList(SQLID_GET_STATLIST, queryParam);
} else {
RowBounds rowBounds = new RowBounds(pageInfo.getBeginIndex(), pageInfo.getPrePageResult());
return getSqlSession().selectList(SQLID_GET_STATLIST, queryParam, rowBounds);
}
}
}
package com.mortals.xhx.module.device.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
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.DeviceMessageStatVo;
import lombok.Data;
/**
* 设备消息统计实体对象
*
* @author zxfei
* @date 2024-03-26
*/
@Data
public class DeviceMessageStatEntity extends DeviceMessageStatVo {
private static final long serialVersionUID = 1L;
/**
* 站点Id,来源基础服务平台
*/
private Long siteId;
/**
* 产品Id
*/
private Long productId;
/**
* 产品编码
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 今日告警数量
*/
private Integer alarmTotalCount;
/**
* 今日消息推送数量
*/
private Integer pushTotalCount;
/**
* 今日上行消息数量
*/
private Integer uploadMessageTotalCount;
/**
* 今日下行消息数量
*/
private Integer downloadMessageTotalCount;
/**
* 年
*/
private Integer year;
/**
* 月
*/
private Integer month;
/**
* 日
*/
private Integer day;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof DeviceMessageStatEntity) {
DeviceMessageStatEntity tmp = (DeviceMessageStatEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.siteId = null;
this.productId = null;
this.productCode = "";
this.productName = "";
this.alarmTotalCount = 0;
this.pushTotalCount = 0;
this.uploadMessageTotalCount = 0;
this.downloadMessageTotalCount = 0;
this.year = DateUtil.year(new Date());
this.month = DateUtil.month(new Date())+1;
this.day = DateUtil.dayOfMonth(new Date());
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.model;
import java.util.List;
import com.mortals.xhx.module.device.model.DeviceMessageStatEntity;
/**
* 设备消息统计查询对象
*
* @author zxfei
* @date 2024-03-26
*/
public class DeviceMessageStatQuery extends DeviceMessageStatEntity {
/** 开始 ID */
private Long idStart;
/** 结束 ID */
private Long idEnd;
/** 增加 ID */
private Long idIncrement;
/** ID列表 */
private List <Long> idList;
/** ID排除列表 */
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 productIdStart;
/** 结束 产品Id */
private Long productIdEnd;
/** 增加 产品Id */
private Long productIdIncrement;
/** 产品Id列表 */
private List <Long> productIdList;
/** 产品Id排除列表 */
private List <Long> productIdNotList;
/** 产品编码 */
private List<String> productCodeList;
/** 产品编码排除列表 */
private List <String> productCodeNotList;
/** 产品名称 */
private List<String> productNameList;
/** 产品名称排除列表 */
private List <String> productNameNotList;
/** 开始 今日告警数量 */
private Integer alarmTotalCountStart;
/** 结束 今日告警数量 */
private Integer alarmTotalCountEnd;
/** 增加 今日告警数量 */
private Integer alarmTotalCountIncrement;
/** 今日告警数量列表 */
private List <Integer> alarmTotalCountList;
/** 今日告警数量排除列表 */
private List <Integer> alarmTotalCountNotList;
/** 开始 今日消息推送数量 */
private Integer pushTotalCountStart;
/** 结束 今日消息推送数量 */
private Integer pushTotalCountEnd;
/** 增加 今日消息推送数量 */
private Integer pushTotalCountIncrement;
/** 今日消息推送数量列表 */
private List <Integer> pushTotalCountList;
/** 今日消息推送数量排除列表 */
private List <Integer> pushTotalCountNotList;
/** 开始 今日上行消息数量 */
private Integer uploadMessageTotalCountStart;
/** 结束 今日上行消息数量 */
private Integer uploadMessageTotalCountEnd;
/** 增加 今日上行消息数量 */
private Integer uploadMessageTotalCountIncrement;
/** 今日上行消息数量列表 */
private List <Integer> uploadMessageTotalCountList;
/** 今日上行消息数量排除列表 */
private List <Integer> uploadMessageTotalCountNotList;
/** 开始 今日下行消息数量 */
private Integer downloadMessageTotalCountStart;
/** 结束 今日下行消息数量 */
private Integer downloadMessageTotalCountEnd;
/** 增加 今日下行消息数量 */
private Integer downloadMessageTotalCountIncrement;
/** 今日下行消息数量列表 */
private List <Integer> downloadMessageTotalCountList;
/** 今日下行消息数量排除列表 */
private List <Integer> downloadMessageTotalCountNotList;
/** 开始 年 */
private Integer yearStart;
/** 结束 年 */
private Integer yearEnd;
/** 增加 年 */
private Integer yearIncrement;
/** 年列表 */
private List <Integer> yearList;
/** 年排除列表 */
private List <Integer> yearNotList;
/** 开始 月 */
private Integer monthStart;
/** 结束 月 */
private Integer monthEnd;
/** 增加 月 */
private Integer monthIncrement;
/** 月列表 */
private List <Integer> monthList;
/** 月排除列表 */
private List <Integer> monthNotList;
/** 开始 日 */
private Integer dayStart;
/** 结束 日 */
private Integer dayEnd;
/** 增加 日 */
private Integer dayIncrement;
/** 日列表 */
private List <Integer> dayList;
/** 日排除列表 */
private List <Integer> dayNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 更新时间 */
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<DeviceMessageStatQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<DeviceMessageStatQuery> andConditionList;
public DeviceMessageStatQuery(){}
/**
* 获取 开始 ID
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 ID
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 ID
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 ID
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 ID
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 ID
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 ID
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 ID
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 ID
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 ID
* @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 productIdStart
*/
public Long getProductIdStart(){
return this.productIdStart;
}
/**
* 设置 开始 产品Id
* @param productIdStart
*/
public void setProductIdStart(Long productIdStart){
this.productIdStart = productIdStart;
}
/**
* 获取 结束 产品Id
* @return $productIdEnd
*/
public Long getProductIdEnd(){
return this.productIdEnd;
}
/**
* 设置 结束 产品Id
* @param productIdEnd
*/
public void setProductIdEnd(Long productIdEnd){
this.productIdEnd = productIdEnd;
}
/**
* 获取 增加 产品Id
* @return productIdIncrement
*/
public Long getProductIdIncrement(){
return this.productIdIncrement;
}
/**
* 设置 增加 产品Id
* @param productIdIncrement
*/
public void setProductIdIncrement(Long productIdIncrement){
this.productIdIncrement = productIdIncrement;
}
/**
* 获取 产品Id
* @return productIdList
*/
public List<Long> getProductIdList(){
return this.productIdList;
}
/**
* 设置 产品Id
* @param productIdList
*/
public void setProductIdList(List<Long> productIdList){
this.productIdList = productIdList;
}
/**
* 获取 产品Id
* @return productIdNotList
*/
public List<Long> getProductIdNotList(){
return this.productIdNotList;
}
/**
* 设置 产品Id
* @param productIdNotList
*/
public void setProductIdNotList(List<Long> productIdNotList){
this.productIdNotList = productIdNotList;
}
/**
* 获取 产品编码
* @return productCodeList
*/
public List<String> getProductCodeList(){
return this.productCodeList;
}
/**
* 设置 产品编码
* @param productCodeList
*/
public void setProductCodeList(List<String> productCodeList){
this.productCodeList = productCodeList;
}
/**
* 获取 产品编码
* @return productCodeNotList
*/
public List<String> getProductCodeNotList(){
return this.productCodeNotList;
}
/**
* 设置 产品编码
* @param productCodeNotList
*/
public void setProductCodeNotList(List<String> productCodeNotList){
this.productCodeNotList = productCodeNotList;
}
/**
* 获取 产品名称
* @return productNameList
*/
public List<String> getProductNameList(){
return this.productNameList;
}
/**
* 设置 产品名称
* @param productNameList
*/
public void setProductNameList(List<String> productNameList){
this.productNameList = productNameList;
}
/**
* 获取 产品名称
* @return productNameNotList
*/
public List<String> getProductNameNotList(){
return this.productNameNotList;
}
/**
* 设置 产品名称
* @param productNameNotList
*/
public void setProductNameNotList(List<String> productNameNotList){
this.productNameNotList = productNameNotList;
}
/**
* 获取 开始 今日告警数量
* @return alarmTotalCountStart
*/
public Integer getAlarmTotalCountStart(){
return this.alarmTotalCountStart;
}
/**
* 设置 开始 今日告警数量
* @param alarmTotalCountStart
*/
public void setAlarmTotalCountStart(Integer alarmTotalCountStart){
this.alarmTotalCountStart = alarmTotalCountStart;
}
/**
* 获取 结束 今日告警数量
* @return $alarmTotalCountEnd
*/
public Integer getAlarmTotalCountEnd(){
return this.alarmTotalCountEnd;
}
/**
* 设置 结束 今日告警数量
* @param alarmTotalCountEnd
*/
public void setAlarmTotalCountEnd(Integer alarmTotalCountEnd){
this.alarmTotalCountEnd = alarmTotalCountEnd;
}
/**
* 获取 增加 今日告警数量
* @return alarmTotalCountIncrement
*/
public Integer getAlarmTotalCountIncrement(){
return this.alarmTotalCountIncrement;
}
/**
* 设置 增加 今日告警数量
* @param alarmTotalCountIncrement
*/
public void setAlarmTotalCountIncrement(Integer alarmTotalCountIncrement){
this.alarmTotalCountIncrement = alarmTotalCountIncrement;
}
/**
* 获取 今日告警数量
* @return alarmTotalCountList
*/
public List<Integer> getAlarmTotalCountList(){
return this.alarmTotalCountList;
}
/**
* 设置 今日告警数量
* @param alarmTotalCountList
*/
public void setAlarmTotalCountList(List<Integer> alarmTotalCountList){
this.alarmTotalCountList = alarmTotalCountList;
}
/**
* 获取 今日告警数量
* @return alarmTotalCountNotList
*/
public List<Integer> getAlarmTotalCountNotList(){
return this.alarmTotalCountNotList;
}
/**
* 设置 今日告警数量
* @param alarmTotalCountNotList
*/
public void setAlarmTotalCountNotList(List<Integer> alarmTotalCountNotList){
this.alarmTotalCountNotList = alarmTotalCountNotList;
}
/**
* 获取 开始 今日消息推送数量
* @return pushTotalCountStart
*/
public Integer getPushTotalCountStart(){
return this.pushTotalCountStart;
}
/**
* 设置 开始 今日消息推送数量
* @param pushTotalCountStart
*/
public void setPushTotalCountStart(Integer pushTotalCountStart){
this.pushTotalCountStart = pushTotalCountStart;
}
/**
* 获取 结束 今日消息推送数量
* @return $pushTotalCountEnd
*/
public Integer getPushTotalCountEnd(){
return this.pushTotalCountEnd;
}
/**
* 设置 结束 今日消息推送数量
* @param pushTotalCountEnd
*/
public void setPushTotalCountEnd(Integer pushTotalCountEnd){
this.pushTotalCountEnd = pushTotalCountEnd;
}
/**
* 获取 增加 今日消息推送数量
* @return pushTotalCountIncrement
*/
public Integer getPushTotalCountIncrement(){
return this.pushTotalCountIncrement;
}
/**
* 设置 增加 今日消息推送数量
* @param pushTotalCountIncrement
*/
public void setPushTotalCountIncrement(Integer pushTotalCountIncrement){
this.pushTotalCountIncrement = pushTotalCountIncrement;
}
/**
* 获取 今日消息推送数量
* @return pushTotalCountList
*/
public List<Integer> getPushTotalCountList(){
return this.pushTotalCountList;
}
/**
* 设置 今日消息推送数量
* @param pushTotalCountList
*/
public void setPushTotalCountList(List<Integer> pushTotalCountList){
this.pushTotalCountList = pushTotalCountList;
}
/**
* 获取 今日消息推送数量
* @return pushTotalCountNotList
*/
public List<Integer> getPushTotalCountNotList(){
return this.pushTotalCountNotList;
}
/**
* 设置 今日消息推送数量
* @param pushTotalCountNotList
*/
public void setPushTotalCountNotList(List<Integer> pushTotalCountNotList){
this.pushTotalCountNotList = pushTotalCountNotList;
}
/**
* 获取 开始 今日上行消息数量
* @return uploadMessageTotalCountStart
*/
public Integer getUploadMessageTotalCountStart(){
return this.uploadMessageTotalCountStart;
}
/**
* 设置 开始 今日上行消息数量
* @param uploadMessageTotalCountStart
*/
public void setUploadMessageTotalCountStart(Integer uploadMessageTotalCountStart){
this.uploadMessageTotalCountStart = uploadMessageTotalCountStart;
}
/**
* 获取 结束 今日上行消息数量
* @return $uploadMessageTotalCountEnd
*/
public Integer getUploadMessageTotalCountEnd(){
return this.uploadMessageTotalCountEnd;
}
/**
* 设置 结束 今日上行消息数量
* @param uploadMessageTotalCountEnd
*/
public void setUploadMessageTotalCountEnd(Integer uploadMessageTotalCountEnd){
this.uploadMessageTotalCountEnd = uploadMessageTotalCountEnd;
}
/**
* 获取 增加 今日上行消息数量
* @return uploadMessageTotalCountIncrement
*/
public Integer getUploadMessageTotalCountIncrement(){
return this.uploadMessageTotalCountIncrement;
}
/**
* 设置 增加 今日上行消息数量
* @param uploadMessageTotalCountIncrement
*/
public void setUploadMessageTotalCountIncrement(Integer uploadMessageTotalCountIncrement){
this.uploadMessageTotalCountIncrement = uploadMessageTotalCountIncrement;
}
/**
* 获取 今日上行消息数量
* @return uploadMessageTotalCountList
*/
public List<Integer> getUploadMessageTotalCountList(){
return this.uploadMessageTotalCountList;
}
/**
* 设置 今日上行消息数量
* @param uploadMessageTotalCountList
*/
public void setUploadMessageTotalCountList(List<Integer> uploadMessageTotalCountList){
this.uploadMessageTotalCountList = uploadMessageTotalCountList;
}
/**
* 获取 今日上行消息数量
* @return uploadMessageTotalCountNotList
*/
public List<Integer> getUploadMessageTotalCountNotList(){
return this.uploadMessageTotalCountNotList;
}
/**
* 设置 今日上行消息数量
* @param uploadMessageTotalCountNotList
*/
public void setUploadMessageTotalCountNotList(List<Integer> uploadMessageTotalCountNotList){
this.uploadMessageTotalCountNotList = uploadMessageTotalCountNotList;
}
/**
* 获取 开始 今日下行消息数量
* @return downloadMessageTotalCountStart
*/
public Integer getDownloadMessageTotalCountStart(){
return this.downloadMessageTotalCountStart;
}
/**
* 设置 开始 今日下行消息数量
* @param downloadMessageTotalCountStart
*/
public void setDownloadMessageTotalCountStart(Integer downloadMessageTotalCountStart){
this.downloadMessageTotalCountStart = downloadMessageTotalCountStart;
}
/**
* 获取 结束 今日下行消息数量
* @return $downloadMessageTotalCountEnd
*/
public Integer getDownloadMessageTotalCountEnd(){
return this.downloadMessageTotalCountEnd;
}
/**
* 设置 结束 今日下行消息数量
* @param downloadMessageTotalCountEnd
*/
public void setDownloadMessageTotalCountEnd(Integer downloadMessageTotalCountEnd){
this.downloadMessageTotalCountEnd = downloadMessageTotalCountEnd;
}
/**
* 获取 增加 今日下行消息数量
* @return downloadMessageTotalCountIncrement
*/
public Integer getDownloadMessageTotalCountIncrement(){
return this.downloadMessageTotalCountIncrement;
}
/**
* 设置 增加 今日下行消息数量
* @param downloadMessageTotalCountIncrement
*/
public void setDownloadMessageTotalCountIncrement(Integer downloadMessageTotalCountIncrement){
this.downloadMessageTotalCountIncrement = downloadMessageTotalCountIncrement;
}
/**
* 获取 今日下行消息数量
* @return downloadMessageTotalCountList
*/
public List<Integer> getDownloadMessageTotalCountList(){
return this.downloadMessageTotalCountList;
}
/**
* 设置 今日下行消息数量
* @param downloadMessageTotalCountList
*/
public void setDownloadMessageTotalCountList(List<Integer> downloadMessageTotalCountList){
this.downloadMessageTotalCountList = downloadMessageTotalCountList;
}
/**
* 获取 今日下行消息数量
* @return downloadMessageTotalCountNotList
*/
public List<Integer> getDownloadMessageTotalCountNotList(){
return this.downloadMessageTotalCountNotList;
}
/**
* 设置 今日下行消息数量
* @param downloadMessageTotalCountNotList
*/
public void setDownloadMessageTotalCountNotList(List<Integer> downloadMessageTotalCountNotList){
this.downloadMessageTotalCountNotList = downloadMessageTotalCountNotList;
}
/**
* 获取 开始 年
* @return yearStart
*/
public Integer getYearStart(){
return this.yearStart;
}
/**
* 设置 开始 年
* @param yearStart
*/
public void setYearStart(Integer yearStart){
this.yearStart = yearStart;
}
/**
* 获取 结束 年
* @return $yearEnd
*/
public Integer getYearEnd(){
return this.yearEnd;
}
/**
* 设置 结束 年
* @param yearEnd
*/
public void setYearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
}
/**
* 获取 增加 年
* @return yearIncrement
*/
public Integer getYearIncrement(){
return this.yearIncrement;
}
/**
* 设置 增加 年
* @param yearIncrement
*/
public void setYearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
}
/**
* 获取 年
* @return yearList
*/
public List<Integer> getYearList(){
return this.yearList;
}
/**
* 设置 年
* @param yearList
*/
public void setYearList(List<Integer> yearList){
this.yearList = yearList;
}
/**
* 获取 年
* @return yearNotList
*/
public List<Integer> getYearNotList(){
return this.yearNotList;
}
/**
* 设置 年
* @param yearNotList
*/
public void setYearNotList(List<Integer> yearNotList){
this.yearNotList = yearNotList;
}
/**
* 获取 开始 月
* @return monthStart
*/
public Integer getMonthStart(){
return this.monthStart;
}
/**
* 设置 开始 月
* @param monthStart
*/
public void setMonthStart(Integer monthStart){
this.monthStart = monthStart;
}
/**
* 获取 结束 月
* @return $monthEnd
*/
public Integer getMonthEnd(){
return this.monthEnd;
}
/**
* 设置 结束 月
* @param monthEnd
*/
public void setMonthEnd(Integer monthEnd){
this.monthEnd = monthEnd;
}
/**
* 获取 增加 月
* @return monthIncrement
*/
public Integer getMonthIncrement(){
return this.monthIncrement;
}
/**
* 设置 增加 月
* @param monthIncrement
*/
public void setMonthIncrement(Integer monthIncrement){
this.monthIncrement = monthIncrement;
}
/**
* 获取 月
* @return monthList
*/
public List<Integer> getMonthList(){
return this.monthList;
}
/**
* 设置 月
* @param monthList
*/
public void setMonthList(List<Integer> monthList){
this.monthList = monthList;
}
/**
* 获取 月
* @return monthNotList
*/
public List<Integer> getMonthNotList(){
return this.monthNotList;
}
/**
* 设置 月
* @param monthNotList
*/
public void setMonthNotList(List<Integer> monthNotList){
this.monthNotList = monthNotList;
}
/**
* 获取 开始 日
* @return dayStart
*/
public Integer getDayStart(){
return this.dayStart;
}
/**
* 设置 开始 日
* @param dayStart
*/
public void setDayStart(Integer dayStart){
this.dayStart = dayStart;
}
/**
* 获取 结束 日
* @return $dayEnd
*/
public Integer getDayEnd(){
return this.dayEnd;
}
/**
* 设置 结束 日
* @param dayEnd
*/
public void setDayEnd(Integer dayEnd){
this.dayEnd = dayEnd;
}
/**
* 获取 增加 日
* @return dayIncrement
*/
public Integer getDayIncrement(){
return this.dayIncrement;
}
/**
* 设置 增加 日
* @param dayIncrement
*/
public void setDayIncrement(Integer dayIncrement){
this.dayIncrement = dayIncrement;
}
/**
* 获取 日
* @return dayList
*/
public List<Integer> getDayList(){
return this.dayList;
}
/**
* 设置 日
* @param dayList
*/
public void setDayList(List<Integer> dayList){
this.dayList = dayList;
}
/**
* 获取 日
* @return dayNotList
*/
public List<Integer> getDayNotList(){
return this.dayNotList;
}
/**
* 设置 日
* @param dayNotList
*/
public void setDayNotList(List<Integer> dayNotList){
this.dayNotList = dayNotList;
}
/**
* 获取 开始 创建时间
* @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 updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 获取 开始 更新时间
* @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;
}
/**
* 设置 ID
* @param id
*/
public DeviceMessageStatQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 ID
* @param idStart
*/
public DeviceMessageStatQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 ID
* @param idEnd
*/
public DeviceMessageStatQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 ID
* @param idIncrement
*/
public DeviceMessageStatQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 ID
* @param idList
*/
public DeviceMessageStatQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 ID
* @param idNotList
*/
public DeviceMessageStatQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 站点Id,来源基础服务平台
* @param siteId
*/
public DeviceMessageStatQuery siteId(Long siteId){
setSiteId(siteId);
return this;
}
/**
* 设置 开始 站点Id,来源基础服务平台
* @param siteIdStart
*/
public DeviceMessageStatQuery siteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
return this;
}
/**
* 设置 结束 站点Id,来源基础服务平台
* @param siteIdEnd
*/
public DeviceMessageStatQuery siteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
return this;
}
/**
* 设置 增加 站点Id,来源基础服务平台
* @param siteIdIncrement
*/
public DeviceMessageStatQuery siteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
return this;
}
/**
* 设置 站点Id,来源基础服务平台
* @param siteIdList
*/
public DeviceMessageStatQuery siteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
return this;
}
/**
* 设置 站点Id,来源基础服务平台
* @param siteIdNotList
*/
public DeviceMessageStatQuery siteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
return this;
}
/**
* 设置 产品Id
* @param productId
*/
public DeviceMessageStatQuery productId(Long productId){
setProductId(productId);
return this;
}
/**
* 设置 开始 产品Id
* @param productIdStart
*/
public DeviceMessageStatQuery productIdStart(Long productIdStart){
this.productIdStart = productIdStart;
return this;
}
/**
* 设置 结束 产品Id
* @param productIdEnd
*/
public DeviceMessageStatQuery productIdEnd(Long productIdEnd){
this.productIdEnd = productIdEnd;
return this;
}
/**
* 设置 增加 产品Id
* @param productIdIncrement
*/
public DeviceMessageStatQuery productIdIncrement(Long productIdIncrement){
this.productIdIncrement = productIdIncrement;
return this;
}
/**
* 设置 产品Id
* @param productIdList
*/
public DeviceMessageStatQuery productIdList(List<Long> productIdList){
this.productIdList = productIdList;
return this;
}
/**
* 设置 产品Id
* @param productIdNotList
*/
public DeviceMessageStatQuery productIdNotList(List<Long> productIdNotList){
this.productIdNotList = productIdNotList;
return this;
}
/**
* 设置 产品编码
* @param productCode
*/
public DeviceMessageStatQuery productCode(String productCode){
setProductCode(productCode);
return this;
}
/**
* 设置 产品编码
* @param productCodeList
*/
public DeviceMessageStatQuery productCodeList(List<String> productCodeList){
this.productCodeList = productCodeList;
return this;
}
/**
* 设置 产品名称
* @param productName
*/
public DeviceMessageStatQuery productName(String productName){
setProductName(productName);
return this;
}
/**
* 设置 产品名称
* @param productNameList
*/
public DeviceMessageStatQuery productNameList(List<String> productNameList){
this.productNameList = productNameList;
return this;
}
/**
* 设置 今日告警数量
* @param alarmTotalCount
*/
public DeviceMessageStatQuery alarmTotalCount(Integer alarmTotalCount){
setAlarmTotalCount(alarmTotalCount);
return this;
}
/**
* 设置 开始 今日告警数量
* @param alarmTotalCountStart
*/
public DeviceMessageStatQuery alarmTotalCountStart(Integer alarmTotalCountStart){
this.alarmTotalCountStart = alarmTotalCountStart;
return this;
}
/**
* 设置 结束 今日告警数量
* @param alarmTotalCountEnd
*/
public DeviceMessageStatQuery alarmTotalCountEnd(Integer alarmTotalCountEnd){
this.alarmTotalCountEnd = alarmTotalCountEnd;
return this;
}
/**
* 设置 增加 今日告警数量
* @param alarmTotalCountIncrement
*/
public DeviceMessageStatQuery alarmTotalCountIncrement(Integer alarmTotalCountIncrement){
this.alarmTotalCountIncrement = alarmTotalCountIncrement;
return this;
}
/**
* 设置 今日告警数量
* @param alarmTotalCountList
*/
public DeviceMessageStatQuery alarmTotalCountList(List<Integer> alarmTotalCountList){
this.alarmTotalCountList = alarmTotalCountList;
return this;
}
/**
* 设置 今日告警数量
* @param alarmTotalCountNotList
*/
public DeviceMessageStatQuery alarmTotalCountNotList(List<Integer> alarmTotalCountNotList){
this.alarmTotalCountNotList = alarmTotalCountNotList;
return this;
}
/**
* 设置 今日消息推送数量
* @param pushTotalCount
*/
public DeviceMessageStatQuery pushTotalCount(Integer pushTotalCount){
setPushTotalCount(pushTotalCount);
return this;
}
/**
* 设置 开始 今日消息推送数量
* @param pushTotalCountStart
*/
public DeviceMessageStatQuery pushTotalCountStart(Integer pushTotalCountStart){
this.pushTotalCountStart = pushTotalCountStart;
return this;
}
/**
* 设置 结束 今日消息推送数量
* @param pushTotalCountEnd
*/
public DeviceMessageStatQuery pushTotalCountEnd(Integer pushTotalCountEnd){
this.pushTotalCountEnd = pushTotalCountEnd;
return this;
}
/**
* 设置 增加 今日消息推送数量
* @param pushTotalCountIncrement
*/
public DeviceMessageStatQuery pushTotalCountIncrement(Integer pushTotalCountIncrement){
this.pushTotalCountIncrement = pushTotalCountIncrement;
return this;
}
/**
* 设置 今日消息推送数量
* @param pushTotalCountList
*/
public DeviceMessageStatQuery pushTotalCountList(List<Integer> pushTotalCountList){
this.pushTotalCountList = pushTotalCountList;
return this;
}
/**
* 设置 今日消息推送数量
* @param pushTotalCountNotList
*/
public DeviceMessageStatQuery pushTotalCountNotList(List<Integer> pushTotalCountNotList){
this.pushTotalCountNotList = pushTotalCountNotList;
return this;
}
/**
* 设置 今日上行消息数量
* @param uploadMessageTotalCount
*/
public DeviceMessageStatQuery uploadMessageTotalCount(Integer uploadMessageTotalCount){
setUploadMessageTotalCount(uploadMessageTotalCount);
return this;
}
/**
* 设置 开始 今日上行消息数量
* @param uploadMessageTotalCountStart
*/
public DeviceMessageStatQuery uploadMessageTotalCountStart(Integer uploadMessageTotalCountStart){
this.uploadMessageTotalCountStart = uploadMessageTotalCountStart;
return this;
}
/**
* 设置 结束 今日上行消息数量
* @param uploadMessageTotalCountEnd
*/
public DeviceMessageStatQuery uploadMessageTotalCountEnd(Integer uploadMessageTotalCountEnd){
this.uploadMessageTotalCountEnd = uploadMessageTotalCountEnd;
return this;
}
/**
* 设置 增加 今日上行消息数量
* @param uploadMessageTotalCountIncrement
*/
public DeviceMessageStatQuery uploadMessageTotalCountIncrement(Integer uploadMessageTotalCountIncrement){
this.uploadMessageTotalCountIncrement = uploadMessageTotalCountIncrement;
return this;
}
/**
* 设置 今日上行消息数量
* @param uploadMessageTotalCountList
*/
public DeviceMessageStatQuery uploadMessageTotalCountList(List<Integer> uploadMessageTotalCountList){
this.uploadMessageTotalCountList = uploadMessageTotalCountList;
return this;
}
/**
* 设置 今日上行消息数量
* @param uploadMessageTotalCountNotList
*/
public DeviceMessageStatQuery uploadMessageTotalCountNotList(List<Integer> uploadMessageTotalCountNotList){
this.uploadMessageTotalCountNotList = uploadMessageTotalCountNotList;
return this;
}
/**
* 设置 今日下行消息数量
* @param downloadMessageTotalCount
*/
public DeviceMessageStatQuery downloadMessageTotalCount(Integer downloadMessageTotalCount){
setDownloadMessageTotalCount(downloadMessageTotalCount);
return this;
}
/**
* 设置 开始 今日下行消息数量
* @param downloadMessageTotalCountStart
*/
public DeviceMessageStatQuery downloadMessageTotalCountStart(Integer downloadMessageTotalCountStart){
this.downloadMessageTotalCountStart = downloadMessageTotalCountStart;
return this;
}
/**
* 设置 结束 今日下行消息数量
* @param downloadMessageTotalCountEnd
*/
public DeviceMessageStatQuery downloadMessageTotalCountEnd(Integer downloadMessageTotalCountEnd){
this.downloadMessageTotalCountEnd = downloadMessageTotalCountEnd;
return this;
}
/**
* 设置 增加 今日下行消息数量
* @param downloadMessageTotalCountIncrement
*/
public DeviceMessageStatQuery downloadMessageTotalCountIncrement(Integer downloadMessageTotalCountIncrement){
this.downloadMessageTotalCountIncrement = downloadMessageTotalCountIncrement;
return this;
}
/**
* 设置 今日下行消息数量
* @param downloadMessageTotalCountList
*/
public DeviceMessageStatQuery downloadMessageTotalCountList(List<Integer> downloadMessageTotalCountList){
this.downloadMessageTotalCountList = downloadMessageTotalCountList;
return this;
}
/**
* 设置 今日下行消息数量
* @param downloadMessageTotalCountNotList
*/
public DeviceMessageStatQuery downloadMessageTotalCountNotList(List<Integer> downloadMessageTotalCountNotList){
this.downloadMessageTotalCountNotList = downloadMessageTotalCountNotList;
return this;
}
/**
* 设置 年
* @param year
*/
public DeviceMessageStatQuery year(Integer year){
setYear(year);
return this;
}
/**
* 设置 开始 年
* @param yearStart
*/
public DeviceMessageStatQuery yearStart(Integer yearStart){
this.yearStart = yearStart;
return this;
}
/**
* 设置 结束 年
* @param yearEnd
*/
public DeviceMessageStatQuery yearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
return this;
}
/**
* 设置 增加 年
* @param yearIncrement
*/
public DeviceMessageStatQuery yearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
return this;
}
/**
* 设置 年
* @param yearList
*/
public DeviceMessageStatQuery yearList(List<Integer> yearList){
this.yearList = yearList;
return this;
}
/**
* 设置 年
* @param yearNotList
*/
public DeviceMessageStatQuery yearNotList(List<Integer> yearNotList){
this.yearNotList = yearNotList;
return this;
}
/**
* 设置 月
* @param month
*/
public DeviceMessageStatQuery month(Integer month){
setMonth(month);
return this;
}
/**
* 设置 开始 月
* @param monthStart
*/
public DeviceMessageStatQuery monthStart(Integer monthStart){
this.monthStart = monthStart;
return this;
}
/**
* 设置 结束 月
* @param monthEnd
*/
public DeviceMessageStatQuery monthEnd(Integer monthEnd){
this.monthEnd = monthEnd;
return this;
}
/**
* 设置 增加 月
* @param monthIncrement
*/
public DeviceMessageStatQuery monthIncrement(Integer monthIncrement){
this.monthIncrement = monthIncrement;
return this;
}
/**
* 设置 月
* @param monthList
*/
public DeviceMessageStatQuery monthList(List<Integer> monthList){
this.monthList = monthList;
return this;
}
/**
* 设置 月
* @param monthNotList
*/
public DeviceMessageStatQuery monthNotList(List<Integer> monthNotList){
this.monthNotList = monthNotList;
return this;
}
/**
* 设置 日
* @param day
*/
public DeviceMessageStatQuery day(Integer day){
setDay(day);
return this;
}
/**
* 设置 开始 日
* @param dayStart
*/
public DeviceMessageStatQuery dayStart(Integer dayStart){
this.dayStart = dayStart;
return this;
}
/**
* 设置 结束 日
* @param dayEnd
*/
public DeviceMessageStatQuery dayEnd(Integer dayEnd){
this.dayEnd = dayEnd;
return this;
}
/**
* 设置 增加 日
* @param dayIncrement
*/
public DeviceMessageStatQuery dayIncrement(Integer dayIncrement){
this.dayIncrement = dayIncrement;
return this;
}
/**
* 设置 日
* @param dayList
*/
public DeviceMessageStatQuery dayList(List<Integer> dayList){
this.dayList = dayList;
return this;
}
/**
* 设置 日
* @param dayNotList
*/
public DeviceMessageStatQuery dayNotList(List<Integer> dayNotList){
this.dayNotList = dayNotList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public DeviceMessageStatQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public DeviceMessageStatQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public DeviceMessageStatQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public DeviceMessageStatQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public DeviceMessageStatQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public DeviceMessageStatQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<DeviceMessageStatQuery> 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<DeviceMessageStatQuery> 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<DeviceMessageStatQuery> 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<DeviceMessageStatQuery> 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.DeviceMessageStatEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 设备消息统计视图对象
*
* @author zxfei
* @date 2024-03-26
*/
@Data
public class DeviceMessageStatVo extends BaseEntityLong {
/** ID列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.device.service;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.dao.DeviceMessageStatDao;
import com.mortals.xhx.module.device.model.DeviceMessageStatEntity;
/**
* DeviceMessageStatService
*
* 设备消息统计 service接口
*
* @author zxfei
* @date 2024-03-26
*/
public interface DeviceMessageStatService extends ICRUDService<DeviceMessageStatEntity,Long>{
DeviceMessageStatDao getDao();
/**
* 设备统计当天消息情况
* @param context
*/
void deviceMessageStat(Long siteId, Context context);
}
\ No newline at end of file
package com.mortals.xhx.module.device.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DateUtils;
import com.mortals.xhx.module.device.dao.DeviceMessageStatDao;
import com.mortals.xhx.module.device.model.DeviceAlarmInfoQuery;
import com.mortals.xhx.module.device.model.DeviceMessageStatEntity;
import com.mortals.xhx.module.device.model.DeviceMessageStatQuery;
import com.mortals.xhx.module.device.service.DeviceAlarmInfoService;
import com.mortals.xhx.module.device.service.DeviceLogService;
import com.mortals.xhx.module.device.service.DeviceMessageStatService;
import com.mortals.xhx.module.product.model.ProductEntity;
import com.mortals.xhx.module.product.service.ProductService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* DeviceMessageStatService
* 设备消息统计 service实现
*
* @author zxfei
* @date 2024-03-26
*/
@Service("deviceMessageStatService")
@Slf4j
public class DeviceMessageStatServiceImpl extends AbstractCRUDServiceImpl<DeviceMessageStatDao, DeviceMessageStatEntity, Long> implements DeviceMessageStatService {
@Autowired
private DeviceAlarmInfoService deviceAlarmInfoService;
@Autowired
private DeviceLogService deviceLogService;
@Autowired
private ProductService productService;
@Override
public void deviceMessageStat(Long siteId, Context context) {
//查询当天统计,如果有 则更新统计结果,否则新增
try {
List<ProductEntity> productEntities = productService.find(new ProductEntity());
for (ProductEntity productEntity : productEntities) {
Calendar calendar = Calendar.getInstance();
DeviceMessageStatEntity deviceStatEntity = this.selectOne(new DeviceMessageStatQuery()
.siteId(siteId)
.productId(productEntity.getId())
.year(calendar.get(Calendar.YEAR))
.month(calendar.get(Calendar.MONTH) + 1)
.day(calendar.get(Calendar.DAY_OF_MONTH)));
if (ObjectUtils.isEmpty(deviceStatEntity)) {
deviceStatEntity = new DeviceMessageStatEntity();
deviceStatEntity.initAttrValue();
deviceStatEntity.setSiteId(siteId);
deviceStatEntity.setCreateTime(new Date());
deviceStatEntity.setYear(calendar.get(Calendar.YEAR));
deviceStatEntity.setMonth(calendar.get(Calendar.MONTH) + 1);
deviceStatEntity.setDay(calendar.get(Calendar.DAY_OF_MONTH));
}
//告警数量 按产品分组
DeviceAlarmInfoQuery deviceAlarmInfoQuery = new DeviceAlarmInfoQuery();
deviceAlarmInfoQuery.setCreateTimeStart(DateUtils.getCurrStrDate());
deviceAlarmInfoQuery.setCreateTimeEnd(DateUtils.getCurrStrDate());
deviceAlarmInfoQuery.setProductId(productEntity.getId());
int alarmTotalCount = deviceAlarmInfoService.count(deviceAlarmInfoQuery, null);
deviceStatEntity.setAlarmTotalCount(alarmTotalCount);
/* //上行下行数量
DeviceLogQuery deviceLogQuery = new DeviceLogQuery();
deviceLogQuery.setCreateTimeStart(DateUtils.getCurrStrDate());
deviceLogQuery.setCreateTimeEnd(DateUtils.getCurrStrDate());
deviceLogQuery.setLogType(LogTypeEnum.上报事件.getValue());
int uploadMessageTotalCount = deviceLogService.count(deviceLogQuery, null);
deviceLogQuery.setLogType(LogTypeEnum.下发服务.getValue());
int downloadMessageTotalCount = deviceLogService.count(deviceLogQuery, null);
deviceStatEntity.setUploadMessageTotalCount(uploadMessageTotalCount);
deviceStatEntity.setDownloadMessageTotalCount(downloadMessageTotalCount);*/
if (deviceStatEntity.newEntity()) {
deviceStatEntity.setCreateTime(new Date());
this.save(deviceStatEntity);
} else {
deviceStatEntity.setUpdateTime(new Date());
this.update(deviceStatEntity);
}
}
} catch (Exception e) {
log.error("统计异常", e);
throw new AppException("统计异常!");
}
}
@Override
public Result<DeviceMessageStatEntity> find(DeviceMessageStatEntity query, PageInfo pageInfo, Context context) throws AppException {
Result<DeviceMessageStatEntity> deviceStatEntityResult = new Result<>();
List<DeviceMessageStatEntity> billInfos = this.getDao().getStatList(query, pageInfo);
deviceStatEntityResult.setList(billInfos);
deviceStatEntityResult.setPageInfo(pageInfo);
return deviceStatEntityResult;
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.web;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.device.model.DeviceMessageStatEntity;
import com.mortals.xhx.module.device.service.DeviceMessageStatService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 设备消息统计
*
* @author zxfei
* @date 2024-03-26
*/
@RestController
@RequestMapping("device/message/stat")
public class DeviceMessageStatController extends BaseCRUDJsonBodyMappingController<DeviceMessageStatService, DeviceMessageStatEntity, Long> {
@Autowired
private ParamService paramService;
public DeviceMessageStatController() {
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.DeviceMessageStatDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="DeviceMessageStatEntity" id="DeviceMessageStatEntity-Map">
<id property="id" column="id" />
<result property="siteId" column="siteId" />
<result property="productId" column="productId" />
<result property="productCode" column="productCode" />
<result property="productName" column="productName" />
<result property="alarmTotalCount" column="alarmTotalCount" />
<result property="pushTotalCount" column="pushTotalCount" />
<result property="uploadMessageTotalCount" column="uploadMessageTotalCount" />
<result property="downloadMessageTotalCount" column="downloadMessageTotalCount" />
<result property="year" column="year" />
<result property="month" column="month" />
<result property="day" column="day" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<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('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productCode') or colPickMode == 1 and data.containsKey('productCode')))">
a.productCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productName') or colPickMode == 1 and data.containsKey('productName')))">
a.productName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('alarmTotalCount') or colPickMode == 1 and data.containsKey('alarmTotalCount')))">
a.alarmTotalCount,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('pushTotalCount') or colPickMode == 1 and data.containsKey('pushTotalCount')))">
a.pushTotalCount,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('uploadMessageTotalCount') or colPickMode == 1 and data.containsKey('uploadMessageTotalCount')))">
a.uploadMessageTotalCount,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('downloadMessageTotalCount') or colPickMode == 1 and data.containsKey('downloadMessageTotalCount')))">
a.downloadMessageTotalCount,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('year') or colPickMode == 1 and data.containsKey('year')))">
a.year,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('month') or colPickMode == 1 and data.containsKey('month')))">
a.month,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('day') or colPickMode == 1 and data.containsKey('day')))">
a.day,
</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>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DeviceMessageStatEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_device_message_stat
(siteId,productId,productCode,productName,alarmTotalCount,pushTotalCount,uploadMessageTotalCount,downloadMessageTotalCount,year,month,day,createTime,updateUserId,updateTime)
VALUES
(#{siteId},#{productId},#{productCode},#{productName},#{alarmTotalCount},#{pushTotalCount},#{uploadMessageTotalCount},#{downloadMessageTotalCount},#{year},#{month},#{day},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_device_message_stat
(siteId,productId,productCode,productName,alarmTotalCount,pushTotalCount,uploadMessageTotalCount,downloadMessageTotalCount,year,month,day,createTime,updateUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.productId},#{item.productCode},#{item.productName},#{item.alarmTotalCount},#{item.pushTotalCount},#{item.uploadMessageTotalCount},#{item.downloadMessageTotalCount},#{item.year},#{item.month},#{item.day},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_device_message_stat 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('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productCode')) or (colPickMode==1 and !data.containsKey('productCode'))">
a.productCode=#{data.productCode},
</if>
<if test="(colPickMode==0 and data.containsKey('productName')) or (colPickMode==1 and !data.containsKey('productName'))">
a.productName=#{data.productName},
</if>
<if test="(colPickMode==0 and data.containsKey('alarmTotalCount')) or (colPickMode==1 and !data.containsKey('alarmTotalCount'))">
a.alarmTotalCount=#{data.alarmTotalCount},
</if>
<if test="(colPickMode==0 and data.containsKey('alarmTotalCountIncrement')) or (colPickMode==1 and !data.containsKey('alarmTotalCountIncrement'))">
a.alarmTotalCount=ifnull(a.alarmTotalCount,0) + #{data.alarmTotalCountIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('pushTotalCount')) or (colPickMode==1 and !data.containsKey('pushTotalCount'))">
a.pushTotalCount=#{data.pushTotalCount},
</if>
<if test="(colPickMode==0 and data.containsKey('pushTotalCountIncrement')) or (colPickMode==1 and !data.containsKey('pushTotalCountIncrement'))">
a.pushTotalCount=ifnull(a.pushTotalCount,0) + #{data.pushTotalCountIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('uploadMessageTotalCount')) or (colPickMode==1 and !data.containsKey('uploadMessageTotalCount'))">
a.uploadMessageTotalCount=#{data.uploadMessageTotalCount},
</if>
<if test="(colPickMode==0 and data.containsKey('uploadMessageTotalCountIncrement')) or (colPickMode==1 and !data.containsKey('uploadMessageTotalCountIncrement'))">
a.uploadMessageTotalCount=ifnull(a.uploadMessageTotalCount,0) + #{data.uploadMessageTotalCountIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('downloadMessageTotalCount')) or (colPickMode==1 and !data.containsKey('downloadMessageTotalCount'))">
a.downloadMessageTotalCount=#{data.downloadMessageTotalCount},
</if>
<if test="(colPickMode==0 and data.containsKey('downloadMessageTotalCountIncrement')) or (colPickMode==1 and !data.containsKey('downloadMessageTotalCountIncrement'))">
a.downloadMessageTotalCount=ifnull(a.downloadMessageTotalCount,0) + #{data.downloadMessageTotalCountIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('year')) or (colPickMode==1 and !data.containsKey('year'))">
a.year=#{data.year},
</if>
<if test="(colPickMode==0 and data.containsKey('yearIncrement')) or (colPickMode==1 and !data.containsKey('yearIncrement'))">
a.year=ifnull(a.year,0) + #{data.yearIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('month')) or (colPickMode==1 and !data.containsKey('month'))">
a.month=#{data.month},
</if>
<if test="(colPickMode==0 and data.containsKey('monthIncrement')) or (colPickMode==1 and !data.containsKey('monthIncrement'))">
a.month=ifnull(a.month,0) + #{data.monthIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('day')) or (colPickMode==1 and !data.containsKey('day'))">
a.day=#{data.day},
</if>
<if test="(colPickMode==0 and data.containsKey('dayIncrement')) or (colPickMode==1 and !data.containsKey('dayIncrement'))">
a.day=ifnull(a.day,0) + #{data.dayIncrement},
</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('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</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_message_stat 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="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productCode=(case" suffix="ELSE productCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productCode')) or (colPickMode==1 and !item.containsKey('productCode'))">
when a.id=#{item.id} then #{item.productCode}
</if>
</foreach>
</trim>
<trim prefix="productName=(case" suffix="ELSE productName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productName')) or (colPickMode==1 and !item.containsKey('productName'))">
when a.id=#{item.id} then #{item.productName}
</if>
</foreach>
</trim>
<trim prefix="alarmTotalCount=(case" suffix="ELSE alarmTotalCount end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('alarmTotalCount')) or (colPickMode==1 and !item.containsKey('alarmTotalCount'))">
when a.id=#{item.id} then #{item.alarmTotalCount}
</when>
<when test="(colPickMode==0 and item.containsKey('alarmTotalCountIncrement')) or (colPickMode==1 and !item.containsKey('alarmTotalCountIncrement'))">
when a.id=#{item.id} then ifnull(a.alarmTotalCount,0) + #{item.alarmTotalCountIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="pushTotalCount=(case" suffix="ELSE pushTotalCount end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('pushTotalCount')) or (colPickMode==1 and !item.containsKey('pushTotalCount'))">
when a.id=#{item.id} then #{item.pushTotalCount}
</when>
<when test="(colPickMode==0 and item.containsKey('pushTotalCountIncrement')) or (colPickMode==1 and !item.containsKey('pushTotalCountIncrement'))">
when a.id=#{item.id} then ifnull(a.pushTotalCount,0) + #{item.pushTotalCountIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="uploadMessageTotalCount=(case" suffix="ELSE uploadMessageTotalCount end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('uploadMessageTotalCount')) or (colPickMode==1 and !item.containsKey('uploadMessageTotalCount'))">
when a.id=#{item.id} then #{item.uploadMessageTotalCount}
</when>
<when test="(colPickMode==0 and item.containsKey('uploadMessageTotalCountIncrement')) or (colPickMode==1 and !item.containsKey('uploadMessageTotalCountIncrement'))">
when a.id=#{item.id} then ifnull(a.uploadMessageTotalCount,0) + #{item.uploadMessageTotalCountIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="downloadMessageTotalCount=(case" suffix="ELSE downloadMessageTotalCount end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('downloadMessageTotalCount')) or (colPickMode==1 and !item.containsKey('downloadMessageTotalCount'))">
when a.id=#{item.id} then #{item.downloadMessageTotalCount}
</when>
<when test="(colPickMode==0 and item.containsKey('downloadMessageTotalCountIncrement')) or (colPickMode==1 and !item.containsKey('downloadMessageTotalCountIncrement'))">
when a.id=#{item.id} then ifnull(a.downloadMessageTotalCount,0) + #{item.downloadMessageTotalCountIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="year=(case" suffix="ELSE year end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('year')) or (colPickMode==1 and !item.containsKey('year'))">
when a.id=#{item.id} then #{item.year}
</when>
<when test="(colPickMode==0 and item.containsKey('yearIncrement')) or (colPickMode==1 and !item.containsKey('yearIncrement'))">
when a.id=#{item.id} then ifnull(a.year,0) + #{item.yearIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="month=(case" suffix="ELSE month end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('month')) or (colPickMode==1 and !item.containsKey('month'))">
when a.id=#{item.id} then #{item.month}
</when>
<when test="(colPickMode==0 and item.containsKey('monthIncrement')) or (colPickMode==1 and !item.containsKey('monthIncrement'))">
when a.id=#{item.id} then ifnull(a.month,0) + #{item.monthIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="day=(case" suffix="ELSE day end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('day')) or (colPickMode==1 and !item.containsKey('day'))">
when a.id=#{item.id} then #{item.day}
</when>
<when test="(colPickMode==0 and item.containsKey('dayIncrement')) or (colPickMode==1 and !item.containsKey('dayIncrement'))">
when a.id=#{item.id} then ifnull(a.day,0) + #{item.dayIncrement}
</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>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="DeviceMessageStatEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_message_stat as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_device_message_stat as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_device_message_stat where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_device_message_stat where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_device_message_stat 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_message_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="DeviceMessageStatEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_message_stat 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_message_stat 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('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList') and conditionParamRef.productIdList.size() > 0">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdNotList') and conditionParamRef.productIdNotList.size() > 0">
${_conditionType_} a.productId not in
<foreach collection="conditionParamRef.productIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('productCode')">
<if test="conditionParamRef.productCode != null and conditionParamRef.productCode != ''">
${_conditionType_} a.productCode like #{${_conditionParam_}.productCode}
</if>
<if test="conditionParamRef.productCode == null">
${_conditionType_} a.productCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('productCodeList') and conditionParamRef.productCodeList.size() > 0">
${_conditionType_} a.productCode in
<foreach collection="conditionParamRef.productCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productCodeNotList') and conditionParamRef.productCodeNotList.size() > 0">
${_conditionType_} a.productCode not in
<foreach collection="conditionParamRef.productCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productName')">
<if test="conditionParamRef.productName != null and conditionParamRef.productName != ''">
${_conditionType_} a.productName like #{${_conditionParam_}.productName}
</if>
<if test="conditionParamRef.productName == null">
${_conditionType_} a.productName is null
</if>
</if>
<if test="conditionParamRef.containsKey('productNameList') and conditionParamRef.productNameList.size() > 0">
${_conditionType_} a.productName in
<foreach collection="conditionParamRef.productNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productNameNotList') and conditionParamRef.productNameNotList.size() > 0">
${_conditionType_} a.productName not in
<foreach collection="conditionParamRef.productNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('alarmTotalCount')">
<if test="conditionParamRef.alarmTotalCount != null ">
${_conditionType_} a.alarmTotalCount = #{${_conditionParam_}.alarmTotalCount}
</if>
<if test="conditionParamRef.alarmTotalCount == null">
${_conditionType_} a.alarmTotalCount is null
</if>
</if>
<if test="conditionParamRef.containsKey('alarmTotalCountList') and conditionParamRef.alarmTotalCountList.size() > 0">
${_conditionType_} a.alarmTotalCount in
<foreach collection="conditionParamRef.alarmTotalCountList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('alarmTotalCountNotList') and conditionParamRef.alarmTotalCountNotList.size() > 0">
${_conditionType_} a.alarmTotalCount not in
<foreach collection="conditionParamRef.alarmTotalCountNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('alarmTotalCountStart') and conditionParamRef.alarmTotalCountStart != null">
${_conditionType_} a.alarmTotalCount <![CDATA[ >= ]]> #{${_conditionParam_}.alarmTotalCountStart}
</if>
<if test="conditionParamRef.containsKey('alarmTotalCountEnd') and conditionParamRef.alarmTotalCountEnd != null">
${_conditionType_} a.alarmTotalCount <![CDATA[ <= ]]> #{${_conditionParam_}.alarmTotalCountEnd}
</if>
<if test="conditionParamRef.containsKey('pushTotalCount')">
<if test="conditionParamRef.pushTotalCount != null ">
${_conditionType_} a.pushTotalCount = #{${_conditionParam_}.pushTotalCount}
</if>
<if test="conditionParamRef.pushTotalCount == null">
${_conditionType_} a.pushTotalCount is null
</if>
</if>
<if test="conditionParamRef.containsKey('pushTotalCountList') and conditionParamRef.pushTotalCountList.size() > 0">
${_conditionType_} a.pushTotalCount in
<foreach collection="conditionParamRef.pushTotalCountList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pushTotalCountNotList') and conditionParamRef.pushTotalCountNotList.size() > 0">
${_conditionType_} a.pushTotalCount not in
<foreach collection="conditionParamRef.pushTotalCountNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pushTotalCountStart') and conditionParamRef.pushTotalCountStart != null">
${_conditionType_} a.pushTotalCount <![CDATA[ >= ]]> #{${_conditionParam_}.pushTotalCountStart}
</if>
<if test="conditionParamRef.containsKey('pushTotalCountEnd') and conditionParamRef.pushTotalCountEnd != null">
${_conditionType_} a.pushTotalCount <![CDATA[ <= ]]> #{${_conditionParam_}.pushTotalCountEnd}
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCount')">
<if test="conditionParamRef.uploadMessageTotalCount != null ">
${_conditionType_} a.uploadMessageTotalCount = #{${_conditionParam_}.uploadMessageTotalCount}
</if>
<if test="conditionParamRef.uploadMessageTotalCount == null">
${_conditionType_} a.uploadMessageTotalCount is null
</if>
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCountList') and conditionParamRef.uploadMessageTotalCountList.size() > 0">
${_conditionType_} a.uploadMessageTotalCount in
<foreach collection="conditionParamRef.uploadMessageTotalCountList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCountNotList') and conditionParamRef.uploadMessageTotalCountNotList.size() > 0">
${_conditionType_} a.uploadMessageTotalCount not in
<foreach collection="conditionParamRef.uploadMessageTotalCountNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCountStart') and conditionParamRef.uploadMessageTotalCountStart != null">
${_conditionType_} a.uploadMessageTotalCount <![CDATA[ >= ]]> #{${_conditionParam_}.uploadMessageTotalCountStart}
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCountEnd') and conditionParamRef.uploadMessageTotalCountEnd != null">
${_conditionType_} a.uploadMessageTotalCount <![CDATA[ <= ]]> #{${_conditionParam_}.uploadMessageTotalCountEnd}
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCount')">
<if test="conditionParamRef.downloadMessageTotalCount != null ">
${_conditionType_} a.downloadMessageTotalCount = #{${_conditionParam_}.downloadMessageTotalCount}
</if>
<if test="conditionParamRef.downloadMessageTotalCount == null">
${_conditionType_} a.downloadMessageTotalCount is null
</if>
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCountList') and conditionParamRef.downloadMessageTotalCountList.size() > 0">
${_conditionType_} a.downloadMessageTotalCount in
<foreach collection="conditionParamRef.downloadMessageTotalCountList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCountNotList') and conditionParamRef.downloadMessageTotalCountNotList.size() > 0">
${_conditionType_} a.downloadMessageTotalCount not in
<foreach collection="conditionParamRef.downloadMessageTotalCountNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCountStart') and conditionParamRef.downloadMessageTotalCountStart != null">
${_conditionType_} a.downloadMessageTotalCount <![CDATA[ >= ]]> #{${_conditionParam_}.downloadMessageTotalCountStart}
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCountEnd') and conditionParamRef.downloadMessageTotalCountEnd != null">
${_conditionType_} a.downloadMessageTotalCount <![CDATA[ <= ]]> #{${_conditionParam_}.downloadMessageTotalCountEnd}
</if>
<if test="conditionParamRef.containsKey('year')">
<if test="conditionParamRef.year != null ">
${_conditionType_} a.year = #{${_conditionParam_}.year}
</if>
<if test="conditionParamRef.year == null">
${_conditionType_} a.year is null
</if>
</if>
<if test="conditionParamRef.containsKey('yearList') and conditionParamRef.yearList.size() > 0">
${_conditionType_} a.year in
<foreach collection="conditionParamRef.yearList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearNotList') and conditionParamRef.yearNotList.size() > 0">
${_conditionType_} a.year not in
<foreach collection="conditionParamRef.yearNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearStart') and conditionParamRef.yearStart != null">
${_conditionType_} a.year <![CDATA[ >= ]]> #{${_conditionParam_}.yearStart}
</if>
<if test="conditionParamRef.containsKey('yearEnd') and conditionParamRef.yearEnd != null">
${_conditionType_} a.year <![CDATA[ <= ]]> #{${_conditionParam_}.yearEnd}
</if>
<if test="conditionParamRef.containsKey('month')">
<if test="conditionParamRef.month != null ">
${_conditionType_} a.month = #{${_conditionParam_}.month}
</if>
<if test="conditionParamRef.month == null">
${_conditionType_} a.month is null
</if>
</if>
<if test="conditionParamRef.containsKey('monthList') and conditionParamRef.monthList.size() > 0">
${_conditionType_} a.month in
<foreach collection="conditionParamRef.monthList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('monthNotList') and conditionParamRef.monthNotList.size() > 0">
${_conditionType_} a.month not in
<foreach collection="conditionParamRef.monthNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('monthStart') and conditionParamRef.monthStart != null">
${_conditionType_} a.month <![CDATA[ >= ]]> #{${_conditionParam_}.monthStart}
</if>
<if test="conditionParamRef.containsKey('monthEnd') and conditionParamRef.monthEnd != null">
${_conditionType_} a.month <![CDATA[ <= ]]> #{${_conditionParam_}.monthEnd}
</if>
<if test="conditionParamRef.containsKey('day')">
<if test="conditionParamRef.day != null ">
${_conditionType_} a.day = #{${_conditionParam_}.day}
</if>
<if test="conditionParamRef.day == null">
${_conditionType_} a.day is null
</if>
</if>
<if test="conditionParamRef.containsKey('dayList') and conditionParamRef.dayList.size() > 0">
${_conditionType_} a.day in
<foreach collection="conditionParamRef.dayList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dayNotList') and conditionParamRef.dayNotList.size() > 0">
${_conditionType_} a.day not in
<foreach collection="conditionParamRef.dayNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dayStart') and conditionParamRef.dayStart != null">
${_conditionType_} a.day <![CDATA[ >= ]]> #{${_conditionParam_}.dayStart}
</if>
<if test="conditionParamRef.containsKey('dayEnd') and conditionParamRef.dayEnd != null">
${_conditionType_} a.day <![CDATA[ <= ]]> #{${_conditionParam_}.dayEnd}
</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('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" 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.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
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('productIdList') and conditionParamRef.productIdList.size() > 0">
field(a.productId,
<foreach collection="conditionParamRef.productIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('alarmTotalCountList') and conditionParamRef.alarmTotalCountList.size() > 0">
field(a.alarmTotalCount,
<foreach collection="conditionParamRef.alarmTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('pushTotalCountList') and conditionParamRef.pushTotalCountList.size() > 0">
field(a.pushTotalCount,
<foreach collection="conditionParamRef.pushTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCountList') and conditionParamRef.uploadMessageTotalCountList.size() > 0">
field(a.uploadMessageTotalCount,
<foreach collection="conditionParamRef.uploadMessageTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCountList') and conditionParamRef.downloadMessageTotalCountList.size() > 0">
field(a.downloadMessageTotalCount,
<foreach collection="conditionParamRef.downloadMessageTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('yearList') and conditionParamRef.yearList.size() > 0">
field(a.year,
<foreach collection="conditionParamRef.yearList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('monthList') and conditionParamRef.monthList.size() > 0">
field(a.month,
<foreach collection="conditionParamRef.monthList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('dayList') and conditionParamRef.dayList.size() > 0">
field(a.day,
<foreach collection="conditionParamRef.dayList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
field(a.updateUserId,
<foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
a.${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('productIdList') and conditionParamRef.productIdList.size() > 0">
field(a.productId,
<foreach collection="conditionParamRef.productIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('alarmTotalCountList') and conditionParamRef.alarmTotalCountList.size() > 0">
field(a.alarmTotalCount,
<foreach collection="conditionParamRef.alarmTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('pushTotalCountList') and conditionParamRef.pushTotalCountList.size() > 0">
field(a.pushTotalCount,
<foreach collection="conditionParamRef.pushTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('uploadMessageTotalCountList') and conditionParamRef.uploadMessageTotalCountList.size() > 0">
field(a.uploadMessageTotalCount,
<foreach collection="conditionParamRef.uploadMessageTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('downloadMessageTotalCountList') and conditionParamRef.downloadMessageTotalCountList.size() > 0">
field(a.downloadMessageTotalCount,
<foreach collection="conditionParamRef.downloadMessageTotalCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('yearList') and conditionParamRef.yearList.size() > 0">
field(a.year,
<foreach collection="conditionParamRef.yearList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('monthList') and conditionParamRef.monthList.size() > 0">
field(a.month,
<foreach collection="conditionParamRef.monthList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('dayList') and conditionParamRef.dayList.size() > 0">
field(a.day,
<foreach collection="conditionParamRef.dayList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
field(a.updateUserId,
<foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<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('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productCode')">
a.productCode
<if test='orderCol.productCode != null and "DESC".equalsIgnoreCase(orderCol.productCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productName')">
a.productName
<if test='orderCol.productName != null and "DESC".equalsIgnoreCase(orderCol.productName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('alarmTotalCount')">
a.alarmTotalCount
<if test='orderCol.alarmTotalCount != null and "DESC".equalsIgnoreCase(orderCol.alarmTotalCount)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('pushTotalCount')">
a.pushTotalCount
<if test='orderCol.pushTotalCount != null and "DESC".equalsIgnoreCase(orderCol.pushTotalCount)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('uploadMessageTotalCount')">
a.uploadMessageTotalCount
<if test='orderCol.uploadMessageTotalCount != null and "DESC".equalsIgnoreCase(orderCol.uploadMessageTotalCount)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('downloadMessageTotalCount')">
a.downloadMessageTotalCount
<if test='orderCol.downloadMessageTotalCount != null and "DESC".equalsIgnoreCase(orderCol.downloadMessageTotalCount)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('year')">
a.year
<if test='orderCol.year != null and "DESC".equalsIgnoreCase(orderCol.year)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('month')">
a.month
<if test='orderCol.month != null and "DESC".equalsIgnoreCase(orderCol.month)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('day')">
a.day
<if test='orderCol.day != null and "DESC".equalsIgnoreCase(orderCol.day)'>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>
</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
<?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.DeviceMessageStatDaoImpl">
<!-- 获取统计列表 -->
<select id="getStatList" parameterType="paramDto" resultMap="DeviceStatEntity-Map">
select
<!-- 获取分组字段 -->
<if test="groupList != null and !groupList.isEmpty()">
<foreach collection="groupList" open="" close="" index="index" item="item">
${item},
</foreach>
</if>
id,
siteId,
productId,
productCode,
productName,
createTime,
year,
month,
day,
<!-- 告警数量-->
sum(IFNULL(a.alarmTotalCount, 0)) alarmTotalCount,
<!-- 消息推送数量-->
sum(IFNULL(a.pushTotalCount,0)) pushTotalCount,
sum(IFNULL(a.uploadMessageTotalCount,0)) uploadMessageTotalCount,
sum(IFNULL(a.downloadMessageTotalCount,0)) downloadMessageTotalCount
from mortals_xhx_device_message_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_group_by_"/>
<include refid="_orderCols_"/>
</select>
</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/message/stat/list
Content-Type: application/json
{
"siteId":190,
"productId":709,
"productCode":"Yiwfue",
"productName":"cGCSyE",
"alarmTotalCount":0,
"pushTotalCount":0,
"uploadMessageTotalCount":0,
"downloadMessageTotalCount":0,
"page":1,
"size":10
}
###设备消息统计更新与保存
POST {{baseUrl}}/device/message/stat/save
Authorization: {{authToken}}
Content-Type: application/json
{
"siteId":707,
"productId":130,
"productCode":"eKWzZy",
"productName":"0F6Mab",
"alarmTotalCount":0,
"pushTotalCount":0,
"uploadMessageTotalCount":0,
"downloadMessageTotalCount":0,
"year":580,
"month":584,
"day":16,
}
> {%
client.global.set("DeviceMessageStat_id", JSON.parse(response.body).data.id);
%}
###设备消息统计查看
GET {{baseUrl}}/device/message/stat/info?id={{DeviceMessageStat_id}}
Accept: application/json
###设备消息统计编辑
GET {{baseUrl}}/device/message/stat/edit?id={{DeviceMessageStat_id}}
Accept: application/json
###设备消息统计删除
GET {{baseUrl}}/device/message/stat/delete?id={{DeviceMessageStat_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