From 940bfc088172dbefb837780116bf04cd5fa351d1 Mon Sep 17 00:00:00 2001 From: maochaoying <925670706@qq.com> Date: Wed, 28 Jun 2023 20:12:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nuclear/controller/AccountController.java | 21 +++++++++++++++++++-- .../nuclear/controller/NuclearCoreController.java | 2 ++ .../nuclear/controller/UploadController.java | 2 ++ .../java/com/iflytop/nuclear/model/Account.java | 9 +++++++++ .../com/iflytop/nuclear/service/AccountService.java | 6 +++++- .../nuclear/service/impl/AccountServiceImpl.java | 18 +++++++++++++++++- 6 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/iflytop/nuclear/controller/AccountController.java b/src/main/java/com/iflytop/nuclear/controller/AccountController.java index 97fea72..87c0168 100755 --- a/src/main/java/com/iflytop/nuclear/controller/AccountController.java +++ b/src/main/java/com/iflytop/nuclear/controller/AccountController.java @@ -1,5 +1,6 @@ package com.iflytop.nuclear.controller; +import com.alibaba.fastjson2.JSONObject; import com.iflytop.nuclear.model.Account; import com.iflytop.nuclear.service.AccountService; import com.iflytop.nuclear.utils.ResponseData; @@ -19,6 +20,7 @@ import java.util.Map; @RestController @CrossOrigin @RequestMapping("/account") +@PreAuthorize("hasRole('ADMIN')") public class AccountController { @Autowired @@ -44,10 +46,9 @@ public class AccountController { * @return */ @PostMapping("/register") - @PreAuthorize("hasRole('ADMIN')") public ResponseData registerAccount(@RequestBody Map registerUser) { log.info("-----------------注册账户开始-----------------"); - boolean register = accountService.register(registerUser.get("username"), registerUser.get("password"), registerUser.get("role")); + boolean register = accountService.register(registerUser.get("username"), registerUser.get("password"), registerUser.get("role"), registerUser.get("nickname")); if (register) { log.info("-----------------注册账户成功-----------------"); return ResponseData.success(); @@ -55,4 +56,20 @@ public class AccountController { return ResponseData.fail("注册失败,用户名重复!"); } + @PostMapping("/update") + public ResponseData update(@RequestBody Map userInfo) { + boolean b = accountService.updateUserInfo(userInfo); + JSONObject res = new JSONObject(); + res.put("result", b); + return ResponseData.success(res); + } + + @PostMapping("/delete/{id}") + public ResponseData delete(@PathVariable(name = "id") Long userId){ + boolean b = accountService.removeById(userId); + JSONObject res = new JSONObject(); + res.put("result", b); + return ResponseData.success(res); + } + } diff --git a/src/main/java/com/iflytop/nuclear/controller/NuclearCoreController.java b/src/main/java/com/iflytop/nuclear/controller/NuclearCoreController.java index 81ea1cc..a3daa89 100644 --- a/src/main/java/com/iflytop/nuclear/controller/NuclearCoreController.java +++ b/src/main/java/com/iflytop/nuclear/controller/NuclearCoreController.java @@ -7,6 +7,7 @@ import com.iflytop.nuclear.service.NuclearCoreService; import com.iflytop.nuclear.utils.ResponseData; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -20,6 +21,7 @@ import java.util.Map; @RestController @CrossOrigin @RequestMapping("/core") +@PreAuthorize("hasRole('ADMIN')") public class NuclearCoreController { @Autowired diff --git a/src/main/java/com/iflytop/nuclear/controller/UploadController.java b/src/main/java/com/iflytop/nuclear/controller/UploadController.java index ea31da1..122b73c 100644 --- a/src/main/java/com/iflytop/nuclear/controller/UploadController.java +++ b/src/main/java/com/iflytop/nuclear/controller/UploadController.java @@ -5,6 +5,7 @@ import com.iflytop.nuclear.service.UploadService; import com.iflytop.nuclear.utils.ResponseData; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; @@ -27,6 +28,7 @@ import java.util.Set; @Slf4j @RestController @CrossOrigin +@PreAuthorize("hasRole('ADMIN')") public class UploadController { @Autowired diff --git a/src/main/java/com/iflytop/nuclear/model/Account.java b/src/main/java/com/iflytop/nuclear/model/Account.java index cda0eb2..dda318e 100755 --- a/src/main/java/com/iflytop/nuclear/model/Account.java +++ b/src/main/java/com/iflytop/nuclear/model/Account.java @@ -1,5 +1,6 @@ package com.iflytop.nuclear.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; @@ -7,6 +8,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Date; + /** * @author cool * @desc 账户model @@ -23,4 +26,10 @@ public class Account { private String password; private String role; private String nickname; + + @TableField("create_time") + private Date createTime; + + @TableField("create_id") + private Long createId; } diff --git a/src/main/java/com/iflytop/nuclear/service/AccountService.java b/src/main/java/com/iflytop/nuclear/service/AccountService.java index 33f6d73..8334b83 100755 --- a/src/main/java/com/iflytop/nuclear/service/AccountService.java +++ b/src/main/java/com/iflytop/nuclear/service/AccountService.java @@ -4,13 +4,17 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.iflytop.nuclear.model.Account; import org.springframework.transaction.annotation.Transactional; +import java.util.Map; + /** * @author cool */ @Transactional public interface AccountService extends IService { - boolean register(String username, String password, String role); + boolean register(String username, String password, String role, String nickname); Account findByUsername(String username); + + boolean updateUserInfo(Map userInfo); } diff --git a/src/main/java/com/iflytop/nuclear/service/impl/AccountServiceImpl.java b/src/main/java/com/iflytop/nuclear/service/impl/AccountServiceImpl.java index 261851a..7a5bfb8 100755 --- a/src/main/java/com/iflytop/nuclear/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/iflytop/nuclear/service/impl/AccountServiceImpl.java @@ -10,6 +10,8 @@ import org.springframework.context.annotation.Lazy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; +import java.util.Map; + /** * @author cool */ @@ -27,7 +29,7 @@ public class AccountServiceImpl extends ServiceImpl impl * @return */ @Override - public boolean register(String username, String password, String role) { + public boolean register(String username, String password, String role, String nickname) { // ROLE_ADMIN ROLE_USER // 查找该用户名是否存在 Account byUsername = this.findByUsername(username); @@ -38,6 +40,7 @@ public class AccountServiceImpl extends ServiceImpl impl .username(username) .password(bCryptPasswordEncoder.encode(password)) .role(role) + .nickname(nickname) .build(); return this.save(account); } @@ -54,4 +57,17 @@ public class AccountServiceImpl extends ServiceImpl impl Account account = this.getOne(accountQueryWrapper); return account; } + + @Override + public boolean updateUserInfo(Map userInfo) { + Account account = Account.builder() + .id(Long.valueOf(userInfo.get("id"))) + .username(userInfo.get("username")) + .password(bCryptPasswordEncoder.encode(userInfo.get("password"))) + .role(userInfo.get("role")) + .nickname(userInfo.get("nickname")) + .build(); + boolean b = this.updateById(account); + return b; + } }