From 943a2364c76db4c4e570e0d0219a81b6caa9bffc Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 13 May 2021 14:27:08 +0800
Subject: [PATCH] deivce相关接口
---
screen-api/src/main/resources/mapper/MenuMapper.xml | 8
screen-api/src/main/java/com/moral/api/controller/MenuController.java | 2
screen-api/src/main/java/com/moral/api/entity/GroupMenu.java | 5
screen-manage/src/main/java/com/moral/api/service/DeviceService.java | 30 +++
screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 4
screen-manage/src/main/java/com/moral/api/entity/UserLog.java | 3
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 75 +++++++
screen-api/src/main/java/com/moral/api/controller/UserController.java | 2
screen-manage/src/main/java/com/moral/api/controller/DeviceController.java | 96 +++++++++
screen-manage/src/main/java/com/moral/api/entity/User.java | 8
screen-api/src/main/java/com/moral/api/controller/GroupController.java | 2
screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java | 27 ++
screen-manage/src/main/resources/mapper/GroupMenuMapper.xml | 22 +-
screen-api/src/main/java/com/moral/api/controller/LogController.java | 2
screen-manage/src/main/java/com/moral/api/entity/Group.java | 5
screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java | 33 +++
screen-manage/src/main/resources/mapper/DeviceMapper.xml | 81 ++++++++
screen-manage/src/main/java/com/moral/api/entity/Device.java | 137 +++++++++++++
screen-api/src/main/java/com/moral/api/entity/User.java | 7
screen-api/src/main/java/com/moral/api/entity/UserGroup.java | 1
screen-common/src/main/java/com/moral/constant/Constants.java | 2
screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java | 7
screen-manage/src/main/java/com/moral/api/entity/UserGroup.java | 2
screen-api/src/main/resources/mapper/GroupMenuMapper.xml | 2
24 files changed, 530 insertions(+), 33 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/GroupController.java b/screen-api/src/main/java/com/moral/api/controller/GroupController.java
index 938b016..3223ef9 100644
--- a/screen-api/src/main/java/com/moral/api/controller/GroupController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/GroupController.java
@@ -27,7 +27,7 @@
import com.moral.util.PageResult;
@Slf4j
-@Api(tags = {"���"})
+@Api(tags = {"���������"})
@RestController
@RequestMapping("/group")
public class GroupController {
diff --git a/screen-api/src/main/java/com/moral/api/controller/LogController.java b/screen-api/src/main/java/com/moral/api/controller/LogController.java
index 8df7d1a..7ff9fa8 100644
--- a/screen-api/src/main/java/com/moral/api/controller/LogController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/LogController.java
@@ -22,7 +22,7 @@
@Slf4j
@RestController
@RequestMapping("/log")
-@Api(tags = "������")
+@Api(tags = "������������")
public class LogController {
@Autowired
diff --git a/screen-api/src/main/java/com/moral/api/controller/MenuController.java b/screen-api/src/main/java/com/moral/api/controller/MenuController.java
index 0a9fd19..f8b69ba 100644
--- a/screen-api/src/main/java/com/moral/api/controller/MenuController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/MenuController.java
@@ -25,7 +25,7 @@
import com.moral.util.TokenUtils;
@Slf4j
-@Api(tags = {"������"})
+@Api(tags = {"������������"})
@RestController
@RequestMapping("/menu")
public class MenuController {
diff --git a/screen-api/src/main/java/com/moral/api/controller/UserController.java b/screen-api/src/main/java/com/moral/api/controller/UserController.java
index a9dfc17..ba6d30a 100644
--- a/screen-api/src/main/java/com/moral/api/controller/UserController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/UserController.java
@@ -26,7 +26,7 @@
import com.moral.util.PageResult;
@Slf4j
-@Api(tags = {"������"})
+@Api(tags = {"������������"})
@RestController
@RequestMapping("/user")
public class UserController {
diff --git a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
index 942572f..b91ca86 100644
--- a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
@@ -43,7 +44,7 @@
/**
* ������
*/
- private Integer channel;
+ private String channelKey;
/**
* ������Id
@@ -53,11 +54,13 @@
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
/**
diff --git a/screen-api/src/main/java/com/moral/api/entity/User.java b/screen-api/src/main/java/com/moral/api/entity/User.java
index ebc1066..678ff19 100644
--- a/screen-api/src/main/java/com/moral/api/entity/User.java
+++ b/screen-api/src/main/java/com/moral/api/entity/User.java
@@ -1,18 +1,15 @@
package com.moral.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.util.Date;
-import java.util.List;
-import java.util.Set;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/screen-api/src/main/java/com/moral/api/entity/UserGroup.java b/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
index 96b99bb..05d4e2f 100644
--- a/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
+++ b/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
+
import java.io.Serializable;
import java.util.Date;
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
index 45bdefd..18cecf2 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
@@ -56,7 +56,7 @@
Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
UpdateWrapper<GroupMenu> deleteWrapper = new UpdateWrapper<>();
- deleteWrapper.eq("group_id", groupId).eq("channel", Constants.WEB_CHANNEL);
+ deleteWrapper.eq("group_id", groupId).eq("channel_key", Constants.WEB_CHANNEL);
groupMenuMapper.delete(deleteWrapper);
List<String> menus = new ArrayList<>();
if (menuIds != null && !menuIds.isEmpty()) {
@@ -65,7 +65,7 @@
GroupMenu groupMenu = new GroupMenu();
groupMenu.setGroupId(groupId);
groupMenu.setMenuId(menuId);
- groupMenu.setChannel(Constants.WEB_CHANNEL);
+ groupMenu.setChannelKey(Constants.WEB_CHANNEL);
groupMenu.setOrganizationId((Integer) orgInfo.get("id"));
groupMenuMapper.insert(groupMenu);
});
diff --git a/screen-api/src/main/resources/mapper/GroupMenuMapper.xml b/screen-api/src/main/resources/mapper/GroupMenuMapper.xml
index bdb2457..5930463 100644
--- a/screen-api/src/main/resources/mapper/GroupMenuMapper.xml
+++ b/screen-api/src/main/resources/mapper/GroupMenuMapper.xml
@@ -7,7 +7,7 @@
<id column="id" property="id" />
<result column="group_id" property="groupId" />
<result column="menu_id" property="menuId" />
- <result column="channel" property="channel" />
+ <result column="channel_key" property="channelKey" />
<result column="organization_id" property="organizationId" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
diff --git a/screen-api/src/main/resources/mapper/MenuMapper.xml b/screen-api/src/main/resources/mapper/MenuMapper.xml
index 28df161..abfa655 100644
--- a/screen-api/src/main/resources/mapper/MenuMapper.xml
+++ b/screen-api/src/main/resources/mapper/MenuMapper.xml
@@ -21,24 +21,24 @@
<select id="selectUserMenu" resultMap="BaseResultMap">
select
- <include refid="Base_Column_List"></include>
+ <include refid="Base_Column_List"/>
FROM `user_group` ug,`group_menu` gm,`menu` m
WHERE ug.user_id = #{userId}
AND ug.group_id = gm.group_id
AND gm.menu_id = m.id
AND ug.is_delete = 0
AND gm.is_delete = 0
- AND gm.channel = 1
+ AND gm.channel_key = 1
AND m.is_delete = 0
</select>
<select id="selectOrganizationMenu" resultMap="BaseResultMap">
select
- <include refid="Base_Column_List"></include>
+ <include refid="Base_Column_List"/>
FROM `menu` m, `organization_menu` om
WHERE om.organization_id = #{orgId}
AND m.id = om.menu_id
- AND om.channel = 1
+ AND om.channel_key = 1
AND om.menu_id = m.id
AND om.is_delete = 0
AND m.is_delete = 0
diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java
index e538e66..1703fcc 100644
--- a/screen-common/src/main/java/com/moral/constant/Constants.java
+++ b/screen-common/src/main/java/com/moral/constant/Constants.java
@@ -62,7 +62,7 @@
/*
* ���������������
* */
- public static final Integer WEB_CHANNEL = 1;
+ public static final String WEB_CHANNEL = "1";
/*
* ������������������
diff --git a/screen-manage/src/main/java/com/moral/api/controller/DeviceController.java b/screen-manage/src/main/java/com/moral/api/controller/DeviceController.java
new file mode 100644
index 0000000..16691cf
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/DeviceController.java
@@ -0,0 +1,96 @@
+package com.moral.api.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+import com.moral.api.entity.User;
+import com.moral.api.pojo.vo.device.DeviceVO;
+import com.moral.api.service.DeviceService;
+import com.moral.api.service.OrganizationService;
+import com.moral.constant.ResultMessage;
+import com.moral.util.PageResult;
+
+@Slf4j
+@Api(tags = {"������������"})
+@RestController
+@RequestMapping(value = "/device")
+public class DeviceController {
+
+ @Autowired
+ private DeviceService deviceService;
+
+ @Autowired
+ private OrganizationService organizationService;
+
+ @ApiOperation(value = "������������", notes = "������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+ })
+ @RequestMapping(value = "insert", method = RequestMethod.POST)
+ public ResultMessage insert(@RequestBody Device device) {
+ deviceService.insert(device);
+ return ResultMessage.ok();
+ }
+
+ @ApiOperation(value = "���������������", notes = "���������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+ })
+ @RequestMapping(value = "operators", method = RequestMethod.GET)
+ public ResultMessage selectOperators() {
+ List<ManageAccount> operators = deviceService.selectAllOperator();
+ return ResultMessage.ok(operators);
+ }
+
+ @ApiOperation(value = "������������", notes = "������������")
+ @RequestMapping(value = "versions", method = RequestMethod.GET)
+ public ResultMessage selectVersions() {
+ return null;
+ }
+
+ @ApiOperation(value = "������������", notes = "������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+ })
+ @RequestMapping(value = "organizations", method = RequestMethod.GET)
+ public ResultMessage selectOrganizations() {
+ List<Organization> organizations = deviceService.selectAllOrganization();
+ return ResultMessage.ok(organizations);
+ }
+
+ @ApiOperation(value = "������������������", notes = "������������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "page", value = "���������", required = false, paramType = "query", dataType = "Integer"),
+ @ApiImplicitParam(name = "size", value = "������������", required = false, paramType = "query", dataType = "Integer"),
+ @ApiImplicitParam(name = "order", value = "������������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "orderType", value = "������������������������0������������1", defaultValue = "0", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
+ @ApiImplicitParam(name = "organizationName", value = "������������������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "monitorPointName", value = "������������������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "deviceName", value = "������������������������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "mac", value = "mac������������", required = false, paramType = "query", dataType = "String"),
+ })
+ @RequestMapping(value = "select", method = RequestMethod.POST)
+ public ResultMessage select(@RequestBody Map<String, Object> parameters) {
+ Page<DeviceVO> userPage = deviceService.selectDevices(parameters);
+ PageResult<DeviceVO> pageResult = new PageResult<>(
+ userPage.getTotal(), userPage.getPages(), userPage.getRecords()
+ );
+ return ResultMessage.ok(pageResult);
+ }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/Device.java b/screen-manage/src/main/java/com/moral/api/entity/Device.java
new file mode 100644
index 0000000..b107cba
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/Device.java
@@ -0,0 +1,137 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Device extends Model<Device> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ������id
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * ������������
+ */
+ private String name;
+
+ /**
+ * mac���
+ */
+ private String mac;
+
+ /**
+ * ������������
+ */
+ private String address;
+
+ /**
+ * ������
+ */
+ private Double longitude;
+
+ /**
+ * ������
+ */
+ private Double latitude;
+
+ /**
+ * ���������������������������������
+ */
+ private String state;
+
+ /**
+ * ���������id���������������������������������manage_account
+ */
+ private String operateIds;
+
+ /**
+ * ������id
+ */
+ private Integer monitorPointId;
+
+ /**
+ * ������id
+ */
+ private Integer organizationId;
+
+ /**
+ * ������������id
+ */
+ private Integer deviceVersionId;
+
+ /**
+ * ���������������������������
+ */
+ private String profession;
+
+ /**
+ * ���������������1������������2������������3������������������������������������
+ */
+ private String tech;
+
+ /**
+ * ������������������������������������
+ */
+ private String detector;
+
+ /**
+ * ������������������������������
+ */
+ private String purchaser;
+
+ /**
+ * ������(������)������
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+
+ /**
+ * ������������
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date updateTime;
+
+ /**
+ * ������������
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date installTime;
+
+ /**
+ * ������������,0���������������1���������
+ */
+ private String isDelete;
+
+ /**
+ * ������������������������
+ */
+ private String extend;
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/Group.java b/screen-manage/src/main/java/com/moral/api/entity/Group.java
index 5d9594c..0b79a9b 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/Group.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/Group.java
@@ -4,7 +4,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
import java.io.Serializable;
import java.util.Date;
@@ -45,11 +46,13 @@
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
/**
diff --git a/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java
index 55ec085..7adb89b 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java
@@ -4,7 +4,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
import java.io.Serializable;
import java.util.Date;
@@ -43,7 +44,7 @@
private Integer menuId;
/**
- * ���������������
+ * ������
*/
private String channelKey;
@@ -55,11 +56,13 @@
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
/**
diff --git a/screen-manage/src/main/java/com/moral/api/entity/User.java b/screen-manage/src/main/java/com/moral/api/entity/User.java
index afe45ab..15bf9e3 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/User.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/User.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
import java.io.Serializable;
import java.util.Date;
@@ -43,6 +45,7 @@
/**
* ������
*/
+ @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
/**
@@ -73,16 +76,19 @@
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date expireTime;
/**
diff --git a/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java b/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java
index a595662..a4def76 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java
@@ -3,8 +3,10 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
+
import java.time.LocalDateTime;
import java.io.Serializable;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/screen-manage/src/main/java/com/moral/api/entity/UserLog.java b/screen-manage/src/main/java/com/moral/api/entity/UserLog.java
index 58f4dca..416fef5 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/UserLog.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/UserLog.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
import java.io.Serializable;
import java.util.Date;
@@ -57,6 +59,7 @@
/**
* ������������
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java
new file mode 100644
index 0000000..0d2726a
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -0,0 +1,27 @@
+package com.moral.api.mapper;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.pojo.vo.device.DeviceVO;
+
+/**
+ * <p>
+ * ��������� Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+public interface DeviceMapper extends BaseMapper<Device> {
+
+ IPage<DeviceVO> selectAllDeviceInfo(Page<DeviceVO> page, @Param("ew") QueryWrapper<DeviceVO> queryWrapper);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java
new file mode 100644
index 0000000..d6b3ea6
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java
@@ -0,0 +1,33 @@
+package com.moral.api.pojo.vo.device;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+import com.moral.api.entity.Device;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DeviceVO extends Device {
+
+ /*
+ * ������
+ * */
+ private String professionName;
+
+ /*
+ * ������
+ * */
+ private Organization organization;
+
+ /*
+ * ���������
+ * */
+ private List<ManageAccount> operators;
+
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/DeviceService.java b/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
new file mode 100644
index 0000000..a7d25e7
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
@@ -0,0 +1,30 @@
+package com.moral.api.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+import com.moral.api.pojo.vo.device.DeviceVO;
+
+/**
+ * <p>
+ * ��������� ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+public interface DeviceService extends IService<Device> {
+
+ void insert(Device device);
+
+ List<ManageAccount> selectAllOperator();
+
+ List<Organization> selectAllOrganization();
+
+ Page<DeviceVO> selectDevices(Map<String, Object> parameters);
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
new file mode 100644
index 0000000..bb7f828
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -0,0 +1,75 @@
+package com.moral.api.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+import com.moral.api.entity.User;
+import com.moral.api.mapper.DeviceMapper;
+import com.moral.api.mapper.ManageAccountMapper;
+import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.pojo.vo.device.DeviceVO;
+import com.moral.api.service.DeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * ��������� ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+@Service
+public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
+
+ @Autowired
+ private DeviceMapper deviceMapper;
+
+ @Autowired
+ private ManageAccountMapper manageAccountMapper;
+
+ @Autowired
+ private OrganizationMapper organizationMapper;
+
+ @Override
+ @Transactional
+ public void insert(Device device) {
+ deviceMapper.insert(device);
+ }
+
+ @Override
+ public List<ManageAccount> selectAllOperator() {
+ QueryWrapper<ManageAccount> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("id", "user_name").eq("is_delete", Constants.NOT_DELETE);
+ return manageAccountMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public List<Organization> selectAllOrganization() {
+ QueryWrapper<Organization> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("id", "name").ge("expire_time", new Date()).eq("is_delete", Constants.NOT_DELETE);
+ return organizationMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public Page<DeviceVO> selectDevices(Map<String, Object> parameters) {
+ QueryWrapper<DeviceVO> queryWrapper = new QueryWrapper<>();
+ Integer page = (Integer) parameters.get("page");
+ Integer size = (Integer) parameters.get("size");
+ Page<DeviceVO> pageData = new Page<>(page, size);
+ deviceMapper.selectAllDeviceInfo(pageData, queryWrapper);
+ return pageData;
+ }
+
+}
diff --git a/screen-manage/src/main/resources/mapper/DeviceMapper.xml b/screen-manage/src/main/resources/mapper/DeviceMapper.xml
new file mode 100644
index 0000000..c4c9e00
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/DeviceMapper.xml
@@ -0,0 +1,81 @@
+<?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.moral.api.mapper.DeviceMapper">
+
+ <!-- ������������������������ -->
+ <resultMap id="BaseResultMap" type="com.moral.api.entity.Device">
+ <id column="id" property="id"/>
+ <result column="name" property="name"/>
+ <result column="mac" property="mac"/>
+ <result column="address" property="address"/>
+ <result column="longitude" property="longitude"/>
+ <result column="latitude" property="latitude"/>
+ <result column="state" property="state"/>
+ <result column="operate_ids" property="operateIds"/>
+ <result column="monitor_point_id" property="monitorPointId"/>
+ <result column="organization_id" property="organizationId"/>
+ <result column="device_version_id" property="deviceVersionId"/>
+ <result column="profession" property="profession"/>
+ <result column="tech" property="tech"/>
+ <result column="detector" property="detector"/>
+ <result column="purchaser" property="purchaser"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="install_time" property="installTime"/>
+ <result column="is_delete" property="isDelete"/>
+ <result column="extend" property="extend"/>
+ </resultMap>
+
+ <resultMap id="resultMap" type="com.moral.api.pojo.vo.device.DeviceVO" extends="BaseResultMap">
+ <result column="profession_name" property="professionName"/>
+ <association property="organization" javaType="com.moral.api.entity.Organization">
+ <result column="org_id" property="id"/>
+ <result column="org_name" property="name"/>
+ </association>
+ <!--���������������-->
+ <collection property="operators" ofType="com.moral.api.entity.ManageAccount">
+ <id column="operate_id" property="id" jdbcType="INTEGER"/>
+ <result column="operate_name" property="userName" jdbcType="VARCHAR"/>
+ </collection>
+ </resultMap>
+
+ <select id="selectAllDeviceInfo" resultMap="resultMap">
+ SELECT d.id,
+ d.`name`,
+ d.mac,
+ d.address,
+ d.longitude,
+ d.latitude,
+ d.operate_ids,
+ d.organization_id,
+ d.monitor_point_id,
+ d.organization_id,
+ d.device_version_id,
+ d.profession profession,
+ o.id org_id,
+ o.`name` org_name,
+ ma.id operate_id,
+ ma.user_name operate_name,
+ sd.dataValue profession_name
+ FROM `device` d
+ LEFT JOIN `organization` o
+ ON d.organization_id = o.id
+ LEFT JOIN `manage_account` ma
+ ON FIND_IN_SET(
+ ma.id, (SELECT operate_ids FROM device)
+ )
+ LEFT JOIN
+ (
+ SELECT sdt.`name`, sdd.dataKey, sdd.dataValue
+ FROM sys_dict_type sdt,
+ sys_dict_data sdd
+ WHERE sdt.id = sdd.dict_type_id
+ ) sd
+ on sd.`name` = 'profession'
+ and d.profession = sd.dataKey
+ AND d.is_delete = 0
+ ${ew.customSqlSegment}
+ </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml b/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml
index bdb2457..f0a661b 100644
--- a/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml
+++ b/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml
@@ -2,16 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.api.mapper.GroupMenuMapper">
- <!-- ������������������������ -->
- <resultMap id="BaseResultMap" type="com.moral.api.entity.GroupMenu">
- <id column="id" property="id" />
- <result column="group_id" property="groupId" />
- <result column="menu_id" property="menuId" />
- <result column="channel" property="channel" />
- <result column="organization_id" property="organizationId" />
- <result column="create_time" property="createTime" />
- <result column="update_time" property="updateTime" />
- <result column="is_delete" property="isDelete" />
- </resultMap>
+ <!-- ������������������������ -->
+ <resultMap id="BaseResultMap" type="com.moral.api.entity.GroupMenu">
+ <id column="id" property="id"/>
+ <result column="group_id" property="groupId"/>
+ <result column="menu_id" property="menuId"/>
+ <result column="channel_key" property="channelKey"/>
+ <result column="organization_id" property="organizationId"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="is_delete" property="isDelete"/>
+ </resultMap>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0