diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java index ad803a5..c11a7ea 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java index ad803a5..c11a7ea 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java index d57eb0c..059e722 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java index ad803a5..c11a7ea 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java index d57eb0c..059e722 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java index 2b48763..cf9d868 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java @@ -1,14 +1,16 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +20,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_minite_data") public class BizMiniteData extends Model { @@ -79,112 +82,10 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getDeviceNo() { - return deviceNo; - } - - public void setDeviceNo(String deviceNo) { - this.deviceNo = deviceNo; - } - - public Double getPm25() { - return pm25; - } - - public void setPm25(Double pm25) { - this.pm25 = pm25; - } - - public Double getPm10() { - return pm10; - } - - public void setPm10(Double pm10) { - this.pm10 = pm10; - } - - public Double getTsp() { - return tsp; - } - - public void setTsp(Double tsp) { - this.tsp = tsp; - } - - public Double getNoise() { - return noise; - } - - public void setNoise(Double noise) { - this.noise = noise; - } - - public Double getWindSpeed() { - return windSpeed; - } - - public void setWindSpeed(Double windSpeed) { - this.windSpeed = windSpeed; - } - - public Double getWindDirection() { - return windDirection; - } - - public void setWindDirection(Double windDirection) { - this.windDirection = windDirection; - } - - public Double getWindPower() { - return windPower; - } - - public void setWindPower(Double windPower) { - this.windPower = windPower; - } - - public Double getTemperature() { - return temperature; - } - - public void setTemperature(Double temperature) { - this.temperature = temperature; - } - - public Double getHumidity() { - return humidity; - } - - public void setHumidity(Double humidity) { - this.humidity = humidity; - } - - public Double getPressure() { - return pressure; - } - - public void setPressure(Double pressure) { - this.pressure = pressure; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } + @TableField(exist = false) + private String deviceName; @Override protected Serializable pkVal() { @@ -194,19 +95,19 @@ @Override public String toString() { return "BizMiniteData{" + - "id=" + id + - ", deviceNo=" + deviceNo + - ", pm25=" + pm25 + - ", pm10=" + pm10 + - ", tsp=" + tsp + - ", noise=" + noise + - ", windSpeed=" + windSpeed + - ", windDirection=" + windDirection + - ", windPower=" + windPower + - ", temperature=" + temperature + - ", humidity=" + humidity + - ", pressure=" + pressure + - ", ts=" + ts + - "}"; + "id=" + id + + ", deviceNo=" + deviceNo + + ", pm25=" + pm25 + + ", pm10=" + pm10 + + ", tsp=" + tsp + + ", noise=" + noise + + ", windSpeed=" + windSpeed + + ", windDirection=" + windDirection + + ", windPower=" + windPower + + ", temperature=" + temperature + + ", humidity=" + humidity + + ", pressure=" + pressure + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java index ad803a5..c11a7ea 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java index d57eb0c..059e722 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java index 2b48763..cf9d868 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java @@ -1,14 +1,16 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +20,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_minite_data") public class BizMiniteData extends Model { @@ -79,112 +82,10 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getDeviceNo() { - return deviceNo; - } - - public void setDeviceNo(String deviceNo) { - this.deviceNo = deviceNo; - } - - public Double getPm25() { - return pm25; - } - - public void setPm25(Double pm25) { - this.pm25 = pm25; - } - - public Double getPm10() { - return pm10; - } - - public void setPm10(Double pm10) { - this.pm10 = pm10; - } - - public Double getTsp() { - return tsp; - } - - public void setTsp(Double tsp) { - this.tsp = tsp; - } - - public Double getNoise() { - return noise; - } - - public void setNoise(Double noise) { - this.noise = noise; - } - - public Double getWindSpeed() { - return windSpeed; - } - - public void setWindSpeed(Double windSpeed) { - this.windSpeed = windSpeed; - } - - public Double getWindDirection() { - return windDirection; - } - - public void setWindDirection(Double windDirection) { - this.windDirection = windDirection; - } - - public Double getWindPower() { - return windPower; - } - - public void setWindPower(Double windPower) { - this.windPower = windPower; - } - - public Double getTemperature() { - return temperature; - } - - public void setTemperature(Double temperature) { - this.temperature = temperature; - } - - public Double getHumidity() { - return humidity; - } - - public void setHumidity(Double humidity) { - this.humidity = humidity; - } - - public Double getPressure() { - return pressure; - } - - public void setPressure(Double pressure) { - this.pressure = pressure; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } + @TableField(exist = false) + private String deviceName; @Override protected Serializable pkVal() { @@ -194,19 +95,19 @@ @Override public String toString() { return "BizMiniteData{" + - "id=" + id + - ", deviceNo=" + deviceNo + - ", pm25=" + pm25 + - ", pm10=" + pm10 + - ", tsp=" + tsp + - ", noise=" + noise + - ", windSpeed=" + windSpeed + - ", windDirection=" + windDirection + - ", windPower=" + windPower + - ", temperature=" + temperature + - ", humidity=" + humidity + - ", pressure=" + pressure + - ", ts=" + ts + - "}"; + "id=" + id + + ", deviceNo=" + deviceNo + + ", pm25=" + pm25 + + ", pm10=" + pm10 + + ", tsp=" + tsp + + ", noise=" + noise + + ", windSpeed=" + windSpeed + + ", windDirection=" + windDirection + + ", windPower=" + windPower + + ", temperature=" + temperature + + ", humidity=" + humidity + + ", pressure=" + pressure + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java new file mode 100644 index 0000000..57729b8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java @@ -0,0 +1,70 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.BizMiniteData; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.BiFunction; +import java.util.function.Supplier; + +/** + * 数据查询视图对象 + * + * @author lenovo + */ +@Data +public class DataVO { + /** + * + */ + private String deviceNo; + /** + * 查询类型: + * minute分钟平均值 + * hour小时平均值 + * day日平均值 + */ + private String searchType; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 查询参数构造 + * + * @return 检索参数 + */ + public BiFunction, EntityWrapper> convertQuery() { + return (vo, query) -> { + if (ToolUtil.isNotEmpty(vo.getDeviceNo())) { + query.like("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getStartDate())) { + query.ge("ts", vo.getStartDate()); + } + if (StringUtils.isNotEmpty(vo.getEndDate())) { + query.le("ts", vo.getEndDate()); + } + query.orderBy("ts", false); + return query; + }; + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java index ad803a5..c11a7ea 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java index d57eb0c..059e722 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java index 2b48763..cf9d868 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java @@ -1,14 +1,16 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +20,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_minite_data") public class BizMiniteData extends Model { @@ -79,112 +82,10 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getDeviceNo() { - return deviceNo; - } - - public void setDeviceNo(String deviceNo) { - this.deviceNo = deviceNo; - } - - public Double getPm25() { - return pm25; - } - - public void setPm25(Double pm25) { - this.pm25 = pm25; - } - - public Double getPm10() { - return pm10; - } - - public void setPm10(Double pm10) { - this.pm10 = pm10; - } - - public Double getTsp() { - return tsp; - } - - public void setTsp(Double tsp) { - this.tsp = tsp; - } - - public Double getNoise() { - return noise; - } - - public void setNoise(Double noise) { - this.noise = noise; - } - - public Double getWindSpeed() { - return windSpeed; - } - - public void setWindSpeed(Double windSpeed) { - this.windSpeed = windSpeed; - } - - public Double getWindDirection() { - return windDirection; - } - - public void setWindDirection(Double windDirection) { - this.windDirection = windDirection; - } - - public Double getWindPower() { - return windPower; - } - - public void setWindPower(Double windPower) { - this.windPower = windPower; - } - - public Double getTemperature() { - return temperature; - } - - public void setTemperature(Double temperature) { - this.temperature = temperature; - } - - public Double getHumidity() { - return humidity; - } - - public void setHumidity(Double humidity) { - this.humidity = humidity; - } - - public Double getPressure() { - return pressure; - } - - public void setPressure(Double pressure) { - this.pressure = pressure; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } + @TableField(exist = false) + private String deviceName; @Override protected Serializable pkVal() { @@ -194,19 +95,19 @@ @Override public String toString() { return "BizMiniteData{" + - "id=" + id + - ", deviceNo=" + deviceNo + - ", pm25=" + pm25 + - ", pm10=" + pm10 + - ", tsp=" + tsp + - ", noise=" + noise + - ", windSpeed=" + windSpeed + - ", windDirection=" + windDirection + - ", windPower=" + windPower + - ", temperature=" + temperature + - ", humidity=" + humidity + - ", pressure=" + pressure + - ", ts=" + ts + - "}"; + "id=" + id + + ", deviceNo=" + deviceNo + + ", pm25=" + pm25 + + ", pm10=" + pm10 + + ", tsp=" + tsp + + ", noise=" + noise + + ", windSpeed=" + windSpeed + + ", windDirection=" + windDirection + + ", windPower=" + windPower + + ", temperature=" + temperature + + ", humidity=" + humidity + + ", pressure=" + pressure + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java new file mode 100644 index 0000000..57729b8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java @@ -0,0 +1,70 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.BizMiniteData; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.BiFunction; +import java.util.function.Supplier; + +/** + * 数据查询视图对象 + * + * @author lenovo + */ +@Data +public class DataVO { + /** + * + */ + private String deviceNo; + /** + * 查询类型: + * minute分钟平均值 + * hour小时平均值 + * day日平均值 + */ + private String searchType; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 查询参数构造 + * + * @return 检索参数 + */ + public BiFunction, EntityWrapper> convertQuery() { + return (vo, query) -> { + if (ToolUtil.isNotEmpty(vo.getDeviceNo())) { + query.like("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getStartDate())) { + query.ge("ts", vo.getStartDate()); + } + if (StringUtils.isNotEmpty(vo.getEndDate())) { + query.le("ts", vo.getEndDate()); + } + query.orderBy("ts", false); + return query; + }; + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java index 1a1cfd5..5321ec6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizMiniteData; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.model.BizMiniteData; + +import java.io.Serializable; +import java.util.List; /** *

@@ -13,4 +19,20 @@ */ public interface IBizMiniteDataService extends IService { + /** + * 检索设备实时数据列表页 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 设备实时数据列表 + */ + List selectRealPage(Page page, EntityWrapper query); + + /** + * 查询最新数据主键 + * @param deviceNo 设备编号 + * @param bizMiniteDataQuery 检索条件 + * @return 主键信息 + */ + Long selectRealMiniteData(String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java new file mode 100644 index 0000000..7151320 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constants/SearchTypeEnum.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 检索类型枚举 + * + * @author lenovo + */ +public enum SearchTypeEnum { + + /** + * 检索类型枚举 + */ + MINUTE("minute", "分钟平均值"), + HOUR("hour", "小时平均值"), + DAY("day", "日平均值"); + + private String type; + + private String remarks; + + SearchTypeEnum(String type, String remarks) { + this.type = type; + this.remarks = remarks; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java deleted file mode 100644 index fd53018..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizDayDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizDayData; -import com.casic.missiles.modular.system.service.IBizDayDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:38:58 - */ -@Controller -@RequestMapping("/bizDayData") -public class BizDayDataController extends BaseController { - - - @Autowired - private IBizDayDataService bizDayDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizDayDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizDayDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizDayData bizDayData) { - bizDayDataService.insert(bizDayData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizDayDataId) { - bizDayDataService.deleteById(bizDayDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizDayDataIds") List bizDayDataIds) { - bizDayDataService.deleteBatchIds(bizDayDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizDayData bizDayData) { - bizDayDataService.updateById(bizDayData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizDayDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizDayDataId") String bizDayDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizDayDataService.selectById(bizDayDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java deleted file mode 100644 index 1bc49ea..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizHourDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizHourData; -import com.casic.missiles.modular.system.service.IBizHourDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:03 - */ -@Controller -@RequestMapping("/bizHourData") -public class BizHourDataController extends BaseController { - - - @Autowired - private IBizHourDataService bizHourDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizHourDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizHourDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizHourData bizHourData) { - bizHourDataService.insert(bizHourData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizHourDataId) { - bizHourDataService.deleteById(bizHourDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizHourDataIds") List bizHourDataIds) { - bizHourDataService.deleteBatchIds(bizHourDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizHourData bizHourData) { - bizHourDataService.updateById(bizHourData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizHourDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizHourDataId") String bizHourDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizHourDataService.selectById(bizHourDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java deleted file mode 100644 index 5f910ee..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizMiniteDataController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; - -/** - * 控制器 - * - * @author dev - * @Date 2021-07-26 14:39:06 - */ -@Controller -@RequestMapping("/bizMiniteData") -public class BizMiniteDataController extends BaseController { - - - @Autowired - private IBizMiniteDataService bizMiniteDataService; - - - /** - * 获取列表 - */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizMiniteDataService.selectList(null); - } - - /** - * 获取分页列表 - */ - @RequestMapping(value = "/listPage") - @ResponseBody - public Object listPage(String condition) { - Page page = new PageFactory().defaultPage(); - EntityWrapper query = new EntityWrapper<>(); - page = bizMiniteDataService.selectPage(page,query); - return super.packForBT(page); - } - /** - * 新增 - */ - @RequestMapping(value = "/add") - @ResponseBody - public Object add(BizMiniteData bizMiniteData) { - bizMiniteDataService.insert(bizMiniteData); - return ResponseData.success(); - } - - /** - * 删除 - */ - @RequestMapping(value = "/delete") - @ResponseBody - public Object delete(@RequestParam String bizMiniteDataId) { - bizMiniteDataService.deleteById(bizMiniteDataId); - return ResponseData.success(); - } - - /** - * 批量删除 - */ - @RequestMapping(value = "/batchDelete") - @ResponseBody - public Object delete(@RequestParam("bizMiniteDataIds") List bizMiniteDataIds) { - bizMiniteDataService.deleteBatchIds(bizMiniteDataIds); - return ResponseData.success(); - } - - /** - * 修改 - */ - @RequestMapping(value = "/update") - @ResponseBody - public Object update(BizMiniteData bizMiniteData) { - bizMiniteDataService.updateById(bizMiniteData); - return ResponseData.success(); - } - -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{bizMiniteDataId}") -// @ResponseBody -// public Object detail(@PathVariable("bizMiniteDataId") String bizMiniteDataId) { -// ResultData resultData = new ResultData(); -// resultData.setCode(200); -// resultData.setMessage("查询详情成功"); -// resultData.setData(bizMiniteDataService.selectById(bizMiniteDataId)); -// return resultData; -// } -} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java index 313603c..79a4798 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizSensorController.java @@ -1,19 +1,18 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; import com.casic.missiles.modular.system.model.BizSensor; import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -26,8 +25,11 @@ public class BizSensorController extends BaseController { - @Autowired - private IBizSensorService bizSensorService; + private final IBizSensorService bizSensorService; + + public BizSensorController(IBizSensorService bizSensorService) { + this.bizSensorService = bizSensorService; + } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java new file mode 100644 index 0000000..ff73b0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DeviceDataController.java @@ -0,0 +1,119 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.constants.SearchTypeEnum; +import com.casic.missiles.modular.system.model.BizDayData; +import com.casic.missiles.modular.system.model.BizHourData; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.model.vo.DataVO; +import com.casic.missiles.modular.system.service.IBizDayDataService; +import com.casic.missiles.modular.system.service.IBizHourDataService; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 控制器 + * + * @author dev + * @Date 2021-07-26 14:39:06 + */ +@Controller +@RequestMapping("/data") +public class DeviceDataController extends BaseController { + @Value("${casic.env.data.intervalQueryTime:60}") + private Long intervalQueryTime; + private final IBizDayDataService bizDayDataService; + private final IBizMiniteDataService bizMiniteDataService; + private final IBizHourDataService bizHourDataService; + + public DeviceDataController(IBizDayDataService bizDayDataService, IBizMiniteDataService bizMiniteDataService, IBizHourDataService bizHourDataService) { + this.bizDayDataService = bizDayDataService; + this.bizMiniteDataService = bizMiniteDataService; + this.bizHourDataService = bizHourDataService; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + + return bizMiniteDataService.selectList(null); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/real") + @ResponseBody + public Object real(String condition) { + Page page = new PageFactory().defaultPage(); + + EntityWrapper query = new EntityWrapper<>(); + query.eq("del_flag", 0); + query.orderBy("device_no"); + List lists = bizMiniteDataService.selectRealPage(page, query); + Page miniteData = new PageFactory().defaultPage(); + miniteData.setTotal(page.getTotal()); + miniteData.setRecords(lists); + return ResponseData.success(super.packForBT(miniteData)); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyDataPage") + @ResponseBody + public Object historyDataPage(DataVO vo) { + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizMiniteDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizHourDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + Page page = new PageFactory().defaultPage(); + return ResponseData.success(super.packForBT(bizDayDataService.selectPage(page, (Wrapper) vo.convertQuery().apply(vo, new EntityWrapper())))); + } + return ResponseData.error("请求参数有误"); + } + + /** + * 获取分页列表 + */ + @GetMapping(value = "/historyData") + @ResponseBody + public Object historyData(DataVO vo) { + if (!ToolUtil.isOneEmpty(vo.getStartDate(), vo.getEndDate())) { + Long day = DateUtil.getDaySub(vo.getStartDate(), vo.getEndDate()); + if (day > intervalQueryTime) { + return ResponseData.error("目前系统支持查询最大间隔时间为" + intervalQueryTime + "天"); + } + } + + if (SearchTypeEnum.MINUTE.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizMiniteDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.HOUR.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizHourDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } else if (SearchTypeEnum.DAY.getType().equals(vo.getSearchType())) { + return ResponseData.success(bizDayDataService.selectList((Wrapper) vo.convertQuery().apply(vo, new EntityWrapper()))); + } + return ResponseData.error("请求参数有误"); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java index 087f09b..1d78ff2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizMiniteDataMapper.java @@ -1,7 +1,11 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizMiniteData; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.io.Serializable; /** *

@@ -13,4 +17,5 @@ */ public interface BizMiniteDataMapper extends BaseMapper { + Long selectRealMiniteData(@Param("deviceNo") String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index f08ce83..db4a16a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -4,24 +4,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id, device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + id + , device_no AS deviceNo, pm25, pm10, tsp, noise, wind_speed AS windSpeed, wind_direction AS windDirection, wind_power AS windPower, temperature, humidity, pressure, ts + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java index ad803a5..c11a7ea 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizDayData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java index d57eb0c..059e722 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizHourData.java @@ -2,12 +2,15 @@ import java.io.Serializable; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.enums.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import com.casic.missiles.core.base.json.DateDeserializer; + import java.io.Serializable; /** @@ -79,6 +82,7 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java index 2b48763..cf9d868 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizMiniteData.java @@ -1,14 +1,16 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +20,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_minite_data") public class BizMiniteData extends Model { @@ -79,112 +82,10 @@ /** * 记录时间,到分 */ + @JSONField(serializeUsing = DateDeserializer.class) private Date ts; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getDeviceNo() { - return deviceNo; - } - - public void setDeviceNo(String deviceNo) { - this.deviceNo = deviceNo; - } - - public Double getPm25() { - return pm25; - } - - public void setPm25(Double pm25) { - this.pm25 = pm25; - } - - public Double getPm10() { - return pm10; - } - - public void setPm10(Double pm10) { - this.pm10 = pm10; - } - - public Double getTsp() { - return tsp; - } - - public void setTsp(Double tsp) { - this.tsp = tsp; - } - - public Double getNoise() { - return noise; - } - - public void setNoise(Double noise) { - this.noise = noise; - } - - public Double getWindSpeed() { - return windSpeed; - } - - public void setWindSpeed(Double windSpeed) { - this.windSpeed = windSpeed; - } - - public Double getWindDirection() { - return windDirection; - } - - public void setWindDirection(Double windDirection) { - this.windDirection = windDirection; - } - - public Double getWindPower() { - return windPower; - } - - public void setWindPower(Double windPower) { - this.windPower = windPower; - } - - public Double getTemperature() { - return temperature; - } - - public void setTemperature(Double temperature) { - this.temperature = temperature; - } - - public Double getHumidity() { - return humidity; - } - - public void setHumidity(Double humidity) { - this.humidity = humidity; - } - - public Double getPressure() { - return pressure; - } - - public void setPressure(Double pressure) { - this.pressure = pressure; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } + @TableField(exist = false) + private String deviceName; @Override protected Serializable pkVal() { @@ -194,19 +95,19 @@ @Override public String toString() { return "BizMiniteData{" + - "id=" + id + - ", deviceNo=" + deviceNo + - ", pm25=" + pm25 + - ", pm10=" + pm10 + - ", tsp=" + tsp + - ", noise=" + noise + - ", windSpeed=" + windSpeed + - ", windDirection=" + windDirection + - ", windPower=" + windPower + - ", temperature=" + temperature + - ", humidity=" + humidity + - ", pressure=" + pressure + - ", ts=" + ts + - "}"; + "id=" + id + + ", deviceNo=" + deviceNo + + ", pm25=" + pm25 + + ", pm10=" + pm10 + + ", tsp=" + tsp + + ", noise=" + noise + + ", windSpeed=" + windSpeed + + ", windDirection=" + windDirection + + ", windPower=" + windPower + + ", temperature=" + temperature + + ", humidity=" + humidity + + ", pressure=" + pressure + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java new file mode 100644 index 0000000..57729b8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/DataVO.java @@ -0,0 +1,70 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.BizMiniteData; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.BiFunction; +import java.util.function.Supplier; + +/** + * 数据查询视图对象 + * + * @author lenovo + */ +@Data +public class DataVO { + /** + * + */ + private String deviceNo; + /** + * 查询类型: + * minute分钟平均值 + * hour小时平均值 + * day日平均值 + */ + private String searchType; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 查询参数构造 + * + * @return 检索参数 + */ + public BiFunction, EntityWrapper> convertQuery() { + return (vo, query) -> { + if (ToolUtil.isNotEmpty(vo.getDeviceNo())) { + query.like("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getStartDate())) { + query.ge("ts", vo.getStartDate()); + } + if (StringUtils.isNotEmpty(vo.getEndDate())) { + query.le("ts", vo.getEndDate()); + } + query.orderBy("ts", false); + return query; + }; + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java index 1a1cfd5..5321ec6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizMiniteDataService.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizMiniteData; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.system.model.BizMiniteData; + +import java.io.Serializable; +import java.util.List; /** *

@@ -13,4 +19,20 @@ */ public interface IBizMiniteDataService extends IService { + /** + * 检索设备实时数据列表页 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 设备实时数据列表 + */ + List selectRealPage(Page page, EntityWrapper query); + + /** + * 查询最新数据主键 + * @param deviceNo 设备编号 + * @param bizMiniteDataQuery 检索条件 + * @return 主键信息 + */ + Long selectRealMiniteData(String deviceNo, EntityWrapper bizMiniteDataQuery); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizMiniteDataServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizMiniteDataServiceImpl.java index da858a5..dfcaaa0 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizMiniteDataServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizMiniteDataServiceImpl.java @@ -1,10 +1,18 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.modular.system.model.BizMiniteData; -import com.casic.missiles.modular.system.dao.BizMiniteDataMapper; -import com.casic.missiles.modular.system.service.IBizMiniteDataService; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.modular.device.model.Device; +import com.casic.missiles.modular.device.service.IDeviceService; +import com.casic.missiles.modular.system.dao.BizMiniteDataMapper; +import com.casic.missiles.modular.system.model.BizMiniteData; +import com.casic.missiles.modular.system.service.IBizMiniteDataService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -16,5 +24,33 @@ */ @Service public class BizMiniteDataServiceImpl extends ServiceImpl implements IBizMiniteDataService { + private final IDeviceService deviceService; -} + public BizMiniteDataServiceImpl(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public List selectRealPage(Page page, EntityWrapper query) { + List devices = deviceService.selectPage(page, null).getRecords(); + return devices.stream().map(device -> { + EntityWrapper bizMiniteDataQuery = new EntityWrapper<>(); + Long maxId = this.selectRealMiniteData(device.getDeviceNo(), bizMiniteDataQuery); + EntityWrapper miniteData = new EntityWrapper<>(); + miniteData.eq("id", maxId); + BizMiniteData bizMiniteData = this.selectById(maxId); + if (bizMiniteData == null) { + bizMiniteData = new BizMiniteData(); + } + bizMiniteData.setDeviceName(device.getDeviceName()); + bizMiniteData.setDeviceNo(device.getDeviceNo()); + return bizMiniteData; + }).collect(Collectors.toList()); + } + + @Override + public Long selectRealMiniteData(String deviceNo, EntityWrapper bizMiniteDataQuery) { + return this.baseMapper.selectRealMiniteData(deviceNo, bizMiniteDataQuery); + } +} \ No newline at end of file