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