车车 il y a 5 mois
Parent
commit
164b0b95b9

+ 7 - 4
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workdesign/workflowdesign/vo/WorkflowDesignRespVO.java

@@ -1,11 +1,11 @@
 package cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowdesign.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
+import lombok.Data;
+
 import java.time.LocalDateTime;
-import com.alibaba.excel.annotation.*;
 
 @Schema(description = "管理后台 - 流程设计 Response VO")
 @Data
@@ -32,6 +32,9 @@ public class WorkflowDesignRespVO {
     @ExcelProperty("状态:0-禁用,1-启用")
     private Integer status;
 
+    @ExcelProperty("描述")
+    private String description;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;

+ 5 - 2
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowDesignServiceImpl.java

@@ -56,9 +56,12 @@ public class WorkflowDesignServiceImpl extends ServiceImpl<WorkflowDesignMapper,
                 .ne(WorkflowDesignDO::getId, updateReqVO.getId())
                 .eq(WorkflowDesignDO::getName, updateReqVO.getName()));
         Assert.isTrue(list.isEmpty(), "该名称已被使用!");
-        Assert.notBlank(updateReqVO.getContent(), "流程配置内容不能为空!");
+        // Assert.notBlank(updateReqVO.getContent(), "流程配置内容不能为空!");
         WorkflowDesignDO byId = getById(updateReqVO.getId());
-        if (byId != null && StringUtils.isNotBlank(byId.getContent()) && !byId.getContent().equals(updateReqVO.getContent())) {
+        if (byId != null
+                && StringUtils.isNotBlank(byId.getContent())
+                && StringUtils.isNotBlank(updateReqVO.getContent())
+                && !byId.getContent().equals(updateReqVO.getContent())) {
             // 如果流程节点修改,则需要删除然后在新增
             workflowDesignNodeService.remove(Wrappers.<WorkflowDesignNodeDO>lambdaQuery()
                     .eq(WorkflowDesignNodeDO::getDesignId, updateReqVO.getId()));

+ 3 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java

@@ -33,6 +33,9 @@ public class DeptRespVO {
     @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
+    @Schema(description = "code", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
+    private String code;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 

+ 2 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.java

@@ -22,6 +22,8 @@ public class DeptSaveReqVO {
     @Size(max = 30, message = "部门名称长度不能超过 30 个字符")
     private String name;
 
+    private String code;
+
     @Schema(description = "父部门 ID", example = "1024")
     private Long parentId;
 

+ 7 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java

@@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -101,6 +102,12 @@ public class UserController {
         if (pageReqVO.getSelectAll() != null && pageReqVO.getSelectAll().equals(1)) {
             pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         }
+        if (StringUtils.isNotBlank(pageReqVO.getCode())) {
+            List<DeptDO> list = deptService.list(Wrappers.<DeptDO>lambdaQuery().eq(DeptDO::getCode, pageReqVO.getCode()));
+            if (!list.isEmpty()) {
+                pageReqVO.setDeptId(list.get(0).getId());
+            }
+        }
         // 获得用户分页列表
         PageResult<AdminUserDO> pageResult = userService.getUserPage(pageReqVO);
         if (CollUtil.isEmpty(pageResult.getList())) {

+ 3 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java

@@ -44,4 +44,7 @@ public class UserPageReqVO extends PageParam {
     @Schema(description = "是否查询所有", example = "1")
     private Integer selectAll;
 
+    @Schema(description = "部门code,如果拿到code再拿到deptid进行查询", example = "1")
+    private String code;
+
 }

+ 2 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.java

@@ -63,4 +63,6 @@ public class DeptDO extends TenantBaseDO {
      */
     private Integer status;
 
+    private String code;
+
 }

+ 2 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.java

@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
+import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.*;
 
@@ -12,7 +13,7 @@ import java.util.*;
  *
  * @author 芋道源码
  */
-public interface DeptService {
+public interface DeptService extends IService<DeptDO> {
 
     /**
      * 创建部门

+ 2 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java

@@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqV
 import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
 import cn.iocoder.yudao.module.system.dal.mysql.dept.DeptMapper;
 import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.annotations.VisibleForTesting;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.cache.annotation.CacheEvict;
@@ -32,7 +33,7 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
 @Service
 @Validated
 @Slf4j
-public class DeptServiceImpl implements DeptService {
+public class DeptServiceImpl extends ServiceImpl<DeptMapper, DeptDO> implements DeptService {
 
     @Resource
     private DeptMapper deptMapper;

+ 54 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java

@@ -13,6 +13,7 @@ import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
 import cn.iocoder.yudao.framework.tenant.config.TenantProperties;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
 import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
+import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant.TenantSaveReqVO;
@@ -26,6 +27,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantPackageDO;
 import cn.iocoder.yudao.module.system.dal.mysql.tenant.TenantMapper;
 import cn.iocoder.yudao.module.system.enums.permission.RoleCodeEnum;
 import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import cn.iocoder.yudao.module.system.service.dict.DictDataService;
 import cn.iocoder.yudao.module.system.service.dict.DictTypeService;
 import cn.iocoder.yudao.module.system.service.permission.MenuService;
@@ -36,13 +38,13 @@ import cn.iocoder.yudao.module.system.service.tenant.handler.TenantMenuHandler;
 import cn.iocoder.yudao.module.system.service.user.AdminUserService;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
-import jakarta.annotation.Resource;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
@@ -80,6 +82,8 @@ public class TenantServiceImpl implements TenantService {
     @Resource
     private MenuService menuService;
     @Resource
+    private DeptService deptService;
+    @Resource
     private DictTypeService dictTypeService;
     @Resource
     private DictDataService dictDataService;
@@ -139,6 +143,8 @@ public class TenantServiceImpl implements TenantService {
             Long roleId = createRole(tenantPackage);
             // 创建用户,并分配角色
             Long userId = createUser(roleId, createReqVO);
+            // 创建部门
+            createDept(createReqVO);
             // 修改租户的管理员
             tenantMapper.updateById(new TenantDO().setId(tenant.getId()).setContactUserId(userId));
         });
@@ -160,6 +166,53 @@ public class TenantServiceImpl implements TenantService {
         return userId;
     }
 
+    private void createDept(TenantSaveReqVO createReqVO) {
+        // 顶级
+        DeptSaveReqVO deptSaveReqVO = new DeptSaveReqVO();
+        deptSaveReqVO.setName(createReqVO.getName());
+        deptSaveReqVO.setParentId(0L);
+        deptSaveReqVO.setSort(0);
+        deptSaveReqVO.setStatus(0);
+        deptSaveReqVO.setCode("top");
+        Long topDeptId = deptService.createDept(deptSaveReqVO);
+
+        // 虚拟
+       /* DeptSaveReqVO deptSaveReqVO1 = new DeptSaveReqVO();
+        deptSaveReqVO1.setName("作业(虚拟)分组");
+        deptSaveReqVO1.setParentId(topDeptId);
+        deptSaveReqVO1.setSort(1);
+        deptSaveReqVO1.setStatus(0);
+        deptSaveReqVO1.setCode("jtdept");
+        Long deptId1 = deptService.createDept(deptSaveReqVO1);
+
+        // 上锁
+        DeptSaveReqVO deptSaveReqVO2 = new DeptSaveReqVO();
+        deptSaveReqVO2.setName("上锁");
+        deptSaveReqVO2.setParentId(deptId1);
+        deptSaveReqVO2.setSort(1);
+        deptSaveReqVO2.setStatus(0);
+        deptSaveReqVO2.setCode("jtlocker");
+        deptService.createDept(deptSaveReqVO2);
+
+        // 共锁
+        DeptSaveReqVO deptSaveReqVO3 = new DeptSaveReqVO();
+        deptSaveReqVO3.setName("共锁");
+        deptSaveReqVO3.setParentId(deptId1);
+        deptSaveReqVO3.setSort(1);
+        deptSaveReqVO3.setStatus(0);
+        deptSaveReqVO3.setCode("jtcolocker");
+        deptService.createDept(deptSaveReqVO3);
+
+        // 参与人
+        DeptSaveReqVO deptSaveReqVO4 = new DeptSaveReqVO();
+        deptSaveReqVO4.setName("参与人");
+        deptSaveReqVO4.setParentId(deptId1);
+        deptSaveReqVO4.setSort(1);
+        deptSaveReqVO4.setStatus(0);
+        deptSaveReqVO4.setCode("jtdrawer");
+        deptService.createDept(deptSaveReqVO4);*/
+    }
+
     private Long createRole(TenantPackageDO tenantPackage) {
         // 创建角色
         RoleSaveReqVO reqVO = new RoleSaveReqVO();