package com.example.sso.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.example.sso.util.FDaDaUtil; import lombok.extern.log4j.Log4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController @Log4j @Async public class FddControllerDpZuLin { Logger logger = LoggerFactory.getLogger(getClass()); @PostMapping("/DPzulin") public String dp(@RequestBody JSONObject signature) throws Exception { logger.info(signature.toJSONString()); JSONObject data = signature.getJSONObject("data"); String flowHtid = data.getString("flow_htid");//合同编号 String flowWcsdate = data.getString("flow_wcsdate");//承包合同开始日期 String flowWcedate = data.getString("flow_wcedate");//承包合同终止日期 String flowSigndate = data.getString("flow_signdate");//签订日期 String flowCompany = data.getString("flow_company");//公司名称 String flowName = data.getString("flow_name");//乙方 String flowPbphoneno = data.getString("flow_pbphoneno");//联系电话 String flowPbid = data.getString("flow_pbid");//联系电话 //创建签署任务 JSONObject initiator = new JSONObject(); JSONObject openid = new JSONObject(); openid.put("idType", "corp"); openid.put("openId", "625776ecae6742cb8eb710beedef9b4c"); initiator.put("initiator", openid); initiator.put("signTaskSubject", "DP租赁合同续签书" + "$" + flowName + "$" + flowHtid); initiator.put("signTemplateId", "1713952710910137269"); initiator.put("businessId", "a09900c24614bd4c1de10c55712a3e0e"); //参与方数组 JSONArray jsonArray = new JSONArray(); //actor个人对象 JSONObject actor = new JSONObject(); //actor详细信息个人 JSONObject actorlist = new JSONObject(); actorlist.put("actorId", "乙方"); actorlist.put("actorType", "person"); if (flowName != null) { actorlist.put("actorName", flowName); } JSONArray permissions = new JSONArray(); permissions.add("sign"); if (flowName != null) { actorlist.put("identNameForMatch", flowName); } actorlist.put("certType", "id_card"); if (flowPbid != null) { actorlist.put("certNoForMatch", flowPbid); } if (flowPbphoneno != null) { actorlist.put("notifyAddress", flowPbphoneno); } JSONArray notifyType = new JSONArray(); notifyType.add("start"); notifyType.add("finish"); actorlist.put("notifyType", notifyType); actorlist.put("permissions", permissions); actor.put("actor", actorlist); //企业方对象 JSONObject actors = new JSONObject(); //actor详细信息企业 JSONObject actorlists = new JSONObject(); actorlists.put("actorId", "参与方1"); actorlists.put("actorType", "corp"); if (flowCompany != null) { actorlists.put("actorName", flowCompany); } /*JSONArray permissionss = new JSONArray(); permissionss.add("sign"); actorlists.put("permissions",permissionss);*/ if (flowCompany != null) { if (flowCompany.equals("北京康建利福汽车服务有限公司")) { actorlists.put("actorOpenId", "232063a6e4dd45889db2f843ff75b658"); } else if (flowCompany.equals("北京康建利华汽车服务有限责任公司")) { actorlists.put("actorOpenId", "92c4c1cd7ae14c0ea799d4a7ec547950"); } else if (flowCompany.equals("北京康建益华汽车服务有限公司")) { actorlists.put("actorOpenId", "d9cf1eb503b442e6bd963df573412af4"); } else if (flowCompany.equals("北京康惠利华汽车服务有限公司")) { actorlists.put("actorOpenId", "53277e0df0e94bafaa588a512c6cfb38"); } else if (flowCompany.equals("北京吉康利华汽车服务有限公司")) { actorlists.put("actorOpenId", "cbbf3223d68849e29b5b8b04e49e667f"); } else if (flowCompany.equals("北京康盛利华汽车服务有限公司")) { actorlists.put("actorOpenId", "4b4a7f1edcf747f7ba99e5467fb785d2"); } else if (flowCompany.equals("北京康益利华汽车服务有限公司")) { actorlists.put("actorOpenId", "962a15a606fc4edca405072b6fd36ae0"); } else if (flowCompany.equals("北京康旭利华汽车服务有限公司")) { actorlists.put("actorOpenId", "b33a54d98bcd4a6cacb5ccbd23d0efff"); } else if (flowCompany.equals("北京康祥利华汽车服务有限公司")) { actorlists.put("actorOpenId", " 6d856bd3e4974bfdb0121b0d4317bc9b"); } else if (flowCompany.equals("北京康达利华汽车服务有限公司")) { actorlists.put("actorOpenId", " c15af6a7de354f72bb60854f4d3ad0f6"); } else if (flowCompany.equals("北京银环泰西汽车服务有限公司")) { actorlists.put("actorOpenId", "802b22355a0545558be4a1b1dad746a6"); } } /*actorlists.put("notifyAddress", "13520145209");*/ JSONArray notifyTypes = new JSONArray(); notifyTypes.add("start"); notifyTypes.add("finish"); actorlists.put("notifyType", notifyTypes); JSONArray SignField = new JSONArray(); JSONObject jsonObject2 = new JSONObject(); JSONObject ownerId = new JSONObject(); // docid ownerId.put("ownerId", openid); ownerId.put("signTemplateId", "1713952710910137269"); String ownerIdJSONString = ownerId.toJSONString(); String doc = FDaDaUtil.doc(ownerIdJSONString); jsonObject2.put("fieldDocId", doc); if (flowCompany.equals("北京康建利福汽车服务有限公司")) { jsonObject2.put("sealId", 1707030330912199731l); } else if (flowCompany.equals("北京康建利华汽车服务有限责任公司")) { jsonObject2.put("sealId", 1707030386850185754l); } else if (flowCompany.equals("北京康建益华汽车服务有限公司")) { jsonObject2.put("sealId", 1707029844237168249l); } else if (flowCompany.equals("北京康达利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718245358848135952l); } else if (flowCompany.equals("北京康祥利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718245334155196686l); } else if (flowCompany.equals("北京康旭利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718245307668188635l); } else if (flowCompany.equals("北京康益利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718245283084112873l); } else if (flowCompany.equals("北京康盛利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718245251260127675l); } else if (flowCompany.equals("北京吉康利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718245214971163597l); } else if (flowCompany.equals("北京康惠利华汽车服务有限公司")) { jsonObject2.put("sealId", 1718244928831114720l); } else if (flowCompany.equals("北京银环泰西汽车服务有限公司")) { jsonObject2.put("sealId", 1754044354642191353l); } SignField.add(jsonObject2); JSONObject signConfigInfo = new JSONObject(); JSONObject signConfigInfos = new JSONObject(); signConfigInfos.put("requestVerifyFree", true); signConfigInfo.put("signConfigInfo", signConfigInfo); actors.put("actor", actorlists); actors.put("signFields", SignField); actors.put("signConfigInfo", signConfigInfos); jsonArray.add(actor); jsonArray.add(actors); initiator.put("actors", jsonArray); String jsonString = initiator.toJSONString(); String fdd = FDaDaUtil.fdd(jsonString); logger.info("DP租赁" + fdd); JSONObject jsonObject = JSON.parseObject(fdd); //任务id String signTaskId = jsonObject.getJSONObject("data").getString("signTaskId"); String signTaskIds = String.valueOf(jsonObject.getJSONObject("data")); System.out.println("signTaskId____________________" + signTaskId); System.out.println("signTaskIds========================" + signTaskIds); //填写控件 JSONObject sizejsonobject = new JSONObject(); sizejsonobject.put("signTaskId", signTaskId); // jsonObject.put( "actorId", "参与方2"); JSONArray sizejsonarray = new JSONArray(); //合同编号 JSONObject DPflowHtid = new JSONObject(); DPflowHtid.put("fieldId", "7006319403"); if (flowHtid != null) { DPflowHtid.put("fieldValue", flowHtid); } DPflowHtid.put("docId", doc); //合同编号 JSONObject DPflowHtid1 = new JSONObject(); DPflowHtid1.put("fieldId", "2367324344"); if (flowHtid != null) { DPflowHtid1.put("fieldValue", flowHtid); } DPflowHtid1.put("docId", doc); //合同编号 JSONObject DPflowWcsdate = new JSONObject(); DPflowWcsdate.put("fieldId", "5995296570"); if (flowWcsdate != null) { DPflowWcsdate.put("fieldValue", flowWcsdate); } DPflowWcsdate.put("docId", doc); //合同编号 JSONObject DPflowWcedate = new JSONObject(); DPflowWcedate.put("fieldId", "1102636496"); if (flowWcedate != null) { DPflowWcedate.put("fieldValue", flowWcedate); } DPflowWcedate.put("docId", doc); //合同编号 JSONObject DPflowSigndate = new JSONObject(); DPflowSigndate.put("fieldId", "0439952210"); if (flowSigndate != null) { DPflowSigndate.put("fieldValue", flowSigndate); } DPflowSigndate.put("docId", doc); sizejsonarray.add(DPflowHtid); sizejsonarray.add(DPflowHtid1); sizejsonarray.add(DPflowWcsdate); sizejsonarray.add(DPflowWcedate); sizejsonarray.add(DPflowSigndate); sizejsonobject.put("docFieldValues", sizejsonarray); String sizeString = sizejsonobject.toJSONString(); String sizekongjian = FDaDaUtil.sizekongjian(sizeString); logger.info("DP租赁写控件" + sizekongjian); System.out.println("控件填写完成======================================="); String signtask = FDaDaUtil.signtask(signTaskIds); logger.info("DP租赁完成" + signtask); return "完成"; } }