Просмотр исходного кода

更换修改用户信息接口

xiongzhu 3 лет назад
Родитель
Сommit
7a6e9bd202

+ 27 - 1
src/main/java/com/izouma/nineth/service/UserService.java

@@ -99,7 +99,6 @@ public class UserService {
         userRepo.updateHistoryToUser(orig.getId());
         userRepo.updateShowroomToUser(orig.getId());
         cacheService.clearCollection();
-        cacheService.clearUserMy(user.getId());
         return orig;
     }
 
@@ -110,6 +109,33 @@ public class UserService {
         return userRepo.save(user);
     }
 
+    public User update(Long userId, String nickname, String avatar, String sex, String bg, String intro,
+                       Boolean useCollectionPic, Boolean riskWarning, Integer level) {
+        User user = userRepo.findById(userId).orElseThrow(new BusinessException("用户不存在"));
+        if (StringUtils.isNotBlank(nickname)) {
+            user.setNickname(nickname);
+        }
+        if (StringUtils.isNotBlank(avatar)) {
+            user.setAvatar(avatar);
+        }
+        if (StringUtils.isNotBlank(sex)) {
+            user.setSex(sex);
+        }
+        if (StringUtils.isNotBlank(bg)) {
+            user.setBg(bg);
+        }
+        if (StringUtils.isNotBlank(intro)) {
+            user.setIntro(intro);
+        }
+        if (useCollectionPic != null) {
+            user.setUseCollectionPic(useCollectionPic);
+        }
+        if (riskWarning != null) {
+            user.setRiskWarning(riskWarning);
+        }
+        return save(user);
+    }
+
     @Cacheable(value = "userList", key = "#pageQuery.hashCode()")
     public PageWrapper<User> all(PageQuery pageQuery) {
         Specification<User> specification = JpaUtils.toSpecification(pageQuery, User.class);

+ 9 - 1
src/main/java/com/izouma/nineth/web/UserController.java

@@ -57,7 +57,7 @@ public class UserController extends BaseController {
         return userService.create(userRegister);
     }
 
-
+    @PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
     public User save(@RequestBody User user) {
         if (user.getId() != null) {
@@ -66,6 +66,13 @@ public class UserController extends BaseController {
         return userService.save(user);
     }
 
+    @PostMapping("/update")
+    public User update(String nickname, String avatar, String sex, String bg, String intro,
+                       Boolean useCollectionPic, Boolean riskWarning, Integer level) {
+        return userService.update(SecurityUtils.getAuthenticatedUser().getId(),
+                nickname, avatar, sex, bg, intro, useCollectionPic, riskWarning, level);
+    }
+
     @GetMapping("/my")
     public User my() {
         return userService.my(SecurityUtils.getAuthenticatedUser().getId());
@@ -82,6 +89,7 @@ public class UserController extends BaseController {
     @PostMapping("/all")
     public Page<UserDTO> all(@RequestBody PageQuery pageQuery) {
         pageQuery.getQuery().put("minter", true);
+        if (pageQuery.getSize() > 100) pageQuery.setSize(100);
         return userService.toDTO(userService.all(pageQuery).toPage());
     }
 

+ 2 - 1
src/main/vue/src/views/UserList.vue

@@ -27,6 +27,7 @@
             header-cell-class-name="table-header-cell"
             row-class-name="table-row"
             cell-class-name="table-cell"
+            v-loading="fetchingData"
         >
             <el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
             <el-table-column prop="id" label="ID" width="100">
@@ -90,7 +91,7 @@ export default {
             downloading: false,
             createdAt: '',
             vip: '',
-            sortStr: 'id,desc',
+            sortStr: 'id,desc'
         };
     },
     computed: {