diff --git a/sql/sql b/sql/sql new file mode 100644 index 0000000..c8c3bce --- /dev/null +++ b/sql/sql @@ -0,0 +1,18 @@ +CREATE TABLE `terminal_main_favors` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', + `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `name_UNIQUE` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +CREATE TABLE `terminal_favors` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', + `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间', + `main_id` int DEFAULT NULL COMMENT '一级文件夹id', + PRIMARY KEY (`id`), + UNIQUE KEY `name_UNIQUE` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; \ No newline at end of file diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenXJController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenXJController.java new file mode 100644 index 0000000..2ff8e4b --- /dev/null +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenXJController.java @@ -0,0 +1,87 @@ +package com.shxy.xymanager_admin.controller; + +import cn.hutool.json.JSONObject; +import com.shxy.xymanager_common.annotation.Log; +import com.shxy.xymanager_common.base.BaseController; +import com.shxy.xymanager_common.base.ResponseReult; +import com.shxy.xymanager_common.bean.ServiceBody; +import com.shxy.xymanager_common.bean.ServiceStatus; +import com.shxy.xymanager_common.model.OpenTerminalsModel; +import com.shxy.xymanager_common.model.TerminalPhotoListForOpenModel; +import com.shxy.xymanager_common.model.TerminalStatisticsModel; +import com.shxy.xymanager_common.util.xinyin.HeaderUtil; +import com.shxy.xymanager_common.vo.*; +import com.shxy.xymanager_service.service.OpenService; +import com.shxy.xymanager_service.service.TerminalPhotoService; +import com.shxy.xymanager_service.service.TerminalService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +@Api(value = "新疆平台接口", tags = "新疆平台相关") +@RestController +@Slf4j +public class OpenXJController extends BaseController { + + @Autowired + TerminalPhotoService terminalPhotoService; + + @Autowired + TerminalService terminalService; + + @Autowired + OpenService openService; + + @ApiOperation(value = "新疆设备列表接口", notes = "新疆设备列表接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/getXJDeviceList") + @Log(title = "设备列表接口", type = "查询") + public ResponseReult> getDeviceListForXJ() { + ServiceBody> serviceBody = openService.getDeviceListForXJ(); + if (serviceBody.getCode() == ServiceStatus.SUCCESS) { + return ResponseReult.success(serviceBody.getData()); + } else { + return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg()); + } + } + + @ApiOperation(value = "新疆图片查询", notes = "新疆图片查询", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/getXJPhotoList") + @Log(title = "对外图片查询", type = "查询") + public ResponseReult getXJPhotoList(@RequestHeader HttpHeaders headers, @RequestBody @Validated OpenTerminalAndTimeVo vo) { + String requestIp = HeaderUtil.getRequestIp(headers); + ServiceBody serviceBody = terminalPhotoService.getPhotoListForOpen(requestIp, vo); + if (serviceBody.getCode() == ServiceStatus.SUCCESS) { + return ResponseReult.success(serviceBody.getData()); + } else { + return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg()); + } + } + + @ApiOperation(value = "新疆远程拍照(短视频)控制", notes = "新疆远程拍照(短视频)控制接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 1, message = "设备参数缺少"), @ApiResponse(code = 2, message = "设备不存在")}) + @RequestMapping("/ctrlXJCmaDeviceCapture") + @Log(title = "远程拍照(短视频)控制", type = "查询") + public ResponseReult ctrlCmaDeviceCapture(@RequestBody @Validated OpenXJDeviceCaptureVo vo) { + ServiceBody serviceBody = openService.ctrlXJCmaDeviceCapture(vo); + if (serviceBody.getCode() == ServiceStatus.SUCCESS) { + return ResponseReult.success(serviceBody.getData()); + } else { + return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg()); + } + } + +} diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java index c819d24..d6f1604 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java @@ -6,6 +6,7 @@ import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.entity.TerminalFavors; +import com.shxy.xymanager_common.entity.TerminalMainFavors; import com.shxy.xymanager_common.excelbean.TerminalAndLastPicListExcelModel; import com.shxy.xymanager_common.excelbean.TerminalListExcelModel; import com.shxy.xymanager_common.model.*; @@ -290,12 +291,50 @@ public class TerminalController extends BaseController { } } + @ApiOperation(value = "获取一级收藏夹接口", notes = "获取收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/listMainFavor") + @Log(title = "获取收藏夹接口", type = "查询") + public ResponseReult> getMainFavorList() { + List serviceBody = terminalService.getMainFavorList(); + return ResponseReult.success(serviceBody); + } + + @ApiOperation(value = "新增一级收藏夹接口", notes = "新增收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/addMainFavor") + @Log(title = "新增收藏夹接口", type = "新增") + public ResponseReult addMainFavor(@RequestBody TerminalMainFavors vo) { + String serviceBody = terminalService.addMainFavor(vo); + return ResponseReult.success(serviceBody); + } + + + @ApiOperation(value = "修改一级收藏夹接口", notes = "修改收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/updateMainFavor") + @Log(title = "修改收藏夹接口", type = "修改") + public ResponseReult updateMainFavor(@RequestBody TerminalMainFavors vo) { + String serviceBody = terminalService.updateMainFavor(vo); + return ResponseReult.success(serviceBody); + } + + @ApiOperation(value = "删除一级收藏夹接口", notes = "删除收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/deleteMainFavor") + @Log(title = "删除收藏夹接口", type = "删除") + public ResponseReult deleteMainFavor(@RequestBody TerminalMainFavors vo) { + String serviceBody = terminalService.deleteMainFavor(vo); + return ResponseReult.success(serviceBody); + } + + @ApiOperation(value = "获取收藏夹接口", notes = "获取收藏夹接口", httpMethod = "POST") @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/listFavor") @Log(title = "获取收藏夹接口", type = "查询") - public ResponseReult> getFavorList() { - List serviceBody = terminalService.getFavorList(); + public ResponseReult> getFavorList(@Param("mainid") Integer id) { + List serviceBody = terminalService.getFavorList(id); return ResponseReult.success(serviceBody); } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/OpenTerminalsAndStatusDto.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/OpenTerminalsAndStatusDto.java new file mode 100644 index 0000000..bd8a312 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/OpenTerminalsAndStatusDto.java @@ -0,0 +1,94 @@ +package com.shxy.xymanager_common.dto; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUnit; +import com.shxy.xymanager_common.enums.CommonStatus; +import com.shxy.xymanager_common.util.MyDateUtils; +import com.shxy.xymanager_common.util.xinyin.TerminalUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigInteger; +import java.util.Date; + +@Data +@ApiModel(value = "对外设备列表", description = "对外设备列表") +public class OpenTerminalsAndStatusDto implements Serializable { + + @ApiModelProperty(value = "id", example = "123456") + private Integer id; + + @ApiModelProperty(value = "装置编号", example = "123456") + private String cmdid; + + @ApiModelProperty(value = "装置原始编号", example = "123456") + private Short orgId; + + @ApiModelProperty(value = "装置名称", example = "123456") + private String equipName; + + @ApiModelProperty(value = "装置显示名称", example = "123456") + private String displayName; + + private String model; + + @ApiModelProperty(value = "装置出厂版本", example = "123456") + private String essentialInfoVersion; + + private Integer hasPan; + + @ApiModelProperty(value = "装置生产厂家", example = "123456") + private String bsManufacturer; + + @ApiModelProperty(value = "装置生产日期", example = "123456") + private Date bsProductionDate; + + @ApiModelProperty(value = "装置出厂编号", example = "123456") + private String bsIdentifier; + + @ApiModelProperty(value = "纬度", example = "123456") + private Double latitude; + + @ApiModelProperty(value = "经度", example = "123456") + private Double longitude; + + private Integer status; + + @ApiModelProperty(value = "规约编号", example = "123456") + private Integer protocol; + + private Short signalStrength4g; + + private BigInteger bootTime; + + private float batteryCapacity; + + private float batteryVoltage; + + private BigInteger lastHeartbeat; + + @ApiModelProperty(value = "在线状态", example = "0--掉线1--在线") + private Integer onlinestatus; + + public Integer getOnlinestatus() { + if (lastHeartbeat == null) { + return CommonStatus.DELETE.value(); + } + long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue()); + DateTime date = MyDateUtils.date(time); + long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE); + if (between > TerminalUtils.hearttime) { + return CommonStatus.DELETE.value(); + } else { + return CommonStatus.EFFECTIVE.value(); + } + } + private String sim; + private Date workingDate; + private Integer netType; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalMainFavors.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalMainFavors.java new file mode 100644 index 0000000..c166ec5 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalMainFavors.java @@ -0,0 +1,20 @@ +package com.shxy.xymanager_common.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class TerminalMainFavors implements Serializable { + private Integer id; + + private String name; + + private Date createTime; + + private Date updateTime; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalMainFavorsExample.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalMainFavorsExample.java new file mode 100644 index 0000000..f42fe34 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalMainFavorsExample.java @@ -0,0 +1,451 @@ +package com.shxy.xymanager_common.entity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class TerminalMainFavorsExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public TerminalMainFavorsExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNull() { + addCriterion("update_time is null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNotNull() { + addCriterion("update_time is not null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeEqualTo(Date value) { + addCriterion("update_time =", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotEqualTo(Date value) { + addCriterion("update_time <>", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThan(Date value) { + addCriterion("update_time >", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("update_time >=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThan(Date value) { + addCriterion("update_time <", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { + addCriterion("update_time <=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIn(List values) { + addCriterion("update_time in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotIn(List values) { + addCriterion("update_time not in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeBetween(Date value1, Date value2) { + addCriterion("update_time between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { + addCriterion("update_time not between", value1, value2, "updateTime"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineTreeListModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineTreeListModel.java index 24b9e76..b99f3f7 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineTreeListModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineTreeListModel.java @@ -30,6 +30,9 @@ public class DyLineTreeListModel implements Serializable { @ApiModelProperty(value = "电压编号", example = "123456") private Integer id; + @ApiModelProperty(value = "电压类型", example = "1---收藏夹 2--电压") + private Integer type; + @ApiModelProperty(value = "电压名称", example = "AAAA") private String name; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/OpenTerminalsModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/OpenTerminalsModel.java new file mode 100644 index 0000000..80c3792 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/OpenTerminalsModel.java @@ -0,0 +1,72 @@ +package com.shxy.xymanager_common.model; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUnit; +import com.shxy.xymanager_common.enums.CommonStatus; +import com.shxy.xymanager_common.util.MyDateUtils; +import com.shxy.xymanager_common.util.xinyin.TerminalUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigInteger; +import java.util.Date; + +@Data +@ApiModel(value = "对外设备列表", description = "对外设备列表") +public class OpenTerminalsModel implements Serializable { + + @ApiModelProperty(value = "id", example = "123456") + private Integer id; + + @ApiModelProperty(value = "装置编号", example = "123456") + private String cmdid; + + @ApiModelProperty(value = "装置显示名称", example = "123456") + private String displayName; + + @ApiModelProperty(value = "装置出厂版本", example = "123456") + private String essentialInfoVersion; + + @ApiModelProperty(value = "装置生产厂家", example = "123456") + private String bsManufacturer; + + @ApiModelProperty(value = "装置生产日期", example = "123456") + private Date bsProductionDate; + + @ApiModelProperty(value = "装置出厂编号", example = "123456") + private String bsIdentifier; + + @ApiModelProperty(value = "纬度", example = "123456") + private Double latitude; + + @ApiModelProperty(value = "经度", example = "123456") + private Double longitude; + + @ApiModelProperty(value = "规约编号", example = "123456") + private Integer protocol; + + @ApiModelProperty(value = "最后一次心跳时间", example = "123456") + private BigInteger lastHeartbeat; + + @ApiModelProperty(value = "在线状态", example = "0--掉线1--在线") + private Integer onlinestatus; + + public Integer getOnlinestatus() { + if (lastHeartbeat == null) { + return CommonStatus.DELETE.value(); + } + long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue()); + DateTime date = MyDateUtils.date(time); + long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE); + if (between > TerminalUtils.hearttime) { + return CommonStatus.DELETE.value(); + } else { + return CommonStatus.EFFECTIVE.value(); + } + } + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListForOpenModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListForOpenModel.java index 360f06d..f933b5f 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListForOpenModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListForOpenModel.java @@ -13,7 +13,7 @@ import java.util.List; * 图片列表给第三方 */ @Data -@ApiModel(value = "图片列表", description = "图片列表对象信息") +@ApiModel(value = "新疆对外图片列表", description = "新疆对外图片列表对象信息") public class TerminalPhotoListForOpenModel implements Serializable { @ApiModelProperty(value = "总记录数", example = "120") @@ -32,6 +32,7 @@ public class TerminalPhotoListForOpenModel implements Serializable { private List list; @Data + @ApiModel(value = "对外照片对象") public static class PhotoBean { @ApiModelProperty(value = "装置编号", example = "123456") diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java index 70d9d4b..1844691 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java @@ -36,11 +36,11 @@ import java.util.Map; @Component public class TerminalUtils { - private static Integer hearttime; + public static Integer hearttime; - private static String photoaddress; + public static String photoaddress; - private static String videoaddress; + public static String videoaddress; @Value("${heart.time}") diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/OpenXJDeviceCaptureVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/OpenXJDeviceCaptureVo.java new file mode 100644 index 0000000..cd2014c --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/OpenXJDeviceCaptureVo.java @@ -0,0 +1,17 @@ +package com.shxy.xymanager_common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "新疆抓拍参数", description = "新疆抓拍参数描述") +public class OpenXJDeviceCaptureVo { + + @ApiModelProperty(value = "装置编号", example = "123455") + private String cmdId; + + @ApiModelProperty(value = "操作", example = "1--拍照 2--拍视频") + private Integer operateType; + +} diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalMainFavorsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalMainFavorsDao.java new file mode 100644 index 0000000..69a1afe --- /dev/null +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalMainFavorsDao.java @@ -0,0 +1,30 @@ +package com.shxy.xymanager_dao.dao; + +import com.shxy.xymanager_common.entity.TerminalMainFavors; +import com.shxy.xymanager_common.entity.TerminalMainFavorsExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface TerminalMainFavorsDao { + long countByExample(TerminalMainFavorsExample example); + + int deleteByExample(TerminalMainFavorsExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(TerminalMainFavors record); + + int insertSelective(TerminalMainFavors record); + + List selectByExample(TerminalMainFavorsExample example); + + TerminalMainFavors selectByPrimaryKey(Integer id); + + int updateByExampleSelective(@Param("record") TerminalMainFavors record, @Param("example") TerminalMainFavorsExample example); + + int updateByExample(@Param("record") TerminalMainFavors record, @Param("example") TerminalMainFavorsExample example); + + int updateByPrimaryKeySelective(TerminalMainFavors record); + + int updateByPrimaryKey(TerminalMainFavors record); +} \ No newline at end of file diff --git a/xymanager_dao/src/main/resources/generatorConfig.xml b/xymanager_dao/src/main/resources/generatorConfig.xml index 40acf00..922cb63 100644 --- a/xymanager_dao/src/main/resources/generatorConfig.xml +++ b/xymanager_dao/src/main/resources/generatorConfig.xml @@ -17,7 +17,7 @@ @@ -253,25 +253,32 @@ - - - - - - -
- +
+ + + + + + + + + + + + + diff --git a/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.xml index 23ebb55..09c2348 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.xml @@ -6,6 +6,7 @@ + @@ -66,7 +67,7 @@ - id, name, create_time, update_time + id, name, create_time, update_time, main_id @@ -156,6 +163,9 @@ update_time = #{record.updateTime,jdbcType=TIMESTAMP}, + + main_id = #{record.mainId,jdbcType=INTEGER}, + @@ -166,7 +176,8 @@ set id = #{record.id,jdbcType=INTEGER}, name = #{record.name,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=TIMESTAMP}, - update_time = #{record.updateTime,jdbcType=TIMESTAMP} + update_time = #{record.updateTime,jdbcType=TIMESTAMP}, + main_id = #{record.mainId,jdbcType=INTEGER} @@ -183,6 +194,9 @@ update_time = #{updateTime,jdbcType=TIMESTAMP}, + + main_id = #{mainId,jdbcType=INTEGER}, + where id = #{id,jdbcType=INTEGER} @@ -190,7 +204,8 @@ update terminal_favors set name = #{name,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, - update_time = #{updateTime,jdbcType=TIMESTAMP} + update_time = #{updateTime,jdbcType=TIMESTAMP}, + main_id = #{mainId,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} \ No newline at end of file diff --git a/xymanager_dao/src/main/resources/mappers/TerminalMainFavorsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalMainFavorsDao.xml new file mode 100644 index 0000000..ab51bb6 --- /dev/null +++ b/xymanager_dao/src/main/resources/mappers/TerminalMainFavorsDao.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, name, create_time, update_time + + + + + delete from terminal_main_favors + where id = #{id,jdbcType=INTEGER} + + + delete from terminal_main_favors + + + + + + insert into terminal_main_favors (id, name, create_time, + update_time) + values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{updateTime,jdbcType=TIMESTAMP}) + + + insert into terminal_main_favors + + + id, + + + name, + + + create_time, + + + update_time, + + + + + #{id,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + + + + update terminal_main_favors + + + id = #{record.id,jdbcType=INTEGER}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + create_time = #{record.createTime,jdbcType=TIMESTAMP}, + + + update_time = #{record.updateTime,jdbcType=TIMESTAMP}, + + + + + + + + update terminal_main_favors + set id = #{record.id,jdbcType=INTEGER}, + name = #{record.name,jdbcType=VARCHAR}, + create_time = #{record.createTime,jdbcType=TIMESTAMP}, + update_time = #{record.updateTime,jdbcType=TIMESTAMP} + + + + + + update terminal_main_favors + + + name = #{name,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=INTEGER} + + + update terminal_main_favors + set name = #{name,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java index f73eda7..1ade78b 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java @@ -48,6 +48,9 @@ public class DyLevelServiceImpl implements DyLevelService { @Autowired TerminalFavorsDao terminalFavorsDao; + @Autowired + TerminalMainFavorsDao terminalMainFavorsDao; + @Autowired CacheService cacheService; @@ -60,23 +63,40 @@ public class DyLevelServiceImpl implements DyLevelService { public ServiceBody getdyTreeList(Integer type) { DyLineTreeListModel model = new DyLineTreeListModel(); - TerminalFavorsExample example = new TerminalFavorsExample(); - List terminalFavors = terminalFavorsDao.selectByExample(example); + TerminalMainFavorsExample example = new TerminalMainFavorsExample(); + List mainlist = terminalMainFavorsDao.selectByExample(example); + TerminalFavorsExample terminalFavorsExample = new TerminalFavorsExample(); + List terminalFavors = terminalFavorsDao.selectByExample(terminalFavorsExample); + ArrayList dyListBeans = new ArrayList<>(); + //这里用来查询一级收藏夹 HashMap map = new HashMap<>(); - ArrayList favorlinelist = new ArrayList<>(); - for (TerminalFavors item : terminalFavors) { - DyLineTreeListModel.LineBean lineBean = new DyLineTreeListModel.LineBean(); - lineBean.setId(item.getId()); - lineBean.setName(item.getName()); - ArrayList list = new ArrayList<>(); - lineBean.setList(list); - favorlinelist.add(lineBean); - map.put(item.getId(), lineBean); + HashMap mainmap = new HashMap(); + if (CollectionUtil.isNotEmpty(mainlist)) { + for (TerminalMainFavors item : mainlist) { + ArrayList favorlinelist = new ArrayList<>(); + DyLineTreeListModel.DyListBean element = new DyLineTreeListModel.DyListBean(); + Integer id = item.getId(); + element.setName(item.getName()); + element.setDyValue(0); + element.setType(1); + element.setList(favorlinelist); + dyListBeans.add(element); + for (TerminalFavors item1 : terminalFavors) { + Integer mainId = item1.getMainId(); + if (mainId != null && mainId != -1 && id == mainId) { + DyLineTreeListModel.LineBean lineBean = new DyLineTreeListModel.LineBean(); + Integer id1 = item1.getId(); + lineBean.setId(id1); + lineBean.setName(item1.getName()); + ArrayList list = new ArrayList<>(); + lineBean.setList(list); + favorlinelist.add(lineBean); + map.put(id1, lineBean); + } + } + + } } - DyLineTreeListModel.DyListBean element = new DyLineTreeListModel.DyListBean(); - element.setName("收藏夹"); - element.setList(favorlinelist); - element.setId(0); List list = dyLevelDao.selectTreeList(CommonStatus.EFFECTIVE.value()); boolean empty = CollectionUtil.isEmpty(list); if (empty) { @@ -84,7 +104,6 @@ public class DyLevelServiceImpl implements DyLevelService { } else { int onlinenum = 0; int totalnum = 0; - ArrayList dyListBeans = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { DyLineAndTerminalWithHeartDto dyDto = list.get(i); List linelist = dyDto.getList(); @@ -95,6 +114,7 @@ public class DyLevelServiceImpl implements DyLevelService { dyModel.setId(dyDto.getId()); dyModel.setDyValue(dyDto.getDyValue()); dyModel.setName(dyDto.getName()); + dyModel.setType(2); ArrayList lineBeans = new ArrayList<>(); for (int j = 0; j < linelist.size(); j++) { LineAndTerminalWithHeartDto lineDto = linelist.get(j); @@ -163,7 +183,6 @@ public class DyLevelServiceImpl implements DyLevelService { dyModel.setList(lineBeans); dyListBeans.add(dyModel); } - dyListBeans.add(0, element); model.setOnlineNum(onlinenum); model.setTotalNum(totalnum); model.setList(dyListBeans); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/OpenServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/OpenServiceImpl.java index 412c9d1..e0cc36e 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/OpenServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/OpenServiceImpl.java @@ -1,22 +1,29 @@ package com.shxy.xymanager_service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; +import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.constant.Constants; import com.shxy.xymanager_common.constant.UuidUtils; +import com.shxy.xymanager_common.dto.TerminalsAndStatusDto; import com.shxy.xymanager_common.dto.TerminalsWithHeart; import com.shxy.xymanager_common.entity.SysUser; import com.shxy.xymanager_common.entity.SysUserSession; import com.shxy.xymanager_common.entity.Terminals; import com.shxy.xymanager_common.enums.CommonStatus; +import com.shxy.xymanager_common.exception.Asserts; +import com.shxy.xymanager_common.model.OpenTerminalsModel; +import com.shxy.xymanager_common.model.TerminalStatisticsModel; import com.shxy.xymanager_common.util.CmaUtil; import com.shxy.xymanager_common.util.MyDateUtils; import com.shxy.xymanager_common.util.xinyin.ProcessExecUtils; import com.shxy.xymanager_common.util.xinyin.TerminalUtils; import com.shxy.xymanager_common.vo.OpenCmdidVo; import com.shxy.xymanager_common.vo.OpenDeviceCaptureVo; +import com.shxy.xymanager_common.vo.OpenXJDeviceCaptureVo; import com.shxy.xymanager_common.vo.UserLoginVo; import com.shxy.xymanager_dao.dao.SysUserDao; import com.shxy.xymanager_dao.dao.SysUserMapperDao; @@ -30,7 +37,9 @@ import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import java.math.BigInteger; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * 第三方对外接口 @@ -159,10 +168,10 @@ public class OpenServiceImpl implements OpenService { return jsonObject; } int requestId = Constants.REQUEST_ID.addAndGet(1); - String cmd1 = CmaUtil.takePic(vo.getDeviceID(), 1,255, operateType, requestId); + String cmd1 = CmaUtil.takePic(vo.getDeviceID(), 1, 255, operateType, requestId); ProcessExecUtils.exec(cmd1); int requestId2 = Constants.REQUEST_ID.addAndGet(1); - String cmd2 = CmaUtil.takePic(vo.getDeviceID(), 2,255, operateType,requestId2); + String cmd2 = CmaUtil.takePic(vo.getDeviceID(), 2, 255, operateType, requestId2); ProcessExecUtils.exec(cmd2); jsonObject.set("errcode", 0); jsonObject.set("errmsg", "OK"); @@ -225,4 +234,66 @@ public class OpenServiceImpl implements OpenService { return jsonObject; } + + + //获取设备列表 + @Override + public ServiceBody> getDeviceListForXJ() { + ArrayList mlist = new ArrayList<>(); + List list = terminalsDao.selectTermAndStatusStatisticsList(CommonStatus.EFFECTIVE.value()); + if (CollectionUtil.isNotEmpty(list)) { + for (TerminalsAndStatusDto item : list) { + OpenTerminalsModel model = new OpenTerminalsModel(); + model.setId(item.getId()); + model.setCmdid(item.getCmdid()); + model.setDisplayName(item.getDisplayName()); + model.setEssentialInfoVersion(item.getEssentialInfoVersion()); + model.setBsManufacturer(item.getBsManufacturer()); + model.setBsProductionDate(item.getBsProductionDate()); + model.setBsIdentifier(item.getBsIdentifier()); + model.setLatitude(item.getLatitude()); + model.setLongitude(item.getLongitude()); + model.setLastHeartbeat(item.getLastHeartbeat()); + model.setProtocol(item.getProtocol()); + mlist.add(model); + } + } + return Asserts.success(mlist); + } + + + /** + * 控制拍照视频 + * + * @param vo + * @return + */ + @Override + public ServiceBody ctrlXJCmaDeviceCapture(OpenXJDeviceCaptureVo vo) { + String deviceID = vo.getCmdId(); + Integer operateType = vo.getOperateType(); + if (StrUtil.isEmpty(deviceID)) { + Asserts.fail(1,"设备参数缺少"); + } + Terminals terminals = terminalsDao.selectByCmdid(deviceID, CommonStatus.EFFECTIVE.value()); + if (BeanUtil.isEmpty(terminals)) { + Asserts.fail(2,"设备不存在"); + } + + if (operateType == 1) { + operateType = 0; + } else if (operateType == 2) { + operateType = 1; + } else { + Asserts.fail(3,"操作参数不合法"); + } + int requestId = Constants.REQUEST_ID.addAndGet(1); + String cmd1 = CmaUtil.takePic(vo.getCmdId(), 1, 255, operateType, requestId); + ProcessExecUtils.exec(cmd1); + int requestId2 = Constants.REQUEST_ID.addAndGet(1); + String cmd2 = CmaUtil.takePic(vo.getCmdId(), 2, 255, operateType, requestId2); + ProcessExecUtils.exec(cmd2); + + return Asserts.success("OK"); + } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java index b614adc..70b3f3d 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java @@ -29,16 +29,12 @@ import com.shxy.xymanager_dao.dao.*; import com.shxy.xymanager_service.service.CacheService; import com.shxy.xymanager_service.service.TerminalService; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -83,6 +79,9 @@ public class TerminalServiceImpl implements TerminalService { @Autowired TerminalFavorsDao terminalFavorsDao; + @Autowired + TerminalMainFavorsDao terminalMainFavorsDao; + /** * 获取所有设备列表 @@ -732,15 +731,81 @@ public class TerminalServiceImpl implements TerminalService { return Asserts.success("修改成功"); } + /** + * 获取一级收藏夹列表 + * + * @return + */ + @Override + public List getMainFavorList() { + TerminalMainFavorsExample example = new TerminalMainFavorsExample(); + List terminalMainFavors = terminalMainFavorsDao.selectByExample(example); + return terminalMainFavors; + } + + @Override + public String addMainFavor(TerminalMainFavors vo) { + String name = vo.getName(); + if (StrUtil.isEmpty(name)) { + Asserts.fail("收藏夹名称不能缺少"); + } + TerminalMainFavorsExample example = new TerminalMainFavorsExample(); + example.createCriteria().andNameEqualTo(name); + List terminalFavors = terminalMainFavorsDao.selectByExample(example); + if (CollectionUtil.isNotEmpty(terminalFavors)) { + Asserts.fail("收藏夹名称重复"); + } + terminalMainFavorsDao.insertSelective(vo); + return "新增成功"; + } + + @Override + public String updateMainFavor(TerminalMainFavors vo) { + terminalMainFavorsDao.updateByPrimaryKey(vo); + return "修改成功"; + } + + @Override + public String deleteMainFavor(TerminalMainFavors vo) { + terminalMainFavorsDao.deleteByPrimaryKey(vo.getId()); + return "删除成功"; + } + + /** * 获取收藏夹列表 * + * @param id * @return */ @Override - public List getFavorList() { + public List getFavorList(Integer id) { TerminalFavorsExample example = new TerminalFavorsExample(); + if (id != null && id != -1) { + example.createCriteria().andMainIdEqualTo(id); + } List terminalFavors = terminalFavorsDao.selectByExample(example); + TerminalMainFavorsExample example1 = new TerminalMainFavorsExample(); + HashMap map = new HashMap<>(); + List terminalMainFavors = terminalMainFavorsDao.selectByExample(example1); + if (CollectionUtil.isNotEmpty(terminalMainFavors)) { + for (TerminalMainFavors item : terminalMainFavors) { + map.put(item.getId(), item); + } + } + if (CollectionUtil.isNotEmpty(terminalFavors)) { + for (TerminalFavors item : terminalFavors) { + Integer mainId = item.getMainId(); + if (mainId != null && mainId != -1) { + TerminalMainFavors terminalMainFavors1 = map.get(mainId); + if (terminalMainFavors1 != null) { + item.setMainname(terminalMainFavors1.getName()); + } + } + } + } + + return terminalFavors; } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/OpenService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/OpenService.java index 837c604..38c7bd9 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/OpenService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/OpenService.java @@ -2,9 +2,12 @@ package com.shxy.xymanager_service.service; import cn.hutool.json.JSONObject; -import com.shxy.xymanager_common.vo.OpenCmdidVo; -import com.shxy.xymanager_common.vo.OpenDeviceCaptureVo; -import com.shxy.xymanager_common.vo.UserLoginVo; +import com.shxy.xymanager_common.bean.ServiceBody; +import com.shxy.xymanager_common.model.OpenTerminalsModel; +import com.shxy.xymanager_common.model.TerminalStatisticsModel; +import com.shxy.xymanager_common.vo.*; + +import java.util.List; /** * 第三方接口 @@ -19,4 +22,8 @@ public interface OpenService { JSONObject cmaDeviceStatus(OpenCmdidVo vo); + //获取设备列表 + ServiceBody> getDeviceListForXJ(); + + ServiceBody ctrlXJCmaDeviceCapture(OpenXJDeviceCaptureVo vo); } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java index 628efe5..ef23eb4 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java @@ -2,6 +2,7 @@ package com.shxy.xymanager_service.service; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.entity.TerminalFavors; +import com.shxy.xymanager_common.entity.TerminalMainFavors; import com.shxy.xymanager_common.excelbean.TerminalAndLastPicListExcelModel; import com.shxy.xymanager_common.excelbean.TerminalListExcelModel; import com.shxy.xymanager_common.model.*; @@ -138,11 +139,20 @@ public interface TerminalService { */ ServiceBody addFavorList(FavorVo vo); + List getMainFavorList(); + + String addMainFavor(TerminalMainFavors vo); + + String updateMainFavor(TerminalMainFavors vo); + + String deleteMainFavor(TerminalMainFavors vo); + /** * 获取收藏夹列表 * @return + * @param id */ - List getFavorList(); + List getFavorList(Integer id); /** * 新增收藏夹