sign_api_controller.go 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931
  1. package controllers
  2. import (
  3. "XT_New/models"
  4. "XT_New/service"
  5. "encoding/base64"
  6. "encoding/json"
  7. "fmt"
  8. "github.com/astaxie/beego"
  9. "github.com/jung-kurt/gofpdf"
  10. "io/ioutil"
  11. "time"
  12. )
  13. type SignApiController struct {
  14. BaseAuthAPIController
  15. }
  16. func SignApiRegistRouters() {
  17. //获取短信验证码
  18. beego.Router("/api/sign/getsign", &SignApiController{}, "Get:GetSign")
  19. //创建个人用户并实名
  20. beego.Router("/api/sign/createrusername", &SignApiController{}, "Get:CreateUserName")
  21. //创建企业用户并实名
  22. beego.Router("/api/sign/createenterpriserealname", &SignApiController{}, "Get:CreateEnterPriseRealName")
  23. //添加企业成员
  24. beego.Router("/api/sign/createuserid", &SignApiController{}, "Get:CreateUserId")
  25. //创建个人印章
  26. beego.Router("/api/sign/createpersionseal", &SignApiController{}, "Get:CreatePersionSeal")
  27. //上传文件创建创建合同
  28. beego.Router("/api/sign/createuploadpact", &SignApiController{}, "Get:CreateUploadPact")
  29. //添加合同签署人
  30. beego.Router("/api/sign/addcontractsignatory", &SignApiController{}, "Get:AddContractSignatory")
  31. //获取短信验证
  32. beego.Router("/api/sign/getverificationcode", &SignApiController{}, "Get:GetVerificationCode")
  33. //后台签署(返回签署文件)
  34. beego.Router("/api/sign/createbackstagesign", &SignApiController{}, "Get:CreateBackStageSign")
  35. //署意愿认证-短信验证
  36. beego.Router("/api/sign/totestelment", &SignApiController{}, "Get:CreateEnterprise")
  37. //测试PDF
  38. beego.Router("/api/sign/totestthrityment", &SignApiController{}, "Get:GetTestThrityMent")
  39. //CA企业认证
  40. beego.Router("/api/sign/saveenerprise", &SignApiController{}, "Post:SaveEnerprise")
  41. //
  42. beego.Router("/api/sign/getenerprisebyid", &SignApiController{}, "Get:GetEnerPriseById")
  43. beego.Router("/api/sign/getmobilecode", &SignApiController{}, "Get:GetMobileCode")
  44. beego.Router("/api/sign/getpersionenterprise", &SignApiController{}, "Post:GetPersionEnterPrise")
  45. beego.Router("/api/sign/getpersenterprisebyid", &SignApiController{}, "Get:GetPerseEnterPriseById")
  46. beego.Router("/api/device/sign/creterpersionseal", &SignApiController{}, "Get:CreateNewPersionSeal")
  47. beego.Router("/api/device/sign/createnewenterprise", &SignApiController{}, "Get:CreateNewEnterPrise")
  48. beego.Router("/api/device/contractid", &SignApiController{}, "Get:GetContractId")
  49. beego.Router("/api/device/endenterprise", &SignApiController{}, "Get:EndEnterPrise")
  50. beego.Router("/api/device/getenterprisedetail", &SignApiController{}, "Get:GetEnterPriseDetail")
  51. beego.Router("/api/device/uploadprintorder", &SignApiController{}, "Post:UploadPrintOrder")
  52. //sdk 版本
  53. beego.Router("/api/device/createqianshuusername", &SignApiController{}, "Post:CreateQianshuUserName")
  54. //发送消息
  55. beego.Router("/api/device/createskdsendinformation", &SignApiController{}, "Post:CreateSdkSendInformation")
  56. //删除
  57. beego.Router("/api/device/tosavepdfinformation", &SignApiController{}, "Get:SavePdfInformation")
  58. beego.Router("/api/device/tocheckinformation", &SignApiController{}, "Get:ToCheckInformation")
  59. }
  60. // 短信服务接口
  61. func (this *SignApiController) GetSign() {
  62. phone := this.GetString("phone")
  63. fmt.Println("phone", phone)
  64. var tempphone string
  65. tempphone = "13318464642"
  66. sign := service.GetSignNameByPhone(tempphone)
  67. this.ServeSuccessJSON(map[string]interface{}{
  68. "sign": sign,
  69. })
  70. return
  71. }
  72. type Result2121 struct {
  73. Phone string `json:"phone"`
  74. DisPlayName string `json:"dis_play_name"`
  75. Authentication string `json:"authentication"`
  76. TwAuthReq struct {
  77. OneLineAuth string `json:"oneLineAuth"`
  78. ApiAuthReq struct {
  79. RealName float64 `json:"real_name"`
  80. IdCardType string `json:"id_card_type"`
  81. IdCardNum string `json:"id_card_num"`
  82. BankCard string `json:"bank_card"`
  83. CodeNumber string `json:"code_number"`
  84. VerifyCode string `json:"verify_code"`
  85. } `json:"apiAuthReq"`
  86. } `json:"twAuthReq"`
  87. }
  88. type MapData struct {
  89. dat struct {
  90. Code float64 `json:"code"`
  91. data struct {
  92. userId string `json:"userId"`
  93. }
  94. }
  95. }
  96. // 创建个人用户并实名
  97. func (this *SignApiController) CreateUserName() {
  98. phone := this.GetString("phone")
  99. disPlayName := this.GetString("disPlayName")
  100. sign, userId := service.CreateUserName(phone, disPlayName)
  101. var dat map[string]interface{}
  102. if err := json.Unmarshal([]byte(sign), &dat); err == nil {
  103. fmt.Println(dat)
  104. } else {
  105. fmt.Println(err)
  106. }
  107. this.ServeSuccessJSON(map[string]interface{}{
  108. "sign": sign,
  109. "dat": dat,
  110. "userId": userId,
  111. })
  112. return
  113. }
  114. // 创建个人印章
  115. func (this *SignApiController) CreatePersionSeal() {
  116. user_id := this.GetString("user_id")
  117. person_seal_type, _ := this.GetInt64("person_seal_type")
  118. person_seal_name := this.GetString("person_seal_name")
  119. person_seal_base := this.GetString("person_seal_base")
  120. color, _ := this.GetInt64("color")
  121. alpha, _ := this.GetInt64("alpha")
  122. width, _ := this.GetInt64("width")
  123. height, _ := this.GetInt64("height")
  124. border, _ := this.GetInt64("border")
  125. font_type, _ := this.GetInt64("font_type")
  126. sign, personSealId := service.CreatePersionSeal(user_id, person_seal_type, person_seal_name, person_seal_base, color, alpha, width, height, border, font_type)
  127. var dat map[string]interface{}
  128. if err := json.Unmarshal([]byte(sign), &dat); err == nil {
  129. fmt.Println(dat)
  130. } else {
  131. fmt.Println(err)
  132. }
  133. this.ServeSuccessJSON(map[string]interface{}{
  134. "sign": sign,
  135. "dat": dat,
  136. "personSealId": personSealId,
  137. })
  138. return
  139. }
  140. func (this *SignApiController) CreateUploadPact() {
  141. contractcode := this.GetString("contractcode")
  142. contractname := this.GetString("contractname")
  143. signcount, _ := this.GetInt64("signcount")
  144. docname := this.GetString("docname")
  145. contractbase := this.GetString("contractbase")
  146. creator := this.GetString("creator")
  147. enterpriseid := this.GetString("enterpriseid")
  148. signvalidays, _ := this.GetInt64("signvalidays")
  149. sysncurl := this.GetString("sysncurl")
  150. asyncurl := this.GetString("asyncurl")
  151. sign := service.CreateUploadPact(contractcode, contractname, signcount, docname, contractbase, creator, enterpriseid, signvalidays, sysncurl, asyncurl)
  152. this.ServeSuccessJSON(map[string]interface{}{
  153. "sign": sign,
  154. })
  155. return
  156. }
  157. // 添加企业成员
  158. func (this *SignApiController) CreateUserId() {
  159. userId := this.GetString("userId")
  160. displayName := this.GetString("displayName")
  161. sign := service.CreateUserId(userId, displayName)
  162. this.ServeSuccessJSON(map[string]interface{}{
  163. "sign": sign,
  164. })
  165. return
  166. }
  167. func (this *SignApiController) CreateEnterPriseRealName() {
  168. enterprisename := this.GetString("enterprisename")
  169. sign := service.CreateEnterPriseRealName(enterprisename)
  170. this.ServeSuccessJSON(map[string]interface{}{
  171. "sign": sign,
  172. })
  173. return
  174. }
  175. // 添加合同签署人
  176. func (this *SignApiController) AddContractSignatory() {
  177. contractId := this.GetString("contractId")
  178. signers := this.GetString("signers")
  179. var newContract models.NewContract
  180. newContract.ContractId = "156001444267295949"
  181. sign := service.AddContractSignatory(contractId, signers, newContract)
  182. this.ServeSuccessJSON(map[string]interface{}{
  183. "sign": sign,
  184. })
  185. return
  186. }
  187. type Struct2401 struct {
  188. someTimestampStyle []someTimestampStyle
  189. }
  190. type someTimestampStyle struct {
  191. ControlsKey string
  192. Pattern string
  193. Color string
  194. }
  195. func (this *SignApiController) CreateBackStageSign() {
  196. contractId := this.GetString("contractId")
  197. signers := this.GetString("signers")
  198. sign := service.CreateBackStageSign(contractId, signers)
  199. this.ServeSuccessJSON(map[string]interface{}{
  200. "sign": sign,
  201. })
  202. return
  203. }
  204. func (this *SignApiController) GetVerificationCode() {
  205. sign := service.GetVerificationCode()
  206. this.ServeSuccessJSON(map[string]interface{}{
  207. "sign": sign,
  208. })
  209. return
  210. }
  211. func (this *SignApiController) CreateEnterprise() {
  212. sign := service.CreateEnterprise()
  213. this.ServeSuccessJSON(map[string]interface{}{
  214. "sign": sign,
  215. })
  216. return
  217. }
  218. func (this *SignApiController) GetTestThrityMent() {
  219. pdf := gofpdf.New("P", "mm", "A4", "")
  220. pdf.AddPage()
  221. pdf.SetFont("Arial", "B", 16)
  222. pdf.Cell(40, 10, "Hello, World!")
  223. pdf.OutputFileAndClose("output.pdf")
  224. this.ServeSuccessJSON(map[string]interface{}{
  225. "sign": "msg",
  226. })
  227. return
  228. }
  229. func loremList() []string {
  230. return []string{
  231. "我爱你中国" +
  232. "tempor incididunt ut labore et dolore magna aliqua.",
  233. "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " +
  234. "aliquip ex ea commodo consequat.",
  235. "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum " +
  236. "dolore eu fugiat nulla pariatur.",
  237. "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui " +
  238. "officia deserunt mollit anim id est laborum.",
  239. }
  240. }
  241. func (this *SignApiController) SaveEnerprise() {
  242. orgId := this.GetAdminUserInfo().CurrentOrgId
  243. creater := this.GetAdminUserInfo().AdminUser.Id
  244. dataBody := make(map[string]interface{}, 0)
  245. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  246. fmt.Println("err", err)
  247. id := int64(dataBody["id"].(float64))
  248. org_type := int64(dataBody["org_type"].(float64))
  249. enterprise_name := dataBody["enterprise_name"].(string)
  250. code := dataBody["code"].(string)
  251. org_code := dataBody["org_code"].(string)
  252. legal_person_name := dataBody["legal_person_name"].(string)
  253. legal_id_card_num := dataBody["legal_id_card_num"].(string)
  254. legal_phone := dataBody["legal_phone"].(string)
  255. enterprise := models.XtDeviceEnterprise{
  256. ID: id,
  257. UserOrgId: orgId,
  258. OrgType: org_type,
  259. EnterpriseName: enterprise_name,
  260. Code: code,
  261. OrgCode: org_code,
  262. LegalPersonName: legal_person_name,
  263. LegalIdCardNum: legal_id_card_num,
  264. LegalPhone: legal_phone,
  265. Creater: creater,
  266. Ctime: time.Now().Unix(),
  267. Mtime: 0,
  268. Enterpriseid: "",
  269. Status: 1,
  270. }
  271. service.SaveEnerPrise(enterprise)
  272. //查找该机构有没有认证信息
  273. lastenterprise, _ := service.GetEnterPriseByUserOrgId(orgId)
  274. //调用企业认证接口
  275. if lastenterprise.ID > 0 {
  276. enterPrise, enterpriseid := service.CreateNewEnterPriseRealName(lastenterprise)
  277. fmt.Println("enterprise2ooo2oo2o2o2o", enterPrise)
  278. updateEnterprise := models.XtDeviceEnterprise{
  279. ID: enterprise.ID,
  280. UserOrgId: orgId,
  281. OrgType: org_type,
  282. EnterpriseName: enterprise_name,
  283. Code: code,
  284. OrgCode: org_code,
  285. LegalPersonName: legal_person_name,
  286. LegalIdCardNum: legal_id_card_num,
  287. LegalPhone: legal_phone,
  288. Creater: creater,
  289. Ctime: time.Now().Unix(),
  290. Mtime: 0,
  291. Enterpriseid: enterpriseid,
  292. Status: 1,
  293. }
  294. service.SaveEnerPrise(updateEnterprise)
  295. this.ServeSuccessJSON(map[string]interface{}{
  296. "enterPrise": enterPrise,
  297. })
  298. return
  299. }
  300. }
  301. func (this *SignApiController) GetEnerPriseById() {
  302. orgId := this.GetAdminUserInfo().CurrentOrgId
  303. enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
  304. this.ServeSuccessJSON(map[string]interface{}{
  305. "enterPrise": enterPrise,
  306. })
  307. return
  308. }
  309. func (this *SignApiController) GetMobileCode() {
  310. phone := this.GetString("phone")
  311. sign, orderNumber := service.GetNewSignNameByPhone(phone)
  312. this.ServeSuccessJSON(map[string]interface{}{
  313. "sign": sign,
  314. "orderNumber": orderNumber,
  315. })
  316. return
  317. }
  318. func (this *SignApiController) GetPersionEnterPrise() {
  319. orgId := this.GetAdminUserInfo().CurrentOrgId
  320. creater := this.GetAdminUserInfo().AdminUser.Id
  321. dataBody := make(map[string]interface{}, 0)
  322. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  323. fmt.Println("err", err)
  324. id := int64(dataBody["id"].(float64))
  325. admin_user_id := int64(dataBody["admin_user_id"].(float64))
  326. code := dataBody["code"].(string)
  327. display_name := dataBody["display_name"].(string)
  328. id_card_num := dataBody["id_card_num"].(string)
  329. phone := dataBody["phone"].(string)
  330. enterprise := models.XtDevicePersonEnterprise{
  331. ID: id,
  332. AdminUserId: admin_user_id,
  333. DisplayName: display_name,
  334. Phone: phone,
  335. IdCardNum: id_card_num,
  336. UserOrgId: orgId,
  337. Status: 1,
  338. Creater: creater,
  339. Ctime: time.Now().Unix(),
  340. Mtime: 0,
  341. UserId: "",
  342. }
  343. service.SavePersonEnterPrise(enterprise)
  344. lastEnterPrise, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  345. _, orderNumber := service.GetNewSignNameByPhone(phone)
  346. personEnterPrse, UserId := service.CreateNewUserName(lastEnterPrise.Phone, lastEnterPrise.DisplayName, code, orderNumber, lastEnterPrise.IdCardNum)
  347. firstenterprise := models.XtDevicePersonEnterprise{
  348. ID: id,
  349. AdminUserId: admin_user_id,
  350. DisplayName: display_name,
  351. Phone: phone,
  352. IdCardNum: id_card_num,
  353. UserOrgId: orgId,
  354. Status: 1,
  355. Creater: creater,
  356. Ctime: time.Now().Unix(),
  357. Mtime: 0,
  358. UserId: UserId,
  359. }
  360. service.SavePersonEnterPrise(firstenterprise)
  361. this.ServeSuccessJSON(map[string]interface{}{
  362. "personEnterPrse": personEnterPrse,
  363. })
  364. return
  365. }
  366. func (this *SignApiController) GetPerseEnterPriseById() {
  367. orgId := this.GetAdminUserInfo().CurrentOrgId
  368. admin_user_id, _ := this.GetInt64("admin_user_id")
  369. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  370. this.ServeSuccessJSON(map[string]interface{}{
  371. "lastPerson": lastPerson,
  372. })
  373. return
  374. }
  375. func (this *SignApiController) CreateNewPersionSeal() {
  376. orgId := this.GetAdminUserInfo().CurrentOrgId
  377. admin_user_id, _ := this.GetInt64("admin_user_id")
  378. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  379. //personSeal, personSealId := service.CreateNewPersionSeal(lastPerson.UserId)
  380. personSeal, personSealId := service.CreateSKDPersionSeal(lastPerson.UserId)
  381. service.UpdatePerseEnterPriseById(lastPerson.ID, personSealId)
  382. this.ServeSuccessJSON(map[string]interface{}{
  383. "personSeal": personSeal,
  384. })
  385. return
  386. }
  387. func (this *SignApiController) CreateNewEnterPrise() {
  388. //orgId := this.GetAdminUserInfo().CurrentOrgId
  389. //
  390. //admin_user_id, _ := this.GetInt64("admin_user_id")
  391. //
  392. //enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
  393. //fmt.Println("地址日活", enterPrise.Enterpriseid)
  394. //lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  395. //
  396. //newEnterPrise, sealId := service.CreateNewEnterPrise(enterPrise.Enterpriseid, lastPerson.UserId)
  397. //
  398. //fmt.Println("newEnterPrise",newEnterPrise)
  399. //service.UpdatePersonEnterPrise(lastPerson.ID, sealId)
  400. newEnterPrise, _ := service.CreateSDKEnterPrise()
  401. //var url string
  402. //url = "http://localhost:8890/sdk/seal/createEnterpriseSeal"
  403. //appId := beego.AppConfig.String("sign_appid")
  404. //
  405. //serviceKye := beego.AppConfig.String("serviceKye")
  406. //
  407. //serviceCode := beego.AppConfig.String("serviceCode")
  408. //
  409. //maprequest := make(map[string]interface{})
  410. //
  411. //maprequest["sealType"] = 1
  412. //maprequest["enterpriseName"] = "深圳伊森时光科技有限公司"
  413. //maprequest["horizontalText"] = "财务专用章"
  414. //
  415. //byterequest, _ := json.Marshal(maprequest)
  416. //reader := bytes.NewReader(byterequest)
  417. //
  418. //signatureStr, _ := service.GenerateHMACSHA1SignatureTwo(maprequest, serviceKye, serviceCode)
  419. //fmt.Println("signatureStr", signatureStr)
  420. //request, err := http.NewRequest("POST", url, reader)
  421. //
  422. //fmt.Println("request23222222222222222", request)
  423. //if err != nil {
  424. // fmt.Println(err.Error())
  425. //}
  426. //
  427. //request.Header.Set("appId", appId)
  428. //request.Header.Set("serviceCode", serviceCode)
  429. //request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  430. //request.Header.Set("Content-Signature", signatureStr)
  431. //client := http.Client{}
  432. //
  433. //resp, err := client.Do(request)
  434. //if err != nil {
  435. // fmt.Println(err.Error())
  436. //
  437. //}
  438. //respBytes, err := ioutil.ReadAll(resp.Body)
  439. //if err != nil {
  440. // fmt.Println(err.Error())
  441. //
  442. //}
  443. //str := string(respBytes)
  444. //fmt.Println("strwowowowowo", str)
  445. //
  446. //var respJSON map[string]interface{}
  447. //if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  448. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  449. //}
  450. this.ServeSuccessJSON(map[string]interface{}{
  451. "newEnterPrise": newEnterPrise,
  452. })
  453. return
  454. }
  455. func (this *SignApiController) GetContractId() {
  456. sign := service.GetContractId()
  457. this.ServeSuccessJSON(map[string]interface{}{
  458. "sign": sign,
  459. })
  460. return
  461. }
  462. func (this *SignApiController) EndEnterPrise() {
  463. sign := service.EndEnterPrise()
  464. this.ServeSuccessJSON(map[string]interface{}{
  465. "sign": sign,
  466. })
  467. return
  468. }
  469. func (this *SignApiController) GetEnterPriseDetail() {
  470. sign, url := service.GetEnterPriseDetail()
  471. this.ServeSuccessJSON(map[string]interface{}{
  472. "sign": sign,
  473. "url": url,
  474. })
  475. return
  476. }
  477. func (this *SignApiController) UploadPrintOrder() {
  478. dataBody := make(map[string]interface{}, 0)
  479. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  480. fmt.Println("err", err)
  481. name := dataBody["name"].(string)
  482. sign := service.CreateNewUploadPact(name)
  483. this.ServeSuccessJSON(map[string]interface{}{
  484. "sign": sign,
  485. })
  486. }
  487. func (this *SignApiController) CreateQianshuUserName() {
  488. sign, userId := service.CreateQianshuUserName()
  489. this.ServeSuccessJSON(map[string]interface{}{
  490. "sign": sign,
  491. "userId": userId,
  492. })
  493. }
  494. func (this *SignApiController) CreateSdkSendInformation() {
  495. information, orderId := service.CreateSdkSendInformation()
  496. this.ServeSuccessJSON(map[string]interface{}{
  497. "information": information,
  498. "orderId": orderId,
  499. })
  500. }
  501. func (this *SignApiController) SavePdfInformation() {
  502. information, pdfBase64 := service.SavePdfInformation()
  503. informationOne := service.ToCheckInformation(pdfBase64)
  504. maprequest := make(map[string]interface{})
  505. Receiver := make(map[string]interface{})
  506. //业务单号
  507. maprequest["orderId"] = "13318464642"
  508. maprequest["signTitle"] = "举报合同"
  509. //file := "C:/Users/28169/Desktop/2.pdf"
  510. file := "/swspan/gopath/src/XT_New/static/6.pdf"
  511. fileBytes, _ := ioutil.ReadFile(file) // 读取file
  512. contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串
  513. //文件获取方式
  514. maprequest["fileType"] = 1
  515. maprequest["pdfBase64"] = contractBase64
  516. //合同内容
  517. maprequest["fileContent"] = contractBase64
  518. //签署用户人ID
  519. maprequest["userId"] = "JMO9U8JH4TN8E3QOI0GUVUF2"
  520. //业务单号
  521. maprequest["receiver"] = Receiver
  522. //签署人账号
  523. Receiver["account"] = "13318464642"
  524. //签署个人类型 1.个人 2.企业
  525. Receiver["signerType"] = 1
  526. //签署人姓名
  527. Receiver["realName "] = "马文强"
  528. // 证件类型
  529. Receiver["cardType"] = 0
  530. //证件编码
  531. Receiver["cardNumber"] = "430526199408156511"
  532. stepStamper := make(map[string]interface{})
  533. keywordSignControls := make([]map[string]interface{}, 0)
  534. //预冲者样式
  535. inputArrOne := make(map[string]interface{})
  536. inputArrOne["sealName"] = "1"
  537. inputArrOne["keyword"] = "医生签名"
  538. inputArrOne["pages"] = "0"
  539. inputArrOne["offsetX"] = "100"
  540. inputArrOne["offsetY"] = "100"
  541. keywordSignControls = append(keywordSignControls, inputArrOne)
  542. //穿刺者样式
  543. //inputArr := make(map[string]interface{})
  544. //inputArr["sealName"] = "2"
  545. //inputArr["keyword"] = "治疗护士"
  546. //inputArr["pages"] = "1"
  547. //inputArr["offsetX"] = "100"
  548. //inputArr["offsetY"] = "0"
  549. //
  550. //keywordSignControls = append(keywordSignControls, inputArr)
  551. //
  552. ////上机者
  553. //inputArrSix := make(map[string]interface{})
  554. //inputArrSix["sealName"] = "3"
  555. //inputArrSix["keyword"] = "核对护士"
  556. //inputArrSix["pages"] = "1"
  557. //inputArrSix["offsetX"] = "100"
  558. //inputArrSix["offsetY"] = "0"
  559. //
  560. //keywordSignControls = append(keywordSignControls, inputArrSix)
  561. //
  562. //stepStamper["keywordSignControls"] = keywordSignControls
  563. //
  564. ////医生签名
  565. //inputArrSeven := make(map[string]interface{})
  566. //inputArrSeven["sealName"] = "4"
  567. //inputArrSeven["keyword"] = "医生签名"
  568. //inputArrSeven["pages"] = "1"
  569. //inputArrSeven["offsetX"] = "100"
  570. //inputArrSeven["offsetY"] = "0"
  571. //
  572. //keywordSignControls = append(keywordSignControls, inputArrSeven)
  573. //
  574. //stepStamper["keywordSignControls"] = keywordSignControls
  575. //crossSignControls := make([]map[string]interface{}, 0)
  576. //
  577. //inputArrTwo := make(map[string]interface{})
  578. //inputArrTwo["sealName"] = "1"
  579. //inputArrTwo["positionX"] = "0"
  580. //inputArrTwo["positionY"] = "0"
  581. //inputArrTwo["pages"] = "0"
  582. //crossSignControls = append(crossSignControls, inputArrTwo)
  583. //
  584. //stepStamper["crossSignControls"] = crossSignControls
  585. //
  586. xySignControls := make([]map[string]interface{}, 0)
  587. inputArrThree := make(map[string]interface{})
  588. inputArrThree["sealName"] = "1"
  589. inputArrThree["positionX"] = "100"
  590. inputArrThree["positionY"] = "0"
  591. inputArrThree["pages"] = "0"
  592. xySignControls = append(xySignControls, inputArrThree)
  593. stepStamper["xySignControls"] = xySignControls
  594. maprequest["stepStamper"] = stepStamper
  595. seals := make([]map[string]interface{}, 0)
  596. //预冲者
  597. sealImagesList := make(map[string]interface{})
  598. fileOne := "/swspan/gopath/src/XT_New/static/huangzihui.jpg"
  599. fileBytesOne, _ := ioutil.ReadFile(fileOne) // 读取file
  600. contractBase64One := base64.StdEncoding.EncodeToString(fileBytesOne) // 加密成base64字符串
  601. sealImagesList["sealBase64"] = contractBase64One
  602. //控制签名的大小
  603. sealImagesList["width"] = "50"
  604. sealImagesList["height"] = "50"
  605. sealImagesList["verticalAlign"] = "middle"
  606. sealTextsList := make(map[string]interface{})
  607. sealTextsList["text"] = "2023年8月8日"
  608. sealTextsList["fontSize"] = "100"
  609. sealTextsList["fontColor"] = "#333333"
  610. sealTextsList["isTextArea"] = true
  611. sealTextsList["textAlign"] = 0
  612. sealTextsList["width"] = 150
  613. sealTextsList["height"] = 20
  614. sealsObj := make(map[string]interface{})
  615. sealsObj["sealWidth"] = "150"
  616. sealsObj["sealHeight"] = "150"
  617. sealsObj["sealName"] = "1"
  618. sealsObj["sealImage"] = sealImagesList
  619. sealsObj["sealText"] = sealTextsList
  620. seals = append(seals, sealsObj)
  621. //穿刺者
  622. //sealImagesListOne := make(map[string]interface{})
  623. //
  624. //fileTwo := "/swspan/gopath/src/XT_New/static/huangjunji.jpg"
  625. //
  626. //fileBytesTwo, _ := ioutil.ReadFile(fileTwo) // 读取file
  627. //
  628. //contractBase64Two := base64.StdEncoding.EncodeToString(fileBytesTwo) // 加密成base64字符串
  629. //sealImagesListOne["sealBase64"] = contractBase64Two
  630. ////控制签名的大小
  631. //sealImagesListOne["width"] = "50"
  632. //sealImagesListOne["height"] = "50"
  633. //sealImagesListOne["verticalAlign"] = "middle"
  634. //
  635. //sealTextsListOne := make(map[string]interface{})
  636. //sealTextsListOne["text"] = "2023年8月8日"
  637. //sealTextsListOne["fontSize"] = "100"
  638. //sealTextsListOne["fontColor"] = "100"
  639. //sealTextsListOne["isTextArea"] = true
  640. //sealTextsListOne["textAlign"] = 0
  641. //sealTextsListOne["width"] = 150
  642. //sealTextsListOne["height"] = 20
  643. //
  644. //sealsObjOne := make(map[string]interface{})
  645. //
  646. //sealsObjOne["sealWidth"] = "150"
  647. //sealsObjOne["sealHeight"] = "150"
  648. //sealsObjOne["sealName"] = "2"
  649. //sealsObjOne["sealImage"] = sealImagesListOne
  650. //sealsObjOne["sealText"] = sealTextsListOne
  651. //seals = append(seals, sealsObjOne)
  652. //间隔签名
  653. //上机者
  654. //sealImagesListTwo := make(map[string]interface{})
  655. //fileThree := "/swspan/gopath/src/XT_New/static/jianfeixia.jpg"
  656. //fileBytesThree, _ := ioutil.ReadFile(fileThree) // 读取file
  657. //contractBase64Three := base64.StdEncoding.EncodeToString(fileBytesThree) // 加密成base64字符串
  658. //sealImagesListTwo["sealBase64"] = contractBase64Three
  659. ////控制签名的大小
  660. //sealImagesListTwo["width"] = "50"
  661. //sealImagesListTwo["height"] = "50"
  662. //sealImagesListTwo["verticalAlign"] = "middle"
  663. //
  664. //sealTextsListTwo := make(map[string]interface{})
  665. //sealTextsListTwo["text"] = "2023年8月8日"
  666. //sealTextsListTwo["fontSize"] = "100"
  667. //sealTextsListTwo["fontColor"] = "100"
  668. //sealTextsListTwo["isTextArea"] = true
  669. //sealTextsListTwo["textAlign"] = 0
  670. //sealTextsListTwo["width"] = 150
  671. //sealTextsListTwo["height"] = 20
  672. //
  673. //sealsObjTwo := make(map[string]interface{})
  674. //
  675. //sealsObjTwo["sealWidth"] = "150"
  676. //sealsObjTwo["sealHeight"] = "150"
  677. //sealsObjTwo["sealName"] = "3"
  678. //sealsObjTwo["sealImage"] = sealImagesListTwo
  679. //sealsObjTwo["sealText"] = sealTextsListTwo
  680. //seals = append(seals, sealsObjTwo)
  681. //医生签名
  682. //sealImagesListThree := make(map[string]interface{})
  683. //fileFour := "/swspan/gopath/src/XT_New/static/jianfeixia.jpg"
  684. //fileBytesFour, _ := ioutil.ReadFile(fileFour) // 读取file
  685. //contractBase64Tour := base64.StdEncoding.EncodeToString(fileBytesFour) // 加密成base64字符串
  686. //sealImagesListThree["sealBase64"] = contractBase64Tour
  687. ////控制签名的大小
  688. //sealImagesListThree["width"] = "50"
  689. //sealImagesListThree["height"] = "50"
  690. //sealImagesListThree["verticalAlign"] = "middle"
  691. //
  692. //sealTextsListThree := make(map[string]interface{})
  693. //sealTextsListThree["text"] = "2023年8月8日"
  694. //sealTextsListThree["fontSize"] = "100"
  695. //sealTextsListThree["fontColor"] = "100"
  696. //sealTextsListThree["isTextArea"] = true
  697. //sealTextsListThree["textAlign"] = 0
  698. //sealTextsListThree["width"] = 150
  699. //sealTextsListThree["height"] = 20
  700. //
  701. //sealsObjThree := make(map[string]interface{})
  702. //
  703. //sealsObjThree["sealWidth"] = "150"
  704. //sealsObjThree["sealHeight"] = "150"
  705. //sealsObjThree["sealName"] = "4"
  706. //sealsObjThree["sealImage"] = sealImagesListThree
  707. //sealsObjThree["sealText"] = sealTextsListThree
  708. //seals = append(seals, sealsObjThree)
  709. maprequest["seals"] = seals
  710. maprequest["isUserWishes"] = true
  711. maprequest["phone"] = "13318464642"
  712. maprequest["verificationCode"] = "18888888888"
  713. this.ServeSuccessJSON(map[string]interface{}{
  714. "information": information,
  715. "orderId": pdfBase64,
  716. "informationOne": informationOne,
  717. "maprequest": maprequest,
  718. })
  719. }
  720. func (this *SignApiController) ToCheckInformation() {
  721. information, pdfBase64 := service.SavePdfInformation()
  722. informationOne := service.ToCheckInformation(pdfBase64)
  723. this.ServeSuccessJSON(map[string]interface{}{
  724. "information": information,
  725. "informationOne": informationOne,
  726. })
  727. }