sign_service.go 56KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040
  1. package service
  2. import (
  3. "XT_New/models"
  4. "XT_New/utils"
  5. "bytes"
  6. "crypto/hmac"
  7. "crypto/sha1"
  8. "encoding/base64"
  9. "encoding/json"
  10. "fmt"
  11. "github.com/astaxie/beego"
  12. "io/ioutil"
  13. "net/http"
  14. )
  15. func GetSignNameByPhone(phoneOne string) string {
  16. var url string
  17. url = "http://demo-open.itruscloud.com/apigate/smsService/sendingSms"
  18. var phone string
  19. phone = "13318464642"
  20. var content string
  21. content = "123456"
  22. var autograph string
  23. autograph = "【天威诚信】"
  24. maprequest := make(map[string]interface{})
  25. maprequest["phone"] = phone
  26. maprequest["content"] = content
  27. maprequest["autograph"] = autograph
  28. byterequest, _ := json.Marshal(maprequest)
  29. appId := beego.AppConfig.String("sign_appid")
  30. serviceKye := beego.AppConfig.String("serviceKye")
  31. serviceCode := beego.AppConfig.String("serviceCode")
  32. reader := bytes.NewReader(byterequest)
  33. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  34. fmt.Println(signatureStr)
  35. request, err := http.NewRequest("POST", url, reader)
  36. if err != nil {
  37. fmt.Println(err.Error())
  38. }
  39. fmt.Println("请求参数", request)
  40. fmt.Println("Content-Signature", signatureStr)
  41. fmt.Println("appID", appId)
  42. fmt.Println("serviceCode", serviceCode)
  43. request.Header.Set("appId", appId)
  44. request.Header.Set("serviceCode", serviceCode)
  45. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  46. request.Header.Set("Content-Signature", signatureStr)
  47. client := http.Client{}
  48. resp, err := client.Do(request)
  49. if err != nil {
  50. fmt.Println(err.Error())
  51. }
  52. respBytes, err := ioutil.ReadAll(resp.Body)
  53. if err != nil {
  54. fmt.Println(err.Error())
  55. }
  56. str := string(respBytes)
  57. fmt.Println(str)
  58. return str
  59. }
  60. func generateHMACSHA1SignatureOne(data interface{}, key, serviceCode string) (string, error) {
  61. // 将数据转换为 JSON 格式的字节数组
  62. jsonData, err := json.Marshal(data)
  63. if err != nil {
  64. return "", err
  65. }
  66. // 将密钥和 serviceCode 进行拼接
  67. signingKey := key + serviceCode
  68. // 将签名密钥转换为字节数组
  69. keyBytes := []byte(signingKey)
  70. // 创建一个新的 HMAC-SHA1 实例
  71. h := hmac.New(sha1.New, keyBytes)
  72. // 将 JSON 数据添加到 HMAC 实例中
  73. h.Write(jsonData)
  74. signature := base64.StdEncoding.EncodeToString(h.Sum(nil))
  75. // 返回带有前缀的签名字符串
  76. return "HMAC-SHA1 " + signature, nil
  77. }
  78. func GenerateHMACSHA1SignatureTwo(data interface{}, key string) (string, error) {
  79. // 将数据转换为 JSON 格式的字节数组
  80. jsonData, err := json.Marshal(data)
  81. if err != nil {
  82. return "", err
  83. }
  84. // 将密钥和 serviceCode 进行拼接
  85. signingKey := key
  86. // 将签名密钥转换为字节数组
  87. keyBytes := []byte(signingKey)
  88. // 创建一个新的 HMAC-SHA1 实例
  89. h := hmac.New(sha1.New, keyBytes)
  90. // 将 JSON 数据添加到 HMAC 实例中
  91. h.Write(jsonData)
  92. signature := base64.StdEncoding.EncodeToString(h.Sum(nil))
  93. // 返回带有前缀的签名字符串
  94. return "HMAC-SHA1 " + signature, nil
  95. }
  96. func CreateUserName(phone string, disPlayName string) (string, string) {
  97. var url string
  98. url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createUserRealName"
  99. var phoneOne string
  100. phoneOne = "13318464642"
  101. var disPlayNameOne string
  102. disPlayNameOne = "马云的朋友"
  103. var authentication string
  104. //测试环境用true
  105. authentication = "true"
  106. maprequest := make(map[string]interface{})
  107. twAuthReq := make(map[string]interface{})
  108. apiAuthReq := make(map[string]interface{})
  109. customerReq := make(map[string]interface{})
  110. customerReq["idCardType"] = "0"
  111. customerReq["idCardNum"] = "430526199408156511"
  112. apiAuthReq["realNameType"] = 3
  113. apiAuthReq["idCardType"] = "0"
  114. apiAuthReq["idCardNum"] = "430526199408156511"
  115. apiAuthReq["bankCard"] = "6225551675364804"
  116. //验证码流水号
  117. apiAuthReq["codeNumber"] = "msg202307071510269187701"
  118. //验证码
  119. apiAuthReq["verifyCode"] = "123456"
  120. twAuthReq["oneLineAuth"] = "false"
  121. twAuthReq["apiAuthReq"] = apiAuthReq
  122. maprequest["phone"] = phoneOne
  123. maprequest["displayName"] = disPlayNameOne
  124. maprequest["authentication"] = authentication
  125. maprequest["twAuthReq"] = twAuthReq
  126. maprequest["customerAuthReq"] = customerReq
  127. byterequest, _ := json.Marshal(maprequest)
  128. appId := beego.AppConfig.String("sign_appid")
  129. serviceKye := beego.AppConfig.String("serviceKye")
  130. serviceCode := beego.AppConfig.String("serviceCode")
  131. reader := bytes.NewReader(byterequest)
  132. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  133. fmt.Println(signatureStr)
  134. request, err := http.NewRequest("POST", url, reader)
  135. if err != nil {
  136. fmt.Println(err.Error())
  137. }
  138. fmt.Println("请求参数", request)
  139. fmt.Println("Content-Signature", signatureStr)
  140. fmt.Println("appID", appId)
  141. fmt.Println("serviceCode", serviceCode)
  142. request.Header.Set("appId", appId)
  143. request.Header.Set("serviceCode", serviceCode)
  144. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  145. request.Header.Set("Content-Signature", signatureStr)
  146. client := http.Client{}
  147. resp, err := client.Do(request)
  148. if err != nil {
  149. fmt.Println(err.Error())
  150. }
  151. respBytes, err := ioutil.ReadAll(resp.Body)
  152. if err != nil {
  153. fmt.Println(err.Error())
  154. }
  155. str := string(respBytes)
  156. var respJSON map[string]interface{}
  157. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  158. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  159. }
  160. var UserId string
  161. UserId = respJSON["data"].(map[string]interface{})["userId"].(string)
  162. fmt.Println("str", UserId)
  163. return str, UserId
  164. }
  165. func CreatePersionSeal(user_id string, person_seal_type int64, person_seal_name string, person_seal_base string, color int64, alpha int64, width int64, height int64, border int64, font_type int64) (string, string) {
  166. maprequest := make(map[string]interface{})
  167. maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  168. maprequest["personSealType"] = 1
  169. maprequest["personSealName"] = "小朋友的印章"
  170. var url string
  171. url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createPersonSeal"
  172. appId := beego.AppConfig.String("sign_appid")
  173. serviceKye := beego.AppConfig.String("serviceKye")
  174. serviceCode := beego.AppConfig.String("serviceCode")
  175. byterequest, _ := json.Marshal(maprequest)
  176. reader := bytes.NewReader(byterequest)
  177. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  178. fmt.Println(signatureStr)
  179. request, err := http.NewRequest("POST", url, reader)
  180. if err != nil {
  181. fmt.Println(err.Error())
  182. }
  183. request.Header.Set("appId", appId)
  184. request.Header.Set("serviceCode", serviceCode)
  185. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  186. request.Header.Set("Content-Signature", signatureStr)
  187. client := http.Client{}
  188. resp, err := client.Do(request)
  189. if err != nil {
  190. fmt.Println(err.Error())
  191. }
  192. respBytes, err := ioutil.ReadAll(resp.Body)
  193. if err != nil {
  194. fmt.Println(err.Error())
  195. }
  196. str := string(respBytes)
  197. var respJSON map[string]interface{}
  198. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  199. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  200. }
  201. var personSealId string
  202. personSealId = respJSON["data"].(map[string]interface{})["personSealId"].(string)
  203. fmt.Println("str", personSealId)
  204. return str, personSealId
  205. }
  206. func CreateUploadPact(contractcode string, contractname string, signcount int64, docname string, contractbase string, creator string, enterpriseid string, signvalidays int64, sysncurl string, asyncurl string) string {
  207. var url string
  208. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/createByFile"
  209. appId := beego.AppConfig.String("sign_appid")
  210. serviceKye := beego.AppConfig.String("serviceKye")
  211. serviceCode := beego.AppConfig.String("serviceCode")
  212. maprequest := make(map[string]interface{})
  213. maprequest["contractName"] = "电脑购买交易合同"
  214. maprequest["signCount"] = 10
  215. maprequest["docName"] = "日本员工保密协议"
  216. file := "C:/Users/28169/Desktop/2.pdf"
  217. fileBytes, err := ioutil.ReadFile(file) // 读取file
  218. contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串
  219. maprequest["contractBase64"] = contractBase64
  220. //添加企业成员 里面的USERID
  221. maprequest["creator"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  222. maprequest["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8"
  223. maprequest["signValidDays"] = 90
  224. maprequest["sysnUrl"] = "https://kuyi.shengws.com/chenxuemin1.png"
  225. maprequest["asyncUrl"] = "https://kuyi.shengws.com/chenxuemin1.png"
  226. byterequest, _ := json.Marshal(maprequest)
  227. reader := bytes.NewReader(byterequest)
  228. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  229. request, err := http.NewRequest("POST", url, reader)
  230. if err != nil {
  231. fmt.Println(err.Error())
  232. }
  233. request.Header.Set("appId", appId)
  234. request.Header.Set("serviceCode", serviceCode)
  235. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  236. request.Header.Set("Content-Signature", signatureStr)
  237. client := http.Client{}
  238. resp, err := client.Do(request)
  239. if err != nil {
  240. fmt.Println(err.Error())
  241. }
  242. respBytes, err := ioutil.ReadAll(resp.Body)
  243. if err != nil {
  244. fmt.Println(err.Error())
  245. }
  246. str := string(respBytes)
  247. return str
  248. }
  249. func CreateEnterPriseRealName(enterprisename string) string {
  250. var url string
  251. url = "http://demo.itruscloud.com/apigate/contractpaasapi/enterprise/createEnterpriseRealName"
  252. appId := beego.AppConfig.String("sign_appid")
  253. serviceKye := beego.AppConfig.String("serviceKye")
  254. serviceCode := beego.AppConfig.String("serviceCode")
  255. maprequest := make(map[string]interface{})
  256. customerReq := make(map[string]interface{})
  257. customerReq["idCardType"] = "N"
  258. customerReq["idCardNum"] = "430526199408156511"
  259. maprequest["enterpriseName"] = "深圳德马西科技有限公司"
  260. maprequest["authentication"] = true
  261. maprequest["customerAuthReq"] = customerReq
  262. fmt.Println("maprequest", maprequest)
  263. byterequest, _ := json.Marshal(maprequest)
  264. reader := bytes.NewReader(byterequest)
  265. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  266. request, err := http.NewRequest("POST", url, reader)
  267. if err != nil {
  268. fmt.Println(err.Error())
  269. }
  270. request.Header.Set("appId", appId)
  271. request.Header.Set("serviceCode", serviceCode)
  272. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  273. request.Header.Set("Content-Signature", signatureStr)
  274. client := http.Client{}
  275. resp, err := client.Do(request)
  276. if err != nil {
  277. fmt.Println(err.Error())
  278. }
  279. respBytes, err := ioutil.ReadAll(resp.Body)
  280. if err != nil {
  281. fmt.Println(err.Error())
  282. }
  283. str := string(respBytes)
  284. return str
  285. }
  286. func CreateUserId(userId string, displayName string) string {
  287. var url string
  288. url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/joinEnterprise"
  289. appId := beego.AppConfig.String("sign_appid")
  290. serviceKye := beego.AppConfig.String("serviceKye")
  291. serviceCode := beego.AppConfig.String("serviceCode")
  292. maprequest := make(map[string]interface{})
  293. maprequest["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8"
  294. maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  295. byterequest, _ := json.Marshal(maprequest)
  296. reader := bytes.NewReader(byterequest)
  297. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  298. request, err := http.NewRequest("POST", url, reader)
  299. if err != nil {
  300. fmt.Println(err.Error())
  301. }
  302. request.Header.Set("appId", appId)
  303. request.Header.Set("serviceCode", serviceCode)
  304. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  305. request.Header.Set("Content-Signature", signatureStr)
  306. client := http.Client{}
  307. resp, err := client.Do(request)
  308. if err != nil {
  309. fmt.Println(err.Error())
  310. }
  311. respBytes, err := ioutil.ReadAll(resp.Body)
  312. if err != nil {
  313. fmt.Println(err.Error())
  314. }
  315. str := string(respBytes)
  316. return str
  317. }
  318. //type ResultTwo struct {
  319. // ErrMsg string `json:"err_msg"`
  320. // InfRefmsgid string `json:"inf_refmsgid"`
  321. // Infcode int64 `json:"infcode"`
  322. // Output struct {
  323. // Baseinfo struct {
  324. // Age float64 `json:"age"`
  325. // Brdy string `json:"brdy"`
  326. // Certno string `json:"certno"`
  327. // Gend string `json:"gend"`
  328. // Naty string `json:"naty"`
  329. // PsnCertType string `json:"psn_cert_type"`
  330. // PsnName string `json:"psn_name"`
  331. // PsnNo string `json:"psn_no"`
  332. // } `json:"baseinfo"`
  333. // Idetinfo []interface{} `json:"idetinfo"`
  334. // Iinfo []struct {
  335. // Balc float64 `json:"balc"`
  336. // CvlservFlag string `json:"cvlserv_flag"`
  337. // EmpName string `json:"emp_name"`
  338. // InsuplcAdmdvs string `json:"insuplc_admdvs"`
  339. // Insutype string `json:"insutype"`
  340. // PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"`
  341. // PausInsuDate string `json:"paus_insu_date"`
  342. // PsnInsuDate string `json:"psn_insu_date"`
  343. // PsnInsuStas string `json:"psn_insu_stas"`
  344. // PsnType string `json:"psn_type"`
  345. // } `json:"insuinfo"`
  346. // } `json:"output"`
  347. // RefmsgTime string `json:"refmsg_time"`
  348. // RespondTime string `json:"respond_time"`
  349. // Signtype interface{} `json:"signtype"`
  350. // WarnInfo interface{} `json:"warn_info"`
  351. //}
  352. func AddContractSignatory(contractId string, signers string, contract models.NewContract) string {
  353. var url string
  354. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/addSignerByFile"
  355. appId := beego.AppConfig.String("sign_appid")
  356. serviceKye := beego.AppConfig.String("serviceKye")
  357. serviceCode := beego.AppConfig.String("serviceCode")
  358. signFiles := make(map[string]interface{})
  359. //创建合同返回
  360. signFiles["docId"] = "158807311102510183"
  361. inputDataArr := make([]map[string]interface{}, 0)
  362. for _, item := range signFiles {
  363. fmt.Println("item", item)
  364. xySignControls := make(map[string]interface{})
  365. xySignControls["key"] = "1"
  366. xySignControls["type"] = "autograph"
  367. xySignControls["pageNum"] = 1
  368. xySignControls["positionX"] = "120F"
  369. xySignControls["positionY"] = "120F"
  370. inputDataArr = append(inputDataArr, xySignControls)
  371. }
  372. inputDataArrTwo := make([]map[string]interface{}, 0)
  373. for _, item := range signFiles {
  374. fmt.Println(item)
  375. keywordSignControls := make(map[string]interface{})
  376. keywordSignControls["key"] = "2"
  377. keywordSignControls["type"] = "date"
  378. keywordSignControls["pageNum"] = 1
  379. keywordSignControls["keyword"] = "王志文"
  380. keywordSignControls["offsetX"] = "100F"
  381. keywordSignControls["offsetY"] = "100F"
  382. inputDataArrTwo = append(inputDataArrTwo, keywordSignControls)
  383. }
  384. signFiles["xySignControls"] = inputDataArr
  385. signFiles["keywordSignControls"] = inputDataArrTwo
  386. inputDataArrThree := make([]map[string]interface{}, 0)
  387. inputDataArrThree = append(inputDataArrThree, signFiles)
  388. signersFiles := make(map[string]interface{})
  389. signersFiles["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  390. signersFiles["signerType"] = "1"
  391. signersFiles["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8"
  392. signersFiles["sequence"] = "8"
  393. signersFiles["sendMsg"] = false
  394. signersFiles["setting"] = true
  395. signersFiles["signFiles"] = inputDataArrThree
  396. inputDataArrFour := make([]map[string]interface{}, 0)
  397. inputDataArrFour = append(inputDataArrFour, signersFiles)
  398. maprequest := make(map[string]interface{})
  399. maprequest["contractId"] = "158807311102510182"
  400. maprequest["signers"] = inputDataArrFour
  401. byterequest, _ := json.Marshal(maprequest)
  402. reader := bytes.NewReader(byterequest)
  403. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  404. request, err := http.NewRequest("POST", url, reader)
  405. if err != nil {
  406. fmt.Println(err.Error())
  407. }
  408. request.Header.Set("appId", appId)
  409. request.Header.Set("serviceCode", serviceCode)
  410. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  411. request.Header.Set("Content-Signature", signatureStr)
  412. client := http.Client{}
  413. resp, err := client.Do(request)
  414. if err != nil {
  415. fmt.Println(err.Error())
  416. }
  417. respBytes, err := ioutil.ReadAll(resp.Body)
  418. if err != nil {
  419. fmt.Println(err.Error())
  420. }
  421. str := string(respBytes)
  422. return str
  423. }
  424. func CreateBackStageSign(contractId string, signers string) string {
  425. var url string
  426. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/signByFile"
  427. appId := beego.AppConfig.String("sign_appid")
  428. serviceKye := beego.AppConfig.String("serviceKye")
  429. serviceCode := beego.AppConfig.String("serviceCode")
  430. sealTimestampFiles := make(map[string]interface{})
  431. inputDataArr := make([]map[string]interface{}, 0)
  432. signFiles := make(map[string]interface{})
  433. keywordSignControls := make(map[string]interface{})
  434. keywordSignControls["controlsKey"] = "2"
  435. keywordSignControls["pattern"] = 1
  436. keywordSignControls["color"] = "#FF0000"
  437. inputDataArr = append(inputDataArr, keywordSignControls)
  438. sealTimestampFiles["allAddTimestamp"] = false
  439. sealTimestampFiles["someTimestampStyle"] = inputDataArr
  440. inputDataArrOne := make([]map[string]interface{}, 0)
  441. keySignControls := make(map[string]interface{})
  442. keySignControls["controlsKey"] = "1"
  443. keySignControls["fontType"] = 1
  444. keySignControls["fontSize"] = 8.5
  445. keySignControls["fontColor"] = "#56600F"
  446. keySignControls["alignment"] = 1
  447. inputDataArrOne = append(inputDataArrOne, keySignControls)
  448. signFiles["fonts"] = inputDataArrOne
  449. signFiles["showTimestamp"] = false
  450. signFiles["sealTimestamp"] = sealTimestampFiles
  451. signControl := make(map[string]interface{})
  452. signControl["1"] = "{sealId:157474548357267755}"
  453. signControl["2"] = "姓名"
  454. fmt.Println("signContorlwqowowo", signControl)
  455. signFiles["signControl"] = signControl
  456. signFiles["docId"] = "158807311102510183"
  457. inputDataArrThree := make([]map[string]interface{}, 0)
  458. inputDataArrThree = append(inputDataArrThree, signFiles)
  459. signer := make(map[string]interface{})
  460. //添加合同签署人接口返回
  461. signer["signerId"] = "158807462500107405"
  462. signer["isUserWishes"] = true
  463. signer["userWishesWay"] = 1
  464. signer["codeNumber"] = "msg202309081937527315153"
  465. signer["verifyCode"] = "252234"
  466. signer["signFiles"] = inputDataArrThree
  467. maprequest := make(map[string]interface{})
  468. maprequest["contractId"] = "158807311102510182"
  469. maprequest["signer"] = signer
  470. byterequest, _ := json.Marshal(maprequest)
  471. reader := bytes.NewReader(byterequest)
  472. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  473. request, err := http.NewRequest("POST", url, reader)
  474. if err != nil {
  475. fmt.Println(err.Error())
  476. }
  477. request.Header.Set("appId", appId)
  478. request.Header.Set("serviceCode", serviceCode)
  479. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  480. request.Header.Set("Content-Signature", signatureStr)
  481. client := http.Client{}
  482. resp, err := client.Do(request)
  483. if err != nil {
  484. fmt.Println(err.Error())
  485. }
  486. respBytes, err := ioutil.ReadAll(resp.Body)
  487. if err != nil {
  488. fmt.Println(err.Error())
  489. }
  490. str := string(respBytes)
  491. return str
  492. }
  493. func GetVerificationCode() string {
  494. var url string
  495. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/sendSmsCode"
  496. appId := beego.AppConfig.String("sign_appid")
  497. serviceKye := beego.AppConfig.String("serviceKye")
  498. serviceCode := beego.AppConfig.String("serviceCode")
  499. maprequest := make(map[string]interface{})
  500. maprequest["contractId"] = "158807311102510182"
  501. maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  502. byterequest, _ := json.Marshal(maprequest)
  503. reader := bytes.NewReader(byterequest)
  504. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  505. request, err := http.NewRequest("POST", url, reader)
  506. if err != nil {
  507. fmt.Println(err.Error())
  508. }
  509. request.Header.Set("appId", appId)
  510. request.Header.Set("serviceCode", serviceCode)
  511. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  512. request.Header.Set("Content-Signature", signatureStr)
  513. client := http.Client{}
  514. resp, err := client.Do(request)
  515. if err != nil {
  516. fmt.Println(err.Error())
  517. }
  518. respBytes, err := ioutil.ReadAll(resp.Body)
  519. if err != nil {
  520. fmt.Println(err.Error())
  521. }
  522. str := string(respBytes)
  523. return str
  524. }
  525. func CreateEnterprise() string {
  526. var url string
  527. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/sendSmsCode"
  528. appId := beego.AppConfig.String("sign_appid")
  529. serviceKye := beego.AppConfig.String("serviceKye")
  530. serviceCode := beego.AppConfig.String("serviceCode")
  531. maprequest := make(map[string]interface{})
  532. maprequest["contractId"] = "157413765980094742"
  533. maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  534. maprequest["sealType"] = 1
  535. maprequest["sealName"] = "测试用章"
  536. maprequest["sealBase64"] = ""
  537. maprequest["color"] = 1
  538. maprequest["width"] = 40
  539. maprequest["authUserId"] = ""
  540. maprequest["sealCreateType"] = false
  541. byterequest, _ := json.Marshal(maprequest)
  542. reader := bytes.NewReader(byterequest)
  543. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  544. request, err := http.NewRequest("POST", url, reader)
  545. if err != nil {
  546. fmt.Println(err.Error())
  547. }
  548. request.Header.Set("appId", appId)
  549. request.Header.Set("serviceCode", serviceCode)
  550. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  551. request.Header.Set("Content-Signature", signatureStr)
  552. client := http.Client{}
  553. resp, err := client.Do(request)
  554. if err != nil {
  555. fmt.Println(err.Error())
  556. }
  557. respBytes, err := ioutil.ReadAll(resp.Body)
  558. if err != nil {
  559. fmt.Println(err.Error())
  560. }
  561. str := string(respBytes)
  562. return str
  563. }
  564. func GetTestThrityMent(org_id int64) (base []*models.XtBaseDrug, err error) {
  565. err = XTReadDB().Where("org_id = ? and status=1", org_id).Find(&base).Error
  566. return base, err
  567. }
  568. func UpdateDrugWarehouseInfoByDrugId(drug_id int64, min_price float64) error {
  569. err := XTWriteDB().Model(&models.XtDrugWarehouseInfo{}).Where("drug_id = ? and (stock_max_number>0 or stock_min_number>0) and status= 1 and is_check=1 and org_id =10375", drug_id).Updates(map[string]interface{}{"retail_price": min_price}).Error
  570. return err
  571. }
  572. func GetEnterPriseByUserOrgId(user_org_id int64) (models.XtDeviceEnterprise, error) {
  573. enterprise := models.XtDeviceEnterprise{}
  574. err := XTReadDB().Where("user_org_id = ? and status =1", user_org_id).Find(&enterprise).Error
  575. return enterprise, err
  576. }
  577. func CreateEnterPrise(enterprise models.XtDeviceEnterprise) error {
  578. err := XTWriteDB().Create(&enterprise).Error
  579. return err
  580. }
  581. func SaveEnerPrise(enterprise models.XtDeviceEnterprise) error {
  582. err := XTWriteDB().Save(&enterprise).Error
  583. return err
  584. }
  585. func CreateNewEnterPriseRealName(enterprise models.XtDeviceEnterprise) (string, string) {
  586. var url string
  587. url = "http://demo.itruscloud.com/apigate/contractpaasapi/enterprise/createEnterpriseRealName"
  588. appId := beego.AppConfig.String("sign_appid")
  589. serviceKye := beego.AppConfig.String("serviceKye")
  590. serviceCode := beego.AppConfig.String("serviceCode")
  591. maprequest := make(map[string]interface{})
  592. customerReq := make(map[string]interface{})
  593. customerReq["idCardType"] = "N"
  594. customerReq["idCardNum"] = "430526199408156511"
  595. maprequest["enterpriseName"] = enterprise.EnterpriseName
  596. maprequest["authentication"] = true
  597. maprequest["customerAuthReq"] = customerReq
  598. fmt.Println("maprequest", maprequest)
  599. byterequest, _ := json.Marshal(maprequest)
  600. reader := bytes.NewReader(byterequest)
  601. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  602. request, err := http.NewRequest("POST", url, reader)
  603. if err != nil {
  604. fmt.Println(err.Error())
  605. }
  606. request.Header.Set("appId", appId)
  607. request.Header.Set("serviceCode", serviceCode)
  608. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  609. request.Header.Set("Content-Signature", signatureStr)
  610. client := http.Client{}
  611. resp, err := client.Do(request)
  612. if err != nil {
  613. fmt.Println(err.Error())
  614. }
  615. respBytes, err := ioutil.ReadAll(resp.Body)
  616. if err != nil {
  617. fmt.Println(err.Error())
  618. }
  619. str := string(respBytes)
  620. var respJSON map[string]interface{}
  621. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  622. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  623. }
  624. var enterpriseId string
  625. enterpriseId = respJSON["data"].(map[string]interface{})["enterpriseId"].(string)
  626. fmt.Println("enterpriseId", enterpriseId)
  627. return str, enterpriseId
  628. }
  629. func GetNewSignNameByPhone(phone string) (string, string) {
  630. var url string
  631. url = "http://demo-open.itruscloud.com/apigate/smsService/sendingSms"
  632. var content string
  633. content = "123456"
  634. var autograph string
  635. autograph = "【天威诚信】"
  636. maprequest := make(map[string]interface{})
  637. maprequest["phone"] = phone
  638. maprequest["content"] = content
  639. maprequest["autograph"] = autograph
  640. byterequest, _ := json.Marshal(maprequest)
  641. appId := beego.AppConfig.String("sign_appid")
  642. serviceKye := beego.AppConfig.String("serviceKye")
  643. serviceCode := beego.AppConfig.String("serviceCode")
  644. reader := bytes.NewReader(byterequest)
  645. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  646. fmt.Println(signatureStr)
  647. request, err := http.NewRequest("POST", url, reader)
  648. if err != nil {
  649. fmt.Println(err.Error())
  650. }
  651. request.Header.Set("appId", appId)
  652. request.Header.Set("serviceCode", serviceCode)
  653. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  654. request.Header.Set("Content-Signature", signatureStr)
  655. client := http.Client{}
  656. resp, err := client.Do(request)
  657. if err != nil {
  658. fmt.Println(err.Error())
  659. }
  660. respBytes, err := ioutil.ReadAll(resp.Body)
  661. if err != nil {
  662. fmt.Println(err.Error())
  663. }
  664. str := string(respBytes)
  665. var respJSON map[string]interface{}
  666. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  667. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  668. }
  669. var orderNumber string
  670. orderNumber = respJSON["orderNumber"].(string)
  671. fmt.Println("orderNumberWOWOWOWOWO", orderNumber)
  672. return str, orderNumber
  673. }
  674. func SavePersonEnterPrise(enterprise models.XtDevicePersonEnterprise) error {
  675. err := XTWriteDB().Save(&enterprise).Error
  676. return err
  677. }
  678. func GetLastPersonEnterPrise(admin_user_id int64, orgId int64) (models.XtDevicePersonEnterprise, error) {
  679. enterprise := models.XtDevicePersonEnterprise{}
  680. err := XTReadDB().Where("admin_user_id = ? and user_org_id = ? and status = 1", admin_user_id, orgId).Find(&enterprise).Error
  681. return enterprise, err
  682. }
  683. func CreateNewUserName(phone string, disPlayName string, code string, orderNumber string, id_card_number string) (string, string) {
  684. var url string
  685. url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createUserRealName"
  686. var authentication string
  687. //测试环境用true
  688. authentication = "true"
  689. maprequest := make(map[string]interface{})
  690. twAuthReq := make(map[string]interface{})
  691. apiAuthReq := make(map[string]interface{})
  692. customerReq := make(map[string]interface{})
  693. fmt.Println("身份证id_card_number", id_card_number)
  694. customerReq["idCardType"] = "0"
  695. customerReq["idCardNum"] = id_card_number
  696. apiAuthReq["realNameType"] = 3
  697. apiAuthReq["idCardType"] = "0"
  698. apiAuthReq["idCardNum"] = id_card_number
  699. apiAuthReq["bankCard"] = "6225551675364804"
  700. //验证码流水号
  701. apiAuthReq["codeNumber"] = orderNumber
  702. //验证码
  703. apiAuthReq["verifyCode"] = code
  704. twAuthReq["oneLineAuth"] = "false"
  705. twAuthReq["apiAuthReq"] = apiAuthReq
  706. maprequest["phone"] = phone
  707. maprequest["displayName"] = disPlayName
  708. maprequest["authentication"] = authentication
  709. maprequest["twAuthReq"] = twAuthReq
  710. maprequest["customerAuthReq"] = customerReq
  711. byterequest, _ := json.Marshal(maprequest)
  712. appId := beego.AppConfig.String("sign_appid")
  713. serviceKye := beego.AppConfig.String("serviceKye")
  714. serviceCode := beego.AppConfig.String("serviceCode")
  715. reader := bytes.NewReader(byterequest)
  716. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  717. fmt.Println(signatureStr)
  718. request, err := http.NewRequest("POST", url, reader)
  719. if err != nil {
  720. fmt.Println(err.Error())
  721. }
  722. fmt.Println("请求参数", request)
  723. fmt.Println("Content-Signature", signatureStr)
  724. fmt.Println("appID", appId)
  725. fmt.Println("serviceCode", serviceCode)
  726. request.Header.Set("appId", appId)
  727. request.Header.Set("serviceCode", serviceCode)
  728. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  729. request.Header.Set("Content-Signature", signatureStr)
  730. client := http.Client{}
  731. resp, err := client.Do(request)
  732. if err != nil {
  733. fmt.Println(err.Error())
  734. }
  735. respBytes, err := ioutil.ReadAll(resp.Body)
  736. if err != nil {
  737. fmt.Println(err.Error())
  738. }
  739. str := string(respBytes)
  740. var respJSON map[string]interface{}
  741. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  742. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  743. }
  744. var UserId string
  745. UserId = respJSON["data"].(map[string]interface{})["userId"].(string)
  746. fmt.Println("str", UserId)
  747. return str, UserId
  748. }
  749. func CreateNewPersionSeal(userId string) (string, string) {
  750. maprequest := make(map[string]interface{})
  751. maprequest["userId"] = userId
  752. maprequest["personSealType"] = 1
  753. maprequest["personSealName"] = "小马印章"
  754. var url string
  755. url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createPersonSeal"
  756. appId := beego.AppConfig.String("sign_appid")
  757. serviceKye := beego.AppConfig.String("serviceKye")
  758. serviceCode := beego.AppConfig.String("serviceCode")
  759. byterequest, _ := json.Marshal(maprequest)
  760. reader := bytes.NewReader(byterequest)
  761. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  762. fmt.Println(signatureStr)
  763. request, err := http.NewRequest("POST", url, reader)
  764. if err != nil {
  765. fmt.Println(err.Error())
  766. }
  767. request.Header.Set("appId", appId)
  768. request.Header.Set("serviceCode", serviceCode)
  769. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  770. request.Header.Set("Content-Signature", signatureStr)
  771. client := http.Client{}
  772. resp, err := client.Do(request)
  773. if err != nil {
  774. fmt.Println(err.Error())
  775. }
  776. respBytes, err := ioutil.ReadAll(resp.Body)
  777. if err != nil {
  778. fmt.Println(err.Error())
  779. }
  780. str := string(respBytes)
  781. var respJSON map[string]interface{}
  782. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  783. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  784. }
  785. var personSealId string
  786. personSealId = respJSON["data"].(map[string]interface{})["personSealId"].(string)
  787. fmt.Println("str", personSealId)
  788. return str, personSealId
  789. }
  790. func CreateSKDPersionSeal(userId string, user_name string) (string, string) {
  791. maprequest := make(map[string]interface{})
  792. //印章字体 1宋体(默认)2 黑体
  793. maprequest["fontType"] = 1
  794. //个人姓名(1-42位字符)
  795. maprequest["personName"] = user_name
  796. var url string
  797. url = "http://localhost:8890/sdk/seal/createPersonSeal"
  798. appId := beego.AppConfig.String("sign_appid")
  799. fmt.Println("appId", appId)
  800. serviceKye := beego.AppConfig.String("serviceKye")
  801. fmt.Println("serviceKye", serviceKye)
  802. serviceCode := beego.AppConfig.String("serviceCode")
  803. fmt.Println("serviceCode", serviceCode)
  804. byterequest, _ := json.Marshal(maprequest)
  805. reader := bytes.NewReader(byterequest)
  806. signatureStr, ERR := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  807. fmt.Println(ERR)
  808. request, err := http.NewRequest("POST", url, reader)
  809. fmt.Println("errwowowoowowowow", err)
  810. if err != nil {
  811. fmt.Println(err.Error())
  812. }
  813. request.Header.Set("appId", appId)
  814. request.Header.Set("serviceCode", serviceCode)
  815. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  816. request.Header.Set("Content-Signature", signatureStr)
  817. client := http.Client{}
  818. resp, err := client.Do(request)
  819. if err != nil {
  820. fmt.Println(err.Error())
  821. }
  822. respBytes, err := ioutil.ReadAll(resp.Body)
  823. if err != nil {
  824. fmt.Println(err.Error())
  825. }
  826. str := string(respBytes)
  827. fmt.Println("strwoooooooooooooooooooo", str)
  828. var respJSON map[string]interface{}
  829. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  830. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  831. }
  832. var sealBase64 string
  833. sealBase64 = respJSON["data"].(map[string]interface{})["sealBase64"].(string)
  834. return str, sealBase64
  835. }
  836. func UpdatePerseEnterPriseById(id int64, personSealId string) error {
  837. err := XTWriteDB().Model(models.XtDevicePersonEnterprise{}).Where("id= ? and status =1", id).Updates(map[string]interface{}{"person_seal_id": personSealId}).Error
  838. return err
  839. }
  840. func CreateNewEnterPrise(enterpriseId string, userId string) (string, string) {
  841. var url string
  842. url = "http://demo.itruscloud.com/apigate/contractpaasapi/enterprise/createSeal"
  843. appId := beego.AppConfig.String("sign_appid")
  844. serviceKye := beego.AppConfig.String("serviceKye")
  845. serviceCode := beego.AppConfig.String("serviceCode")
  846. fmt.Println("enterpriseId", enterpriseId)
  847. fmt.Println("userId", userId)
  848. maprequest := make(map[string]interface{})
  849. maprequest["enterpriseId"] = enterpriseId
  850. maprequest["userId"] = userId
  851. maprequest["sealType"] = 1
  852. maprequest["sealName"] = "测试用章"
  853. fmt.Println("request23222222222222222", maprequest)
  854. byterequest, _ := json.Marshal(maprequest)
  855. reader := bytes.NewReader(byterequest)
  856. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  857. request, err := http.NewRequest("POST", url, reader)
  858. fmt.Println("中国人民欢迎您", request)
  859. if err != nil {
  860. fmt.Println(err.Error())
  861. }
  862. request.Header.Set("appId", appId)
  863. request.Header.Set("serviceCode", serviceCode)
  864. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  865. request.Header.Set("Content-Signature", signatureStr)
  866. client := http.Client{}
  867. resp, err := client.Do(request)
  868. if err != nil {
  869. fmt.Println(err.Error())
  870. }
  871. respBytes, err := ioutil.ReadAll(resp.Body)
  872. if err != nil {
  873. fmt.Println(err.Error())
  874. }
  875. str := string(respBytes)
  876. fmt.Println("strwowowowowo", str)
  877. var respJSON map[string]interface{}
  878. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  879. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  880. }
  881. var sealId string
  882. sealId = respJSON["data"].(map[string]interface{})["sealId"].(string)
  883. fmt.Println("sealId", sealId)
  884. return str, sealId
  885. }
  886. func CreateSDKEnterPrise() (string, string) {
  887. var url string
  888. url = "http://localhost:8890/sdk/seal/createEnterpriseSeal"
  889. appId := beego.AppConfig.String("sign_appid")
  890. serviceKye := beego.AppConfig.String("serviceKye")
  891. serviceCode := beego.AppConfig.String("serviceCode")
  892. maprequest := make(map[string]interface{})
  893. maprequest["sealType"] = 1
  894. maprequest["enterpriseName"] = "深圳伊森时光科技有限公司"
  895. maprequest["horizontalText"] = "财务专用章"
  896. byterequest, _ := json.Marshal(maprequest)
  897. reader := bytes.NewReader(byterequest)
  898. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  899. fmt.Println("signatureStr", signatureStr)
  900. request, err := http.NewRequest("POST", url, reader)
  901. if err != nil {
  902. fmt.Println(err.Error())
  903. }
  904. request.Header.Set("appId", appId)
  905. request.Header.Set("serviceCode", serviceCode)
  906. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  907. request.Header.Set("Content-Signature", signatureStr)
  908. client := http.Client{}
  909. resp, err := client.Do(request)
  910. if err != nil {
  911. fmt.Println(err.Error())
  912. }
  913. respBytes, err := ioutil.ReadAll(resp.Body)
  914. if err != nil {
  915. fmt.Println(err.Error())
  916. }
  917. str := string(respBytes)
  918. var respJSON map[string]interface{}
  919. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  920. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  921. }
  922. var sealId string
  923. //sealId = respJSON["data"].(map[string]interface{})["sealId"].(string)
  924. //fmt.Println("sealId", sealId)
  925. return str, sealId
  926. }
  927. func UpdatePersonEnterPrise(id int64, sealId string) error {
  928. err := XTWriteDB().Model(models.XtDevicePersonEnterprise{}).Where("id = ? and status =1", id).Updates(map[string]interface{}{"seal_id": sealId}).Error
  929. return err
  930. }
  931. func GetContractId() string {
  932. var url string
  933. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/search"
  934. appId := beego.AppConfig.String("sign_appid")
  935. serviceKye := beego.AppConfig.String("serviceKye")
  936. serviceCode := beego.AppConfig.String("serviceCode")
  937. maprequest := make(map[string]interface{})
  938. maprequest["contractId"] = "158799561907766048"
  939. maprequest["responseContractFile"] = true
  940. fmt.Println("request23222222222222222", maprequest)
  941. byterequest, _ := json.Marshal(maprequest)
  942. reader := bytes.NewReader(byterequest)
  943. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  944. request, err := http.NewRequest("POST", url, reader)
  945. fmt.Println("request23222222222222222", request)
  946. if err != nil {
  947. fmt.Println(err.Error())
  948. }
  949. request.Header.Set("appId", appId)
  950. request.Header.Set("serviceCode", serviceCode)
  951. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  952. request.Header.Set("Content-Signature", signatureStr)
  953. client := http.Client{}
  954. resp, err := client.Do(request)
  955. if err != nil {
  956. fmt.Println(err.Error())
  957. }
  958. respBytes, err := ioutil.ReadAll(resp.Body)
  959. if err != nil {
  960. fmt.Println(err.Error())
  961. }
  962. str := string(respBytes)
  963. fmt.Println("strwowowowowo", str)
  964. return str
  965. }
  966. func EndEnterPrise() string {
  967. var url string
  968. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/finished"
  969. appId := beego.AppConfig.String("sign_appid")
  970. serviceKye := beego.AppConfig.String("serviceKye")
  971. serviceCode := beego.AppConfig.String("serviceCode")
  972. maprequest := make(map[string]interface{})
  973. maprequest["contractId"] = "157475501840007476"
  974. byterequest, _ := json.Marshal(maprequest)
  975. reader := bytes.NewReader(byterequest)
  976. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  977. request, err := http.NewRequest("POST", url, reader)
  978. if err != nil {
  979. fmt.Println(err.Error())
  980. }
  981. request.Header.Set("appId", appId)
  982. request.Header.Set("serviceCode", serviceCode)
  983. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  984. request.Header.Set("Content-Signature", signatureStr)
  985. client := http.Client{}
  986. resp, err := client.Do(request)
  987. if err != nil {
  988. fmt.Println(err.Error())
  989. }
  990. respBytes, err := ioutil.ReadAll(resp.Body)
  991. if err != nil {
  992. fmt.Println(err.Error())
  993. }
  994. str := string(respBytes)
  995. fmt.Println("strwowowowowo", str)
  996. return str
  997. }
  998. func GetEnterPriseDetail() (string, string) {
  999. var url string
  1000. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/preview"
  1001. appId := beego.AppConfig.String("sign_appid")
  1002. serviceKye := beego.AppConfig.String("serviceKye")
  1003. serviceCode := beego.AppConfig.String("serviceCode")
  1004. maprequest := make(map[string]interface{})
  1005. maprequest["contractId"] = "158807311102510182"
  1006. byterequest, _ := json.Marshal(maprequest)
  1007. reader := bytes.NewReader(byterequest)
  1008. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  1009. request, err := http.NewRequest("POST", url, reader)
  1010. if err != nil {
  1011. fmt.Println(err.Error())
  1012. }
  1013. request.Header.Set("appId", appId)
  1014. request.Header.Set("serviceCode", serviceCode)
  1015. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  1016. request.Header.Set("Content-Signature", signatureStr)
  1017. client := http.Client{}
  1018. resp, err := client.Do(request)
  1019. if err != nil {
  1020. fmt.Println(err.Error())
  1021. }
  1022. respBytes, err := ioutil.ReadAll(resp.Body)
  1023. if err != nil {
  1024. fmt.Println(err.Error())
  1025. }
  1026. str := string(respBytes)
  1027. fmt.Println("strwowowowowo", str)
  1028. var respJSON map[string]interface{}
  1029. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  1030. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1031. }
  1032. var urlOne string
  1033. urlOne = respJSON["data"].(map[string]interface{})["url"].(string)
  1034. fmt.Println("url", urlOne)
  1035. return str, urlOne
  1036. }
  1037. func CreateNewUploadPact(name string) string {
  1038. var url string
  1039. url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/createByFile"
  1040. appId := beego.AppConfig.String("sign_appid")
  1041. serviceKye := beego.AppConfig.String("serviceKye")
  1042. serviceCode := beego.AppConfig.String("serviceCode")
  1043. maprequest := make(map[string]interface{})
  1044. //maprequest["contractCode"] = "102020620701056856"
  1045. maprequest["contractName"] = "手机购买交易合同"
  1046. maprequest["signCount"] = 10
  1047. maprequest["docName"] = "美国员工保密协议"
  1048. //file := "C:/Users/28169/Desktop/打印单.pdf"
  1049. //
  1050. //fileBytes, err := ioutil.ReadFile(file) // 读取file
  1051. //
  1052. //contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串
  1053. //fmt.Println(contractBase64)
  1054. maprequest["contractBase64"] = name
  1055. //添加企业成员 里面的USERID
  1056. maprequest["creator"] = "PBRLMBFVIRR3BV8JGGOX9C7N"
  1057. maprequest["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8"
  1058. maprequest["signValidDays"] = 90
  1059. maprequest["sysnUrl"] = "https://kuyi.shengws.com/chenxuemin1.png"
  1060. maprequest["asyncUrl"] = "https://kuyi.shengws.com/chenxuemin1.png"
  1061. byterequest, _ := json.Marshal(maprequest)
  1062. reader := bytes.NewReader(byterequest)
  1063. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  1064. request, err := http.NewRequest("POST", url, reader)
  1065. if err != nil {
  1066. fmt.Println(err.Error())
  1067. }
  1068. request.Header.Set("appId", appId)
  1069. request.Header.Set("serviceCode", serviceCode)
  1070. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  1071. request.Header.Set("Content-Signature", signatureStr)
  1072. client := http.Client{}
  1073. resp, err := client.Do(request)
  1074. if err != nil {
  1075. fmt.Println(err.Error())
  1076. }
  1077. respBytes, err := ioutil.ReadAll(resp.Body)
  1078. if err != nil {
  1079. fmt.Println(err.Error())
  1080. }
  1081. str := string(respBytes)
  1082. fmt.Println("strwwoowowow", str)
  1083. return str
  1084. }
  1085. func GetDataConfigDisinfectionFluid(org_id int64) (models.Dataconfig, error) {
  1086. dataconfig := models.Dataconfig{}
  1087. err := XTReadDB().Where("org_id = ? and status =1 and id =12536", org_id).Find(&dataconfig).Error
  1088. return dataconfig, err
  1089. }
  1090. func CreateQianshuUserName(user_name string, phone string, id_card_number string) (string, string) {
  1091. var url string
  1092. url = "http://localhost:8890/sdk/user/create"
  1093. //var account string
  1094. //
  1095. //account = "13318464642"
  1096. //var realName string
  1097. //
  1098. //realName = "马文强"
  1099. maprequest := make(map[string]interface{})
  1100. maprequest["account"] = phone
  1101. //账号类型:1手机号,2邮箱
  1102. maprequest["accountType"] = 1
  1103. maprequest["realName"] = user_name
  1104. //签署人类型 1个人 2.企业
  1105. maprequest["signerType"] = 1
  1106. // 0表示 身份证
  1107. maprequest["cardType"] = 0
  1108. //maprequest["cardNumber"] = "430526199408156511"
  1109. maprequest["cardNumber"] = id_card_number
  1110. byterequest, _ := json.Marshal(maprequest)
  1111. appId := beego.AppConfig.String("sign_appid")
  1112. serviceKye := beego.AppConfig.String("serviceKye")
  1113. serviceCode := beego.AppConfig.String("serviceCode")
  1114. reader := bytes.NewReader(byterequest)
  1115. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  1116. request, err := http.NewRequest("POST", url, reader)
  1117. if err != nil {
  1118. fmt.Println(err.Error())
  1119. }
  1120. fmt.Println("请求参数", request)
  1121. fmt.Println("Content-Signature", signatureStr)
  1122. request.Header.Set("appId", appId)
  1123. request.Header.Set("appKey", serviceKye)
  1124. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  1125. request.Header.Set("Content-Signature", signatureStr)
  1126. client := http.Client{}
  1127. resp, err := client.Do(request)
  1128. if err != nil {
  1129. fmt.Println(err.Error())
  1130. }
  1131. respBytes, err := ioutil.ReadAll(resp.Body)
  1132. if err != nil {
  1133. fmt.Println(err.Error())
  1134. }
  1135. str := string(respBytes)
  1136. var respJSON map[string]interface{}
  1137. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  1138. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1139. }
  1140. var UserId string
  1141. UserId = respJSON["data"].(map[string]interface{})["userId"].(string)
  1142. fmt.Println("str", UserId)
  1143. return str, UserId
  1144. }
  1145. func CreateSdkSendInformation() (string, string) {
  1146. var url string
  1147. url = "http://localhost:8890/sdk/msg/sendMsg"
  1148. maprequest := make(map[string]interface{})
  1149. maprequest["phone"] = "13318464642"
  1150. maprequest["signType"] = "pdf"
  1151. byterequest, _ := json.Marshal(maprequest)
  1152. appId := beego.AppConfig.String("sign_appid")
  1153. serviceKye := beego.AppConfig.String("serviceKye")
  1154. reader := bytes.NewReader(byterequest)
  1155. serviceCode := beego.AppConfig.String("serviceCode")
  1156. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  1157. request, err := http.NewRequest("POST", url, reader)
  1158. if err != nil {
  1159. fmt.Println(err.Error())
  1160. }
  1161. fmt.Println("请求参数", request)
  1162. fmt.Println("Content-Signature", signatureStr)
  1163. request.Header.Set("appId", appId)
  1164. request.Header.Set("appKey", serviceKye)
  1165. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  1166. request.Header.Set("Content-Signature", signatureStr)
  1167. client := http.Client{}
  1168. resp, err := client.Do(request)
  1169. if err != nil {
  1170. fmt.Println(err.Error())
  1171. }
  1172. respBytes, err := ioutil.ReadAll(resp.Body)
  1173. if err != nil {
  1174. fmt.Println(err.Error())
  1175. }
  1176. str := string(respBytes)
  1177. var respJSON map[string]interface{}
  1178. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  1179. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1180. }
  1181. var orderId string
  1182. //orderId = respJSON["data"].(map[string]interface{})["orderId"].(string)
  1183. //fmt.Println("str", orderId)
  1184. return str, orderId
  1185. }
  1186. func SavePdfInformation() (string, string) {
  1187. var url string
  1188. url = "http://localhost:8890/sdk/pdf/sign"
  1189. maprequest := make(map[string]interface{})
  1190. Receiver := make(map[string]interface{})
  1191. //业务单号
  1192. maprequest["orderId"] = "13318464642"
  1193. maprequest["signTitle"] = "举报合同"
  1194. //file := "C:/Users/28169/Desktop/2.pdf"
  1195. file := "/swspan/gopath/src/XT_New/static/6.pdf"
  1196. fileBytes, _ := ioutil.ReadFile(file) // 读取file
  1197. contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串
  1198. //文件获取方式
  1199. maprequest["fileType"] = 1
  1200. maprequest["pdfBase64"] = contractBase64
  1201. //合同内容
  1202. maprequest["fileContent"] = contractBase64
  1203. //签署用户人ID
  1204. maprequest["userId"] = "JMO9U8JH4TN8E3QOI0GUVUF2"
  1205. //业务单号
  1206. maprequest["receiver"] = Receiver
  1207. //签署人账号
  1208. Receiver["account"] = "13318464642"
  1209. //签署个人类型 1.个人 2.企业
  1210. Receiver["signerType"] = 1
  1211. //签署人姓名
  1212. Receiver["realName "] = "马文强"
  1213. // 证件类型
  1214. Receiver["cardType"] = 0
  1215. //证件编码
  1216. Receiver["cardNumber"] = "430526199408156511"
  1217. stepStamper := make(map[string]interface{})
  1218. keywordSignControls := make([]map[string]interface{}, 0)
  1219. //预冲者样式
  1220. inputArrOne := make(map[string]interface{})
  1221. inputArrOne["sealName"] = "1"
  1222. inputArrOne["keyword"] = "杨姣"
  1223. inputArrOne["pages"] = "0"
  1224. inputArrOne["offsetX"] = "50"
  1225. inputArrOne["offsetY"] = "0"
  1226. keywordSignControls = append(keywordSignControls, inputArrOne)
  1227. //穿刺者样式
  1228. //inputArr := make(map[string]interface{})
  1229. //inputArr["sealName"] = "2"
  1230. //inputArr["keyword"] = "治疗护士"
  1231. //inputArr["pages"] = "1"
  1232. //inputArr["offsetX"] = "100"
  1233. //inputArr["offsetY"] = "0"
  1234. //
  1235. //keywordSignControls = append(keywordSignControls, inputArr)
  1236. //
  1237. ////上机者
  1238. //inputArrSix := make(map[string]interface{})
  1239. //inputArrSix["sealName"] = "3"
  1240. //inputArrSix["keyword"] = "核对护士"
  1241. //inputArrSix["pages"] = "1"
  1242. //inputArrSix["offsetX"] = "100"
  1243. //inputArrSix["offsetY"] = "0"
  1244. //
  1245. //keywordSignControls = append(keywordSignControls, inputArrSix)
  1246. //
  1247. ////医生签名
  1248. //inputArrSeven := make(map[string]interface{})
  1249. //inputArrSeven["sealName"] = "4"
  1250. //inputArrSeven["keyword"] = "医生签名"
  1251. //inputArrSeven["pages"] = "1"
  1252. //inputArrSeven["offsetX"] = "100"
  1253. //inputArrSeven["offsetY"] = "0"
  1254. //
  1255. //keywordSignControls = append(keywordSignControls, inputArrSeven)
  1256. //
  1257. //stepStamper["keywordSignControls"] = keywordSignControls
  1258. stepStamper["keywordSignControls"] = keywordSignControls
  1259. //
  1260. //crossSignControls := make([]map[string]interface{}, 0)
  1261. //
  1262. //inputArrTwo := make(map[string]interface{})
  1263. //inputArrTwo["sealName"] = "1"
  1264. //inputArrTwo["positionX"] = "0"
  1265. //inputArrTwo["positionY"] = "0"
  1266. //inputArrTwo["pages"] = "0"
  1267. //crossSignControls = append(crossSignControls, inputArrTwo)
  1268. //
  1269. //stepStamper["crossSignControls"] = crossSignControls
  1270. //
  1271. //xySignControls := make([]map[string]interface{}, 0)
  1272. //
  1273. //inputArrThree := make(map[string]interface{})
  1274. //inputArrThree["sealName"] = "1"
  1275. //inputArrThree["positionX"] = "100"
  1276. //inputArrThree["positionY"] = "0"
  1277. //inputArrThree["pages"] = "0"
  1278. //
  1279. //xySignControls = append(xySignControls, inputArrThree)
  1280. //
  1281. //stepStamper["xySignControls"] = xySignControls
  1282. maprequest["stepStamper"] = stepStamper
  1283. seals := make([]map[string]interface{}, 0)
  1284. //预冲者
  1285. sealImagesList := make(map[string]interface{})
  1286. fileOne := "/swspan/gopath/src/XT_New/static/huangzihui.jpg"
  1287. fileBytesOne, _ := ioutil.ReadFile(fileOne) // 读取file
  1288. contractBase64One := base64.StdEncoding.EncodeToString(fileBytesOne) // 加密成base64字符串
  1289. sealImagesList["sealBase64"] = contractBase64One
  1290. //控制签名的大小
  1291. sealImagesList["width"] = "50"
  1292. sealImagesList["height"] = "50"
  1293. sealImagesList["verticalAlign"] = "middle"
  1294. sealTextsList := make(map[string]interface{})
  1295. sealTextsList["text"] = "2023年8月8日"
  1296. sealTextsList["fontSize"] = "100"
  1297. sealTextsList["fontColor"] = "#333333"
  1298. sealTextsList["isTextArea"] = true
  1299. sealTextsList["textAlign"] = 0
  1300. sealTextsList["width"] = 150
  1301. sealTextsList["height"] = 20
  1302. sealsObj := make(map[string]interface{})
  1303. sealsObj["sealWidth"] = "150"
  1304. sealsObj["sealHeight"] = "150"
  1305. sealsObj["sealName"] = "1"
  1306. sealsObj["sealImage"] = sealImagesList
  1307. sealsObj["sealText"] = sealTextsList
  1308. seals = append(seals, sealsObj)
  1309. //穿刺者
  1310. //sealImagesListOne := make(map[string]interface{})
  1311. //
  1312. //fileTwo := "/swspan/gopath/src/XT_New/static/huangjunji.jpg"
  1313. //
  1314. //fileBytesTwo, _ := ioutil.ReadFile(fileTwo) // 读取file
  1315. //
  1316. //contractBase64Two := base64.StdEncoding.EncodeToString(fileBytesTwo) // 加密成base64字符串
  1317. //sealImagesListOne["sealBase64"] = contractBase64Two
  1318. ////控制签名的大小
  1319. //sealImagesListOne["width"] = "50"
  1320. //sealImagesListOne["height"] = "50"
  1321. //sealImagesListOne["verticalAlign"] = "middle"
  1322. //
  1323. //sealTextsListOne := make(map[string]interface{})
  1324. //sealTextsListOne["text"] = "2023年8月8日"
  1325. //sealTextsListOne["fontSize"] = "100"
  1326. //sealTextsListOne["fontColor"] = "100"
  1327. //sealTextsListOne["isTextArea"] = true
  1328. //sealTextsListOne["textAlign"] = 0
  1329. //sealTextsListOne["width"] = 150
  1330. //sealTextsListOne["height"] = 20
  1331. //
  1332. //sealsObjOne := make(map[string]interface{})
  1333. //
  1334. //sealsObjOne["sealWidth"] = "150"
  1335. //sealsObjOne["sealHeight"] = "150"
  1336. //sealsObjOne["sealName"] = "2"
  1337. //sealsObjOne["sealImage"] = sealImagesListOne
  1338. //sealsObjOne["sealText"] = sealTextsListOne
  1339. //seals = append(seals, sealsObjOne)
  1340. //间隔签名
  1341. //上机者
  1342. //sealImagesListTwo := make(map[string]interface{})
  1343. //fileThree := "/swspan/gopath/src/XT_New/static/jianfeixia.jpg"
  1344. //fileBytesThree, _ := ioutil.ReadFile(fileThree) // 读取file
  1345. //contractBase64Three := base64.StdEncoding.EncodeToString(fileBytesThree) // 加密成base64字符串
  1346. //sealImagesListTwo["sealBase64"] = contractBase64Three
  1347. ////控制签名的大小
  1348. //sealImagesListTwo["width"] = "50"
  1349. //sealImagesListTwo["height"] = "50"
  1350. //sealImagesListTwo["verticalAlign"] = "middle"
  1351. //
  1352. //sealTextsListTwo := make(map[string]interface{})
  1353. //sealTextsListTwo["text"] = "2023年8月8日"
  1354. //sealTextsListTwo["fontSize"] = "100"
  1355. //sealTextsListTwo["fontColor"] = "100"
  1356. //sealTextsListTwo["isTextArea"] = true
  1357. //sealTextsListTwo["textAlign"] = 0
  1358. //sealTextsListTwo["width"] = 150
  1359. //sealTextsListTwo["height"] = 20
  1360. //
  1361. //sealsObjTwo := make(map[string]interface{})
  1362. //
  1363. //sealsObjTwo["sealWidth"] = "150"
  1364. //sealsObjTwo["sealHeight"] = "150"
  1365. //sealsObjTwo["sealName"] = "3"
  1366. //sealsObjTwo["sealImage"] = sealImagesListTwo
  1367. //sealsObjTwo["sealText"] = sealTextsListTwo
  1368. //seals = append(seals, sealsObjTwo)
  1369. //医生签名
  1370. //sealImagesListThree := make(map[string]interface{})
  1371. //fileFour := "/swspan/gopath/src/XT_New/static/jianfeixia.jpg"
  1372. //fileBytesFour, _ := ioutil.ReadFile(fileFour) // 读取file
  1373. //contractBase64Tour := base64.StdEncoding.EncodeToString(fileBytesFour) // 加密成base64字符串
  1374. //sealImagesListThree["sealBase64"] = contractBase64Tour
  1375. ////控制签名的大小
  1376. //sealImagesListThree["width"] = "50"
  1377. //sealImagesListThree["height"] = "50"
  1378. //sealImagesListThree["verticalAlign"] = "middle"
  1379. //
  1380. //sealTextsListThree := make(map[string]interface{})
  1381. //sealTextsListThree["text"] = "2023年8月8日"
  1382. //sealTextsListThree["fontSize"] = "100"
  1383. //sealTextsListThree["fontColor"] = "100"
  1384. //sealTextsListThree["isTextArea"] = true
  1385. //sealTextsListThree["textAlign"] = 0
  1386. //sealTextsListThree["width"] = 150
  1387. //sealTextsListThree["height"] = 20
  1388. //
  1389. //sealsObjThree := make(map[string]interface{})
  1390. //
  1391. //sealsObjThree["sealWidth"] = "150"
  1392. //sealsObjThree["sealHeight"] = "150"
  1393. //sealsObjThree["sealName"] = "4"
  1394. //sealsObjThree["sealImage"] = sealImagesListThree
  1395. //sealsObjThree["sealText"] = sealTextsListThree
  1396. //seals = append(seals, sealsObjThree)
  1397. maprequest["seals"] = seals
  1398. maprequest["isUserWishes"] = true
  1399. maprequest["phone"] = "13318464642"
  1400. maprequest["verificationCode"] = "18888888888"
  1401. byterequest, _ := json.Marshal(maprequest)
  1402. appId := beego.AppConfig.String("sign_appid")
  1403. serviceKye := beego.AppConfig.String("serviceKye")
  1404. reader := bytes.NewReader(byterequest)
  1405. serviceCode := beego.AppConfig.String("serviceCode")
  1406. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  1407. request, err := http.NewRequest("POST", url, reader)
  1408. if err != nil {
  1409. fmt.Println(err.Error())
  1410. }
  1411. fmt.Println("请求参数", request)
  1412. fmt.Println("Content-Signature", signatureStr)
  1413. request.Header.Set("appId", appId)
  1414. request.Header.Set("appKey", serviceKye)
  1415. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  1416. request.Header.Set("Content-Signature", signatureStr)
  1417. client := http.Client{}
  1418. resp, err := client.Do(request)
  1419. if err != nil {
  1420. fmt.Println(err.Error())
  1421. }
  1422. respBytes, err := ioutil.ReadAll(resp.Body)
  1423. if err != nil {
  1424. fmt.Println(err.Error())
  1425. }
  1426. str := string(respBytes)
  1427. var respJSON map[string]interface{}
  1428. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  1429. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1430. }
  1431. var pdfBase64 string
  1432. pdfBase64 = respJSON["data"].(map[string]interface{})["pdfBase64"].(string)
  1433. return str, pdfBase64
  1434. }
  1435. func ToCheckInformation(contractBase64 string) string {
  1436. var url string
  1437. url = "http://localhost:8890/sdk/pdf/verify"
  1438. maprequest := make(map[string]interface{})
  1439. //file := "/swspan/gopath/src/XT_New/static/a.pdf"
  1440. //
  1441. //fileBytes, _ := ioutil.ReadFile(file) // 读取file
  1442. //
  1443. //contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串
  1444. maprequest["fileType"] = 1
  1445. maprequest["fileContent"] = contractBase64
  1446. byterequest, _ := json.Marshal(maprequest)
  1447. appId := beego.AppConfig.String("sign_appid")
  1448. serviceKye := beego.AppConfig.String("serviceKye")
  1449. reader := bytes.NewReader(byterequest)
  1450. serviceCode := beego.AppConfig.String("serviceCode")
  1451. signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
  1452. request, err := http.NewRequest("POST", url, reader)
  1453. if err != nil {
  1454. fmt.Println(err.Error())
  1455. }
  1456. fmt.Println("请求参数", request)
  1457. fmt.Println("Content-Signature", signatureStr)
  1458. request.Header.Set("appId", appId)
  1459. request.Header.Set("appKey", serviceKye)
  1460. request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  1461. request.Header.Set("Content-Signature", signatureStr)
  1462. client := http.Client{}
  1463. resp, err := client.Do(request)
  1464. if err != nil {
  1465. fmt.Println(err.Error())
  1466. }
  1467. respBytes, err := ioutil.ReadAll(resp.Body)
  1468. if err != nil {
  1469. fmt.Println(err.Error())
  1470. }
  1471. str := string(respBytes)
  1472. var respJSON map[string]interface{}
  1473. if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  1474. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1475. }
  1476. return str
  1477. }
  1478. func GetLastAdminUserName(doctor, orgid int64) string {
  1479. var tmp models.VmUserAdminRole
  1480. XTReadDB().Model(&models.VmUserAdminRole{}).Where("admin_user_id = ? and org_id = ? and status = 1", doctor, orgid).Last(&tmp)
  1481. return tmp.UserName
  1482. }
  1483. func GetLastAdminUserIdCardNumber(doctor, orgid int64) string {
  1484. var tmp models.VmUserAdminRole
  1485. XTReadDB().Model(&models.VmUserAdminRole{}).Where("admin_user_id = ? and org_id = ? and status = 1", doctor, orgid).Last(&tmp)
  1486. return tmp.JobNumber
  1487. }
  1488. func CreateEnterpriseUserName(enterprise models.XtDevicePersonEnterprise) error {
  1489. err := XTWriteDB().Create(&enterprise).Error
  1490. return err
  1491. }
  1492. func UpdatePersionEnterPrise(id int64, userId string) error {
  1493. err := XTWriteDB().Model(&models.XtDevicePersonEnterprise{}).Where("id=? and status =1", id).Updates(map[string]interface{}{"user_id": userId}).Error
  1494. return err
  1495. }