合同下载

This commit is contained in:
lijiazhuo
2026-01-19 14:27:03 +08:00
parent 2c23264bc8
commit deb519f487
10 changed files with 625 additions and 0 deletions

View File

32
logs/application.log Normal file
View File

@ -0,0 +1,32 @@
2026-01-19 14:06:32.457 INFO 85516 --- [main] com.example.sso.SsoApplication : Starting SsoApplication on 夜愿 with PID 85516 (D:\taxi\TaxiGit\fadada\target\classes started by 李嘉卓 in D:\taxi\TaxiGit\fadada)
2026-01-19 14:06:32.460 INFO 85516 --- [main] com.example.sso.SsoApplication : No active profile set, falling back to default profiles: default
2026-01-19 14:06:32.788 INFO 85516 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'asyncConfig' of type [com.example.sso.config.AsyncConfig$$EnhancerBySpringCGLIB$$9a2606b0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-01-19 14:06:32.897 INFO 85516 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8082 (http)
2026-01-19 14:06:32.902 INFO 85516 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2026-01-19 14:06:32.902 INFO 85516 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.27]
2026-01-19 14:06:32.938 INFO 85516 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2026-01-19 14:06:32.938 INFO 85516 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 458 ms
2026-01-19 14:06:33.037 INFO 85516 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService
2026-01-19 14:06:33.038 INFO 85516 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'getAsyncExecutor'
2026-01-19 14:06:33.157 INFO 85516 --- [main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler'
2026-01-19 14:06:33.184 INFO 85516 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8082 (http) with context path ''
2026-01-19 14:06:33.186 INFO 85516 --- [main] com.example.sso.SsoApplication : Started SsoApplication in 0.963 seconds (JVM running for 1.469)
2026-01-19 14:07:22.923 INFO 85516 --- [SpringContextShutdownHook] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2026-01-19 14:07:22.925 INFO 85516 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'getAsyncExecutor'
2026-01-19 14:11:51.930 [main] INFO com.example.sso.SsoApplication - Starting SsoApplication on 夜愿 with PID 83428 (D:\taxi\TaxiGit\fadada\target\classes started by 李嘉卓 in D:\taxi\TaxiGit\fadada)
2026-01-19 14:11:51.931 [main] INFO com.example.sso.SsoApplication - No active profile set, falling back to default profiles: default
2026-01-19 14:11:52.278 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'asyncConfig' of type [com.example.sso.config.AsyncConfig$$EnhancerBySpringCGLIB$$e8a5fbf3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-01-19 14:11:52.388 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8082 (http)
2026-01-19 14:11:52.392 [main] INFO o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"]
2026-01-19 14:11:52.393 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
2026-01-19 14:11:52.393 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2026-01-19 14:11:52.428 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2026-01-19 14:11:52.428 [main] INFO o.s.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 443 ms
2026-01-19 14:11:52.528 [main] INFO o.s.s.c.ThreadPoolTaskExecutor - Initializing ExecutorService
2026-01-19 14:11:52.529 [main] INFO o.s.s.c.ThreadPoolTaskExecutor - Initializing ExecutorService 'getAsyncExecutor'
2026-01-19 14:11:52.652 [main] INFO o.s.s.c.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2026-01-19 14:11:52.664 [main] INFO o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"]
2026-01-19 14:11:52.675 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8082 (http) with context path ''
2026-01-19 14:11:52.677 [main] INFO com.example.sso.SsoApplication - Started SsoApplication in 0.956 seconds (JVM running for 1.445)
2026-01-19 14:11:55.637 [SpringContextShutdownHook] INFO o.s.s.c.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2026-01-19 14:11:55.639 [SpringContextShutdownHook] INFO o.s.s.c.ThreadPoolTaskExecutor - Shutting down ExecutorService 'getAsyncExecutor'

View File

View File

0
logs/error.log Normal file
View File

11
pom.xml
View File

@ -64,6 +64,17 @@
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
<dependency>
<groupId>com.fadada.api</groupId>
<artifactId>fasc-openapi-java-sdk</artifactId>
<version>5.7.9.1226</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>

View File

@ -0,0 +1,286 @@
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 lombok.extern.slf4j.Slf4j;
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
@Slf4j
@Async
public class TiHuanCheController {
@PostMapping("/tihuanche")
public String qianzhang(@RequestBody JSONObject signature) throws Exception {
log.info(signature.toJSONString());
JSONObject data = signature.getJSONObject("data");
String th_jf = data.getString("th_jf");
String th_jfjc = data.getString("th_jfjc");
String th_fddbr = data.getString("th_fddbr");
String th_xm = data.getString("th_xm");
String th_sfhm = data.getString("th_sfhm");
String th_dbxm = data.getString("th_dbxm");
String th_dbsfhm = data.getString("th_dbsfhm");
String th_ycph = data.getString("th_ycph");
String th_jc = data.getString("th_jc");
String th_clhm = data.getString("th_clhm");
String th_thks = data.getString("th_thks");
String th_thjs = data.getString("th_thjs");
String th_htdy = data.getString("th_htdy");
String th_htbh = data.getString("th_htbh");
String th_sjh = data.getString("th_sjh");
//创建签署任务
JSONObject initiator = new JSONObject();
JSONObject openid = new JSONObject();
openid.put("idType", "corp");
openid.put("openId", "625776ecae6742cb8eb710beedef9b4c");
initiator.put("initiator", openid);
initiator.put("signTaskSubject", "替用车使用协议书" + "$" + th_xm + "$" + th_htbh);
initiator.put("signTemplateId", "1767930077783157320");
initiator.put("businessId", "a09900c24614bd4c1de10c55712a3e0e");
//参与方数组
JSONArray jsonArray = new JSONArray();
//actor个人对象
JSONObject actor = new JSONObject();
//actor详细信息个人
JSONObject actorlist = new JSONObject();
actorlist.put("actorId", "参与方2");
actorlist.put("actorType", "person");
if (th_xm != null) {
actorlist.put("actorName", th_xm);
}
JSONArray permissions = new JSONArray();
permissions.add("sign");
if (th_xm != null) {
actorlist.put("identNameForMatch", th_xm);
}
actorlist.put("certType", "id_card");
if (th_sfhm != null) {
actorlist.put("certNoForMatch", th_sfhm);
}
if (th_sjh != null) {
actorlist.put("notifyAddress", th_sjh);
}
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 (th_jf != null) {
actorlists.put("actorName", th_jf);
}
/*JSONArray permissionss = new JSONArray();
permissionss.add("sign");
actorlists.put("permissions",permissionss);*/
if (!th_jfjc.equals("银建新能源")) {
actorlists.put("actorOpenId", "625776ecae6742cb8eb710beedef9b4c");
String entryids = FDaDaUtil.entryids(th_jf);
actorlists.put("actorEntityId", entryids);
} else if (th_jfjc.equals("银建新能源")) {
actorlists.put("actorOpenId", "a0c12949a1c54ff9bfa45dbe957fbc5d");
}
/*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", "1767930077783157320");
String ownerIdJSONString = ownerId.toJSONString();
String doc = FDaDaUtil.doc(ownerIdJSONString);
jsonObject2.put("fieldDocId", doc);
if (th_jfjc.equals("银建")) {
jsonObject2.put("sealId", 1705990704393128941l);
} else if (th_jfjc.equals("金建")) {
jsonObject2.put("sealId", 1705991374867130717l);
} else if (th_jfjc.equals("金银建")) {
jsonObject2.put("sealId", 1705991362754131529l);
} else if (th_jfjc.equals("华建")) {
jsonObject2.put("sealId", 1705991079845184562l);
} else if (th_jfjc.equals("银建新能源")) {
jsonObject2.put("sealId", 1706510414541115296l);
}
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);
log.info("替换车: " + 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();
//甲方名称1
JSONObject DPflowCompany = new JSONObject();
DPflowCompany.put("fieldId", "8348448995");
if (th_jf != null) {
DPflowCompany.put("fieldValue", th_jf);
}
DPflowCompany.put("docId", doc);
//社会信用代码
JSONObject DPflowRegistrid = new JSONObject();
DPflowRegistrid.put("fieldId", "4340132950");
if (th_fddbr != null) {
DPflowRegistrid.put("fieldValue", th_fddbr);
}
DPflowRegistrid.put("docId", doc);
//法人
JSONObject DPflowLegal = new JSONObject();
DPflowLegal.put("fieldId", "3598199723");
if (th_xm != null) {
DPflowLegal.put("fieldValue", th_xm);
}
DPflowLegal.put("docId", doc);
//住所
JSONObject DPflowSite = new JSONObject();
DPflowSite.put("fieldId", "2117672083");
if (th_sfhm != null) {
DPflowSite.put("fieldValue", th_sfhm);
}
DPflowSite.put("docId", doc);
//通讯地址
JSONObject DPflowSite1 = new JSONObject();
DPflowSite1.put("fieldId", "6594904808");
DPflowSite1.put("fieldValue", "/");
DPflowSite1.put("docId", doc);
//乙方姓名1
JSONObject DPflowName = new JSONObject();
DPflowName.put("fieldId", "4665526864");
DPflowName.put("fieldValue", "/");
DPflowName.put("docId", doc);
//身份号码
JSONObject DPflowPbid = new JSONObject();
DPflowPbid.put("fieldId", "8925885795");
if (th_ycph != null) {
DPflowPbid.put("fieldValue", th_ycph);
}
DPflowPbid.put("docId", doc);
//户籍地址
JSONObject DPflowPbaddress = new JSONObject();
DPflowPbaddress.put("fieldId", "0680799090");
if (th_jc != null) {
DPflowPbaddress.put("fieldValue", th_jc);
}
DPflowPbaddress.put("docId", doc);
//通讯地址
JSONObject DPfflowPresentaddress = new JSONObject();
DPfflowPresentaddress.put("fieldId", "1206229284");
if (th_clhm != null) {
DPfflowPresentaddress.put("fieldValue", th_clhm);
}
DPfflowPresentaddress.put("docId", doc);
//联系电话
JSONObject DPflowPbphoneno = new JSONObject();
DPflowPbphoneno.put("fieldId", "3027518044");
if (th_thks != null) {
DPflowPbphoneno.put("fieldValue", th_thks);
}
DPflowPbphoneno.put("docId", doc);
//承包合同开始日期
JSONObject DPflowWcsdate = new JSONObject();
DPflowWcsdate.put("fieldId", "5844569494");
if (th_thjs != null) {
DPflowWcsdate.put("fieldValue", th_thjs);
}
DPflowWcsdate.put("docId", doc);
sizejsonarray.add(DPflowCompany);
sizejsonarray.add(DPflowRegistrid);
sizejsonarray.add(DPflowLegal);
sizejsonarray.add(DPflowSite);
sizejsonarray.add(DPflowSite1);
sizejsonarray.add(DPflowName);
sizejsonarray.add(DPflowPbid);
sizejsonarray.add(DPflowPbaddress);
sizejsonarray.add(DPfflowPresentaddress);
sizejsonarray.add(DPflowPbphoneno);
sizejsonarray.add(DPflowWcsdate);
sizejsonobject.put("docFieldValues", sizejsonarray);
String sizeString = sizejsonobject.toJSONString();
String sizekongjian = FDaDaUtil.sizekongjian(sizeString);
log.info("替换车写控件" + sizekongjian);
System.out.println("控件填写完成=======================================");
String signtask = FDaDaUtil.signtask(signTaskIds);
log.info("替换车完成" + signtask);
return "";
}
}

View File

@ -0,0 +1,253 @@
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.slf4j.Slf4j;
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
@Slf4j
@Async
public class TiHuanCheJieChuController {
@PostMapping("/tihuanchejiechu")
public String qianzhang(@RequestBody JSONObject signature) throws Exception {
log.info(signature.toJSONString());
JSONObject data = signature.getJSONObject("data");
String gh_jf = data.getString("gh_jf");
String gh_jfjc = data.getString("gh_jfjc");
String gh_fddbr = data.getString("gh_fddbr");
String gh_xm = data.getString("gh_xm");
String gh_sfhm = data.getString("gh_sfhm");
String gh_dbxm = data.getString("gh_dbxm");
String gh_dbsfhm = data.getString("gh_dbsfhm");
String gh_jsrq = data.getString("gh_jsrq");
String gh_cphm = data.getString("gh_cphm");
String gh_qdrq = data.getString("gh_qdrq");
String gh_htbh = data.getString("gh_htbh");
String gh_sjh = data.getString("gh_sjh");
//创建签署任务
JSONObject initiator = new JSONObject();
JSONObject openid = new JSONObject();
openid.put("idType", "corp");
openid.put("openId", "625776ecae6742cb8eb710beedef9b4c");
initiator.put("initiator", openid);
initiator.put("signTaskSubject", "替用车协议解除书" + "$" + gh_xm + "$" + gh_htbh);
initiator.put("signTemplateId", "1767930457055166471");
initiator.put("businessId", "a09900c24614bd4c1de10c55712a3e0e");
//参与方数组
JSONArray jsonArray = new JSONArray();
//actor个人对象
JSONObject actor = new JSONObject();
//actor详细信息个人
JSONObject actorlist = new JSONObject();
actorlist.put("actorId", "参与方2");
actorlist.put("actorType", "person");
if (gh_xm != null) {
actorlist.put("actorName", gh_xm);
}
JSONArray permissions = new JSONArray();
permissions.add("sign");
if (gh_xm != null) {
actorlist.put("identNameForMatch", gh_xm);
}
actorlist.put("certType", "id_card");
if (gh_sfhm != null) {
actorlist.put("certNoForMatch", gh_sfhm);
}
if (gh_sjh != null) {
actorlist.put("notifyAddress", gh_sjh);
}
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 (gh_jf != null) {
actorlists.put("actorName", gh_jf);
}
/*JSONArray permissionss = new JSONArray();
permissionss.add("sign");
actorlists.put("permissions",permissionss);*/
if (!gh_jfjc.equals("银建新能源")) {
actorlists.put("actorOpenId", "625776ecae6742cb8eb710beedef9b4c");
String entryids = FDaDaUtil.entryids(gh_jf);
actorlists.put("actorEntityId", entryids);
} else if (gh_jfjc.equals("银建新能源")) {
actorlists.put("actorOpenId", "a0c12949a1c54ff9bfa45dbe957fbc5d");
}
/*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", "1767930457055166471");
String ownerIdJSONString = ownerId.toJSONString();
String doc = FDaDaUtil.doc(ownerIdJSONString);
jsonObject2.put("fieldDocId", doc);
if (gh_jfjc.equals("银建")) {
jsonObject2.put("sealId", 1705990704393128941l);
} else if (gh_jfjc.equals("金建")) {
jsonObject2.put("sealId", 1705991374867130717l);
} else if (gh_jfjc.equals("金银建")) {
jsonObject2.put("sealId", 1705991362754131529l);
} else if (gh_jfjc.equals("华建")) {
jsonObject2.put("sealId", 1705991079845184562l);
} else if (gh_jfjc.equals("银建新能源")) {
jsonObject2.put("sealId", 1706510414541115296l);
}
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);
log.info("替换车解除: " + 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();
//甲方名称1
JSONObject DPflowCompany = new JSONObject();
DPflowCompany.put("fieldId", "8316513148");
if (gh_jf != null) {
DPflowCompany.put("fieldValue", gh_jf);
}
DPflowCompany.put("docId", doc);
//社会信用代码
JSONObject DPflowRegistrid = new JSONObject();
DPflowRegistrid.put("fieldId", "1988836149");
if (gh_fddbr != null) {
DPflowRegistrid.put("fieldValue", gh_fddbr);
}
DPflowRegistrid.put("docId", doc);
//法人
JSONObject DPflowLegal = new JSONObject();
DPflowLegal.put("fieldId", "3796169661");
if (gh_xm != null) {
DPflowLegal.put("fieldValue", gh_xm);
}
DPflowLegal.put("docId", doc);
//住所
JSONObject DPflowSite = new JSONObject();
DPflowSite.put("fieldId", "4964342946");
if (gh_sfhm != null) {
DPflowSite.put("fieldValue", gh_sfhm);
}
DPflowSite.put("docId", doc);
//通讯地址
JSONObject DPflowSite1 = new JSONObject();
DPflowSite1.put("fieldId", "9945618665");
DPflowSite1.put("fieldValue", "/");
DPflowSite1.put("docId", doc);
//乙方姓名1
JSONObject DPflowName = new JSONObject();
DPflowName.put("fieldId", "8720189804");
DPflowName.put("fieldValue", "/");
DPflowName.put("docId", doc);
//身份号码
JSONObject DPflowPbid = new JSONObject();
DPflowPbid.put("fieldId", "4087561097");
if (gh_jsrq != null) {
DPflowPbid.put("fieldValue", gh_jsrq);
}
DPflowPbid.put("docId", doc);
//户籍地址
JSONObject DPflowPbaddress = new JSONObject();
DPflowPbaddress.put("fieldId", "2422755359");
if (gh_cphm != null) {
DPflowPbaddress.put("fieldValue", gh_cphm);
}
DPflowPbaddress.put("docId", doc);
sizejsonarray.add(DPflowCompany);
sizejsonarray.add(DPflowRegistrid);
sizejsonarray.add(DPflowLegal);
sizejsonarray.add(DPflowSite);
sizejsonarray.add(DPflowSite1);
sizejsonarray.add(DPflowName);
sizejsonarray.add(DPflowPbid);
sizejsonarray.add(DPflowPbaddress);
sizejsonobject.put("docFieldValues", sizejsonarray);
String sizeString = sizejsonobject.toJSONString();
String sizekongjian = FDaDaUtil.sizekongjian(sizeString);
log.info("替换车解除写控件" + sizekongjian);
System.out.println("控件填写完成=======================================");
String signtask = FDaDaUtil.signtask(signTaskIds);
log.info("替换车解除完成" + signtask);
return "";
}
}

View File

@ -1,5 +1,7 @@
package com.example.sso.test;
import com.fasc.open.api.utils.crypt.FddCryptUtil;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -21,5 +23,7 @@ public class G {
long timestamp = specifiedDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
System.out.println("时间戳 (毫秒): " + timestamp); // 输出1761562800000
}
}

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="./logs" />
<property name="LOG_FILE" value="app" />
<property name="MAX_HISTORY" value="30" />
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 按天滚动的文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当前日志文件 -->
<file>${LOG_PATH}/${LOG_FILE}.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天0点生成新文件 -->
<fileNamePattern>${LOG_PATH}/${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 保留30天 -->
<maxHistory>${MAX_HISTORY}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<!-- 关键:立即刷新,确保启动时有日志就立即创建文件 -->
<immediateFlush>true</immediateFlush>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>