青羊经侦大队-数据平台
wl
2022-12-26 7560238de78178a8b8ecf21c0b490f2f8c55f967
src/main/java/com/example/jz/controller/UserController.java
@@ -1,31 +1,40 @@
package com.example.jz.controller;
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.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
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.utils.Md5Utils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
import java.util.Date;
import java.util.function.Consumer;
/**
 * 用户表(User)表控制层
 *
 * @author makejava
 * @author 安瑾然
 * @since 2022-07-11 16:35:57
 */
@RestController
@RequestMapping("user")
@Api(tags = "用户管理")
public class UserController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private UserService userService;
    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
    /**
     * 分页查询所有数据
@@ -35,8 +44,20 @@
     * @return 所有数据
     */
    @GetMapping
    @ApiOperation("分页查询所有数据")
    public R selectAll(Page<User> page, User user) {
        return success(this.userService.page(page, new QueryWrapper<>(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())
                .or()
                .like(StringUtils.isNotBlank(user.getRealName())&&StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
                .orderByDesc("ctime")));
    }
    /**
@@ -46,19 +67,9 @@
     * @return 单条数据
     */
    @GetMapping("{id}")
    @ApiOperation("通过主键查询单条数据")
    public R selectOne(@PathVariable Serializable id) {
        return success(this.userService.getById(id));
    }
    /**
     * 新增数据
     *
     * @param user 实体对象
     * @return 新增结果
     */
    @PostMapping
    public R insert(@RequestBody User user) {
        return success(this.userService.save(user));
        return R.ok(this.userService.getById(id));
    }
    /**
@@ -68,19 +79,86 @@
     * @return 修改结果
     */
    @PutMapping
    @ApiOperation("修改用户数据")
    public R update(@RequestBody User user) {
        return success(this.userService.updateById(user));
        return R.ok(userService.updateById(user));
    }
    /**
     * 删除数据
     *
     * @param idList 主键结合
     * @param id 主键结合
     * @return 删除结果
     */
    @DeleteMapping
    public R delete(@RequestParam("idList") List<Long> idList) {
        return success(this.userService.removeByIds(idList));
    @ApiOperation("删除用户数据")
    public R delete(@RequestParam("id") Integer id) {
        return R.ok(this.userService.removeById(id));
    }
    @PostMapping("/manager")
    @ApiOperation("添加管理")
    public R addManager(@RequestBody ManagerDto managerDto) {
        User user = new User().setRealName(managerDto.getRealName())
                .setLoginUsername(managerDto.getRealName())
                .setUserMobile(managerDto.getPhoneNumber())
                .setLoginPassword(Md5Utils.md5(managerDto.getPassword()))
                .setRole(1)
                .setCtime(new Date());
        return R.ok(userService.save(user));
    }
    @DeleteMapping("/manager")
    @ApiOperation("删除管理")
    public R removeManager(@RequestParam Integer 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>()
                .eq("role", 1)
                .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())
                .or()
                .like(StringUtils.isNotBlank(user.getRealName())&&StringUtils.isBlank(user.getUserMobile()), "real_name", user.getRealName())
                .orderByDesc("ctime")));
    }
    @PutMapping("/manager")
    @ApiOperation("修改管理员密码")
    public R modify(@RequestBody ManagerDto managerDto) {
        User user = new User().setLoginPassword(Md5Utils.md5(managerDto.getPassword()));
        return R.ok(userService.update(user, new UpdateWrapper<User>().eq("user_mobile", managerDto.getPhoneNumber()).eq("real_name", managerDto.getRealName())));
    }
    @PostMapping("/add")
    @ApiOperation("添加")
    public R add(@RequestBody User user) {
        user.setCtime(new Date());
        return R.ok(userService.save(user));
    }
    /**
     * 重置管理员密码
     *
     * @param id 用户id
     * @return
     */
    @GetMapping("/resetPassword/{id}")
    @ApiOperation("重置管理员密码")
    public R resetPassword(@PathVariable Serializable id) {
        User user = userService.getById(id);
        // 重置初始密码为身份证后六位
        user.setLoginPassword(Md5Utils.md5(user.getUserIdcard().substring(user.getUserIdcard().length() - 6)));
        return R.ok(userService.updateById(user));
    }
}