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

87 lines
3.8 KiB
Java
Raw Normal View History

2024-11-04 15:32:41 +00:00
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;
}
}