青羊经侦大队-数据平台
baizonghao
2023-03-22 25945cec9a4d25ad09d7ccb73b1c42c11aa3e8a4
src/main/java/com/example/jz/controller/UserController.java
@@ -1,5 +1,6 @@
package com.example.jz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -7,8 +8,8 @@
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.entity.User;
import com.example.jz.service.UserService;
import com.example.jz.modle.entity.*;
import com.example.jz.service.*;
import com.example.jz.utils.Md5Utils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -32,6 +33,15 @@
    private UserService userService;
    @Autowired
    ReportService reportService;
    @Autowired
    GroupUserService groupUserService;
    @Autowired
    MessageService messageService;
    @Autowired
    CauseService causeService;
    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
@@ -48,15 +58,15 @@
    public R selectAll(Page<User> page, User user) {
        return 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>>() {
                            @Override
                            public void accept(QueryWrapper<User> userQueryWrapper) {
                                userQueryWrapper.like("real_name", user.getRealName()).or().like("nick_name", user.getNickName());
                            }
                        })
                .like(StringUtils.isNotBlank(user.getNickName())&&StringUtils.isBlank(user.getRealName()), "nick_name", user.getNickName())
                .and(StringUtils.isNotBlank(user.getNickName()) && 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());
                    }
                })
                .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.getRealName()) && StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
                .orderByDesc("ctime")));
    }
@@ -93,9 +103,32 @@
    @DeleteMapping
    @ApiOperation("删除用户数据")
    public R delete(@RequestParam("id") Integer id) {
        reportService
                .list(new LambdaQueryWrapper<Report>().eq(Report::getUserId, id))
                .stream()
                .forEach(item -> {
                    groupUserService.remove(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getUserId, item.getId()));
                    messageService.remove(new LambdaQueryWrapper<Message>().eq(Message::getUserId, item.getId()));
                });
        reportService.remove(new LambdaQueryWrapper<Report>().eq(Report::getUserId, id));
        return R.ok(this.userService.removeById(id));
    }
    @GetMapping("/status")
    @ApiOperation("禁用/启用用户")
    public R updateStatus(Integer id, Integer status) {
        int newStatus = 0;
        if (status != null) {
            if (status == 1) {
                newStatus = 0;
            } else {
                newStatus = 1;
            }
        }
        userService.update(new UpdateWrapper<User>().set("status", newStatus).eq("id", id));
        return R.ok();
    }
    @PostMapping("/manager")
    @ApiOperation("添加管理")
@@ -112,23 +145,27 @@
    @DeleteMapping("/manager")
    @ApiOperation("删除管理")
    public R removeManager(@RequestParam Integer id) {
        causeService.list(new LambdaQueryWrapper<Cause>().eq(Cause::getUserId, id)).forEach(item -> {
            causeService.deleteCause(item.getId());
        });
        messageService.remove(new LambdaQueryWrapper<Message>().eq(Message::getCopId, id));
        return R.ok(userService.removeById(id));
    }
    @GetMapping("/manager")
    @ApiOperation("分页查询所有数据")
    public R selectManager(Page<User> page, User user) {
        return R.ok( userService.page(page, new QueryWrapper<User>()
        return R.ok(userService.page(page, new QueryWrapper<User>()
                .eq("role", 1)
                .and( StringUtils.isNotBlank(user.getUserMobile()) && 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("user_mobile", user.getUserMobile());
                    }
                })
                .like(StringUtils.isNotBlank(user.getUserMobile())&&StringUtils.isBlank(user.getRealName()), "user_mobile", user.getUserMobile())
                .like(StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isBlank(user.getRealName()), "user_mobile", user.getUserMobile())
                .or()
                .like(StringUtils.isNotBlank(user.getRealName())&&StringUtils.isBlank(user.getUserMobile()), "real_name", user.getRealName())
                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getUserMobile()), "real_name", user.getRealName())
                .orderByDesc("ctime")));
    }
@@ -161,4 +198,18 @@
        user.setLoginPassword(Md5Utils.md5(user.getUserIdcard().substring(user.getUserIdcard().length() - 6)));
        return R.ok(userService.updateById(user));
    }
    /**
     * 转为管理员
     *
     * @param id 用户id
     * @return
     */
    @GetMapping("/toManager/{id}")
    @ApiOperation("转为管理员")
    public R toManager(@PathVariable Serializable id) {
        User user = userService.getById(id);
        user.setRole(1);
        return R.ok(userService.updateById(user));
    }
}