1. 新增分页接口聚合查询注解支持
2. 优化 databus api 日志记录的字段缺失问题 3. 新增 eplat sso 页面登录校验 4. 用户、部门编辑新增 seata 事务支持 5. 新增 iwork 流程发起接口 6. 新增 eban 同步用户时的岗位处理逻辑 7. 新增无 skywalking 时的 traceId 支持
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.module.system.controller.admin.integration.iwork.vo.IWorkOperationRespVO;
|
||||
import com.zt.plat.module.system.controller.admin.integration.iwork.vo.IWorkUserInfoReqVO;
|
||||
import com.zt.plat.module.system.controller.admin.integration.iwork.vo.IWorkUserInfoRespVO;
|
||||
import com.zt.plat.module.system.controller.admin.integration.iwork.vo.IWorkWorkflowCreateReqVO;
|
||||
import com.zt.plat.module.system.controller.admin.integration.iwork.vo.IWorkWorkflowVoidReqVO;
|
||||
import com.zt.plat.module.system.service.integration.iwork.IWorkIntegrationService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
/**
|
||||
* 提供统一 iWork 流程能力的管理端接口。
|
||||
*/
|
||||
@Tag(name = "管理后台 - iWork 集成")
|
||||
@RestController
|
||||
@RequestMapping("/system/integration/iwork")
|
||||
@RequiredArgsConstructor
|
||||
@Validated
|
||||
public class IWorkIntegrationController {
|
||||
|
||||
private final IWorkIntegrationService integrationService;
|
||||
|
||||
@PostMapping("/user/resolve")
|
||||
@Operation(summary = "根据外部标识获取 iWork 用户编号")
|
||||
public CommonResult<IWorkUserInfoRespVO> resolveUser(@Valid @RequestBody IWorkUserInfoReqVO reqVO) {
|
||||
return success(integrationService.resolveUserId(reqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/workflow/create")
|
||||
@Operation(summary = "发起 iWork 流程")
|
||||
public CommonResult<IWorkOperationRespVO> createWorkflow(@Valid @RequestBody IWorkWorkflowCreateReqVO reqVO) {
|
||||
return success(integrationService.createWorkflow(reqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/workflow/void")
|
||||
@Operation(summary = "作废 / 干预 iWork 流程")
|
||||
public CommonResult<IWorkOperationRespVO> voidWorkflow(@Valid @RequestBody IWorkWorkflowVoidReqVO reqVO) {
|
||||
return success(integrationService.voidWorkflow(reqVO));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* iWork 集成接口公用的请求字段。
|
||||
*/
|
||||
@Data
|
||||
public class IWorkBaseReqVO {
|
||||
|
||||
@Schema(description = "配置的 iWork 凭证 appId;为空时使用默认凭证", example = "iwork-app")
|
||||
private String appId;
|
||||
|
||||
@Schema(description = "iWork 操作人用户编号", example = "1")
|
||||
private String operatorUserId;
|
||||
|
||||
@Schema(description = "是否强制刷新 token", example = "false")
|
||||
private Boolean forceRefreshToken;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 传递给 iWork 的单条明细记录。
|
||||
*/
|
||||
@Data
|
||||
public class IWorkDetailRecordVO {
|
||||
|
||||
@Schema(description = "记录序号,从 0 开始", example = "0")
|
||||
private Integer recordOrder;
|
||||
|
||||
@Schema(description = "明细字段列表")
|
||||
@NotEmpty(message = "明细字段不能为空")
|
||||
@Valid
|
||||
private List<IWorkFormFieldVO> fields;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* iWork 流程请求中的明细表定义。
|
||||
*/
|
||||
@Data
|
||||
public class IWorkDetailTableVO {
|
||||
|
||||
@Schema(description = "表名", example = "formtable_main_26_dt1")
|
||||
@NotBlank(message = "明细表名不能为空")
|
||||
private String tableDBName;
|
||||
|
||||
@Schema(description = "明细记录集合")
|
||||
@NotEmpty(message = "明细记录不能为空")
|
||||
@Valid
|
||||
private List<IWorkDetailRecordVO> records;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 提交给 iWork 的单个表单字段。
|
||||
*/
|
||||
@Data
|
||||
public class IWorkFormFieldVO {
|
||||
|
||||
@Schema(description = "字段名", example = "sqr")
|
||||
@NotBlank(message = "字段名不能为空")
|
||||
private String fieldName;
|
||||
|
||||
@Schema(description = "字段值", example = "张三")
|
||||
@NotBlank(message = "字段值不能为空")
|
||||
private String fieldValue;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* iWork 流程操作的通用响应封装。
|
||||
*/
|
||||
@Data
|
||||
public class IWorkOperationRespVO {
|
||||
|
||||
@Schema(description = "iWork 返回的原始数据")
|
||||
private Map<String, Object> payload;
|
||||
|
||||
@Schema(description = "iWork 返回的原始字符串")
|
||||
private String rawBody;
|
||||
|
||||
@Schema(description = "是否判断为成功")
|
||||
private boolean success;
|
||||
|
||||
@Schema(description = "返回提示信息")
|
||||
private String message;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 获取 iWork 会话令牌的请求载荷。
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class IWorkTokenApplyReqVO extends IWorkBaseReqVO {
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 用于解析 iWork 用户编号的请求体。
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class IWorkUserInfoReqVO extends IWorkBaseReqVO {
|
||||
|
||||
@Schema(description = "用户识别字段", example = "loginid")
|
||||
@NotBlank(message = "用户识别字段不能为空")
|
||||
private String identifierKey;
|
||||
|
||||
@Schema(description = "用户识别值", example = "zhangsan")
|
||||
@NotBlank(message = "用户识别值不能为空")
|
||||
private String identifierValue;
|
||||
|
||||
@Schema(description = "额外的请求载荷,会与识别字段合并后提交")
|
||||
private Map<String, Object> payload;
|
||||
|
||||
@Schema(description = "额外的查询参数")
|
||||
private Map<String, Object> queryParams;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* iWork 用户信息查询结果。
|
||||
*/
|
||||
@Data
|
||||
public class IWorkUserInfoRespVO {
|
||||
|
||||
@Schema(description = "iWork 返回的原始数据")
|
||||
private Map<String, Object> payload;
|
||||
|
||||
@Schema(description = "iWork 返回的原始字符串")
|
||||
private String rawBody;
|
||||
|
||||
@Schema(description = "是否判断为成功")
|
||||
private boolean success;
|
||||
|
||||
@Schema(description = "返回提示信息")
|
||||
private String message;
|
||||
|
||||
@Schema(description = "解析出的 iWork 用户编号")
|
||||
private String userId;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.zt.plat.module.system.controller.admin.integration.iwork.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 发起 iWork 流程的请求体。
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class IWorkWorkflowCreateReqVO extends IWorkBaseReqVO {
|
||||
|
||||
@Schema(description = "流程标题", example = "测试流程")
|
||||
@NotBlank(message = "流程标题不能为空")
|
||||
private String requestName;
|
||||
|
||||
@Schema(description = "流程模板编号,可为空使用默认配置", example = "54")
|
||||
private Long workflowId;
|
||||
|
||||
@Schema(description = "主表字段")
|
||||
@NotEmpty(message = "主表字段不能为空")
|
||||
@Valid
|
||||
private List<IWorkFormFieldVO> mainFields;
|
||||
|
||||
@Schema(description = "明细表数据")
|
||||
@Valid
|
||||
private List<IWorkDetailTableVO> detailTables;
|
||||
|
||||
@Schema(description = "额外参数")
|
||||
private Map<String, Object> otherParams;
|
||||
|
||||
@Schema(description = "额外 Form 数据")
|
||||
private Map<String, String> formExtras;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user