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