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 8f6ceda..c819d24 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 @@ -5,6 +5,7 @@ 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.entity.TerminalFavors; import com.shxy.xymanager_common.excelbean.TerminalAndLastPicListExcelModel; import com.shxy.xymanager_common.excelbean.TerminalListExcelModel; import com.shxy.xymanager_common.model.*; @@ -55,7 +56,7 @@ public class TerminalController extends BaseController { @Log(title = "获取设备列表", type = "查询") public void getTerminalListExcel(HttpServletResponse response) throws IOException { ServiceBody> serviceBody = terminalService.getTerminalListExcel(null); - EasyExcelUtil.createExcel(response,"设备表",serviceBody.getData(), TerminalListExcelModel.class); + EasyExcelUtil.createExcel(response, "设备表", serviceBody.getData(), TerminalListExcelModel.class); } @ApiOperation(value = "获取绘制图标", notes = "绘制坐标保存接口", httpMethod = "POST") @@ -271,21 +272,59 @@ public class TerminalController extends BaseController { @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/getOnlineTerminalListExcel") @Log(title = "导出设备在线和心跳时间和照片时间列表Excel", type = "查询") - public void getOnlineTerminalListExcel(HttpServletResponse response,@Param("type") Integer type) throws IOException { + public void getOnlineTerminalListExcel(HttpServletResponse response, @Param("type") Integer type) throws IOException { ServiceBody> serviceBody = terminalService.getOnlineTerminalList(type); - EasyExcelUtil.createExcel(response,"设备在线表",serviceBody.getData(), TerminalAndLastPicListExcelModel.class); + EasyExcelUtil.createExcel(response, "设备在线表", serviceBody.getData(), TerminalAndLastPicListExcelModel.class); } - @ApiOperation(value = "新增收藏夹接口", notes = "新增收藏夹接口", httpMethod = "POST") + @ApiOperation(value = "新增设备进收藏夹接口", notes = "新增设备进收藏夹接口", httpMethod = "POST") @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/addFavorList") - @Log(title = "新增收藏夹接口", type = "新增") - public ResponseReult addFavorList( @RequestBody FavorVo vo) { + @Log(title = "新增设备进收藏夹接口", type = "新增") + public ResponseReult addFavorList(@RequestBody FavorVo vo) { ServiceBody serviceBody = terminalService.addFavorList(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 = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/listFavor") + @Log(title = "获取收藏夹接口", type = "查询") + public ResponseReult> getFavorList() { + List serviceBody = terminalService.getFavorList(); + return ResponseReult.success(serviceBody); + } + + @ApiOperation(value = "新增收藏夹接口", notes = "新增收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/addFavor") + @Log(title = "新增收藏夹接口", type = "新增") + public ResponseReult addFavor(@RequestBody TerminalFavors vo) { + String serviceBody = terminalService.addFavor(vo); + return ResponseReult.success(serviceBody); + } + + + @ApiOperation(value = "修改收藏夹接口", notes = "修改收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/updateFavor") + @Log(title = "修改收藏夹接口", type = "修改") + public ResponseReult updateFavor(@RequestBody TerminalFavors vo) { + String serviceBody = terminalService.updateFavor(vo); + return ResponseReult.success(serviceBody); + } + + @ApiOperation(value = "删除收藏夹接口", notes = "删除收藏夹接口", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/deleteFavor") + @Log(title = "删除收藏夹接口", type = "删除") + public ResponseReult deleteFavor(@RequestBody TerminalFavors vo) { + String serviceBody = terminalService.deleteFavor(vo); + return ResponseReult.success(serviceBody); + } } diff --git a/xymanager_admin/src/main/resources/application-test.yml b/xymanager_admin/src/main/resources/application-test.yml index c6df739..38a8ab5 100644 --- a/xymanager_admin/src/main/resources/application-test.yml +++ b/xymanager_admin/src/main/resources/application-test.yml @@ -1,72 +1,72 @@ # Spring配置 -#spring: -# datasource: -# driver-class-name: com.mysql.cj.jdbc.Driver -# url: jdbc:mysql://127.0.0.1:3306/xymp?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: root -# password: 123456 -# type: com.alibaba.druid.pool.DruidDataSource -# servlet: -# multipart: -# # 指定自定义上传目录 -# location: http://47.96.238.157/usr/local/home/manager/temp/ spring: - # 数据源配置 datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/hunan?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: 123456 type: com.alibaba.druid.pool.DruidDataSource - driverClassName: com.mysql.cj.jdbc.Driver - druid: - # 主库数据源 - master: - url: jdbc:mysql://192.168.200.63:3306/xymp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - username: xymp - password: xymp@123 - # 从库数据源 - slave: - # 从数据源开关/默认关闭 - enabled: false - url: - username: - password: - # 初始连接数 - initialSize: 10 - # 最小连接池数量 - minIdle: 20 - # 最大连接池数量 - maxActive: 30 - # 配置获取连接等待超时的时间 - maxWait: 60000 - # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 - timeBetweenEvictionRunsMillis: 60000 - # 配置一个连接在池中最小生存的时间,单位是毫秒 - minEvictableIdleTimeMillis: 300000 - # 配置一个连接在池中最大生存的时间,单位是毫秒 - maxEvictableIdleTimeMillis: 900000 - # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - webStatFilter: - enabled: true - statViewServlet: - enabled: true - # 设置白名单,不填则允许所有访问 - allow: - url-pattern: /druid/* - # 控制台管理用户名和密码 - login-username: root - login-password: 123456 - filter: - stat: - enabled: true - # 慢SQL记录 - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-allow: true + servlet: + multipart: + # 指定自定义上传目录 + location: http://47.96.238.157/usr/local/home/manager/temp/ +#spring: +# # 数据源配置 +# datasource: +# type: com.alibaba.druid.pool.DruidDataSource +# driverClassName: com.mysql.cj.jdbc.Driver +# druid: +# # 主库数据源 +# master: +# url: jdbc:mysql://192.168.200.63:3306/xymp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# username: xymp +# password: xymp@123 +# # 从库数据源 +# slave: +# # 从数据源开关/默认关闭 +# enabled: false +# url: +# username: +# password: +# # 初始连接数 +# initialSize: 5 +# # 最小连接池数量 +# minIdle: 10 +# # 最大连接池数量 +# maxActive: 20 +# # 配置获取连接等待超时的时间 +# maxWait: 60000 +# # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 +# timeBetweenEvictionRunsMillis: 60000 +# # 配置一个连接在池中最小生存的时间,单位是毫秒 +# minEvictableIdleTimeMillis: 300000 +# # 配置一个连接在池中最大生存的时间,单位是毫秒 +# maxEvictableIdleTimeMillis: 900000 +# # 配置检测连接是否有效 +# validationQuery: SELECT 1 FROM DUAL +# testWhileIdle: true +# testOnBorrow: false +# testOnReturn: false +# webStatFilter: +# enabled: true +# statViewServlet: +# enabled: true +# # 设置白名单,不填则允许所有访问 +# allow: +# url-pattern: /druid/* +# # 控制台管理用户名和密码 +# login-username: root +# login-password: 123456 +# filter: +# stat: +# enabled: true +# # 慢SQL记录 +# log-slow-sql: true +# slow-sql-millis: 1000 +# merge-sql: true +# wall: +# config: +# multi-statement-allow: true # # # 资源信息 # # messages: # # # 国际化资源文件路径 diff --git a/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java b/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java index a0a8507..ea77710 100644 --- a/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java +++ b/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java @@ -1,31 +1,11 @@ package com.shxy.xymanager_admin; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.util.StrUtil; -import cn.hutool.core.util.URLUtil; -import cn.hutool.crypto.SecureUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.shxy.xymanager_common.config.CustomRsaProperties; -import com.shxy.xymanager_common.dto.*; -import com.shxy.xymanager_common.entity.Lines; -import com.shxy.xymanager_common.entity.RequestResults; -import com.shxy.xymanager_common.entity.TerminalImgAlarmParams; -import com.shxy.xymanager_common.entity.Terminals; -import com.shxy.xymanager_common.enums.CommonStatus; -import com.shxy.xymanager_common.util.*; import com.shxy.xymanager_dao.dao.*; import com.shxy.xymanager_service.service.CacheService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import java.math.BigInteger; -import java.sql.Time; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; @SpringBootTest class XymanagerAdminApplicationTests { diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalFavors.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalFavors.java new file mode 100644 index 0000000..fe2e2d8 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalFavors.java @@ -0,0 +1,18 @@ +package com.shxy.xymanager_common.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +@Data +public class TerminalFavors 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/TerminalFavorsExample.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalFavorsExample.java new file mode 100644 index 0000000..112a9c0 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalFavorsExample.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 TerminalFavorsExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public TerminalFavorsExample() { + 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/vo/FavorVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/FavorVo.java index 99c2fd7..afecb15 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/FavorVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/FavorVo.java @@ -13,11 +13,12 @@ import java.util.List; @ApiModel(value = "收藏对象", description = "收藏对象描述") public class FavorVo { - @NotEmpty(message = "不能传入空值") - @ApiModelProperty(value = "收藏对象数组", required = true, example = "A0001") - private List list; @ApiModelProperty(value = "是否收藏", example = "0--删除收藏 1--收藏") - private Integer type; + private Integer id; + + @ApiModelProperty(value = "是否收藏", example = "0--删除收藏 1--收藏") + private Integer termid; + } diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalFavorsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalFavorsDao.java new file mode 100644 index 0000000..e2b1302 --- /dev/null +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalFavorsDao.java @@ -0,0 +1,30 @@ +package com.shxy.xymanager_dao.dao; + +import com.shxy.xymanager_common.entity.TerminalFavors; +import com.shxy.xymanager_common.entity.TerminalFavorsExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface TerminalFavorsDao { + long countByExample(TerminalFavorsExample example); + + int deleteByExample(TerminalFavorsExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(TerminalFavors record); + + int insertSelective(TerminalFavors record); + + List selectByExample(TerminalFavorsExample example); + + TerminalFavors selectByPrimaryKey(Integer id); + + int updateByExampleSelective(@Param("record") TerminalFavors record, @Param("example") TerminalFavorsExample example); + + int updateByExample(@Param("record") TerminalFavors record, @Param("example") TerminalFavorsExample example); + + int updateByPrimaryKeySelective(TerminalFavors record); + + int updateByPrimaryKey(TerminalFavors record); +} \ No newline at end of file diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java index 88591c1..23a5d8c 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java @@ -48,6 +48,6 @@ public interface TerminalsDao { int updateCmd(TerminalIdUpdateVo vo); - int updateFavor(@Param("list") List list ,@Param("status") Integer status); + int updateFavor(@Param("id") Integer id ,@Param("termid") Integer termid); } \ 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 bdeabdc..92888a1 100644 --- a/xymanager_dao/src/main/resources/generatorConfig.xml +++ b/xymanager_dao/src/main/resources/generatorConfig.xml @@ -253,11 +253,10 @@ - +
diff --git a/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.xml new file mode 100644 index 0000000..23ebb55 --- /dev/null +++ b/xymanager_dao/src/main/resources/mappers/TerminalFavorsDao.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_favors + where id = #{id,jdbcType=INTEGER} + + + delete from terminal_favors + + + + + + insert into terminal_favors (id, name, create_time, + update_time) + values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{updateTime,jdbcType=TIMESTAMP}) + + + insert into terminal_favors + + + id, + + + name, + + + create_time, + + + update_time, + + + + + #{id,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + + + + update terminal_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_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_favors + + + name = #{name,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=INTEGER} + + + update terminal_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_dao/src/main/resources/mappers/TerminalsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml index 69ad604..e6b6a1a 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml @@ -651,10 +651,7 @@ update terminals - set isfavor = #{status} - where id in - - #{item} - + set isfavor = #{id} + where id = #{termid} \ 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 754799d..f73eda7 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 @@ -24,10 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 装置通道实现层 @@ -48,6 +45,9 @@ public class DyLevelServiceImpl implements DyLevelService { @Autowired TerminalImgAlarmsDao terminalImgAlarmsDao; + @Autowired + TerminalFavorsDao terminalFavorsDao; + @Autowired CacheService cacheService; @@ -59,7 +59,24 @@ public class DyLevelServiceImpl implements DyLevelService { @Override public ServiceBody getdyTreeList(Integer type) { DyLineTreeListModel model = new DyLineTreeListModel(); - ArrayList favorList = new ArrayList<>(); + + TerminalFavorsExample example = new TerminalFavorsExample(); + List terminalFavors = terminalFavorsDao.selectByExample(example); + 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); + } + 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) { @@ -91,10 +108,9 @@ public class DyLevelServiceImpl implements DyLevelService { lineBean.setBsManufacturer(lineDto.getBsManufacturer()); ArrayList beanlist = new ArrayList<>(); - for (int k = 0; k < termlist.size(); k++){ + for (int k = 0; k < termlist.size(); k++) { totalnum++; TerminalsWithHeart terminalsWithHeart = termlist.get(k); - DyLineTreeListModel.TerminalBean bean = new DyLineTreeListModel.TerminalBean(); bean.setId(terminalsWithHeart.getId()); bean.setAddress(terminalsWithHeart.getAddress()); @@ -134,26 +150,23 @@ public class DyLevelServiceImpl implements DyLevelService { bean.setOnlinestatus(CommonStatus.DELETE.value()); } } - if (isfavor!=null && isfavor.intValue() == CommonStatus.EFFECTIVE.value()) { - favorList.add(bean); + if (isfavor != null && isfavor.intValue() != CommonStatus.DELETE.value()) { + DyLineTreeListModel.LineBean lineBean1 = map.get(isfavor); + if (lineBean1 != null) { + lineBean1.getList().add(bean); + } } } lineBean.setList(beanlist); lineBeans.add(lineBean); } - DyLineTreeListModel.LineBean element = new DyLineTreeListModel.LineBean(); - element.setList(favorList); - element.setName("收藏夹"); - element.setBsManufacturer("收藏夹"); - element.setId(0); - lineBeans.add(0, element); dyModel.setList(lineBeans); dyListBeans.add(dyModel); } + dyListBeans.add(0, element); model.setOnlineNum(onlinenum); model.setTotalNum(totalnum); model.setList(dyListBeans); -// model.setFavorlist(favorList); } return Asserts.success(model); } @@ -225,9 +238,9 @@ public class DyLevelServiceImpl implements DyLevelService { List photoList = terminalPhotoDao.selectPhotosByIdList(photolist); List imgarlarmsList = new ArrayList<>(); - List idlist = new ArrayList<>(); - for (TerminalPhoto tp:photoList) { - if (tp.getOrginalId()!=null) { + List idlist = new ArrayList<>(); + for (TerminalPhoto tp : photoList) { + if (tp.getOrginalId() != null) { idlist.add(tp.getOrginalId()); } } @@ -241,7 +254,7 @@ public class DyLevelServiceImpl implements DyLevelService { } - beans = TerminalUtils.setTowerPhotoList(requestIp, list, lineMap, termchannelMapMap, terminalMap, termchannelMap, towerMap, photoList,imgarlarmsList); + beans = TerminalUtils.setTowerPhotoList(requestIp, list, lineMap, termchannelMapMap, terminalMap, termchannelMap, towerMap, photoList, imgarlarmsList); } model.setList(beans); 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 61f06e9..62f77fa 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 @@ -74,6 +74,9 @@ public class TerminalServiceImpl implements TerminalService { @Autowired CacheService cacheService; + @Autowired + TerminalFavorsDao terminalFavorsDao; + /** * 获取所有设备列表 @@ -685,18 +688,52 @@ public class TerminalServiceImpl implements TerminalService { @Override public ServiceBody addFavorList(FavorVo vo) { - Integer type = vo.getType(); - List list = vo.getList(); - if (CollectionUtil.isNotEmpty(list)) { - if (type == null || type.intValue() == 0) { - terminalsDao.updateFavor(list, CommonStatus.DELETE.value()); - } else { - terminalsDao.updateFavor(list, CommonStatus.EFFECTIVE.value()); - } - } + Integer id = vo.getId(); + Integer termid = vo.getTermid(); + terminalsDao.updateFavor(id,termid); return Asserts.success("修改成功"); } + /** + * 获取收藏夹列表 + * + * @return + */ + @Override + public List getFavorList() { + TerminalFavorsExample example = new TerminalFavorsExample(); + List terminalFavors = terminalFavorsDao.selectByExample(example); + return terminalFavors; + } + + @Override + public String addFavor(TerminalFavors vo) { + String name = vo.getName(); + if (StrUtil.isEmpty(name)) { + Asserts.fail("收藏夹名称不能缺少"); + } + TerminalFavorsExample example = new TerminalFavorsExample(); + example.createCriteria().andNameEqualTo(name); + List terminalFavors = terminalFavorsDao.selectByExample(example); + if (CollectionUtil.isNotEmpty(terminalFavors)) { + Asserts.fail("收藏夹名称重复"); + } + terminalFavorsDao.insertSelective(vo); + return "新增成功"; + } + + @Override + public String updateFavor(TerminalFavors vo) { + terminalFavorsDao.updateByPrimaryKey(vo); + return "修改成功"; + } + + @Override + public String deleteFavor(TerminalFavors vo) { + terminalFavorsDao.deleteByPrimaryKey(vo.getId()); + return "删除成功"; + } + } 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 ae2fe70..628efe5 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 @@ -1,6 +1,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.excelbean.TerminalAndLastPicListExcelModel; import com.shxy.xymanager_common.excelbean.TerminalListExcelModel; import com.shxy.xymanager_common.model.*; @@ -136,4 +137,31 @@ public interface TerminalService { * @return */ ServiceBody addFavorList(FavorVo vo); + + /** + * 获取收藏夹列表 + * @return + */ + List getFavorList(); + + /** + * 新增收藏夹 + * @param vo + * @return + */ + String addFavor(TerminalFavors vo); + + /** + * 修改收藏夹 + * @param vo + * @return + */ + String updateFavor(TerminalFavors vo); + + /** + * 删除收藏夹 + * @param vo + * @return + */ + String deleteFavor(TerminalFavors vo); }