添加 集团推送接口

This commit is contained in:
TL
2025-07-25 16:27:47 +08:00
parent dffd5225f3
commit 75ec4627d1
4 changed files with 152 additions and 8 deletions

View File

@ -0,0 +1,10 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.service;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase;
public interface IDtService {
String maintain( CoscoSupplierBase coscoSupplierBase);
}

View File

@ -0,0 +1,118 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl;
import com.chinaunicom.mall.ebtp.common.base.client.DictRegionInternationalClient;
import com.chinaunicom.mall.ebtp.common.base.entity.*;
import com.chinaunicom.mall.ebtp.common.dt.client.DtFeignClient;
import com.chinaunicom.mall.ebtp.common.dt.entity.DtMaintainRequest;
import com.chinaunicom.mall.ebtp.common.dt.entity.DtMaintainRespone;
import com.chinaunicom.mall.ebtp.common.dt.entity.maintain.Update;
import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IDtService;
import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class DtServiceImpl implements IDtService {
@Autowired
private DtFeignClient dtFeignClient;
@Autowired
private DictRegionInternationalClient dictRegionInternationalClient;
/**
* 参考:客商主数据平台接口说明书(客户)-征求意见稿V2.3.docx上游.docx
* 客户数据单条维护接口
* POST /mdm/maintain
* opType:
* C新增
* U更新
* D停用冻结
* E启用解除冻结
* S保存用于不便区分操作类型的业务场景
* K校验进行合规校验和标准校验,不正式写入)
参数:
{
"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":200,
"message":"success",
"success": true,
"data":{
"sourceID":"20001DERJ291",
"sapCode":"1000284811"
}
}
*/
@Override
public String maintain(CoscoSupplierBase coscoSupplierBase) {
DtMaintainRequest dtMaintainRequest = new DtMaintainRequest();
Update updateColumns = new Update();
dtMaintainRequest.setMasterDataCode("ods_custsup_customer_vendor_info");//标识
dtMaintainRequest.setOpType("C");//新增
updateColumns.setSourceId(coscoSupplierBase.getId());//供应商id
updateColumns.setSourceStatus("1");//供应商状态1正常
updateColumns.setSourceCompany("9999100300");//数据来源公司
updateColumns.setSourceSystem("XT20210873086");//数据来源系统
updateColumns.setCode(coscoSupplierBase.getUnifiedCode());//供应商唯一标识码
if(CoscoType.SUPPLIER_TYPE_DVS.equals(coscoSupplierBase.getSupplierType())){
//境内
updateColumns.setName(coscoSupplierBase.getName());//供应商名称
updateColumns.setNameLanguage("ZH");//供应商语言
updateColumns.setLocalName(coscoSupplierBase.getName());//供应商本国名称
updateColumns.setCountry("CH");//供应商国家代码
updateColumns.setCertificateType("10");//证件类型
}else if(CoscoType.SUPPLIER_TYPE_OVS.equals(coscoSupplierBase.getSupplierType())){
//境外
updateColumns.setName(coscoSupplierBase.getNameEn());
updateColumns.setNameLanguage("EN");//语言
updateColumns.setCountry(dictRegionInternationalClient.get(coscoSupplierBase.getNation()).getData().getAb());
updateColumns.setLocalName(coscoSupplierBase.getNameEn());
updateColumns.setCertificateType("20");
}else{
//个人
updateColumns.setName(coscoSupplierBase.getName());//供应商名称
updateColumns.setNameLanguage("ZH");//供应商语言
updateColumns.setLocalName(coscoSupplierBase.getName());//供应商本国名称
updateColumns.setCountry("CH");//供应商国家代码
updateColumns.setCertificateType("40");//证件类型
}
updateColumns.setCertificateId(coscoSupplierBase.getUnifiedCode());//3合一统一信用代码、身份证号、税号
updateColumns.setNature("20");//供应商
updateColumns.setOrganizationType("30");//第三方供应商
updateColumns.setCreatedDate(CoscoDateUtils.getTime());
updateColumns.setLastModifiedUser("IRIS4");//最后更新人
updateColumns.setLastModifiedDate(CoscoDateUtils.getTime());//最后更新时间
dtMaintainRequest.setUpdateColumns(updateColumns);
BaseResponse<DtMaintainRespone> dtMaintainResponeBaseResponse = dtFeignClient.maintain(dtMaintainRequest);
return dtMaintainResponeBaseResponse.getData().getSapCode();
}
}

View File

@ -8,6 +8,7 @@ import com.chinaunicom.mall.ebtp.common.base.entity.SysOrgVO;
import com.chinaunicom.mall.ebtp.common.base.entity.SysUser;
import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IDtService;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService;
import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils;
@ -68,6 +69,9 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService {
private IOrgService orgService;
@Autowired
private IUserService userService;
@Autowired
private IDtService dtService;
/**
* 供应商准入管理列表
@ -715,8 +719,25 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService {
coscoAccessSupplierCategory.setLastUpdateTime(date);
coscoAccessSupplierCategoryInsertList.add(coscoAccessSupplierCategory);
}
//调用集团推送接口
CoscoSupplierBase coscoSupplierBase = coscoSupplierBaseMapper.selectCoscoSupplierBaseById(accessSupplier.getSupplierId());
String sapCode = "";
if(StringUtils.isEmpty(coscoSupplierBase.getSapCode())){
sapCode = dtService.maintain(coscoSupplierBase);
}
//需要修改供应商id结合
supplierBaseIdList.add(accessSupplier.getSupplierId());
//supplierBaseIdList.add(accessSupplier.getSupplierId());
//批量修改供应商基础信息状态---需要修改sapCode
CoscoSupplierBase batchUpCoscoSupplierBase = new CoscoSupplierBase();
batchUpCoscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR);
batchUpCoscoSupplierBase.setId(accessSupplier.getSupplierId());
batchUpCoscoSupplierBase.setSapCode(sapCode);
batchUpCoscoSupplierBase.setUpdateTime(date);
batchUpCoscoSupplierBase.setLastUpdateTime(date);
coscoSupplierBaseMapper.updateCoscoSupplierBase(batchUpCoscoSupplierBase);
//需要修改准入供应商表id结合
accessSupplierIdList.add(accessSupplier.getId());
@ -727,12 +748,7 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService {
//批量新增已准入品类
coscoAccessSupplierCategoryService.batchCoscoAccessSupplierCategory(coscoAccessSupplierCategoryInsertList);
//批量修改供应商基础信息状态
CoscoSupplierBase batchUpCoscoSupplierBase = new CoscoSupplierBase();
batchUpCoscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR);
batchUpCoscoSupplierBase.setIdList(supplierBaseIdList);
batchUpCoscoSupplierBase.setUpdateTime(date);
coscoSupplierBaseMapper.updateCoscoSupplierBaseByIds(batchUpCoscoSupplierBase);
//修改准入供应商表状态
CoscoAccessSupplier coscoAccessSupplierUp = new CoscoAccessSupplier();

View File

@ -896,7 +896,7 @@
<if test="fillinBy != null">fillin_by =
#{fillinBy},
</if>
<if test="sapCode != null">sap_code =
<if test="sapCode != null and sapCode != ''">sap_code =
#{sapCode},
</if>
<if test="delFlag != null and delFlag != ''">del_flag =