From 52d8cf200d7a54890845d4c468c24b6ab97a4762 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 06 May 2021 14:41:34 +0800
Subject: [PATCH] screen-manage 前台用户增加以及删除功能
---
screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 205 insertions(+), 0 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
index 24a141e..cce9d52 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -1,10 +1,33 @@
package com.moral.api.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+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.entity.User;
+import com.moral.api.mapper.OrganizationMapper;
import com.moral.api.mapper.UserMapper;
+import com.moral.api.pojo.dto.user.UserDTO;
+import com.moral.api.pojo.dto.user.UserQueryDTO;
+import com.moral.api.pojo.form.user.UserDeleteForm;
+import com.moral.api.pojo.form.user.UserInsertForm;
+import com.moral.api.pojo.form.user.UserQueryForm;
+import com.moral.api.pojo.form.user.UserUpdateForm;
import com.moral.api.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.util.ConvertUtils;
+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 +40,186 @@
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+ @Autowired
+ UserMapper userMapper;
+ @Autowired
+ OrganizationMapper organizationMapper;
+
+ @Override
+ public UserQueryDTO queryUsers(UserQueryForm form) {
+ //������������������
+ UserQueryDTO dto = new UserQueryDTO();
+ //������
+ Integer page = form.getPage();
+ Integer size = form.getSize();
+ String email = form.getEmail();
+ String mobile = form.getMobile();
+ String wechat = form.getWechat();
+ String order = form.getOrder();
+ String orderType = form.getOrderType();
+ Integer organizationId = form.getOrganizationId();
+ Date exipreStartTime = form.getExpireStartTime();
+ Date exipreEndTime = form.getExpireEndTime();
+ Date createStartTime = form.getCreateStartTime();
+ Date createEndTime = form.getCreateEndTime();
+ Integer isDelete = form.getIsDelete();
+
+ //������������������
+ Page<User> queryPage = new Page<>(page, size);
+ NullFilterWrapper<User> wrapper = new NullFilterWrapper<>();
+ wrapper.like("email", email);
+ wrapper.like("wechat", wechat);
+ wrapper.like("mobile", mobile);
+ wrapper.eq("is_admin", 1);
+ wrapper.eq("organization_id", organizationId);
+ wrapper.between("create_time", createStartTime, createEndTime);
+ wrapper.between("expire_time", exipreStartTime, exipreEndTime);
+ //������������������������
+ if (!ObjectUtils.isEmpty(order) && !ObjectUtils.isEmpty(orderType)) {
+ if (orderType.equals(Constants.ORDER_ASC))
+ wrapper.orderByAsc(ConvertUtils.toLine(order));
+ else
+ wrapper.orderByDesc(ConvertUtils.toLine(order));
+ }
+ //������������������������
+ if (!ObjectUtils.isEmpty(isDelete))
+ wrapper.eq("is_delete", isDelete);
+ else
+ wrapper.eq("is_delete", Constants.NOT_DELETE);
+
+ //������������
+ Page<User> resultPage = userMapper.selectPage(queryPage, wrapper);
+ List<User> users = resultPage.getRecords();
+
+ //������������������������
+ List<UserDTO> userDTOS = new ArrayList<>();
+ for (User user : users) {
+ UserDTO userDTO = new UserDTO();
+ Organization organization = new Organization();
+ organization.setId(user.getOrganizationId());
+ organization.setIsDelete(Constants.NOT_DELETE);
+ QueryWrapper<Organization> organizationWrapper = new QueryWrapper<>();
+ organizationWrapper.setEntity(organization);
+ organization = organizationMapper.selectOne(organizationWrapper);
+ userDTO.setUser(user);
+ userDTO.setOrganization(organization);
+ userDTOS.add(userDTO);
+ }
+
+ //������������������
+ dto.setUserDTOS(userDTOS);
+ dto.setCurrent(resultPage.getCurrent());
+ dto.setPages(resultPage.getPages());
+ dto.setSize(resultPage.getSize());
+ dto.setTotal(resultPage.getTotal());
+ dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+ dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+
+ return dto;
+ }
+
+ @Override
+ @Transactional
+ public UserDTO updateUser(UserUpdateForm form) {
+ //������������������
+ UserDTO dto = new UserDTO();
+
+ //������
+ User user = form.formConvertEntity();
+
+ //������������������������ ������������������
+ QueryWrapper<User> oldUserWrapper = new QueryWrapper<>();
+ User oldUser = new User();
+ oldUser.setId(user.getId());
+ oldUser.setIsDelete(Constants.NOT_DELETE);
+ oldUserWrapper.setEntity(oldUser);
+ oldUser = userMapper.selectOne(oldUserWrapper);
+ if (ObjectUtils.isEmpty(oldUser)) {
+ dto.setCode(ResponseCodeEnum.USER_NOT_EXIST.getCode());
+ dto.setMsg(ResponseCodeEnum.USER_NOT_EXIST.getMsg());
+ return dto;
+ }
+
+ //������
+ userMapper.updateById(user);
+
+ //������������������
+ dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+ dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+
+ return dto;
+ }
+
+ @Override
+ @Transactional
+ public UserDTO deleteUser(UserDeleteForm form) {
+ //������������������
+ UserDTO dto = new UserDTO();
+ //������
+ Integer id = form.getId();
+ //������������������������ ������������������
+ User oldUser = new User();
+ oldUser.setIsDelete(Constants.NOT_DELETE);
+ oldUser.setId(id);
+ QueryWrapper<User> oldWrapper = new QueryWrapper<>();
+ oldWrapper.setEntity(oldUser);
+ oldUser = userMapper.selectOne(oldWrapper);
+ if(ObjectUtils.isEmpty(oldUser)){
+ dto.setCode(ResponseCodeEnum.USER_NOT_EXIST.getCode());
+ dto.setMsg(ResponseCodeEnum.USER_NOT_EXIST.getMsg());
+ return dto;
+ }
+ //������������������������������������������������������������
+ UpdateWrapper<User> deleteWrapper = new UpdateWrapper<>();
+ deleteWrapper.eq("organization_id",oldUser.getOrganizationId());
+ deleteWrapper.set("is_delete",Constants.DELETE);
+ userMapper.update(null,deleteWrapper);
+ //������������
+ dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+ dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+ return dto;
+ }
+
+ @Override
+ @Transactional
+ public UserDTO insertUser(UserInsertForm form) {
+ //������������������
+ UserDTO dto = new UserDTO();
+ //������
+ User user = form.formConvertEntity();
+ //������������������������
+ User existUser = new User();
+ existUser.setAccount(user.getAccount());
+ existUser.setIsDelete(Constants.NOT_DELETE);
+ QueryWrapper<User> wrapper = new QueryWrapper<>();
+ wrapper.setEntity(existUser);
+ User existUserResult = userMapper.selectOne(wrapper);
+ if(!ObjectUtils.isEmpty(existUserResult)){
+ dto.setCode(ResponseCodeEnum.USER_EXIST.getCode());
+ dto.setMsg(ResponseCodeEnum.USER_EXIST.getMsg());
+ return dto;
+ }
+ //���������������������������������������������
+ Integer organizationId = user.getOrganizationId();
+ User organizationUser = new User();
+ organizationUser.setIsAdmin(true);
+ organizationUser.setIsDelete(Constants.NOT_DELETE);
+ organizationUser.setOrganizationId(organizationId);
+ QueryWrapper<User> organizationUserWrapper = new QueryWrapper<>();
+ organizationUserWrapper.setEntity(organizationUser);
+ organizationUser = userMapper.selectOne(organizationUserWrapper);
+ if(!ObjectUtils.isEmpty(organizationUser)){
+ dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_EXIST.getCode());
+ dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_EXIST.getMsg());
+ return dto;
+ }
+ //������
+ userMapper.insert(user);
+ //������������������
+ dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+ dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+ return dto;
+ }
+
+
}
--
Gitblit v1.8.0