skyline пре 2 година
родитељ
комит
e3b7a2ca63

+ 18 - 0
admin/src/main/java/com/kym/admin/controller/AdminUserController.java

@@ -6,6 +6,7 @@ import com.kym.common.R;
 import com.kym.common.annotation.SysLog;
 import com.kym.common.controller.IController;
 import com.kym.entity.admin.queryParams.CommonQueryParam;
+import com.kym.entity.admin.vo.AdminUserVo;
 import com.kym.service.admin.AdminUserService;
 import org.springframework.web.bind.annotation.*;
 
@@ -46,8 +47,25 @@ public class AdminUserController extends IController {
         return resp(adminUserService::profile);
     }
 
+    /**
+     * 操作员列表
+     * @param params
+     * @return
+     */
     @GetMapping("listAdminUser")
     R<?> listAdminUser(@ModelAttribute CommonQueryParam params) {
         return R.success(adminUserService.listAdminUser(params));
     }
+
+    /**
+     * 新增操作员
+     *
+     * @param adminUserVo
+     * @return
+     */
+    @PostMapping
+    R<?> createAdminUser(@RequestBody AdminUserVo adminUserVo) {
+        adminUserService.createAdminUser(adminUserVo);
+        return R.success();
+    }
 }

+ 4 - 0
common/src/main/java/com/kym/common/utils/IDGenerator.java

@@ -17,6 +17,10 @@ import org.springframework.stereotype.Component;
 @Component
 public class IDGenerator {
 
+    public static IDGenerator INS(){
+        return new IDGenerator();
+    }
+
 
     // ==============================Fields===========================================
     /**

+ 2 - 0
entity/src/main/java/com/kym/entity/admin/AdminUser.java

@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.kym.entity.BaseEntity;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -21,6 +22,7 @@ import java.time.LocalDateTime;
 @Getter
 @Setter
 @TableName("t_admin_user")
+@Accessors(chain = true)
 public class AdminUser extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 2 - 1
entity/src/main/java/com/kym/entity/admin/AdminUserRole.java

@@ -2,9 +2,9 @@ package com.kym.entity.admin;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.kym.entity.BaseEntity;
-import java.io.Serializable;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.experimental.Accessors;
 
 /**
  * <p>
@@ -17,6 +17,7 @@ import lombok.Setter;
 @Getter
 @Setter
 @TableName("t_admin_user_role")
+@Accessors(chain = true)
 public class AdminUserRole extends BaseEntity {
 
     private static final long serialVersionUID = 1L;

+ 3 - 0
entity/src/main/java/com/kym/entity/admin/vo/AdminUserVo.java

@@ -63,6 +63,9 @@ public class AdminUserVo extends BaseEntity implements Serializable {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime lastLoginTime;
 
+    private Long roleId;
+
+    private String roleName;
 
     private List<String> permissions;
 

+ 3 - 1
service/src/main/java/com/kym/service/admin/AdminUserService.java

@@ -21,7 +21,7 @@ public interface AdminUserService extends IService<AdminUser> {
 
     R login(String mobilePhone, String password);
 
-    R logout(Long id);
+    void logout(Long id);
 
 
     Object profile();
@@ -29,4 +29,6 @@ public interface AdminUserService extends IService<AdminUser> {
     List<AdminUserVo> listUserPermissions(Long loginId);
 
     PageBean<AdminUserVo> listAdminUser(CommonQueryParam params);
+
+    void createAdminUser(AdminUserVo adminUserVo);
 }

+ 21 - 2
service/src/main/java/com/kym/service/admin/impl/AdminUserServiceImpl.java

@@ -10,7 +10,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.kym.common.R;
 import com.kym.common.constant.ResponseEnum;
+import com.kym.common.utils.IDGenerator;
 import com.kym.entity.admin.AdminUser;
+import com.kym.entity.admin.AdminUserRole;
 import com.kym.entity.admin.queryParams.CommonQueryParam;
 import com.kym.entity.admin.vo.AdminUserVo;
 import com.kym.entity.common.PageBean;
@@ -20,6 +22,7 @@ import com.kym.service.admin.AdminUserService;
 import jakarta.annotation.Resource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -76,8 +79,8 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
     }
 
     @Override
-    public R<?> logout(Long id) {
-        return logout(id);
+    public void logout(Long id) {
+        StpUtil.logout(id);
     }
 
     /**
@@ -102,4 +105,20 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
         var list = baseMapper.listAdminUser(params);
         return new PageBean<>(list);
     }
+
+    @Override
+    public void createAdminUser(AdminUserVo adminUserVo) {
+        var password = MD5.digestHex(adminUserVo.getPassword().concat(MD5.digestHex(adminUserVo.getMobilePhone()).substring(0, 5)));
+        // 用户
+        var adminUser = new AdminUser();
+        adminUser.setId(IDGenerator.INS().nextId());
+        adminUser.setPassword(password);
+        BeanUtils.copyProperties(adminUserVo, adminUser);
+        save(adminUser);
+        // 角色和权限
+        var adminUserRole = new AdminUserRole()
+                .setAdminUserId(adminUser.getId())
+                .setRoleId(adminUserVo.getRoleId());
+        adminUserRoleService.save(adminUserRole);
+    }
 }