zhou.xiaoning před 2 roky
rodič
revize
ad3ffca2db
4 změnil soubory, kde provedl 36 přidání a 25 odebrání
  1. 9 9
      initialize/rabbitmq.go
  2. 2 0
      py/Api.py
  3. 25 15
      service/asign/asign.go
  4. 0 1
      service/sign/sign.go

+ 9 - 9
initialize/rabbitmq.go

@@ -55,7 +55,7 @@ func (t *MQProc) Process(topic, queuename string, msg *[]byte) {
 	if funcode, sessionId, bytes, serialNumber, err := t.getRspProtobuf(msg); err == nil && bytes != nil {
 		if sessionId == 0 || funcode == uint32(global.LogoutRsp) || funcode == uint32(global.LoginRsp) {
 			// 通知类 或 特殊处理
-			// t.onNtf(funcode, sessionId, bytes)
+			t.onNtf(funcode, sessionId, bytes)
 		} else {
 			// 请求回复
 			// 尝试获取对应异步任务
@@ -919,14 +919,14 @@ func RabbitMQSubscribeTopic() (err error) {
 		global.M2A_LOG.Error("rabbitmq subscribe topic failed, err:", zap.Error(err))
 		return
 	}
-	// if err = rabbitmq.SubscribeTopic(global.TOPIC_RSP_NTF); err != nil {
-	// 	global.M2A_LOG.Error("rabbitmq subscribe topic failed, err:", zap.Error(err))
-	// 	return
-	// }
-	// if err = rabbitmq.SubscribeTopic(global.TOPIC_CLIENT_NTF); err != nil {
-	// 	global.M2A_LOG.Error("rabbitmq subscribe topic failed, err:", zap.Error(err))
-	// 	return
-	// }
+	if err = rabbitmq.SubscribeTopic(global.TOPIC_RSP_NTF); err != nil {
+		global.M2A_LOG.Error("rabbitmq subscribe topic failed, err:", zap.Error(err))
+		return
+	}
+	if err = rabbitmq.SubscribeTopic(global.TOPIC_CLIENT_NTF); err != nil {
+		global.M2A_LOG.Error("rabbitmq subscribe topic failed, err:", zap.Error(err))
+		return
+	}
 	if err = rabbitmq.SubscribeTopic(global.TOPIC_RSP_QKERNEL); err != nil {
 		global.M2A_LOG.Error("rabbitmq subscribe topic failed, err:", zap.Error(err))
 		return

+ 2 - 0
py/Api.py

@@ -36,6 +36,7 @@ def createContract(inputData):
     # 从输入数据中获取调用接口
     contractNo = inputData["contractNo"]
     contractName = inputData["contractName"]
+    validityTime = inputData["validityTime"]
     signOrder = inputData["signOrder"]
     templates = inputData["templates"]
     notifyUrl = inputData["notifyUrl"]
@@ -48,6 +49,7 @@ def createContract(inputData):
     reqBodyData = {
         "contractNo": contractNo, 
         "contractName": contractName, 
+        "validityTime": validityTime,
         "signOrder": signOrder,
         "templates": templates, 
         "notifyUrl": notifyUrl

+ 25 - 15
service/asign/asign.go

@@ -247,15 +247,12 @@ func AddPersonalUserBy(account, name, idCard, mobile string, idCardType *int) (r
 	pythonScriptPath := "./py/Enter.py"
 	// 创建一个命令对象
 	cmd := exec.Command("py", pythonScriptPath)
-
 	// 设置标准输入为JSON字符串
 	cmd.Stdin = strings.NewReader(string(reqJSON))
-
 	// 创建一个字节缓冲区来捕获命令的输出
 	var stdoutBuf, stderrBuf bytes.Buffer
 	cmd.Stdout = &stdoutBuf
 	cmd.Stderr = &stderrBuf
-
 	// 执行命令
 	err = cmd.Run()
 	// 输出标准输出和标准错误
@@ -265,7 +262,6 @@ func AddPersonalUserBy(account, name, idCard, mobile string, idCardType *int) (r
 		global.M2A_LOG.Error("[AddPersonalUserBy] 请求失败", zap.Error(err))
 		return
 	}
-
 	// 结果
 	rspBody := stdoutBuf.String()
 	if err = json.Unmarshal([]byte(rspBody), &rspData); err != nil {
@@ -297,10 +293,11 @@ func CreateContract(contractNo, contractName, templateNo string) (rspData AsignR
 	reqData := make(map[string]interface{})
 	reqData["contractNo"] = contractNo
 	reqData["contractName"] = contractName
+	reqData["validityTime"] = 30
 	reqData["signOrder"] = 1 // 1:无序签约(默认
 	reqData["templates"] = []map[string]string{
 		{"templateNo": templateNo}} // 合同模板编号 - 目前只支持一份合同签一份协议
-	reqData["notifyUrl"] = ""
+	reqData["notifyUrl"] = "https://www.baidu.com"
 
 	reqData["api"] = "createContract"
 	reqData["appId"] = global.M2A_CONFIG.Asign.AppId
@@ -319,17 +316,24 @@ func CreateContract(contractNo, contractName, templateNo string) (rspData AsignR
 	cmd := exec.Command("py", pythonScriptPath)
 	// 设置标准输入为JSON字符串
 	cmd.Stdin = strings.NewReader(string(reqJSON))
-	// 获取标准输出
-	output, err := cmd.CombinedOutput()
+	// 创建一个字节缓冲区来捕获命令的输出
+	var stdoutBuf, stderrBuf bytes.Buffer
+	cmd.Stdout = &stdoutBuf
+	cmd.Stderr = &stderrBuf
+	// 执行命令
+	err = cmd.Run()
+	// 输出标准输出和标准错误
+	fmt.Println("标准输入:", string(reqJSON))
+	fmt.Println("标准输出:", stdoutBuf.String())
+	fmt.Println("标准错误:", stderrBuf.String())
 	if err != nil {
-		global.M2A_LOG.Error("[AddPersonalUserBy] 请求失败", zap.Error(err))
+		global.M2A_LOG.Error("[CreateContract] 请求失败", zap.Error(err))
 		return
 	}
-
 	// 结果
-	rspBody := string(output)
+	rspBody := stdoutBuf.String()
 	if err = json.Unmarshal([]byte(rspBody), &rspData); err != nil {
-		global.M2A_LOG.Error("[AddPersonalUserBy] 反序列化body失败", zap.Error(err))
+		global.M2A_LOG.Error("[CreateContract] 反序列化body失败", zap.Error(err))
 		return
 	}
 
@@ -390,15 +394,21 @@ func AddSigner(contractNo, account string) (rspData AsignRsp[AddSignerData], err
 	cmd := exec.Command("py", pythonScriptPath)
 	// 设置标准输入为JSON字符串
 	cmd.Stdin = strings.NewReader(string(reqJSON))
-	// 获取标准输出
-	output, err := cmd.CombinedOutput()
+	// 创建一个字节缓冲区来捕获命令的输出
+	var stdoutBuf, stderrBuf bytes.Buffer
+	cmd.Stdout = &stdoutBuf
+	cmd.Stderr = &stderrBuf
+	// 执行命令
+	err = cmd.Run()
+	// 输出标准输出和标准错误
+	fmt.Println("标准输出:", stdoutBuf.String())
+	fmt.Println("标准错误:", stderrBuf.String())
 	if err != nil {
 		global.M2A_LOG.Error("[AddSigner] 请求失败", zap.Error(err))
 		return
 	}
-
 	// 结果
-	rspBody := string(output)
+	rspBody := stdoutBuf.String()
 	if err = json.Unmarshal([]byte(rspBody), &rspData); err != nil {
 		global.M2A_LOG.Error("[AddSigner] 反序列化body失败", zap.Error(err))
 		return

+ 0 - 1
service/sign/sign.go

@@ -86,7 +86,6 @@ func CreateContractAndAddSigner(req request.CreateContractAndAddSignerReq, userI
 		// 生成合同编号
 		// #{userid} || '_' || to_char(sysdate, 'yyyyMMddhh24miss') || '_' ||              seq_useresignrecord.currval,
 		contractNo := fmt.Sprintf("%d_%s_%v", userId, time.Now().Format("2006-01-02 15:04:05"), useresignrecord.RECORDID)
-
 		// 调用爱签API-上传待签署文件(https://{host}/contract/createContract)
 		r, e := asign.CreateContract(
 			contractNo,