Commit 8fdc5512820247139762a0a091d4d9f3e8ef28c0
1 parent
436cb39c
添加用户操作的MQ通知功能,包括新增、更新和删除功能实现。
Showing
1 changed file
with
41 additions
and
4 deletions
itcast-auth/itcast-auth-server/src/main/java/com/itheima/authority/controller/auth/UserController.java
| 1 | package com.itheima.authority.controller.auth; | 1 | package com.itheima.authority.controller.auth; |
| 2 | 2 | ||
| 3 | +import cn.hutool.json.JSONObject; | ||
| 3 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 4 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| 5 | +import com.google.common.collect.Lists; | ||
| 6 | +import com.itheima.authority.biz.mq.RabbitMessageSender; | ||
| 4 | import com.itheima.authority.biz.service.auth.RoleService; | 7 | import com.itheima.authority.biz.service.auth.RoleService; |
| 5 | import com.itheima.authority.biz.service.auth.UserGroupService; | 8 | import com.itheima.authority.biz.service.auth.UserGroupService; |
| 6 | import com.itheima.authority.biz.service.auth.UserGroupUserService; | 9 | import com.itheima.authority.biz.service.auth.UserGroupUserService; |
| @@ -34,10 +37,7 @@ import org.springframework.validation.annotation.Validated; | @@ -34,10 +37,7 @@ import org.springframework.validation.annotation.Validated; | ||
| 34 | import org.springframework.web.bind.annotation.*; | 37 | import org.springframework.web.bind.annotation.*; |
| 35 | import org.springframework.web.multipart.MultipartFile; | 38 | import org.springframework.web.multipart.MultipartFile; |
| 36 | 39 | ||
| 37 | -import java.util.Collection; | ||
| 38 | -import java.util.HashMap; | ||
| 39 | -import java.util.List; | ||
| 40 | -import java.util.Map; | 40 | +import java.util.*; |
| 41 | import java.util.stream.Collectors; | 41 | import java.util.stream.Collectors; |
| 42 | 42 | ||
| 43 | import static com.itheima.tools.exception.code.ExceptionCode.BAD_REQUEST; | 43 | import static com.itheima.tools.exception.code.ExceptionCode.BAD_REQUEST; |
| @@ -69,6 +69,8 @@ public class UserController extends BaseController { | @@ -69,6 +69,8 @@ public class UserController extends BaseController { | ||
| 69 | private StationService stationService; | 69 | private StationService stationService; |
| 70 | @Autowired | 70 | @Autowired |
| 71 | private DozerUtils dozer; | 71 | private DozerUtils dozer; |
| 72 | + @Autowired | ||
| 73 | + private RabbitMessageSender rabbitMessageSender; | ||
| 72 | 74 | ||
| 73 | @ApiOperation(value = "分页查询用户", notes = "分页查询用户") | 75 | @ApiOperation(value = "分页查询用户", notes = "分页查询用户") |
| 74 | @ApiImplicitParams({ | 76 | @ApiImplicitParams({ |
| @@ -247,6 +249,13 @@ public class UserController extends BaseController { | @@ -247,6 +249,13 @@ public class UserController extends BaseController { | ||
| 247 | public R<User> save(@RequestBody @Validated UserSaveDTO data) { | 249 | public R<User> save(@RequestBody @Validated UserSaveDTO data) { |
| 248 | User user = dozer.map(data, User.class); | 250 | User user = dozer.map(data, User.class); |
| 249 | userService.saveUser(user); | 251 | userService.saveUser(user); |
| 252 | + | ||
| 253 | + // 同步mq通知修改信息 | ||
| 254 | + JSONObject jsonObject = new JSONObject(); | ||
| 255 | + jsonObject.put("type", "USER"); | ||
| 256 | + jsonObject.put("operation", "ADD"); | ||
| 257 | + jsonObject.put("content", Lists.newArrayList(user)); | ||
| 258 | + rabbitMessageSender.send("itcast-auth-user", "add", jsonObject.toString(), 3); | ||
| 250 | return success(user); | 259 | return success(user); |
| 251 | } | 260 | } |
| 252 | 261 | ||
| @@ -256,6 +265,12 @@ public class UserController extends BaseController { | @@ -256,6 +265,12 @@ public class UserController extends BaseController { | ||
| 256 | public R<User> update(@RequestBody @Validated(SuperEntity.Update.class) UserUpdateDTO data) { | 265 | public R<User> update(@RequestBody @Validated(SuperEntity.Update.class) UserUpdateDTO data) { |
| 257 | User user = dozer.map(data, User.class); | 266 | User user = dozer.map(data, User.class); |
| 258 | userService.updateUser(user); | 267 | userService.updateUser(user); |
| 268 | + // 同步mq通知修改信息 | ||
| 269 | + JSONObject jsonObject = new JSONObject(); | ||
| 270 | + jsonObject.put("type", "USER"); | ||
| 271 | + jsonObject.put("operation", "UPDATE"); | ||
| 272 | + jsonObject.put("content", Lists.newArrayList(user)); | ||
| 273 | + rabbitMessageSender.send("itcast-auth-user", "update", jsonObject.toString(), 3); | ||
| 259 | return success(user); | 274 | return success(user); |
| 260 | } | 275 | } |
| 261 | 276 | ||
| @@ -267,6 +282,15 @@ public class UserController extends BaseController { | @@ -267,6 +282,15 @@ public class UserController extends BaseController { | ||
| 267 | user.setId(data.getId()); | 282 | user.setId(data.getId()); |
| 268 | user.setRoles(data.getRoles()); | 283 | user.setRoles(data.getRoles()); |
| 269 | userService.updateUserRole(user); | 284 | userService.updateUserRole(user); |
| 285 | + | ||
| 286 | + // 同步mq通知修改信息 | ||
| 287 | + JSONObject jsonObject = new JSONObject(); | ||
| 288 | + jsonObject.put("type", "USER"); | ||
| 289 | + jsonObject.put("operation", "UPDATE"); | ||
| 290 | + user = this.userService.getById(data.getId()); | ||
| 291 | + user.setRoles(data.getRoles()); | ||
| 292 | + jsonObject.put("content", Lists.newArrayList(user)); | ||
| 293 | + rabbitMessageSender.send("itcast-auth-user", "update", jsonObject.toString(), 3); | ||
| 270 | return success(user); | 294 | return success(user); |
| 271 | } | 295 | } |
| 272 | 296 | ||
| @@ -289,7 +313,20 @@ public class UserController extends BaseController { | @@ -289,7 +313,20 @@ public class UserController extends BaseController { | ||
| 289 | @DeleteMapping | 313 | @DeleteMapping |
| 290 | @SysLog("删除用户") | 314 | @SysLog("删除用户") |
| 291 | public R<Boolean> delete(@RequestParam("ids[]") List<Long> ids) { | 315 | public R<Boolean> delete(@RequestParam("ids[]") List<Long> ids) { |
| 316 | + // 查询待删除的组织 | ||
| 317 | + List<User> delList = new ArrayList<>(); | ||
| 318 | + for (Long id : ids) { | ||
| 319 | + User user = this.userService.getById(id); | ||
| 320 | + delList.add(user); | ||
| 321 | + } | ||
| 292 | userService.remove(ids); | 322 | userService.remove(ids); |
| 323 | + | ||
| 324 | + // 同步mq通知修改信息 | ||
| 325 | + JSONObject jsonObject = new JSONObject(); | ||
| 326 | + jsonObject.put("type", "USER"); | ||
| 327 | + jsonObject.put("operation", "DEL"); | ||
| 328 | + jsonObject.put("content", delList); | ||
| 329 | + rabbitMessageSender.send("itcast-auth-user", "del", jsonObject.toString(), 3); | ||
| 293 | return success(true); | 330 | return success(true); |
| 294 | } | 331 | } |
| 295 | 332 |