IOA/数据底座
This commit is contained in:
@ -0,0 +1,144 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.client;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.constant.ServiceNameConstants;
|
||||
import com.chinaunicom.mall.ebtp.common.dt.entity.*;
|
||||
import com.chinaunicom.mall.ebtp.common.dt.fallback.DtFeignClientFallback;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
|
||||
@FeignClient(name = ServiceNameConstants.EXTEND_SERVICE, fallback = DtFeignClientFallback.class)
|
||||
public interface DtFeignClient {
|
||||
|
||||
/**
|
||||
* 获取Token接口 - 下面几个接口默认都会调用这个,这里只是做冗余
|
||||
返回:
|
||||
{
|
||||
"code":0,
|
||||
"message":"",
|
||||
"success": true,
|
||||
"data":{
|
||||
"effectiveTime":1440,
|
||||
"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJtZG0iLCJpZCI6MjAxMTUsImlhdCI6MTc1MDM4MzYzMCwiZXhwIjoxNzUwNDcwMDMwfQ.4zFuXnls2GdBVk8ApBlkQ9wHnhyr0Huqe9rF67sFcsg"
|
||||
}
|
||||
}
|
||||
返回头header:
|
||||
text/plain;charset=UTF-8
|
||||
* @return token信息
|
||||
*/
|
||||
@PostMapping("/dt/api/token")
|
||||
BaseResponse<DtTokenResponse> getToken();
|
||||
|
||||
|
||||
/**
|
||||
* 客户数据单条维护接口
|
||||
* POST /mdm/maintain
|
||||
参数:
|
||||
{
|
||||
"masterDataCode": "ods_custsup_customer_vendor_info",
|
||||
"opType": "C",
|
||||
"updateColumns": {
|
||||
"sourceId": "20001DERJ291",
|
||||
"sourceStatus": "1",
|
||||
"sourceCompany": "9999100300",
|
||||
"sourceSystem": "XT20210873086",
|
||||
"code": "30911103027886014929",
|
||||
"name": "联通数字科技有限公司",
|
||||
"nameLanguage": "ZH",
|
||||
"localName": "联通数字科技有限公司",
|
||||
"nature": "20",
|
||||
"country": "CN",
|
||||
"certificateType": "10",
|
||||
"certificateId": "911103027886014929",
|
||||
"organizationType": "30",
|
||||
"createdDate": "2025-06-18 16:47:21",
|
||||
"lastModifiedUser": "IRIS4",
|
||||
"lastModifiedDate": "2025-06-18 16:47:21"
|
||||
}
|
||||
}
|
||||
返回:
|
||||
{
|
||||
"code":0,
|
||||
"message":"操作成功",
|
||||
"success": true,
|
||||
"data":{
|
||||
"sourceID":"20001DERJ291",
|
||||
"sapCode":"1000284811"
|
||||
}
|
||||
}
|
||||
* @param request 维护请求体
|
||||
* @return 维护结果
|
||||
*/
|
||||
@PostMapping("/dt/api/maintain")
|
||||
BaseResponse<DtMaintainRespone> maintain(@RequestBody DtMaintainRequest request);
|
||||
|
||||
/**
|
||||
* 客商主数据查询匹配接口
|
||||
返回:
|
||||
{
|
||||
"code":0,
|
||||
"message":"操作成功",
|
||||
"success":true,
|
||||
"data":{
|
||||
"pageCount":1,
|
||||
"primaryColumn":"unique_code_id",
|
||||
"total":2,
|
||||
"pageIndex":1,
|
||||
"structureType":"0",
|
||||
"pageSize":10,
|
||||
"rows":[{
|
||||
"sysVersion":"1",
|
||||
"country":"CN",
|
||||
"code":"CN1091210102667153558C30",
|
||||
"nature":"11",
|
||||
"hisId":"35198509",
|
||||
"sysModifyStaffId":"999999",
|
||||
"certificateId":"91210102667153558C",
|
||||
"busStatus":"1",
|
||||
"updateTime":"2024-07-15 08:58:40",
|
||||
"modifyStaffName":"",
|
||||
"nameLanguage":"ZH",
|
||||
"complianceType":"0",
|
||||
"organizationType":"30",
|
||||
"uniqueCodeId":"c992c5ab761b40a47ef0806412bf7ba6",
|
||||
"localName":"联通数字科技有限公司辽宁省分公司",
|
||||
"sapCode":"1000277393",
|
||||
"sysStatus":"1",
|
||||
"validName":"联通数字科技辽宁",
|
||||
"name":"联通数字科技有限公司辽宁省分公司",
|
||||
"sysIsCurrentVersion":"1",
|
||||
"certificateType":"10"
|
||||
},{
|
||||
"sysVersion":"1",
|
||||
"country":"CN",
|
||||
"code":"CN1091110302788601492930",
|
||||
"nature":"11",
|
||||
"hisId":"35662315",
|
||||
"sysModifyStaffId":"999999",
|
||||
"certificateId":"911103027886014929",
|
||||
"busStatus":"1",
|
||||
"updateTime":"2024-07-15 08:58:40",
|
||||
"modifyStaffName":"",
|
||||
"nameLanguage":"ZH",
|
||||
"complianceType":"0",
|
||||
"organizationType":"30",
|
||||
"uniqueCodeId":"a147603eaba75cd7876c22e239e2994b",
|
||||
"localName":"联通数字科技有限公司",
|
||||
"sapCode":"1000284811",
|
||||
"sysStatus":"1",
|
||||
"validName":"联通数字科技",
|
||||
"name":"联通数字科技有限公司",
|
||||
"sysIsCurrentVersion":"1",
|
||||
"certificateType":"10"
|
||||
}],
|
||||
"sql":""
|
||||
}
|
||||
}
|
||||
* @param request 查询请求体
|
||||
* @return 查询结果
|
||||
*/
|
||||
@PostMapping("/dt/api/queryMdmAll")
|
||||
BaseResponse<DtQueryMdmAllResponse> queryMdmAll(@RequestBody DtQueryMdmAllRequest request);
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.dt.entity.maintain.Primary;
|
||||
import com.chinaunicom.mall.ebtp.common.dt.entity.maintain.Update;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 若opType为C 或 S,不传primaryColumns
|
||||
* 参数说明:
|
||||
* masterDataCode 主数据模型编码(ods_custsup_customer_vendor_info) 必填
|
||||
* opType 操作类型,C新增、U更新、D停用(冻结)、E启用(解除冻结)、S保存、K校验 必填
|
||||
* updateColumns 该项为必须项,请按主数据标准要求填写(校验通过后返回集团SAPcode) 必填
|
||||
* 示例:
|
||||
* {
|
||||
* "masterDataCode": "ods_custsup_customer_vendor_info",
|
||||
* "opType": "S",
|
||||
* "updateColumns": {
|
||||
* "name": "大连中远海运油品运输公司",
|
||||
* "country": "CN"
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
@Data
|
||||
public class DtMaintainRequest {
|
||||
/**
|
||||
* 主数据模型编码(ods_custsup_customer_vendor_info)
|
||||
* 必填
|
||||
*/
|
||||
private String masterDataCode;
|
||||
/**
|
||||
* 操作类型
|
||||
* 必填
|
||||
* C 新增
|
||||
* U 更新
|
||||
* D 停用(冻结)
|
||||
* E 启用(解除冻结)
|
||||
* S 保存(用于不便区分操作类型的业务场景)
|
||||
* K 校验(进行合规校验和标准校验,不正式写入)
|
||||
*/
|
||||
private String opType;
|
||||
/**
|
||||
* 更新字段
|
||||
* 必填
|
||||
* 该项为必须项,请按主数据标准要求填写。(校验通过后返回集团SAPcode。)
|
||||
*/
|
||||
private Update updateColumns;
|
||||
|
||||
private Primary primaryColumns;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* resultCode
|
||||
* int
|
||||
* 返回编码
|
||||
* 0成功
|
||||
* -1 失败
|
||||
* resultMsg
|
||||
* String
|
||||
* 返回结果说明
|
||||
* 成功返回:"SUCCESS"
|
||||
* 失败返回:失败或出错原因。
|
||||
* sapCode
|
||||
* String
|
||||
* 返回编码
|
||||
* sourceID
|
||||
* String
|
||||
* 返回编码
|
||||
*/
|
||||
@Data
|
||||
public class DtMaintainRespone {
|
||||
private String sapCode;
|
||||
private String sourceID;
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 客商主数据查询匹配接口请求体
|
||||
*/
|
||||
@Data
|
||||
public class DtQueryMdmAllRequest {
|
||||
/**
|
||||
* 主数据模型编码(customer_vendor_info)
|
||||
*/
|
||||
private String masterDataCode;
|
||||
|
||||
/**
|
||||
* 查询条件(支持多条件组合)
|
||||
*/
|
||||
private List<QueryColumn> queryColumns;
|
||||
|
||||
/**
|
||||
* 页码,默认从1开始
|
||||
*/
|
||||
private Integer pageIndex;
|
||||
|
||||
/**
|
||||
* 每页大小,默认10条,不得超过25条
|
||||
*/
|
||||
private Integer pageSize;
|
||||
|
||||
|
||||
@Data
|
||||
public static class QueryColumn {
|
||||
/**
|
||||
* 字段编码,如name、localName、certificateType、certificateId、sapCode
|
||||
*/
|
||||
private String columnCode;
|
||||
/**
|
||||
* 字段值
|
||||
*/
|
||||
private String columnValue;
|
||||
/**
|
||||
* 匹配类型(1:精确匹配 2:模糊匹配)
|
||||
*/
|
||||
private Integer matchingType;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 客商主数据查询匹配接口响应体
|
||||
*/
|
||||
@Data
|
||||
public class DtQueryMdmAllResponse {
|
||||
/**
|
||||
* 总条数
|
||||
*/
|
||||
private Integer total;
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
private Integer pageIndex;
|
||||
/**
|
||||
* 每页大小
|
||||
*/
|
||||
private Integer pageSize;
|
||||
/**
|
||||
* 总页数
|
||||
*/
|
||||
private Integer pageCount;
|
||||
/**
|
||||
* 主键字段名
|
||||
*/
|
||||
private String primaryColumn;
|
||||
/**
|
||||
* 结构类型
|
||||
*/
|
||||
private String structureType;
|
||||
/**
|
||||
* 数据行
|
||||
*/
|
||||
private List<Row> rows;
|
||||
/**
|
||||
* SQL语句
|
||||
*/
|
||||
private String sql;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public static class Row {
|
||||
private String sysVersion;
|
||||
private String country;
|
||||
private String code;
|
||||
private String nature;
|
||||
private String hisId;
|
||||
private String sysModifyStaffId;
|
||||
private String certificateId;
|
||||
private String busStatus;
|
||||
private String updateTime;
|
||||
private String modifyStaffName;
|
||||
private String nameLanguage;
|
||||
private String complianceType;
|
||||
private String organizationType;
|
||||
private String uniqueCodeId;
|
||||
private String localName;
|
||||
private String sapCode;
|
||||
private String sysStatus;
|
||||
private String validName;
|
||||
private String name;
|
||||
private String sysIsCurrentVersion;
|
||||
private String certificateType;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
{"resultCode":"0","resultMsg":"校验通过","resultObject":{"effectiveTime":1440,"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJtZG0iLCJpZCI6MjAxMTUsImlhdCI6MTc1MDM4MzYzMCwiZXhwIjoxNzUwNDcwMDMwfQ.4zFuXnls2GdBVk8ApBlkQ9wHnhyr0Huqe9rF67sFcsg"}}
|
||||
*/
|
||||
@Data
|
||||
public class DtTokenResponse {
|
||||
private String token;
|
||||
private Integer effectiveTime;// token有效时常,单位分钟
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity.maintain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Primary {
|
||||
private String sourceId;
|
||||
private String sourceCompany;
|
||||
}
|
@ -0,0 +1,164 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.entity.maintain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Update {
|
||||
/**
|
||||
* 客商业务编码,客户唯一识别码
|
||||
* 1. 境内:客商组织类型+统一社会信用编码
|
||||
* 2. 境外:客商组织类型+国家编码+增值税号VAT/TIN
|
||||
* 3. 境内个人:客商组织类型+身份证号码
|
||||
* 4. 境外个人:客商组织类型+姓名+护照号码
|
||||
* 5. 集团内部门客商:客商组织类型+组织编码
|
||||
* 6. 集团个人供应商:客商组织类型+身份证号码
|
||||
* 7. 其他客户:客商组织类型+二级单位编码+6位流水码
|
||||
* 8. 临时/专用/功能性客商:客商组织类型+名称
|
||||
* 该字段可等同为客商主数据主键(真正主键为该值MD5加密形成)。
|
||||
* 建议二级公司按该字段建立与客商主数据的映射关系。
|
||||
* varchar(100) 必填
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 来源系统客户标识id,来源系统客商标识(二级公司该数据的唯一标识,可为客户/供应商编码或主键)
|
||||
* 该字段可等同为租户客商管理系统的主键。
|
||||
* 租户数据的更新、停用、启用根据该字段操作。
|
||||
* varchar(50) 必填
|
||||
*/
|
||||
private String sourceId;
|
||||
|
||||
/**
|
||||
* 客商名称
|
||||
* 1. 境内企业:维护中文,全称须与工商注册或企业发文上的名称保持一致
|
||||
* 2. 境外企业:需填英文名称,遵守首字母大写、单词间一个空格、无缩写、无特殊字符
|
||||
* 3. 英文名称需在本地语言名称中维护中文信息
|
||||
* varchar(255) 必填
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 客商本国语言代码(多语言),境内企业为中文,境外企业默认为英文,非英文需按标准填写
|
||||
* 参照维表字典值CUST001代码填写
|
||||
* varchar(2) 能填尽填
|
||||
*/
|
||||
private String nameLanguage;
|
||||
|
||||
/**
|
||||
* 客商本国语言名称,根据当地证件上的标准名称填写,官方注册名称
|
||||
* 对于境内的客商,维护中文简体,全称须与工商注册或企业发文上的名称保持一致
|
||||
* varchar(255) 能填尽填
|
||||
*/
|
||||
private String localName;
|
||||
|
||||
/**
|
||||
* 客商属性,客户、供应商、客户+供应商、贷款人等
|
||||
* 参照维表字典值CUST002代码填写
|
||||
* varchar(2) 必填
|
||||
*/
|
||||
private String nature;
|
||||
|
||||
/**
|
||||
* 客商归属国家或地区
|
||||
* 参照维表字典值CUST003代码填写
|
||||
* varchar(3) 必填
|
||||
*/
|
||||
private String country;
|
||||
|
||||
/**
|
||||
* 证件类型,营业执照、身份证、增值税号VAT、纳税人识别号、护照等
|
||||
* 参照维表字典值CUST004代码填写
|
||||
* varchar(2) 必填
|
||||
*/
|
||||
private String certificateType;
|
||||
|
||||
/**
|
||||
* 证件号码
|
||||
* 1. 境内企业:统一社会信用代码
|
||||
* 2. 境内自然人:身份证号
|
||||
* 3. 境外企业:VAT/TIN号/UEN/商业登记证/企业注册码
|
||||
* 4. 境外自然人:护照号码
|
||||
* 5. 集团内部门客商:组织编码
|
||||
* 6. 集团内个人客商:身份证号
|
||||
* 7. 其他:按实际填写
|
||||
* varchar(20) 境内必填
|
||||
*/
|
||||
private String certificateId;
|
||||
|
||||
/**
|
||||
* 客商组织类型,集团内客商、集团联营客商、第三方客商等
|
||||
* 参照维表字典值CUST005代码填写
|
||||
* varchar(2) 必填
|
||||
*/
|
||||
private String organizationType;
|
||||
|
||||
/**
|
||||
* 集团北京SAP系统编码,SAP 客户编码,用于内部财务处理
|
||||
* varchar(50) 能填尽填
|
||||
*/
|
||||
private String sapCode;
|
||||
|
||||
/**
|
||||
* 数据来源二级公司,填写数据来源二级公司编码,如:9999200000
|
||||
* 参照维表字典值CUST007代码填写
|
||||
* varchar(255) 必填
|
||||
*/
|
||||
private String sourceCompany;
|
||||
|
||||
/**
|
||||
* 数据来源系统,填写来源系统的系统编码,如:XT20210864425
|
||||
* 参照维表字典值CUST008代码填写
|
||||
* varchar(13) 必填
|
||||
*/
|
||||
private String sourceSystem;
|
||||
|
||||
/**
|
||||
* 二级公司状态,正常、冻结、风险
|
||||
* 参照维表字典值CUST006代码填写
|
||||
* varchar(2) 必填
|
||||
*/
|
||||
private String sourceStatus;
|
||||
|
||||
/**
|
||||
* 创建时间,传输来源系统记录的数据创建时间,格式为YYYY-MM-DD HH:MI:SS
|
||||
* 必填
|
||||
*/
|
||||
private String createdDate;
|
||||
|
||||
/**
|
||||
* 最后的更新人员,传输来源系统记录的最后的更新人员,若无,可传输主数据对接人
|
||||
* varchar(30) 必填
|
||||
*/
|
||||
private String lastModifiedUser;
|
||||
|
||||
/**
|
||||
* 最后的更新时间,传输来源系统记录的最后的更新时间,格式为YYYY-MM-DD HH:MI:SS
|
||||
* 必填
|
||||
*/
|
||||
private String lastModifiedDate;
|
||||
|
||||
/**
|
||||
* 数据来源二级公司SAP系统客商编码
|
||||
* varchar(30) 能填尽填
|
||||
*/
|
||||
private String sourceCompanySapCode;
|
||||
|
||||
/**
|
||||
* 客商生效时间,主要用于客商组织类型发生变更时,新客商的业务生效时间,格式为YYYY-MM-DD
|
||||
* 非必填
|
||||
*/
|
||||
private String effectiveDate;
|
||||
|
||||
/**
|
||||
* 客商失效时间,主要用于客商组织类型发生变更时,旧客商的业务失效时间,默认为30001231,格式为YYYY-MM-DD
|
||||
* 非必填
|
||||
*/
|
||||
private String endDate;
|
||||
|
||||
/**
|
||||
* 操作符:C 新增、U 更新、D 停用(冻结)、E 启用(解除冻结)、S 保存、K(校验)
|
||||
* 参照维表字典值CUST009代码填写
|
||||
* varchar(1) 必填
|
||||
*/
|
||||
private String opTypeMdm;
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.chinaunicom.mall.ebtp.common.dt.fallback;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.dt.client.DtFeignClient;
|
||||
import com.chinaunicom.mall.ebtp.common.dt.entity.*;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
|
||||
@Component
|
||||
public class DtFeignClientFallback implements DtFeignClient {
|
||||
|
||||
@Override
|
||||
public BaseResponse<DtTokenResponse> getToken() {
|
||||
DtTokenResponse dtTokenResponse = new DtTokenResponse();
|
||||
dtTokenResponse.setToken("eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJtZG0iLCJpZCI6MjAxMTUsImlhdCI6MTc1MDM4MzYzMCwiZXhwIjoxNzUwNDcwMDMwfQ.4zFuXnls2GdBVk8ApBlkQ9wHnhyr0Huqe9rF67sFcsg");
|
||||
dtTokenResponse.setEffectiveTime(1440);
|
||||
return BaseResponse.success(dtTokenResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse<DtMaintainRespone> maintain(DtMaintainRequest request) {
|
||||
DtMaintainRespone response = new DtMaintainRespone();
|
||||
response.setSapCode("1000284811");
|
||||
response.setSourceID("20001DERJ291");
|
||||
return BaseResponse.success(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse<DtQueryMdmAllResponse> queryMdmAll(DtQueryMdmAllRequest request) {
|
||||
DtQueryMdmAllResponse response = new DtQueryMdmAllResponse();
|
||||
response.setPageCount(1);
|
||||
response.setPageIndex(1);
|
||||
response.setPageSize(10);
|
||||
response.setPrimaryColumn("unique_code_id");
|
||||
response.setTotal(2);
|
||||
response.setStructureType("0");
|
||||
response.setSql("");
|
||||
response.setRows(Collections.singletonList(
|
||||
// {"sysVersion":"1","country":"CN","code":"CN1091210102667153558C30","nature":"11","hisId":"35198509","sysModifyStaffId":"999999","certificateId":"91210102667153558C","busStatus":"1","updateTime":"2024-07-15 08:58:40","modifyStaffName":"","nameLanguage":"ZH","complianceType":"0","organizationType":"30","uniqueCodeId":"c992c5ab761b40a47ef0806412bf7ba6","localName":"联通数字科技有限公司辽宁省分公司","sapCode":"1000277393","sysStatus":"1","validName":"联通数字科技辽宁","name":"联通数字科技有限公司辽宁省分公司","sysIsCurrentVersion":"1","certificateType":"10"},{"sysVersion":"1","country":"CN","code":"CN1091110302788601492930","nature":"11","hisId":"35662315","sysModifyStaffId":"999999","certificateId":"911103027886014929","busStatus":"1","updateTime":"2024-07-15 08:58:40","modifyStaffName":"","nameLanguage":"ZH","complianceType":"0","organizationType":"30","uniqueCodeId":"a147603eaba75cd7876c22e239e2994b","localName":"联通数字科技有限公司","sapCode":"1000284811","sysStatus":"1","validName":"联通数字科技","name":"联通数字科技有限公司","sysIsCurrentVersion":"1","certificateType":"10"}
|
||||
new DtQueryMdmAllResponse.Row("1", "cn", "CN1091210102667153558C30", "11", "35198509", "999999", "91210102667153558C", "1", "2024-07-15 08:58:40", "", "ZH", "0", "30", "c992c5ab761b40a47ef0806412bf7ba6", "联通数字科技有限公司辽宁省分公司", "1000277393", "1", "联通数字科技辽宁", "联通数字科技有限公司辽宁省分公司", "1", "10")
|
||||
));
|
||||
return BaseResponse.success(response);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.chinaunicom.mall.ebtp.common.ioa.client;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.constant.ServiceNameConstants;
|
||||
import com.chinaunicom.mall.ebtp.common.ioa.entity.Flow;
|
||||
import com.chinaunicom.mall.ebtp.common.ioa.fallback.IoaFeignClientFallback;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(name = ServiceNameConstants.EXTEND_SERVICE, fallback = IoaFeignClientFallback.class)
|
||||
public interface IoaFeignClient {
|
||||
|
||||
@PostMapping("/ioa/task/create")
|
||||
BaseResponse<String[]> createTask(@RequestBody Flow flow);
|
||||
|
||||
@PostMapping("/ioa/task/update")
|
||||
BaseResponse<String[]> updateTask(@RequestBody List<String> bizTaskIds);
|
||||
|
||||
@PostMapping("/ioa/task/delete")
|
||||
BaseResponse<String[]> deleteTask(@RequestBody List<String> bizTaskIds);
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package com.chinaunicom.mall.ebtp.common.ioa.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Flow {
|
||||
/**
|
||||
* 流程ID (不传就是雪花ID)
|
||||
*/
|
||||
private String flowId;
|
||||
/**
|
||||
* 流程名称 (不传就是雪花ID)
|
||||
*/
|
||||
private String flowName;
|
||||
/**
|
||||
* 业务流程实例 id,流程实例在业务系统的唯一标识号 (不传就是雪花ID)
|
||||
*/
|
||||
private String bizInstanceId;
|
||||
/**
|
||||
* 创建时间,时间戳 (不传就是当前系统时间)
|
||||
*/
|
||||
private Long createDate;
|
||||
/**
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String creatorName;
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private String creatorId;
|
||||
/**
|
||||
* 待办待阅数据集合,最多100
|
||||
*/
|
||||
private List<Task> tasks;
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package com.chinaunicom.mall.ebtp.common.ioa.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class Task {
|
||||
/**
|
||||
* 业务待办id,待办待阅在业务系统的唯一标识 id
|
||||
*/
|
||||
private String bizTaskId;
|
||||
/**
|
||||
* 工单号,工单在业务系统的唯一标识
|
||||
*/
|
||||
private String workNum;
|
||||
/**
|
||||
* 单据类型,0:待办,1:待阅
|
||||
*/
|
||||
private Integer taskType;
|
||||
/**
|
||||
* 业务类型
|
||||
*/
|
||||
private String businessMode;
|
||||
/**
|
||||
* 当前处理人的用户ID
|
||||
*/
|
||||
private String handler;
|
||||
/**
|
||||
* 业务系统提供工单处理页面的Url
|
||||
*/
|
||||
private String formUrl;
|
||||
/**
|
||||
* 工单标题
|
||||
*/
|
||||
private String title;
|
||||
/**
|
||||
* 优先级别,0:低,1:中,2:高
|
||||
*/
|
||||
private Integer priority;
|
||||
/**
|
||||
* 扩展信息JSON,最多50个元素,键[a-z]{1,30},值<100字符
|
||||
*/
|
||||
private Map<String, String> ext;
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.chinaunicom.mall.ebtp.common.ioa.fallback;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.ioa.client.IoaFeignClient;
|
||||
import com.chinaunicom.mall.ebtp.common.ioa.entity.Flow;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class IoaFeignClientFallback implements IoaFeignClient {
|
||||
|
||||
@Override
|
||||
public BaseResponse<String[]> createTask(Flow flow) {
|
||||
String[] mockResponse = new String[]{"1935498644363452416"};
|
||||
return BaseResponse.success(mockResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse<String[]> updateTask(List<String> bizTaskIds) {
|
||||
String[] mockResponse = new String[]{"1935498644363452416"};
|
||||
return BaseResponse.success(mockResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse<String[]> deleteTask(List<String> bizTaskIds) {
|
||||
String[] mockResponse = new String[]{"1935498644363452416"};
|
||||
return BaseResponse.success(mockResponse);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user