From f227e6ac3439116a0f8cc185bce053e19bd65307 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 28 十二月 2022 11:50:16 +0800
Subject: [PATCH] fix: 优化code
---
src/main/java/com/example/jz/controller/UserController.java | 156 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 128 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/example/jz/controller/UserController.java b/src/main/java/com/example/jz/controller/UserController.java
index 8dfb55c..73e162d 100644
--- a/src/main/java/com/example/jz/controller/UserController.java
+++ b/src/main/java/com/example/jz/controller/UserController.java
@@ -1,31 +1,50 @@
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.extension.api.ApiController;
-import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.example.jz.modle.entity.User;
-import com.example.jz.service.UserService;
+import com.example.jz.modle.R;
+import com.example.jz.modle.dto.ManagerDto;
+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;
+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
+ ReportService reportService;
+ @Autowired
+ GroupUserService groupUserService;
+ @Autowired
+ MessageService messageService;
+ @Autowired
+ CauseService causeService;
+
+ @Autowired
+ public void setUserService(UserService userService) {
+ this.userService = userService;
+ }
/**
* 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
@@ -35,8 +54,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 +77,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 +89,98 @@
* @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) {
+ 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));
+ }
+
+
+ @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) {
+ 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>()
+ .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));
}
}
-
--
Gitblit v1.8.0