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