dobe_comic8/main/java/shkd/repc/recon/api/SignTechnologCallbackContro...

87 lines
3.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}