瀏覽代碼

公共字典接口

chejianzheng 3 月之前
父節點
當前提交
54fffac288

+ 8 - 4
portal-service-application/src/main/java/com/hfln/portal/application/controller/web/WebTenantController.java

@@ -4,10 +4,7 @@ import cn.hfln.framework.catchlog.CatchAndLog;
 import cn.hfln.framework.dto.ApiResult;
 import com.hfln.portal.common.dto.data.tenant.TenantDto;
 import com.hfln.portal.common.dto.data.tenant.TenantInfoDto;
-import com.hfln.portal.common.request.tenant.BuildingAddReq;
-import com.hfln.portal.common.request.tenant.FloorAddReq;
-import com.hfln.portal.common.request.tenant.TenantAddReq;
-import com.hfln.portal.common.request.tenant.TenantQueryReq;
+import com.hfln.portal.common.request.tenant.*;
 import com.hfln.portal.common.vo.PageRecord;
 import com.hfln.portal.domain.gateway.WebTenantGateway;
 import io.swagger.v3.oas.annotations.Operation;
@@ -36,6 +33,13 @@ public class WebTenantController {
         return ApiResult.success();
     }
 
+    @PostMapping("/add/admin")
+    @Operation(summary = "添加租户超管")
+    public ApiResult<Void> addTenantAdmin(@Valid @RequestBody TenantAdminAddParam req) throws IOException {
+        webTenantGateway.addTenantAdmin(req);
+        return ApiResult.success();
+    }
+
     @PostMapping("/query")
     @Operation(summary = "查询租户")
     public ApiResult<PageRecord<TenantDto>> queryTenant(@Valid @RequestBody TenantQueryReq req) throws IOException {

+ 3 - 3
portal-service-application/src/main/java/com/hfln/portal/application/controller/web/WebUserController.java

@@ -78,9 +78,9 @@ public class WebUserController {
         return ApiResult.success();
     }
 
-    @PostMapping("/addAccount")
-    @Operation(summary = "超管添加用户")
-    public ApiResult<Void> addAccount(@Valid @RequestBody AddAccountParam param) {
+    @PostMapping("/addManager")
+    @Operation(summary = "超管添加后台管理员用户")
+    public ApiResult<Void> addManager(@Valid @RequestBody AddAccountParam param) {
 
         webGateway.addAccount(param);
         return ApiResult.success();

+ 34 - 0
portal-service-common/src/main/java/com/hfln/portal/common/request/tenant/TenantAdminAddParam.java

@@ -0,0 +1,34 @@
+package com.hfln.portal.common.request.tenant;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class TenantAdminAddParam {
+
+    @Schema(description = "账号")
+    @NotBlank(message = "账号不能为空")
+    private String account;
+
+    @Schema(description = "密码")
+    @NotBlank(message = "密码不能为空")
+    private String password;
+
+    @Schema(description = "电话号码")
+    private String phone;
+
+    @Schema(description = "角色")
+    @NotNull(message = "角色不能为空")
+    private Long roleId;
+
+    @Schema(description = "租户id")
+    @NotNull(message = "租户id不能为空")
+    private Long tenantId;
+
+    @Schema(description = "用户名")
+    private String userName;
+}

+ 3 - 4
portal-service-domain/src/main/java/com/hfln/portal/domain/gateway/WebTenantGateway.java

@@ -2,10 +2,7 @@ package com.hfln.portal.domain.gateway;
 
 import com.hfln.portal.common.dto.data.tenant.TenantDto;
 import com.hfln.portal.common.dto.data.tenant.TenantInfoDto;
-import com.hfln.portal.common.request.tenant.BuildingAddReq;
-import com.hfln.portal.common.request.tenant.FloorAddReq;
-import com.hfln.portal.common.request.tenant.TenantAddReq;
-import com.hfln.portal.common.request.tenant.TenantQueryReq;
+import com.hfln.portal.common.request.tenant.*;
 import com.hfln.portal.common.vo.PageRecord;
 
 public interface WebTenantGateway {
@@ -22,5 +19,7 @@ public interface WebTenantGateway {
     void delInfo(Long tinfoId);
 
     TenantInfoDto queryInfo(Long tinfoId);
+
+    void addTenantAdmin(TenantAdminAddParam req);
 }
 

+ 2 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/WebGatewayImpl.java

@@ -21,6 +21,7 @@ import com.hfln.portal.common.request.web.*;
 import com.hfln.portal.common.response.admin.AdminLoginRes;
 import com.hfln.portal.common.vo.PageRecord;
 import com.hfln.portal.common.vo.UploadRes;
+import com.hfln.portal.domain.customer.AdminUserType;
 import com.hfln.portal.domain.customer.DeviceType;
 import com.hfln.portal.domain.customer.util.CopyUtils;
 import com.hfln.portal.domain.customer.util.PasswordUtil;
@@ -254,6 +255,7 @@ public class WebGatewayImpl implements WebGateway {
         //2.保存新用户到 admin_user_info 表
         AdminUserInfo adminUserInfo = CopyUtils.copy(param, AdminUserInfo.class);
         adminUserInfo.setPassword(PasswordUtil.encrypt(param.getPassword()));
+        adminUserInfo.setUserType(AdminUserType.MANAGER.getCode());
         adminUserService.save(adminUserInfo);
 
         //3.保存用户角色到 tbl_user_role 表

+ 33 - 7
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/WebTenantGatewayImpl.java

@@ -4,21 +4,20 @@ import cn.hfln.framework.extension.BizException;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.hfln.portal.common.dto.data.tenant.TenantDto;
 import com.hfln.portal.common.dto.data.tenant.TenantInfoDto;
-import com.hfln.portal.common.request.tenant.BuildingAddReq;
-import com.hfln.portal.common.request.tenant.FloorAddReq;
-import com.hfln.portal.common.request.tenant.TenantAddReq;
-import com.hfln.portal.common.request.tenant.TenantQueryReq;
+import com.hfln.portal.common.request.tenant.*;
 import com.hfln.portal.common.vo.PageRecord;
+import com.hfln.portal.domain.customer.AdminUserType;
 import com.hfln.portal.domain.customer.OprLogType;
 import com.hfln.portal.domain.customer.TinfoType;
 import com.hfln.portal.domain.customer.util.CopyUtils;
+import com.hfln.portal.domain.customer.util.PasswordUtil;
 import com.hfln.portal.domain.exception.ErrorEnum;
 import com.hfln.portal.domain.gateway.WebTenantGateway;
+import com.hfln.portal.infrastructure.po.AdminUserInfo;
 import com.hfln.portal.infrastructure.po.TblTenant;
 import com.hfln.portal.infrastructure.po.TblTenantInfo;
-import com.hfln.portal.infrastructure.service.TblOprLogService;
-import com.hfln.portal.infrastructure.service.TblTenantInfoService;
-import com.hfln.portal.infrastructure.service.TblTenantService;
+import com.hfln.portal.infrastructure.po.TblUserRole;
+import com.hfln.portal.infrastructure.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +41,12 @@ public class WebTenantGatewayImpl implements WebTenantGateway {
     @Autowired
     private TblOprLogService tblOprLogService;
 
+    @Autowired
+    private AdminUserService adminUserService;
+
+    @Autowired
+    private TblUserRoleService tblUserRoleService;
+
     @Override
     @Transactional
     public void addTenant(TenantAddReq req) {
@@ -183,4 +188,25 @@ public class WebTenantGatewayImpl implements WebTenantGateway {
         tenantInfoDto.setChildren(CopyUtils.copyList(children, TenantInfoDto.class));
         return tenantInfoDto;
     }
+
+    @Override
+    public void addTenantAdmin(TenantAdminAddParam req) {
+        // 1. 检查账号是否已存在
+        AdminUserInfo exist = adminUserService.queryByAccount(req.getAccount());
+        if (Objects.nonNull(exist)) {
+            throw new BizException(ErrorEnum.USER_ALREADY_EXISTS.getErrorCode(), ErrorEnum.USER_ALREADY_EXISTS.getErrorMessage());
+        }
+        //2.保存新用户到 admin_user_info 表
+        AdminUserInfo adminUserInfo = CopyUtils.copy(req, AdminUserInfo.class);
+        adminUserInfo.setPassword(PasswordUtil.encrypt(req.getPassword()));
+        adminUserInfo.setUserType(AdminUserType.USER_ADMIN.getCode());
+        adminUserInfo.setTenantId(req.getTenantId());
+        adminUserService.save(adminUserInfo);
+
+        //3.保存用户角色到 tbl_user_role 表
+        TblUserRole userRole = new TblUserRole();
+        userRole.setUserId(adminUserInfo.getUserId());
+        userRole.setRoleId(req.getRoleId());
+        tblUserRoleService.save(userRole);
+    }
 }