From 4a9a9fa60f52be1e7c91f01df54b3cbae8c11d6c Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期日, 23 四月 2023 13:11:21 +0800
Subject: [PATCH] 用户导出
---
src/main/java/com/example/jz/controller/UserController.java | 129 +++++++++++++++++++++++++++++++++++++-----
1 files changed, 113 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/example/jz/controller/UserController.java b/src/main/java/com/example/jz/controller/UserController.java
index d5a65b6..5b4cf3b 100644
--- a/src/main/java/com/example/jz/controller/UserController.java
+++ b/src/main/java/com/example/jz/controller/UserController.java
@@ -1,23 +1,31 @@
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;
+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.entity.User;
-import com.example.jz.service.UserService;
+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.Date;
+import java.util.*;
import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* 鐢ㄦ埛琛�(User)琛ㄦ帶鍒跺眰
@@ -30,6 +38,15 @@
@Api(tags = "鐢ㄦ埛绠$悊")
public class UserController extends ApiController {
private UserService userService;
+
+ @Autowired
+ ReportService reportService;
+ @Autowired
+ GroupUserService groupUserService;
+ @Autowired
+ MessageService messageService;
+ @Autowired
+ CauseService causeService;
@Autowired
public void setUserService(UserService userService) {
@@ -48,15 +65,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 +110,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("娣诲姞绠$悊")
@@ -110,25 +150,54 @@
}
@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){
+ ArrayList<Map> maps = new ArrayList<>();
+ for (Cause cause : list) {
+ HashMap<String, String> map = new HashMap<>();
+ map.put("caseName", cause.getName());
+ map.put("caseNumber", cause.getNumber());
+ maps.add(map);
+ }
+ return R.failed(maps, "璇ヨ鍛樿繕鏈夋浠跺叧鑱�,鑻ヨ鍒犻櫎璇峰厛淇敼瀵瑰簲妗堜欢鍏宠仈鐨勮鍛�");
+ }
+// causeService.list(new LambdaQueryWrapper<Cause>().eq(Cause::getUserId, id)).forEach(item -> {
+// causeService.deleteCause(item.getId());
+// });
+// userService.remove(new LambdaQueryWrapper<User>().eq(User::getId, id));
+ messageService.remove(new LambdaQueryWrapper<Message>().eq(Message::getCopId, id));
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>()
+ 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 +230,32 @@
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));
+ }
+
+
+ @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, "鐢ㄦ埛瀵煎嚭");
+ }
}
--
Gitblit v1.8.0