From f0376f72170c2eb236bec5560b8c5734edd222f1 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 31 Mar 2021 17:16:40 +0800 Subject: [PATCH] common模块: 增加了convert工具类,驼峰和下划线相互转换 更新了Date工具类,添加根据Date,day获取目标date的方法 更新WebUtils工具类,添加获取请求Ip方法 manage模块: 组织和后台用户增删改查模块全部完成 增加aop用作日志插入 --- screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java | 267 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 267 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..ce8b1d6 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,31 @@ 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.config.mybatis.wrapper.NullFilterWrapper; 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 com.moral.util.ConvertUtils; +import com.moral.util.DateUtils; +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.ArrayList; +import java.util.Date; +import java.util.List; /** * <p> @@ -17,4 +38,250 @@ @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); + Organization existOrganizationResult = organizationMapper.selectOne(queryWrapper); + if (!ObjectUtils.isEmpty(existOrganizationResult)) { + 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(); + //������ + Integer pageCount = organizationQueryForm.getPage(); + Integer size = organizationQueryForm.getSize(); + Integer parentId = organizationQueryForm.getParentId(); + String name = organizationQueryForm.getName(); + Integer provinceCode = organizationQueryForm.getProvinceCode(); + Integer cityCode = organizationQueryForm.getCityCode(); + Integer areaCode = organizationQueryForm.getAreaCode(); + Long townCode = organizationQueryForm.getTownCode(); + Long villageCode = organizationQueryForm.getVillageCode(); + String phone = organizationQueryForm.getPhone(); + String email = organizationQueryForm.getEmail(); + String wechat = organizationQueryForm.getWechat(); + String isDelete = organizationQueryForm.getIsDelete(); + String order = organizationQueryForm.getOrder(); + String orderType = organizationQueryForm.getOrderType(); + Date createStartTime = organizationQueryForm.getCreateStartTime(); + Date createEndTime = DateUtils.getDateOfDay(organizationQueryForm.getCreateEndTime(), 1); + Date expireStartTime = organizationQueryForm.getExpireStartTime(); + Date expireEndTime = DateUtils.getDateOfDay(organizationQueryForm.getExpireEndTime(), 1); + + //������������ + Page<Organization> page = new Page<>(pageCount, size); + NullFilterWrapper<Organization> queryWrapper = new NullFilterWrapper<>(); + + queryWrapper.eq("parent_id", parentId); + queryWrapper.like("name", name); + queryWrapper.eq("province_code", provinceCode); + queryWrapper.eq("city_code", cityCode); + queryWrapper.eq("area_code", areaCode); + queryWrapper.eq("town_code", townCode); + queryWrapper.eq("village_code", villageCode); + queryWrapper.like("phone", phone); + queryWrapper.like("email", email); + queryWrapper.like("wechat", wechat); + queryWrapper.between("create_time", createStartTime, createEndTime); + queryWrapper.between("expire_time", expireStartTime, expireEndTime); + + if (!ObjectUtils.isEmpty(isDelete)) { + queryWrapper.eq("is_delete", isDelete); + } else { + queryWrapper.eq("is_delete", Constants.NOT_DELETE); + } + + //������������ + if (!ObjectUtils.isEmpty(order)) { + if (!ObjectUtils.isEmpty(orderType)) { + if (orderType.equals(Constants.ORDER_ASC)) + queryWrapper.orderByAsc(ConvertUtils.toLine(order)); + else + queryWrapper.orderByDesc(ConvertUtils.toLine(order)); + } + } + + //������������ + Page<Organization> resultPage = organizationMapper.selectPage(page, queryWrapper); + List<Organization> organizations = resultPage.getRecords(); + List<OrganizationDTO> organizationDTOS = new ArrayList<>(); + //������������������������������ + for (Organization child : organizations) { + OrganizationDTO resultDto = new OrganizationDTO(); + Organization parent = organizationMapper.selectById(child.getParentId()); + resultDto.setOrganization(child); + resultDto.setParentOrganization(parent); + organizationDTOS.add(resultDto); + } + + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + dto.setOrganizationDTOS(organizationDTOS); + dto.setCurrent(page.getCurrent()); + dto.setPage(page.getPages()); + dto.setSize(page.getSize()); + dto.setTotal(page.getTotal()); + return dto; + } + + } -- Gitblit v1.8.0