فهرست منبع

账户与安全操作日志

licailing 4 سال پیش
والد
کامیت
a60a5aba5e
2فایلهای تغییر یافته به همراه25 افزوده شده و 8 حذف شده
  1. 21 5
      src/main/java/com/izouma/imt/service/UserService.java
  2. 4 3
      src/main/java/com/izouma/imt/web/UserController.java

+ 21 - 5
src/main/java/com/izouma/imt/service/UserService.java

@@ -330,7 +330,8 @@ public class UserService {
         String old = user.getEmail();
         user.setEmail(email);
         userRepo.save(user);
-        vendorInfoRepo.findByUserId(userId).ifPresent(vendorInfo -> {
+        Long id = user.getParentId() == null ? userId : user.getParentId();
+        vendorInfoRepo.findByUserId(id).ifPresent(vendorInfo -> {
             Operating operating = Operating.builder()
                     .userId(userId)
                     .ip(SecurityUtils.getIp2(request))
@@ -354,7 +355,8 @@ public class UserService {
         }
         user.setPassword(new BCryptPasswordEncoder().encode(newPassword));
         user = userRepo.save(user);
-        vendorInfoRepo.findByUserId(userId).ifPresent(vendorInfo -> {
+        Long id = user.getParentId() == null ? userId : user.getParentId();
+        vendorInfoRepo.findByUserId(id).ifPresent(vendorInfo -> {
             Operating operating = Operating.builder()
                     .userId(userId)
                     .ip(SecurityUtils.getIp2(request))
@@ -407,13 +409,15 @@ public class UserService {
     /*
     创建子用户
      */
-    public String subUser(Long userId) {
+    public String subUser(Long userId, HttpServletRequest request) {
         User user = userRepo.findById(userId).orElseThrow(new BusinessException("无用户"));
+        Long id = user.getParentId() == null ? userId : user.getParentId();
+
         String username = RandomStringUtils.randomAlphabetic(2) + RandomStringUtils.randomNumeric(6);
         User child = User.builder()
                 .password(user.getPassword())
                 .username(username)
-                .parentId(user.getParentId() == null ? userId : user.getParentId())
+                .parentId(id)
                 .authorities(Collections.singleton(Authority.get(AuthorityName.ROLE_USER)))
                 .identity(user.getIdentity())
                 .chCompanyName(user.getChCompanyName())
@@ -424,6 +428,17 @@ public class UserService {
 
         userRepo.save(child);
 
+        vendorInfoRepo.findByUserId(id).ifPresent(vendorInfo -> {
+            Operating operating = Operating.builder()
+                    .userId(userId)
+                    .ip(SecurityUtils.getIp2(request))
+                    .operate("添加")
+                    .time(LocalDateTime.now())
+                    .content("子账户")
+                    .vendorInfoId(vendorInfo.getId())
+                    .build();
+            operatingRepo.save(operating);
+        });
         return username;
     }
 
@@ -445,7 +460,8 @@ public class UserService {
         String old = user.getPhone();
         user.setPhone(newPhone);
         userRepo.save(user);
-        vendorInfoRepo.findByUserId(userId).ifPresent(vendorInfo -> {
+        Long id = user.getParentId() == null ? userId : user.getParentId();
+        vendorInfoRepo.findByUserId(id).ifPresent(vendorInfo -> {
             Operating operating = Operating.builder()
                     .userId(userId)
                     .ip(SecurityUtils.getIp2(request))

+ 4 - 3
src/main/java/com/izouma/imt/web/UserController.java

@@ -173,8 +173,8 @@ public class UserController extends BaseController {
 
     @GetMapping("/subUser")
     @ApiOperation("创建子用户")
-    public String subUser() {
-        return userService.subUser(SecurityUtils.getAuthenticatedUser().getId());
+    public String subUser(HttpServletRequest request) {
+        return userService.subUser(SecurityUtils.getAuthenticatedUser().getId(), request);
     }
 
     @PostMapping("/changePhone")
@@ -219,7 +219,8 @@ public class UserController extends BaseController {
     @PostMapping("/getSubUser")
     @ApiOperation("获取子账号")
     public List<User> getSubUser() {
-        return userRepo.findAllByParentId(SecurityUtils.getAuthenticatedUser().getId());
+        User user = SecurityUtils.getAuthenticatedUser();
+        return userRepo.findAllByParentId(user.getParentId() == null ? user.getId() : user.getParentId());
     }
 
     @GetMapping("/getMaToken")