From d45606e59e08669d99e830554722b40452209d9e Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 24 Aug 2021 08:45:34 +0800
Subject: [PATCH] 页面布局查询、新建、删除接口

---
 screen-manage/src/main/java/com/moral/api/pojo/form/organizationLayout/OrganizationLayoutSetUp.java |   15 +++
 screen-manage/src/main/java/com/moral/api/controller/OrganizationLayoutController.java              |   60 ++++++++++++
 screen-manage/src/main/resources/mapper/OrganizationLayoutMapper.xml                                |   24 ++++
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java           |   58 +++++++++++
 screen-manage/src/main/java/com/moral/api/entity/OrganizationLayout.java                            |   68 +++++++++++++
 screen-manage/src/main/java/com/moral/api/service/OrganizationLayoutService.java                    |   28 +++++
 screen-manage/src/main/java/com/moral/api/mapper/OrganizationLayoutMapper.java                      |   19 +++
 7 files changed, 272 insertions(+), 0 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/controller/OrganizationLayoutController.java b/screen-manage/src/main/java/com/moral/api/controller/OrganizationLayoutController.java
new file mode 100644
index 0000000..f07f027
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/OrganizationLayoutController.java
@@ -0,0 +1,60 @@
+package com.moral.api.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.OrganizationLayout;
+import com.moral.api.pojo.form.organizationLayout.OrganizationLayoutSetUp;
+import com.moral.api.service.OrganizationLayoutService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import com.moral.util.WebUtils;
+import io.swagger.annotations.Api;
+import io.swagger.models.auth.In;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Api(tags = {"������������"})
+@RestController
+@RequestMapping("/organizationLayout")
+public class OrganizationLayoutController {
+
+    @Resource
+    private OrganizationLayoutService organizationLayoutService;
+
+    @RequestMapping(value = "getLayoutData",method = RequestMethod.GET)
+    @ResponseBody
+    public ResultMessage getLayoutData(HttpServletRequest request){
+        Map<String,Object> parameters = WebUtils.getParametersStartingWith(request,null);
+        int organization_id = Integer.parseInt(parameters.get("organization_id").toString());
+        int version_id = Integer.parseInt(parameters.get("version_id").toString());
+        if (ObjectUtils.isEmpty(organization_id) || ObjectUtils.isEmpty(version_id)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        List<Map<String,Object>> result = organizationLayoutService.getData(parameters);
+        return ResultMessage.ok(result);
+    }
+
+    @RequestMapping(value = "setUpLayout",method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage setUpLayout(@RequestBody OrganizationLayoutSetUp organizationLayoutSetUp){
+        int organization_id = organizationLayoutSetUp.getOrganizationId();
+        int version_id = organizationLayoutSetUp.getVersionId();
+        if (ObjectUtils.isEmpty(organization_id) || ObjectUtils.isEmpty(version_id)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        Map<String, Integer> map = new HashMap<>();
+        map.put("organization_id",organization_id);
+        map.put("version_id",version_id);
+        organizationLayoutService.delete(map);
+        List<OrganizationLayout> organizationLayouts = organizationLayoutSetUp.getOrganizationLayouts();
+        organizationLayoutService.insertList(organizationLayouts);
+        return ResultMessage.ok();
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/OrganizationLayout.java b/screen-manage/src/main/java/com/moral/api/entity/OrganizationLayout.java
new file mode 100644
index 0000000..e58aab6
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/OrganizationLayout.java
@@ -0,0 +1,68 @@
+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 java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OrganizationLayout extends Model<OrganizationLayout> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * ������id
+     */
+    private Integer organizationId;
+
+    /**
+     * ������id
+     */
+    private Integer versionId;
+
+    /**
+     * ������
+     */
+    private String position;
+
+    /**
+     * ������������
+     */
+    private Integer positionIndex;
+
+    /**
+     * ������������
+     */
+    private String sensorCode;
+
+    /**
+     * ������������
+     */
+    private Date createTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/OrganizationLayoutMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/OrganizationLayoutMapper.java
new file mode 100644
index 0000000..dfef7d8
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/OrganizationLayoutMapper.java
@@ -0,0 +1,19 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.OrganizationLayout;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-23
+ */
+public interface OrganizationLayoutMapper extends BaseMapper<OrganizationLayout> {
+
+    void insertList(List<OrganizationLayout> organizationLayoutList);
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/organizationLayout/OrganizationLayoutSetUp.java b/screen-manage/src/main/java/com/moral/api/pojo/form/organizationLayout/OrganizationLayoutSetUp.java
new file mode 100644
index 0000000..e4003f7
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/organizationLayout/OrganizationLayoutSetUp.java
@@ -0,0 +1,15 @@
+package com.moral.api.pojo.form.organizationLayout;
+
+import com.moral.api.entity.OrganizationLayout;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class OrganizationLayoutSetUp {
+    private int organizationId;
+    private int versionId;
+
+    private List<OrganizationLayout> organizationLayouts;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/OrganizationLayoutService.java b/screen-manage/src/main/java/com/moral/api/service/OrganizationLayoutService.java
new file mode 100644
index 0000000..b12bf46
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/OrganizationLayoutService.java
@@ -0,0 +1,28 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.OrganizationLayout;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-23
+ */
+public interface OrganizationLayoutService extends IService<OrganizationLayout> {
+
+    List<Map<String,Object>> getData(Map map);
+
+    @Transactional
+    void delete(Map map);
+
+    @Transactional
+    void insertList(List<OrganizationLayout> list);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java
new file mode 100644
index 0000000..2d9a0a2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationLayoutServiceImpl.java
@@ -0,0 +1,58 @@
+package com.moral.api.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.entity.OrganizationLayout;
+import com.moral.api.mapper.OrganizationLayoutMapper;
+import com.moral.api.service.OrganizationLayoutService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-23
+ */
+@Service
+public class OrganizationLayoutServiceImpl extends ServiceImpl<OrganizationLayoutMapper, OrganizationLayout> implements OrganizationLayoutService {
+
+    @Autowired(required = false)
+    private OrganizationLayoutMapper organizationLayoutMapper;
+
+    @Override
+    public List<Map<String, Object>> getData(Map map) {
+        int organization_id = Integer.parseInt(map.get("organization_id").toString());
+        int version_id = Integer.parseInt(map.get("version_id").toString());
+        QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>();
+        wrapper_organizationLayout.eq("organization_id",organization_id);
+        wrapper_organizationLayout.eq("version_id",version_id);
+        List<Map<String,Object>> organizationLayouts = new ArrayList<>();
+        organizationLayouts = organizationLayoutMapper.selectMaps(wrapper_organizationLayout);
+        return organizationLayouts;
+    }
+
+    @Transactional
+    @Override
+    public void delete(Map map) {
+        int organization_id = Integer.parseInt(map.get("organization_id").toString());
+        int version_id = Integer.parseInt(map.get("version_id").toString());
+        QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>();
+        wrapper_organizationLayout.eq("organization_id",organization_id);
+        wrapper_organizationLayout.eq("version_id",version_id);
+        organizationLayoutMapper.delete(wrapper_organizationLayout);
+    }
+
+    @Transactional
+    @Override
+    public void insertList(List<OrganizationLayout> list) {
+        organizationLayoutMapper.insertList(list);
+    }
+}
diff --git a/screen-manage/src/main/resources/mapper/OrganizationLayoutMapper.xml b/screen-manage/src/main/resources/mapper/OrganizationLayoutMapper.xml
new file mode 100644
index 0000000..916b1ba
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/OrganizationLayoutMapper.xml
@@ -0,0 +1,24 @@
+<?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.OrganizationLayoutMapper">
+
+        <!-- ������������������������ -->
+        <resultMap id="BaseResultMap" type="com.moral.api.entity.OrganizationLayout">
+                    <id column="id" property="id" />
+                    <result column="organization_id" property="organizationId" />
+                    <result column="version_id" property="versionId" />
+                    <result column="position" property="position" />
+                    <result column="position_index" property="positionIndex" />
+                    <result column="sensor_code" property="sensorCode" />
+        </resultMap>
+
+    <insert id="insertList" parameterType="java.util.List">
+        insert into organization_layout
+        (organization_id,version_id,position,position_index,sensor_code)
+        values
+        <foreach collection="list" item="organizationLayout" index="index" separator=",">
+            (#{organizationLayout.organizationId},#{organizationLayout.versionId},#{organizationLayout.position},#{organizationLayout.positionIndex},#{organizationLayout.sensorCode})
+        </foreach>
+    </insert>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0