From a7aaeabc7873a0eafb4a7ecad7f65b018b7a9bc9 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 24 Feb 2023 19:31:23 +0800
Subject: [PATCH] What's new? 1. Add license for dock. 2. Modify the logic corresponding to the firmware file and device type. 3. Add multiple mqtt clients options. 4. Modify the structure of the interface for obtaining the device list. 5. Fixed some issues.

---
 src/main/java/com/dji/sample/manage/controller/UserController.java |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/dji/sample/manage/controller/UserController.java b/src/main/java/com/dji/sample/manage/controller/UserController.java
index 06cfb4d..91990e7 100644
--- a/src/main/java/com/dji/sample/manage/controller/UserController.java
+++ b/src/main/java/com/dji/sample/manage/controller/UserController.java
@@ -1,12 +1,12 @@
 package com.dji.sample.manage.controller;
 
 import com.dji.sample.common.model.CustomClaim;
+import com.dji.sample.common.model.PaginationData;
 import com.dji.sample.common.model.ResponseResult;
+import com.dji.sample.manage.model.dto.UserListDTO;
 import com.dji.sample.manage.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -20,10 +20,45 @@
     @Autowired
     private IUserService userService;
 
+    /**
+     * Query the information of the current user.
+     * @param request
+     * @return
+     */
     @GetMapping("/current")
     public ResponseResult getCurrentUserInfo(HttpServletRequest request) {
         CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
         return userService.getUserByUsername(customClaim.getUsername(), customClaim.getWorkspaceId());
     }
 
+    /**
+     * Paging to query all users in a workspace.
+     * @param page      current page
+     * @param pageSize
+     * @param workspaceId
+     * @return
+     */
+    @GetMapping("/{workspace_id}/users")
+    public ResponseResult<PaginationData<UserListDTO>> getUsers(@RequestParam(defaultValue = "1") Long page,
+                                    @RequestParam(value = "page_size", defaultValue = "50") Long pageSize,
+                                    @PathVariable("workspace_id") String workspaceId) {
+        PaginationData<UserListDTO> paginationData = userService.getUsersByWorkspaceId(page, pageSize, workspaceId);
+        return ResponseResult.success(paginationData);
+    }
+
+    /**
+     * Modify user information. Only mqtt account information is included, nothing else can be modified.
+     * @param user
+     * @param workspaceId
+     * @param userId
+     * @return
+     */
+    @PutMapping("/{workspace_id}/users/{user_id}")
+    public ResponseResult updateUser(@RequestBody UserListDTO user,
+                                  @PathVariable("workspace_id") String workspaceId,
+                                  @PathVariable("user_id") String userId) {
+
+        userService.updateUser(workspaceId, userId, user);
+        return ResponseResult.success();
+    }
 }

--
Gitblit v1.9.3