|
@@ -1658,3 +1658,143 @@ func CreateSdkSendInformation() (string, string) {
|
1658
|
1658
|
//fmt.Println("str", orderId)
|
1659
|
1659
|
return str, orderId
|
1660
|
1660
|
}
|
|
1661
|
+
|
|
1662
|
+func SavePdfInformation() (string, string) {
|
|
1663
|
+
|
|
1664
|
+ var url string
|
|
1665
|
+
|
|
1666
|
+ url = "http://localhost:8890/sdk/pdf/sign"
|
|
1667
|
+ maprequest := make(map[string]interface{})
|
|
1668
|
+
|
|
1669
|
+ Receiver := make(map[string]interface{})
|
|
1670
|
+
|
|
1671
|
+ //业务单号
|
|
1672
|
+ maprequest["orderId"] = "13318464642"
|
|
1673
|
+
|
|
1674
|
+ //合同标题
|
|
1675
|
+ maprequest["signType"] = "pdf"
|
|
1676
|
+
|
|
1677
|
+ file := "C:/Users/28169/Desktop/2.pdf"
|
|
1678
|
+
|
|
1679
|
+ fileBytes, err := ioutil.ReadFile(file) // 读取file
|
|
1680
|
+
|
|
1681
|
+ contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串
|
|
1682
|
+ //文件获取方式
|
|
1683
|
+ maprequest["fileType"] = contractBase64
|
|
1684
|
+ //合同内容
|
|
1685
|
+ maprequest["fileContent"] = "绝密文件"
|
|
1686
|
+
|
|
1687
|
+ //签署用户人ID
|
|
1688
|
+ maprequest["userId"] = ""
|
|
1689
|
+
|
|
1690
|
+ //业务单号
|
|
1691
|
+ maprequest["receiver"] = Receiver
|
|
1692
|
+
|
|
1693
|
+ //签署人账号
|
|
1694
|
+ Receiver["account"] = "13318464642"
|
|
1695
|
+ //签署个人类型 1.个人 2.企业
|
|
1696
|
+ Receiver["signerType"] = 1
|
|
1697
|
+
|
|
1698
|
+ //签署人姓名
|
|
1699
|
+ Receiver["realName "] = "马文强"
|
|
1700
|
+
|
|
1701
|
+ // 证件类型
|
|
1702
|
+ Receiver["cardType"] = 0
|
|
1703
|
+
|
|
1704
|
+ //证件编码
|
|
1705
|
+ Receiver["cardNumber"] = "430526199408156511"
|
|
1706
|
+
|
|
1707
|
+ stepStamper := make([]map[string]interface{}, 0)
|
|
1708
|
+
|
|
1709
|
+ keywordSignControls := make(map[string]interface{})
|
|
1710
|
+
|
|
1711
|
+ keywordSignControls["sealName"] = "1"
|
|
1712
|
+ keywordSignControls["keyword"] = ""
|
|
1713
|
+ keywordSignControls["pages"] = "0"
|
|
1714
|
+ keywordSignControls["offsetX"] = "100"
|
|
1715
|
+ keywordSignControls["offsetY"] = "100"
|
|
1716
|
+
|
|
1717
|
+ stepStamper = append(stepStamper, keywordSignControls)
|
|
1718
|
+
|
|
1719
|
+ crossSignControls := make(map[string]interface{})
|
|
1720
|
+ crossSignControls["sealName"] = "2"
|
|
1721
|
+ crossSignControls["positionX"] = "100"
|
|
1722
|
+ crossSignControls["positionY"] = "100"
|
|
1723
|
+ stepStamper = append(stepStamper, crossSignControls)
|
|
1724
|
+
|
|
1725
|
+ xySignControls := make(map[string]interface{})
|
|
1726
|
+ xySignControls["sealName"] = "2"
|
|
1727
|
+ xySignControls["positionX"] = "100"
|
|
1728
|
+ xySignControls["positionY"] = "100"
|
|
1729
|
+
|
|
1730
|
+ stepStamper = append(stepStamper, xySignControls)
|
|
1731
|
+
|
|
1732
|
+ maprequest["stepStamper"] = stepStamper
|
|
1733
|
+
|
|
1734
|
+ seals := make([]map[string]interface{}, 0)
|
|
1735
|
+ sealImages := make(map[string]interface{})
|
|
1736
|
+ sealImages["sealBase64"] = "2"
|
|
1737
|
+ sealImages["width"] = "100"
|
|
1738
|
+ sealImages["height"] = "100"
|
|
1739
|
+ sealImages["verticalAlign"] = "middle"
|
|
1740
|
+
|
|
1741
|
+ sealTexts := make(map[string]interface{})
|
|
1742
|
+ sealTexts["text"] = "2"
|
|
1743
|
+ sealTexts["fontSize"] = "100"
|
|
1744
|
+ sealTexts["fontColor"] = "100"
|
|
1745
|
+ sealTexts["isTextArea"] = true
|
|
1746
|
+ sealTexts["textAlign"] = 0
|
|
1747
|
+ sealTexts["width"] = 300
|
|
1748
|
+ sealTexts["height"] = 300
|
|
1749
|
+
|
|
1750
|
+ maprequest["seals"] = seals
|
|
1751
|
+
|
|
1752
|
+ maprequest["isUserWishes"] = true
|
|
1753
|
+ maprequest["phone"] = "13318464642"
|
|
1754
|
+ maprequest["verificationCode"] = "18888888888"
|
|
1755
|
+
|
|
1756
|
+ byterequest, _ := json.Marshal(maprequest)
|
|
1757
|
+
|
|
1758
|
+ appId := beego.AppConfig.String("sign_appid")
|
|
1759
|
+
|
|
1760
|
+ serviceKye := beego.AppConfig.String("serviceKye")
|
|
1761
|
+
|
|
1762
|
+ reader := bytes.NewReader(byterequest)
|
|
1763
|
+ serviceCode := beego.AppConfig.String("serviceCode")
|
|
1764
|
+ signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
|
|
1765
|
+
|
|
1766
|
+ request, err := http.NewRequest("POST", url, reader)
|
|
1767
|
+ if err != nil {
|
|
1768
|
+ fmt.Println(err.Error())
|
|
1769
|
+ }
|
|
1770
|
+ fmt.Println("请求参数", request)
|
|
1771
|
+ fmt.Println("Content-Signature", signatureStr)
|
|
1772
|
+
|
|
1773
|
+ request.Header.Set("appId", appId)
|
|
1774
|
+ request.Header.Set("appKey", serviceKye)
|
|
1775
|
+ request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
|
1776
|
+ request.Header.Set("Content-Signature", signatureStr)
|
|
1777
|
+ client := http.Client{}
|
|
1778
|
+
|
|
1779
|
+ resp, err := client.Do(request)
|
|
1780
|
+
|
|
1781
|
+ if err != nil {
|
|
1782
|
+ fmt.Println(err.Error())
|
|
1783
|
+
|
|
1784
|
+ }
|
|
1785
|
+ respBytes, err := ioutil.ReadAll(resp.Body)
|
|
1786
|
+ if err != nil {
|
|
1787
|
+ fmt.Println(err.Error())
|
|
1788
|
+
|
|
1789
|
+ }
|
|
1790
|
+ str := string(respBytes)
|
|
1791
|
+
|
|
1792
|
+ var respJSON map[string]interface{}
|
|
1793
|
+ if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
|
|
1794
|
+ utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
|
|
1795
|
+ }
|
|
1796
|
+ var orderId string
|
|
1797
|
+ //orderId = respJSON["data"].(map[string]interface{})["orderId"].(string)
|
|
1798
|
+ //fmt.Println("str", orderId)
|
|
1799
|
+ return str, orderId
|
|
1800
|
+}
|