青羊经侦大队-数据平台
baizonghao
2023-05-22 aa8836a65e97e297340fff3a42615f0a36f314e7
src/main/java/com/example/jz/controller/UserController.java
@@ -4,21 +4,28 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.R;
import com.example.jz.modle.dto.ManagerDto;
import com.example.jz.modle.dto.UserExpDto;
import com.example.jz.modle.entity.*;
import com.example.jz.service.*;
import com.example.jz.utils.EasyExcelUtils;
import com.example.jz.utils.Md5Utils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * 用户表(User)表控制层
@@ -56,18 +63,24 @@
    @GetMapping
    @ApiOperation("分页查询所有数据")
    public R selectAll(Page<User> page, User user) {
        return R.ok(this.userService.page(page, new QueryWrapper<User>()
        R<Page<User>> res = R.ok(this.userService.page(page, new QueryWrapper<User>()
                .eq("role", 0)
                .and(StringUtils.isNotBlank(user.getNickName()) && StringUtils.isNotBlank(user.getRealName()), new Consumer<QueryWrapper<User>>() {
                .and(StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isNotBlank(user.getRealName()), new Consumer<QueryWrapper<User>>() {
                    @Override
                    public void accept(QueryWrapper<User> userQueryWrapper) {
                        userQueryWrapper.like("real_name", user.getRealName()).or().like("nick_name", user.getNickName());
                        userQueryWrapper.like("real_name", user.getRealName()).or().like("user_mobile", user.getUserMobile());
                    }
                })
                .like(StringUtils.isNotBlank(user.getNickName()) && StringUtils.isBlank(user.getRealName()), "nick_name", user.getNickName())
                .or()
                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
                .like(StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isBlank(user.getRealName()), "user_mobile", user.getUserMobile())
                .and(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getNickName()), new Consumer<QueryWrapper<User>>() {
                            @Override
                            public void accept(QueryWrapper<User> userQueryWrapper) {
                                userQueryWrapper.like("real_name", user.getRealName());
                            }
                        })
//                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
                .orderByDesc("ctime")));
        return res;
    }
    /**
@@ -143,7 +156,7 @@
    }
    @DeleteMapping("/manager")
    @ApiOperation("删除管理")
    @ApiOperation("删除管理人员")
    public R removeManager(@RequestParam Integer id) {
        List<Cause> list = causeService.list(new LambdaQueryWrapper<Cause>().eq(Cause::getUserId, id));
        if (!Objects.isNull(list) && list.size() != 0){
@@ -164,11 +177,24 @@
        return R.ok(userService.removeById(id));
    }
    @DeleteMapping("/crowd")
    @ApiOperation("删除普通用户")
    public R removeCrowd(@RequestParam Integer id){
        List<Report> list = reportService.list(Wrappers.<Report>lambdaQuery().eq(Report::getUserId, id));
        for (Report report : list) {
            groupUserService.remove(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getUserId, report.getId()));
            messageService.remove(new LambdaQueryWrapper<Message>().eq(Message::getUserId, report.getId()));
            reportService.removeById(report.getId());
        }
        userService.remove(Wrappers.<User>lambdaQuery().eq(User::getId, id));
        return R.ok();
    }
    @GetMapping("/manager")
    @ApiOperation("分页查询所有数据")
    public R selectManager(Page<User> page, User user) {
        return R.ok(userService.page(page, new QueryWrapper<User>()
                .eq("role", 1)
                .eq("role", 1).ne("id", 1)
                .and(StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isNotBlank(user.getRealName()), new Consumer<QueryWrapper<User>>() {
                    @Override
                    public void accept(QueryWrapper<User> userQueryWrapper) {
@@ -224,4 +250,18 @@
        user.setRole(1);
        return R.ok(userService.updateById(user));
    }
    @ApiOperation("用户信息导出")
    @PostMapping("/exp")
    public void UserExp(HttpServletResponse response){
        List<User> list = userService.list(Wrappers.<User>lambdaQuery().eq(User::getRole, 0).eq(User::getStatus, 1));
        List<UserExpDto> userExpDtos = list.stream().map(user -> {
            UserExpDto userExpDto = new UserExpDto();
            BeanUtils.copyProperties(user, userExpDto);
            return userExpDto;
        }).collect(Collectors.toList());
        String sheetName = "用户导出";
        EasyExcelUtils.export1(response, sheetName, UserExpDto.class, userExpDtos, "用户导出");
    }
}