From 9147ac833536f581c4ce8ff7504d7daf4a20cd9c Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Fri, 14 Jan 2022 14:02:40 +0800
Subject: [PATCH] 服务范围增删改查接口

---
 screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java                 |    4 
 screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java          |   60 +++++++
 screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java            |   16 ++
 screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java |  148 ++++++++++++++++++
 screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml                      |   18 ++
 screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java                  |   79 +++++++++
 screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java    |  112 ++++++++++++++
 7 files changed, 436 insertions(+), 1 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
index cd8d4ff..54dea75 100644
--- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
+++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -62,7 +62,9 @@
     TARGET_IS_NULL(-47, "���������������������"),
     VERSION_USED(-48, "������������������������������"),
     CANNOT_DELETE_ONESELF(-49, "���������������������������"),
-    EXPIRE_BEYOND_ADMIN(-50, "���������������������������������");
+    EXPIRE_BEYOND_ADMIN(-50, "���������������������������������"),
+    SERVICES_SCOPE_IS_EXIST(-51, "���������������������"),
+    SERVICES_SCOPE_IS_NOT_EXIST(-52, "���������������������");
 
     private final Integer code;
     private final String msg;
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java b/screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java
new file mode 100644
index 0000000..639358e
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java
@@ -0,0 +1,112 @@
+package com.moral.api.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.Organization;
+import com.moral.api.entity.ServicesScope;
+import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.service.OrganizationService;
+import com.moral.api.service.ServicesScopeService;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import com.moral.util.WebUtils;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * @program: screen
+ * @description: ������������
+ * @author: lizijie
+ * @create: 2022-01-12 15:42
+ **/
+@Slf4j
+@Api(tags = {"������������"})
+@RestController
+@RequestMapping("/servicesScope")
+public class ServicesScopeController {
+
+    @Resource
+    private OrganizationMapper organizationMapper;
+
+    @Resource
+    private OrganizationService organizationService;
+
+    @Resource
+    private ServicesScopeService servicesScopeService;
+
+    @RequestMapping(value = "getDataByCondition", method = RequestMethod.GET)
+    @ResponseBody
+    public ResultMessage getDataByCondition(HttpServletRequest request){
+        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
+        Object size = parameters.get("size");
+        Object current = parameters.get("current");
+        if (ObjectUtils.isEmpty(size) || ObjectUtils.isEmpty(current)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        Map<String, Object> resultMap = servicesScopeService.getDataByCondition(parameters);
+        return ResultMessage.ok(resultMap);
+    }
+
+    @RequestMapping(value = "insert",method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage insert(@RequestBody ServicesScope servicesScope){
+        if (ObjectUtils.isEmpty(servicesScope.getName()) || ObjectUtils.isEmpty(servicesScope.getOrganizationId())){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        QueryWrapper<Organization> organizationQueryWrapper = new QueryWrapper<>();
+        organizationQueryWrapper.eq("id",servicesScope.getOrganizationId()).eq("is_delete",Constants.NOT_DELETE);
+        Organization organization = organizationService.getOne(organizationQueryWrapper);
+        if (ObjectUtils.isEmpty(organization)){
+            return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+        }
+        servicesScopeService.insert(servicesScope);
+        return ResultMessage.ok();
+    }
+
+    @RequestMapping(value = "update",method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage update(@RequestBody ServicesScope servicesScope){
+        if (ObjectUtils.isEmpty(servicesScope.getId())){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>();
+        servicesScopeQueryWrapper.eq("id",servicesScope.getId()).eq("is_delete",Constants.NOT_DELETE);
+        ServicesScope servicesScopeRes = servicesScopeService.getOne(servicesScopeQueryWrapper);
+        if (ObjectUtils.isEmpty(servicesScopeRes)){
+            return ResultMessage.fail(ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getCode(), ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getMsg());
+        }
+        if (!ObjectUtils.isEmpty(servicesScope.getOrganizationId())){
+            QueryWrapper<Organization> organizationQueryWrapper = new QueryWrapper<>();
+            organizationQueryWrapper.eq("id",servicesScope.getOrganizationId()).eq("is_delete",Constants.NOT_DELETE);
+            Organization organization = organizationService.getOne(organizationQueryWrapper);
+            if (ObjectUtils.isEmpty(organization)){
+                return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+            }
+        }
+        servicesScopeService.update(servicesScope);
+        return ResultMessage.ok();
+    }
+
+    @RequestMapping(value = "delete",method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage delete(@RequestBody Map map){
+        if (ObjectUtils.isEmpty(map.get("id"))){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>();
+        servicesScopeQueryWrapper.eq("id",Integer.parseInt(map.get("id").toString())).eq("is_delete",Constants.NOT_DELETE);
+        ServicesScope servicesScopeRes = servicesScopeService.getOne(servicesScopeQueryWrapper);
+        if (ObjectUtils.isEmpty(servicesScopeRes)){
+            return ResultMessage.fail(ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getCode(), ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getMsg());
+        }
+        servicesScopeService.delete(Integer.parseInt(map.get("id").toString()));
+        return ResultMessage.ok();
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java b/screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java
new file mode 100644
index 0000000..e72fba1
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java
@@ -0,0 +1,79 @@
+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.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author moral
+ * @since 2022-01-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ServicesScope extends Model<ServicesScope> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * ������
+     */
+    private String name;
+
+    /**
+     * ������id
+     */
+    private Integer organizationId;
+
+    /**
+     * ������������
+     */
+    private Double centerLongitude;
+
+    /**
+     * ������������
+     */
+    private Double centerLatitude;
+
+    /**
+     * ������
+     */
+    private String boundary;
+
+    /**
+     * ������������
+     */
+    private Date createTime;
+
+    /**
+     * ������������
+     */
+    private Date updateTime;
+
+    /**
+     * ������������
+     */
+    private String isDelete;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java
new file mode 100644
index 0000000..caab296
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java
@@ -0,0 +1,16 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.ServicesScope;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2022-01-12
+ */
+public interface ServicesScopeMapper extends BaseMapper<ServicesScope> {
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java b/screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java
new file mode 100644
index 0000000..5905297
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java
@@ -0,0 +1,60 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.ServicesScope;
+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 2022-01-12
+ */
+@Transactional
+public interface ServicesScopeService extends IService<ServicesScope> {
+
+    /**
+      *@Description: ���������������������������������
+      *@Param: [map]
+      *@return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>> 
+      *@Author: lizijie
+      *@Date: 2022/1/12 16:35
+     **/
+   Map<String, Object> getDataByCondition(Map<String, Object> map);
+   
+   /**
+     *@Description: ������������������
+     *@Param: [servicesScope]
+     *@return: void 
+     *@Author: lizijie
+     *@Date: 2022/1/13 9:45
+    **/
+   @Transactional
+   void insert(ServicesScope servicesScope);
+   
+   /**
+     *@Description: ������
+     *@Param: [servicesScope]
+     *@return: void 
+     *@Author: lizijie
+     *@Date: 2022/1/13 14:54
+    **/
+   @Transactional
+   void update(ServicesScope servicesScope);
+   
+   /**
+     *@Description: ������id������
+     *@Param: [id]
+     *@return: void 
+     *@Author: lizijie
+     *@Date: 2022/1/13 17:30
+    **/
+   @Transactional
+   void delete(int id);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
new file mode 100644
index 0000000..43f3da5
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
@@ -0,0 +1,148 @@
+package com.moral.api.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Organization;
+import com.moral.api.entity.ServicesScope;
+import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.mapper.ServicesScopeMapper;
+import com.moral.api.service.ServicesScopeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.LogUtils;
+import com.moral.constant.Constants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * <p>
+ *  ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2022-01-12
+ */
+@Service
+public class ServicesScopeServiceImpl extends ServiceImpl<ServicesScopeMapper, ServicesScope> implements ServicesScopeService {
+
+    @Autowired
+    private ServicesScopeMapper servicesScopeMapper;
+
+    @Autowired
+    private OrganizationMapper organizationMapper;
+
+    @Override
+    public Map<String, Object> getDataByCondition(Map<String, Object> map) {
+        Map<String,Object> resultMap = new HashMap<>();
+        int current = Integer.parseInt(map.get("current").toString());
+        int size = Integer.parseInt(map.get("size").toString());
+        Page<ServicesScope> page = new Page<>(current, size);
+        QueryWrapper<ServicesScope> servicesScopeWrapper = new QueryWrapper<>();
+        servicesScopeWrapper.eq("is_delete",Constants.NOT_DELETE);
+        if (!ObjectUtils.isEmpty(map.get("orgId"))){
+            servicesScopeWrapper.eq("organization_id",Integer.parseInt(map.get("orgId").toString()));
+        }
+        if (!ObjectUtils.isEmpty(map.get("name"))){
+            if (map.get("name") != ""){
+                servicesScopeWrapper.like("name",map.get("name").toString());
+            }
+        }
+        Page<ServicesScope> resultPage = servicesScopeMapper.selectPage(page, servicesScopeWrapper);
+        List<ServicesScope> servicesScopes = resultPage.getRecords();
+        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<Map<String,Object>> servicesScopesList = new ArrayList<>();
+        for (ServicesScope servicesScope:servicesScopes) {
+            Map servicesScopeMap = JSON.parseObject(JSON.toJSONString(servicesScope),Map.class);
+            if (ObjectUtils.isEmpty(servicesScopeMap.get("centerLongitude"))){
+                servicesScopeMap.put("centerLongitude",null);
+            }
+            if (ObjectUtils.isEmpty(servicesScopeMap.get("centerLatitude"))){
+                servicesScopeMap.put("centerLatitude",null);
+            }
+            if (ObjectUtils.isEmpty(servicesScopeMap.get("boundary"))){
+                servicesScopeMap.put("boundary",null);
+            }
+            String createTime = SDF.format(servicesScope.getCreateTime());
+            String updateTime = SDF.format(servicesScope.getUpdateTime());
+            servicesScopeMap.put("createTime",createTime);
+            servicesScopeMap.put("updateTime",updateTime);
+            int organization_id = servicesScope.getOrganizationId();
+            Organization organization = organizationMapper.selectById(organization_id);
+            servicesScopeMap.put("organization_name",organization.getName());
+            servicesScopesList.add(servicesScopeMap);
+        }
+        resultMap.put("servicesScopes",servicesScopesList);
+        int totalNumber = servicesScopeMapper.selectCount(servicesScopeWrapper);
+        resultMap.put("totalNumber",totalNumber);
+        resultMap.put("current",current);
+        int totalPageNumber = totalNumber/size;
+        if(totalNumber%size != 0){
+            totalPageNumber += 1;
+        }
+        resultMap.put("totalPageNumber",totalPageNumber);
+        return resultMap;
+    }
+
+    @Transactional
+    @Override
+    public void insert(ServicesScope servicesScope) {
+        int count = servicesScopeMapper.insert(servicesScope);
+        if (count > 0) {
+            //������������������
+            HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+            StringBuilder content = new StringBuilder();
+            content.append("������������������������").append("id:").append(servicesScope.getId() + ";").append("name:").append(servicesScope.getName() + ";").append(":").append("organization_id���").append(servicesScope.getOrganizationId() + ";");
+            LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+        }
+    }
+
+    @Override
+    @Transactional
+    public void update(ServicesScope servicesScope) {
+        ServicesScope oldServicesScope = servicesScopeMapper.selectById(servicesScope.getId());
+        servicesScopeMapper.updateById(servicesScope);
+        ServicesScope newServicesScope = servicesScopeMapper.selectById(servicesScope.getId());
+        //������������������
+        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+        StringBuilder content = new StringBuilder();
+        content.append("������������������������").append("id:").append(servicesScope.getId() + ";");
+        if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getOrganizationId())) {
+            content.append("organization_id:").append(oldServicesScope.getOrganizationId()).append("->").append(newServicesScope.getOrganizationId()).append(";");
+        }
+        if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getName())) {
+            content.append("name:").append(oldServicesScope.getName()).append("->").append(newServicesScope.getName()).append(";");
+        }
+        if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getCenterLongitude())) {
+            content.append("center_longitude:").append(oldServicesScope.getCenterLongitude()).append("->").append(newServicesScope.getCenterLongitude()).append(";");
+        }
+        if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getCenterLatitude())) {
+            content.append("center_latitude:").append(oldServicesScope.getCenterLatitude()).append("->").append(newServicesScope.getCenterLatitude()).append(";");
+        }
+        if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getBoundary())) {
+            content.append("boundary:").append("������������").append(";");
+        }
+        LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+    }
+
+    @Override
+    @Transactional
+    public void delete(int id) {
+        ServicesScope servicesScope = new ServicesScope();
+        servicesScope.setId(id);
+        servicesScope.setIsDelete(Constants.DELETE);
+        servicesScopeMapper.updateById(servicesScope);
+        //������������������
+        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+        StringBuilder content = new StringBuilder();
+        content.append("������������������������").append("id:").append(id).append(";");
+        LogUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
+    }
+}
diff --git a/screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml b/screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml
new file mode 100644
index 0000000..5719ffe
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml
@@ -0,0 +1,18 @@
+<?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.ServicesScopeMapper">
+
+        <!-- ������������������������ -->
+        <resultMap id="BaseResultMap" type="com.moral.api.entity.ServicesScope">
+                    <id column="id" property="id" />
+                    <result column="name" property="name" />
+                    <result column="organization__id" property="organizationId" />
+                    <result column="center_longitude" property="centerLongitude" />
+                    <result column="center_latitude" property="centerLatitude" />
+                    <result column="boundary" property="boundary" />
+                    <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