From 3b72f1f4dd46191857583a166d5b67722c6b118e Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 25 Mar 2021 17:19:50 +0800
Subject: [PATCH] manage模块     添加组织增删改功能 查待完成

---
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java |  194 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 194 insertions(+), 0 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
index 827683d..dc16393 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -1,10 +1,26 @@
 package com.moral.api.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.entity.Organization;
 import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.pojo.dto.organization.OrganizationDTO;
+import com.moral.api.pojo.dto.organization.OrganizationQueryDTO;
+import com.moral.api.pojo.form.organization.OrganizationDeleteForm;
+import com.moral.api.pojo.form.organization.OrganizationInsertForm;
+import com.moral.api.pojo.form.organization.OrganizationQueryForm;
+import com.moral.api.pojo.form.organization.OrganizationUpdateForm;
 import com.moral.api.service.OrganizationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +33,182 @@
 @Service
 public class OrganizationServiceImpl extends ServiceImpl<OrganizationMapper, Organization> implements OrganizationService {
 
+    @Autowired
+    OrganizationMapper organizationMapper;
+
+    /**
+     * @Description: ������������������
+     * @Param: [organizationInsertForm]
+     * @return: void
+     * @Author: ���������
+     * @Date: 2021/3/22
+     */
+    @Override
+    @Transactional
+    public OrganizationDTO insertOrganization(OrganizationInsertForm organizationInsertForm) {
+        OrganizationDTO organizationDTO = new OrganizationDTO();
+        QueryWrapper<Organization> queryWrapper = new QueryWrapper<>();
+        //form������entity
+        Organization organization = organizationInsertForm.formConvertEntity();
+        //������������������������������������
+        Organization existOrganization = new Organization();
+        existOrganization.setName(organization.getName());
+        existOrganization.setIsDelete(Constants.NOT_DELETE);
+        queryWrapper.setEntity(existOrganization);
+        List<Organization> existOrganizations = organizationMapper.selectList(queryWrapper);
+        if (!ObjectUtils.isEmpty(existOrganizations)) {
+            organizationDTO.setCode(ResponseCodeEnum.ORGANIZATION_EXIST.getCode());
+            organizationDTO.setMsg(ResponseCodeEnum.ORGANIZATION_EXIST.getMsg());
+            return organizationDTO;
+        }
+        //���������������������������
+        Integer parentId = organization.getParentId();
+        Organization parentOrganization = new Organization();
+        if (!ObjectUtils.isEmpty(parentId)) {
+            parentOrganization.setId(parentId);
+            parentOrganization.setIsDelete(Constants.NOT_DELETE);
+            queryWrapper.setEntity(parentOrganization);
+            parentOrganization = organizationMapper.selectOne(queryWrapper);
+            if (ObjectUtils.isEmpty(parentOrganization)) {
+                organizationDTO.setCode(ResponseCodeEnum.ORGANIZATION_PARENT_NOT_EXIST.getCode());
+                organizationDTO.setMsg(ResponseCodeEnum.ORGANIZATION_PARENT_NOT_EXIST.getMsg());
+                return organizationDTO;
+            }
+        }
+        //������������
+        organizationMapper.insert(organization);
+        //������DTO������
+        organizationDTO.setParentOrganization(parentOrganization);
+        organizationDTO.setOrganization(organization);
+        organizationDTO.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return organizationDTO;
+    }
+
+    /**
+    * @Description: ������������������
+            * @Param: [organizationUpdateForm]
+            * @return: com.moral.api.pojo.dto.organization.OrganizationDTO
+            * @Author: ���������
+            * @Date: 2021/3/24
+            */
+    @Override
+    @Transactional
+    public OrganizationDTO updateOrganization(OrganizationUpdateForm organizationUpdateForm) {
+        OrganizationDTO organizationDTO = new OrganizationDTO();
+        //form���entity
+        Organization organization = organizationUpdateForm.formConvertEntity();
+        //������������������������
+        QueryWrapper<Organization> existWrapper = new QueryWrapper<>();
+        Organization existOrganization = new Organization();
+        existOrganization.setId(organization.getId());
+        existOrganization.setIsDelete(Constants.NOT_DELETE);
+        existWrapper.setEntity(existOrganization);
+        existOrganization = organizationMapper.selectOne(existWrapper);
+        if(ObjectUtils.isEmpty(existOrganization)){
+            organizationDTO.setCode(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode());
+            organizationDTO.setMsg(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+            return organizationDTO;
+        }
+        //������������������������������������������������������
+        Integer parentId = organization.getParentId();
+        Organization parentOrganization = new Organization();
+        if (!ObjectUtils.isEmpty(parentId)&&parentId!=0) {
+            QueryWrapper<Organization> existParentWrapper = new QueryWrapper<>();
+            parentOrganization.setId(parentId);
+            parentOrganization.setIsDelete(Constants.NOT_DELETE);
+            existParentWrapper.setEntity(parentOrganization);
+            parentOrganization = organizationMapper.selectOne(existParentWrapper);
+            if (ObjectUtils.isEmpty(parentOrganization)) {
+                organizationDTO.setCode(ResponseCodeEnum.ORGANIZATION_PARENT_NOT_EXIST.getCode());
+                organizationDTO.setMsg(ResponseCodeEnum.ORGANIZATION_PARENT_NOT_EXIST.getMsg());
+                return organizationDTO;
+            }
+        }
+        //������������
+        organizationMapper.updateById(organization);
+        //������������������������
+        organization = organizationMapper.selectById(organization.getId());
+
+        //������DTO������
+        organizationDTO.setParentOrganization(parentOrganization);
+        organizationDTO.setOrganization(organization);
+        organizationDTO.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return organizationDTO;
+    }
+
+    /**
+    * @Description: ������������������
+            * @Param: [organizationDeleteForm]
+            * @return: com.moral.api.pojo.dto.organization.OrganizationDTO
+            * @Author: ���������
+            * @Date: 2021/3/25
+            */
+    @Override
+    @Transactional
+    public OrganizationDTO deleteOrganization(OrganizationDeleteForm form) {
+        OrganizationDTO dto = new OrganizationDTO();
+        //������
+        Integer id = form.getOrganizationId();
+        //������������������������
+        Organization existOrganization = new Organization();
+        existOrganization.setIsDelete(Constants.NOT_DELETE);
+        existOrganization.setId(id);
+        QueryWrapper queryExistWrapper = new QueryWrapper();
+        queryExistWrapper.setEntity(existOrganization);
+        existOrganization = organizationMapper.selectOne(queryExistWrapper);
+        if(ObjectUtils.isEmpty(existOrganization)){
+            dto.setCode(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+            return dto;
+        }
+        //������������������
+        UpdateWrapper deleteWrapper = new UpdateWrapper();
+        deleteWrapper.eq("id",id);
+        deleteWrapper.set("is_delete",Constants.DELETE);
+        organizationMapper.update(null,deleteWrapper);
+        //������������������������������������������������������������������parentId���0
+        if(form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG)){
+            UpdateWrapper deleteChildrenWrapper = new UpdateWrapper();
+            deleteChildrenWrapper.eq("parent_id",id);
+            deleteChildrenWrapper.set("is_delete",Constants.DELETE);
+            organizationMapper.update(null,deleteChildrenWrapper);
+        }else{
+            UpdateWrapper updateChildrenWrapper = new UpdateWrapper();
+            updateChildrenWrapper.eq("parent_id",id);
+            updateChildrenWrapper.set("parent_id",0);
+            organizationMapper.update(null,updateChildrenWrapper);
+        }
+
+        dto.setOrganization(existOrganization);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    /**
+    * @Description: ������������������
+            * @Param: [organizationQueryForm]
+            * @return: com.moral.api.pojo.dto.organization.OrganizationQueryDTO
+            * @Author: ���������
+            * @Date: 2021/3/25
+            */
+    @Override
+    public OrganizationQueryDTO queryOrganization(OrganizationQueryForm organizationQueryForm) {
+        OrganizationQueryDTO dto = new OrganizationQueryDTO();
+        //������
+        Organization organization = organizationQueryForm.formConvertEntity();
+        Integer pageCount = organizationQueryForm.getPage();
+        Integer size = organizationQueryForm.getSize();
+        String order = organizationQueryForm.getOrder();
+        String orderType = organizationQueryForm.getOrderType();
+
+        //������������
+        Page<Organization> page = new Page<>(pageCount,size);
+        QueryWrapper<Organization> queryWrapper = new QueryWrapper<>();
+        return null;
+    }
+
+
 }

--
Gitblit v1.8.0