87 lines
3.8 KiB
Java
87 lines
3.8 KiB
Java
package shkd.repc.recon.api;
|
||
|
||
import com.alibaba.fastjson.JSONArray;
|
||
import com.alibaba.fastjson.JSONObject;
|
||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||
import kd.bos.openapi.common.custom.annotation.ApiController;
|
||
|
||
import com.drew.lang.annotations.NotNull;
|
||
import kd.bos.dataentity.entity.DynamicObject;
|
||
import kd.bos.openapi.common.custom.annotation.ApiParam;
|
||
import kd.bos.openapi.common.custom.annotation.ApiPostMapping;
|
||
import kd.bos.openapi.common.result.CustomApiResult;
|
||
import kd.bos.orm.query.QCP;
|
||
import kd.bos.orm.query.QFilter;
|
||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||
import kd.bos.servicehelper.QueryServiceHelper;
|
||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||
import kd.bos.util.StringUtils;
|
||
|
||
import java.io.Serializable;
|
||
import java.util.ArrayList;
|
||
import java.util.List;
|
||
import java.util.Set;
|
||
|
||
/**
|
||
* 合同签署流程回调接口(e签宝接口文档 3.6.2.1)
|
||
*/
|
||
|
||
|
||
@ApiController(value = "SignTechnologCallbackController",desc = "合同签署流程回调api接口,自定义插件")
|
||
public class SignTechnologCallbackController implements Serializable {
|
||
|
||
@ApiPostMapping(value = "/eqb_signcallback", desc = "合同签署流程回调接口")
|
||
public CustomApiResult<Object> eqb_signcallback
|
||
(@NotNull @ApiParam(value = "入参", example = "") String str) {
|
||
|
||
CustomApiResult customApiResult = new CustomApiResult();
|
||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||
|
||
//回调通知数据体
|
||
JSONObject callBackProcessVO = (JSONObject)jsonObject.get("callBackProcessVO");
|
||
if (null != callBackProcessVO) {
|
||
//获取合同id
|
||
String businessNo = (String) callBackProcessVO.get("businessNo");
|
||
if (StringUtils.isNotEmpty(businessNo)) {
|
||
DynamicObject recon_contractbill = BusinessDataServiceHelper.loadSingle("recon_contractbill",
|
||
"id,billno,qeug_theothersignstatus",new QFilter[]{new QFilter("billno", QCP.equals, businessNo)});
|
||
if (null != recon_contractbill) {
|
||
|
||
|
||
|
||
//待签署方列表
|
||
JSONArray nextSignerList = callBackProcessVO.getJSONArray("nextSignerList");
|
||
if (null != nextSignerList) {
|
||
JSONObject jsonobject = (JSONObject)nextSignerList.get(0);
|
||
String signStatus = jsonobject.getString("signStatus");
|
||
recon_contractbill.set("qeug_theothersignstatus",signStatus);//状态
|
||
SaveServiceHelper.save(new DynamicObject[]{recon_contractbill});
|
||
return customApiResult ;
|
||
}
|
||
|
||
//签署方列表
|
||
JSONArray signerList = callBackProcessVO.getJSONArray("signerList");
|
||
if (null != signerList) {
|
||
JSONObject jsonobject = (JSONObject)nextSignerList.get(0);
|
||
String signStatus = jsonobject.getString("signStatus");
|
||
recon_contractbill.set("qeug_theothersignstatus",signStatus);
|
||
SaveServiceHelper.save(new DynamicObject[]{recon_contractbill});
|
||
return customApiResult ;
|
||
}
|
||
|
||
//拒签人信息
|
||
JSONObject refuseSigner = (JSONObject)callBackProcessVO.get("refuseSigner");
|
||
if (null != refuseSigner) {
|
||
String signStatus = refuseSigner.getString("signStatus");
|
||
recon_contractbill.set("qeug_theothersignstatus",signStatus);
|
||
SaveServiceHelper.save(new DynamicObject[]{recon_contractbill});
|
||
return customApiResult ;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return customApiResult;
|
||
}
|
||
}
|