新增二级文件夹

hunan
liuguijing 1 year ago
parent 5ee190e5a4
commit 421e81282f

@ -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;

@ -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<List<OpenTerminalsModel>> getDeviceListForXJ() {
ServiceBody<List<OpenTerminalsModel>> 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<TerminalPhotoListForOpenModel> getXJPhotoList(@RequestHeader HttpHeaders headers, @RequestBody @Validated OpenTerminalAndTimeVo vo) {
String requestIp = HeaderUtil.getRequestIp(headers);
ServiceBody<TerminalPhotoListForOpenModel> 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<String> ctrlCmaDeviceCapture(@RequestBody @Validated OpenXJDeviceCaptureVo vo) {
ServiceBody<String> serviceBody = openService.ctrlXJCmaDeviceCapture(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -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<List<TerminalMainFavors>> getMainFavorList() {
List<TerminalMainFavors> 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<String> 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<String> 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<String> 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<List<TerminalFavors>> getFavorList() {
List<TerminalFavors> serviceBody = terminalService.getFavorList();
public ResponseReult<List<TerminalFavors>> getFavorList(@Param("mainid") Integer id) {
List<TerminalFavors> serviceBody = terminalService.getFavorList(id);
return ResponseReult.success(serviceBody);
}

@ -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;
}

@ -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;
}

@ -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<Criteria> oredCriteria;
public TerminalMainFavorsExample() {
oredCriteria = new ArrayList<Criteria>();
}
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<Criteria> 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<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> 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<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> 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<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> 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<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> 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<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> 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);
}
}
}

@ -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;

@ -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;
}

@ -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<PhotoBean> list;
@Data
@ApiModel(value = "对外照片对象")
public static class PhotoBean {
@ApiModelProperty(value = "装置编号", example = "123456")

@ -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}")

@ -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;
}

@ -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<TerminalMainFavors> 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);
}

@ -17,7 +17,7 @@
<!-- 数据库链接URL、用户名、密码 -->
<!-- driverClass="com.mysql.jdbc.Driver"-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/xymp?userUnicode=true&amp;characterEncoding=utf8"
connectionURL="jdbc:mysql://127.0.0.1:3306/hunan?userUnicode=true&amp;characterEncoding=utf8"
userId="root"
password="123456">
</jdbcConnection>
@ -253,25 +253,32 @@
<!-- &lt;!&ndash; <property name="useActualColumnNames" value="false"/>&ndash;&gt;-->
<!-- </table>-->
<!-- <table tableName="terminal_favors"-->
<!-- domainObjectName="TerminalFavors"-->
<!-- mapperName="TerminalFavorsDao"-->
<!-- >-->
<!-- &lt;!&ndash; <property name="useActualColumnNames" value="false"/>&ndash;&gt;-->
<!-- </table>-->
<table tableName="terminal_photo_mark_paths"
domainObjectName="TerminalPhotoMarkPaths"
mapperName="TerminalPhotoMarkPathsDao"
<table tableName="terminal_favors"
domainObjectName="TerminalFavors"
mapperName="TerminalFavorsDao"
>
<!-- <property name="useActualColumnNames" value="false"/>-->
</table>
<table tableName="terminal_photo_marks"
domainObjectName="TerminalPhotoMarks"
mapperName="TerminalPhotoMarksDao"
>
<table tableName="terminal_main_favors"
domainObjectName="TerminalMainFavors"
mapperName="TerminalMainFavorsDao"
>
<!-- <property name="useActualColumnNames" value="false"/>-->
</table>
<!-- <table tableName="terminal_photo_mark_paths"-->
<!-- domainObjectName="TerminalPhotoMarkPaths"-->
<!-- mapperName="TerminalPhotoMarkPathsDao"-->
<!-- >-->
<!-- &lt;!&ndash; <property name="useActualColumnNames" value="false"/>&ndash;&gt;-->
<!-- </table>-->
<!-- <table tableName="terminal_photo_marks"-->
<!-- domainObjectName="TerminalPhotoMarks"-->
<!-- mapperName="TerminalPhotoMarksDao"-->
<!-- >-->
<!-- &lt;!&ndash; <property name="useActualColumnNames" value="false"/>&ndash;&gt;-->
<!-- </table>-->
</context>

@ -6,6 +6,7 @@
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="main_id" jdbcType="INTEGER" property="mainId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -66,7 +67,7 @@
</where>
</sql>
<sql id="Base_Column_List">
id, name, create_time, update_time
id, name, create_time, update_time, main_id
</sql>
<select id="selectByExample" parameterType="com.shxy.xymanager_common.entity.TerminalFavorsExample" resultMap="BaseResultMap">
select
@ -100,9 +101,9 @@
</delete>
<insert id="insert" parameterType="com.shxy.xymanager_common.entity.TerminalFavors">
insert into terminal_favors (id, name, create_time,
update_time)
update_time, main_id)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
#{updateTime,jdbcType=TIMESTAMP}, #{mainId,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.shxy.xymanager_common.entity.TerminalFavors">
insert into terminal_favors
@ -119,6 +120,9 @@
<if test="updateTime != null">
update_time,
</if>
<if test="mainId != null">
main_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -133,6 +137,9 @@
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="mainId != null">
#{mainId,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.shxy.xymanager_common.entity.TerminalFavorsExample" resultType="java.lang.Long">
@ -156,6 +163,9 @@
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.mainId != null">
main_id = #{record.mainId,jdbcType=INTEGER},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -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}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -183,6 +194,9 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="mainId != null">
main_id = #{mainId,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
@ -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}
</update>
</mapper>

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.shxy.xymanager_dao.dao.TerminalMainFavorsDao">
<resultMap id="BaseResultMap" type="com.shxy.xymanager_common.entity.TerminalMainFavors">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, name, create_time, update_time
</sql>
<select id="selectByExample" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavorsExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from terminal_main_favors
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from terminal_main_favors
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from terminal_main_favors
where id = #{id,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavorsExample">
delete from terminal_main_favors
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavors">
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>
<insert id="insertSelective" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavors">
insert into terminal_main_favors
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name != null">
name,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavorsExample" resultType="java.lang.Long">
select count(*) from terminal_main_favors
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update terminal_main_favors
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=INTEGER},
</if>
<if test="record.name != null">
name = #{record.name,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
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}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavors">
update terminal_main_favors
<set>
<if test="name != null">
name = #{name,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.shxy.xymanager_common.entity.TerminalMainFavors">
update terminal_main_favors
set name = #{name,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>

@ -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<DyLineTreeListModel> getdyTreeList(Integer type) {
DyLineTreeListModel model = new DyLineTreeListModel();
TerminalFavorsExample example = new TerminalFavorsExample();
List<TerminalFavors> terminalFavors = terminalFavorsDao.selectByExample(example);
TerminalMainFavorsExample example = new TerminalMainFavorsExample();
List<TerminalMainFavors> mainlist = terminalMainFavorsDao.selectByExample(example);
TerminalFavorsExample terminalFavorsExample = new TerminalFavorsExample();
List<TerminalFavors> terminalFavors = terminalFavorsDao.selectByExample(terminalFavorsExample);
ArrayList<DyLineTreeListModel.DyListBean> dyListBeans = new ArrayList<>();
//这里用来查询一级收藏夹
HashMap<Integer, DyLineTreeListModel.LineBean> map = new HashMap<>();
ArrayList<DyLineTreeListModel.LineBean> favorlinelist = new ArrayList<>();
for (TerminalFavors item : terminalFavors) {
DyLineTreeListModel.LineBean lineBean = new DyLineTreeListModel.LineBean();
lineBean.setId(item.getId());
lineBean.setName(item.getName());
ArrayList<DyLineTreeListModel.TerminalBean> 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<DyLineTreeListModel.LineBean> 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<DyLineTreeListModel.TerminalBean> 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<DyLineAndTerminalWithHeartDto> 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<DyLineTreeListModel.DyListBean> dyListBeans = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
DyLineAndTerminalWithHeartDto dyDto = list.get(i);
List<LineAndTerminalWithHeartDto> 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<DyLineTreeListModel.LineBean> 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);

@ -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<List<OpenTerminalsModel>> getDeviceListForXJ() {
ArrayList<OpenTerminalsModel> mlist = new ArrayList<>();
List<TerminalsAndStatusDto> 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<String> 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");
}
}

@ -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<TerminalMainFavors> getMainFavorList() {
TerminalMainFavorsExample example = new TerminalMainFavorsExample();
List<TerminalMainFavors> 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<TerminalMainFavors> 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<TerminalFavors> getFavorList() {
public List<TerminalFavors> getFavorList(Integer id) {
TerminalFavorsExample example = new TerminalFavorsExample();
if (id != null && id != -1) {
example.createCriteria().andMainIdEqualTo(id);
}
List<TerminalFavors> terminalFavors = terminalFavorsDao.selectByExample(example);
TerminalMainFavorsExample example1 = new TerminalMainFavorsExample();
HashMap<Integer, TerminalMainFavors> map = new HashMap<>();
List<TerminalMainFavors> 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;
}

@ -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<List<OpenTerminalsModel>> getDeviceListForXJ();
ServiceBody ctrlXJCmaDeviceCapture(OpenXJDeviceCaptureVo vo);
}

@ -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<String> addFavorList(FavorVo vo);
List<TerminalMainFavors> getMainFavorList();
String addMainFavor(TerminalMainFavors vo);
String updateMainFavor(TerminalMainFavors vo);
String deleteMainFavor(TerminalMainFavors vo);
/**
*
* @return
* @param id
*/
List<TerminalFavors> getFavorList();
List<TerminalFavors> getFavorList(Integer id);
/**
*

Loading…
Cancel
Save