sign_api_controller.go 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. package controllers
  2. import (
  3. "XT_New/models"
  4. "XT_New/service"
  5. "encoding/json"
  6. "fmt"
  7. "github.com/astaxie/beego"
  8. "github.com/jung-kurt/gofpdf"
  9. "time"
  10. )
  11. type SignApiController struct {
  12. BaseAuthAPIController
  13. }
  14. func SignApiRegistRouters() {
  15. //获取短信验证码
  16. beego.Router("/api/sign/getsign", &SignApiController{}, "Get:GetSign")
  17. //创建个人用户并实名
  18. beego.Router("/api/sign/createrusername", &SignApiController{}, "Get:CreateUserName")
  19. //创建企业用户并实名
  20. beego.Router("/api/sign/createenterpriserealname", &SignApiController{}, "Get:CreateEnterPriseRealName")
  21. //添加企业成员
  22. beego.Router("/api/sign/createuserid", &SignApiController{}, "Get:CreateUserId")
  23. //创建个人印章
  24. beego.Router("/api/sign/createpersionseal", &SignApiController{}, "Get:CreatePersionSeal")
  25. //上传文件创建创建合同
  26. beego.Router("/api/sign/createuploadpact", &SignApiController{}, "Get:CreateUploadPact")
  27. //添加合同签署人
  28. beego.Router("/api/sign/addcontractsignatory", &SignApiController{}, "Get:AddContractSignatory")
  29. //获取短信验证
  30. beego.Router("/api/sign/getverificationcode", &SignApiController{}, "Get:GetVerificationCode")
  31. //后台签署(返回签署文件)
  32. beego.Router("/api/sign/createbackstagesign", &SignApiController{}, "Get:CreateBackStageSign")
  33. //署意愿认证-短信验证
  34. beego.Router("/api/sign/totestelment", &SignApiController{}, "Get:CreateEnterprise")
  35. //测试PDF
  36. beego.Router("/api/sign/totestthrityment", &SignApiController{}, "Get:GetTestThrityMent")
  37. //CA企业认证
  38. beego.Router("/api/sign/saveenerprise", &SignApiController{}, "Post:SaveEnerprise")
  39. //
  40. beego.Router("/api/sign/getenerprisebyid", &SignApiController{}, "Get:GetEnerPriseById")
  41. beego.Router("/api/sign/getmobilecode", &SignApiController{}, "Get:GetMobileCode")
  42. beego.Router("/api/sign/getpersionenterprise", &SignApiController{}, "Post:GetPersionEnterPrise")
  43. beego.Router("/api/sign/getpersenterprisebyid", &SignApiController{}, "Get:GetPerseEnterPriseById")
  44. beego.Router("/api/device/sign/creterpersionseal", &SignApiController{}, "Get:CreateNewPersionSeal")
  45. beego.Router("/api/device/sign/createnewenterprise", &SignApiController{}, "Get:CreateNewEnterPrise")
  46. beego.Router("/api/device/contractid", &SignApiController{}, "Get:GetContractId")
  47. beego.Router("/api/device/endenterprise", &SignApiController{}, "Get:EndEnterPrise")
  48. beego.Router("/api/device/getenterprisedetail", &SignApiController{}, "Get:GetEnterPriseDetail")
  49. beego.Router("/api/device/uploadprintorder", &SignApiController{}, "Post:UploadPrintOrder")
  50. //sdk 版本
  51. beego.Router("/api/device/createqianshuusername", &SignApiController{}, "Post:CreateQianshuUserName")
  52. //发送消息
  53. beego.Router("/api/device/createskdsendinformation", &SignApiController{}, "Post:CreateSdkSendInformation")
  54. }
  55. // 短信服务接口
  56. func (this *SignApiController) GetSign() {
  57. phone := this.GetString("phone")
  58. fmt.Println("phone", phone)
  59. var tempphone string
  60. tempphone = "13318464642"
  61. sign := service.GetSignNameByPhone(tempphone)
  62. this.ServeSuccessJSON(map[string]interface{}{
  63. "sign": sign,
  64. })
  65. return
  66. }
  67. type Result2121 struct {
  68. Phone string `json:"phone"`
  69. DisPlayName string `json:"dis_play_name"`
  70. Authentication string `json:"authentication"`
  71. TwAuthReq struct {
  72. OneLineAuth string `json:"oneLineAuth"`
  73. ApiAuthReq struct {
  74. RealName float64 `json:"real_name"`
  75. IdCardType string `json:"id_card_type"`
  76. IdCardNum string `json:"id_card_num"`
  77. BankCard string `json:"bank_card"`
  78. CodeNumber string `json:"code_number"`
  79. VerifyCode string `json:"verify_code"`
  80. } `json:"apiAuthReq"`
  81. } `json:"twAuthReq"`
  82. }
  83. type MapData struct {
  84. dat struct {
  85. Code float64 `json:"code"`
  86. data struct {
  87. userId string `json:"userId"`
  88. }
  89. }
  90. }
  91. // 创建个人用户并实名
  92. func (this *SignApiController) CreateUserName() {
  93. phone := this.GetString("phone")
  94. disPlayName := this.GetString("disPlayName")
  95. sign, userId := service.CreateUserName(phone, disPlayName)
  96. var dat map[string]interface{}
  97. if err := json.Unmarshal([]byte(sign), &dat); err == nil {
  98. fmt.Println(dat)
  99. } else {
  100. fmt.Println(err)
  101. }
  102. this.ServeSuccessJSON(map[string]interface{}{
  103. "sign": sign,
  104. "dat": dat,
  105. "userId": userId,
  106. })
  107. return
  108. }
  109. // 创建个人印章
  110. func (this *SignApiController) CreatePersionSeal() {
  111. user_id := this.GetString("user_id")
  112. person_seal_type, _ := this.GetInt64("person_seal_type")
  113. person_seal_name := this.GetString("person_seal_name")
  114. person_seal_base := this.GetString("person_seal_base")
  115. color, _ := this.GetInt64("color")
  116. alpha, _ := this.GetInt64("alpha")
  117. width, _ := this.GetInt64("width")
  118. height, _ := this.GetInt64("height")
  119. border, _ := this.GetInt64("border")
  120. font_type, _ := this.GetInt64("font_type")
  121. sign, personSealId := service.CreatePersionSeal(user_id, person_seal_type, person_seal_name, person_seal_base, color, alpha, width, height, border, font_type)
  122. var dat map[string]interface{}
  123. if err := json.Unmarshal([]byte(sign), &dat); err == nil {
  124. fmt.Println(dat)
  125. } else {
  126. fmt.Println(err)
  127. }
  128. this.ServeSuccessJSON(map[string]interface{}{
  129. "sign": sign,
  130. "dat": dat,
  131. "personSealId": personSealId,
  132. })
  133. return
  134. }
  135. func (this *SignApiController) CreateUploadPact() {
  136. contractcode := this.GetString("contractcode")
  137. contractname := this.GetString("contractname")
  138. signcount, _ := this.GetInt64("signcount")
  139. docname := this.GetString("docname")
  140. contractbase := this.GetString("contractbase")
  141. creator := this.GetString("creator")
  142. enterpriseid := this.GetString("enterpriseid")
  143. signvalidays, _ := this.GetInt64("signvalidays")
  144. sysncurl := this.GetString("sysncurl")
  145. asyncurl := this.GetString("asyncurl")
  146. sign := service.CreateUploadPact(contractcode, contractname, signcount, docname, contractbase, creator, enterpriseid, signvalidays, sysncurl, asyncurl)
  147. this.ServeSuccessJSON(map[string]interface{}{
  148. "sign": sign,
  149. })
  150. return
  151. }
  152. // 添加企业成员
  153. func (this *SignApiController) CreateUserId() {
  154. userId := this.GetString("userId")
  155. displayName := this.GetString("displayName")
  156. sign := service.CreateUserId(userId, displayName)
  157. this.ServeSuccessJSON(map[string]interface{}{
  158. "sign": sign,
  159. })
  160. return
  161. }
  162. func (this *SignApiController) CreateEnterPriseRealName() {
  163. enterprisename := this.GetString("enterprisename")
  164. sign := service.CreateEnterPriseRealName(enterprisename)
  165. this.ServeSuccessJSON(map[string]interface{}{
  166. "sign": sign,
  167. })
  168. return
  169. }
  170. // 添加合同签署人
  171. func (this *SignApiController) AddContractSignatory() {
  172. contractId := this.GetString("contractId")
  173. signers := this.GetString("signers")
  174. var newContract models.NewContract
  175. newContract.ContractId = "156001444267295949"
  176. sign := service.AddContractSignatory(contractId, signers, newContract)
  177. this.ServeSuccessJSON(map[string]interface{}{
  178. "sign": sign,
  179. })
  180. return
  181. }
  182. type Struct2401 struct {
  183. someTimestampStyle []someTimestampStyle
  184. }
  185. type someTimestampStyle struct {
  186. ControlsKey string
  187. Pattern string
  188. Color string
  189. }
  190. func (this *SignApiController) CreateBackStageSign() {
  191. contractId := this.GetString("contractId")
  192. signers := this.GetString("signers")
  193. sign := service.CreateBackStageSign(contractId, signers)
  194. this.ServeSuccessJSON(map[string]interface{}{
  195. "sign": sign,
  196. })
  197. return
  198. }
  199. func (this *SignApiController) GetVerificationCode() {
  200. sign := service.GetVerificationCode()
  201. this.ServeSuccessJSON(map[string]interface{}{
  202. "sign": sign,
  203. })
  204. return
  205. }
  206. func (this *SignApiController) CreateEnterprise() {
  207. sign := service.CreateEnterprise()
  208. this.ServeSuccessJSON(map[string]interface{}{
  209. "sign": sign,
  210. })
  211. return
  212. }
  213. func (this *SignApiController) GetTestThrityMent() {
  214. pdf := gofpdf.New("P", "mm", "A4", "")
  215. pdf.AddPage()
  216. pdf.SetFont("Arial", "B", 16)
  217. pdf.Cell(40, 10, "Hello, World!")
  218. pdf.OutputFileAndClose("output.pdf")
  219. this.ServeSuccessJSON(map[string]interface{}{
  220. "sign": "msg",
  221. })
  222. return
  223. }
  224. func loremList() []string {
  225. return []string{
  226. "我爱你中国" +
  227. "tempor incididunt ut labore et dolore magna aliqua.",
  228. "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " +
  229. "aliquip ex ea commodo consequat.",
  230. "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum " +
  231. "dolore eu fugiat nulla pariatur.",
  232. "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui " +
  233. "officia deserunt mollit anim id est laborum.",
  234. }
  235. }
  236. func (this *SignApiController) SaveEnerprise() {
  237. orgId := this.GetAdminUserInfo().CurrentOrgId
  238. creater := this.GetAdminUserInfo().AdminUser.Id
  239. dataBody := make(map[string]interface{}, 0)
  240. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  241. fmt.Println("err", err)
  242. id := int64(dataBody["id"].(float64))
  243. org_type := int64(dataBody["org_type"].(float64))
  244. enterprise_name := dataBody["enterprise_name"].(string)
  245. code := dataBody["code"].(string)
  246. org_code := dataBody["org_code"].(string)
  247. legal_person_name := dataBody["legal_person_name"].(string)
  248. legal_id_card_num := dataBody["legal_id_card_num"].(string)
  249. legal_phone := dataBody["legal_phone"].(string)
  250. enterprise := models.XtDeviceEnterprise{
  251. ID: id,
  252. UserOrgId: orgId,
  253. OrgType: org_type,
  254. EnterpriseName: enterprise_name,
  255. Code: code,
  256. OrgCode: org_code,
  257. LegalPersonName: legal_person_name,
  258. LegalIdCardNum: legal_id_card_num,
  259. LegalPhone: legal_phone,
  260. Creater: creater,
  261. Ctime: time.Now().Unix(),
  262. Mtime: 0,
  263. Enterpriseid: "",
  264. Status: 1,
  265. }
  266. service.SaveEnerPrise(enterprise)
  267. //查找该机构有没有认证信息
  268. lastenterprise, _ := service.GetEnterPriseByUserOrgId(orgId)
  269. //调用企业认证接口
  270. if lastenterprise.ID > 0 {
  271. enterPrise, enterpriseid := service.CreateNewEnterPriseRealName(lastenterprise)
  272. fmt.Println("enterprise2ooo2oo2o2o2o", enterPrise)
  273. updateEnterprise := models.XtDeviceEnterprise{
  274. ID: enterprise.ID,
  275. UserOrgId: orgId,
  276. OrgType: org_type,
  277. EnterpriseName: enterprise_name,
  278. Code: code,
  279. OrgCode: org_code,
  280. LegalPersonName: legal_person_name,
  281. LegalIdCardNum: legal_id_card_num,
  282. LegalPhone: legal_phone,
  283. Creater: creater,
  284. Ctime: time.Now().Unix(),
  285. Mtime: 0,
  286. Enterpriseid: enterpriseid,
  287. Status: 1,
  288. }
  289. service.SaveEnerPrise(updateEnterprise)
  290. this.ServeSuccessJSON(map[string]interface{}{
  291. "enterPrise": enterPrise,
  292. })
  293. return
  294. }
  295. }
  296. func (this *SignApiController) GetEnerPriseById() {
  297. orgId := this.GetAdminUserInfo().CurrentOrgId
  298. enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
  299. this.ServeSuccessJSON(map[string]interface{}{
  300. "enterPrise": enterPrise,
  301. })
  302. return
  303. }
  304. func (this *SignApiController) GetMobileCode() {
  305. phone := this.GetString("phone")
  306. sign, orderNumber := service.GetNewSignNameByPhone(phone)
  307. this.ServeSuccessJSON(map[string]interface{}{
  308. "sign": sign,
  309. "orderNumber": orderNumber,
  310. })
  311. return
  312. }
  313. func (this *SignApiController) GetPersionEnterPrise() {
  314. orgId := this.GetAdminUserInfo().CurrentOrgId
  315. creater := this.GetAdminUserInfo().AdminUser.Id
  316. dataBody := make(map[string]interface{}, 0)
  317. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  318. fmt.Println("err", err)
  319. id := int64(dataBody["id"].(float64))
  320. admin_user_id := int64(dataBody["admin_user_id"].(float64))
  321. code := dataBody["code"].(string)
  322. display_name := dataBody["display_name"].(string)
  323. id_card_num := dataBody["id_card_num"].(string)
  324. phone := dataBody["phone"].(string)
  325. enterprise := models.XtDevicePersonEnterprise{
  326. ID: id,
  327. AdminUserId: admin_user_id,
  328. DisplayName: display_name,
  329. Phone: phone,
  330. IdCardNum: id_card_num,
  331. UserOrgId: orgId,
  332. Status: 1,
  333. Creater: creater,
  334. Ctime: time.Now().Unix(),
  335. Mtime: 0,
  336. UserId: "",
  337. }
  338. service.SavePersonEnterPrise(enterprise)
  339. lastEnterPrise, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  340. _, orderNumber := service.GetNewSignNameByPhone(phone)
  341. personEnterPrse, UserId := service.CreateNewUserName(lastEnterPrise.Phone, lastEnterPrise.DisplayName, code, orderNumber, lastEnterPrise.IdCardNum)
  342. firstenterprise := models.XtDevicePersonEnterprise{
  343. ID: id,
  344. AdminUserId: admin_user_id,
  345. DisplayName: display_name,
  346. Phone: phone,
  347. IdCardNum: id_card_num,
  348. UserOrgId: orgId,
  349. Status: 1,
  350. Creater: creater,
  351. Ctime: time.Now().Unix(),
  352. Mtime: 0,
  353. UserId: UserId,
  354. }
  355. service.SavePersonEnterPrise(firstenterprise)
  356. this.ServeSuccessJSON(map[string]interface{}{
  357. "personEnterPrse": personEnterPrse,
  358. })
  359. return
  360. }
  361. func (this *SignApiController) GetPerseEnterPriseById() {
  362. orgId := this.GetAdminUserInfo().CurrentOrgId
  363. admin_user_id, _ := this.GetInt64("admin_user_id")
  364. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  365. this.ServeSuccessJSON(map[string]interface{}{
  366. "lastPerson": lastPerson,
  367. })
  368. return
  369. }
  370. func (this *SignApiController) CreateNewPersionSeal() {
  371. orgId := this.GetAdminUserInfo().CurrentOrgId
  372. admin_user_id, _ := this.GetInt64("admin_user_id")
  373. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  374. //personSeal, personSealId := service.CreateNewPersionSeal(lastPerson.UserId)
  375. personSeal, personSealId := service.CreateSKDPersionSeal(lastPerson.UserId)
  376. service.UpdatePerseEnterPriseById(lastPerson.ID, personSealId)
  377. this.ServeSuccessJSON(map[string]interface{}{
  378. "personSeal": personSeal,
  379. })
  380. return
  381. }
  382. func (this *SignApiController) CreateNewEnterPrise() {
  383. //orgId := this.GetAdminUserInfo().CurrentOrgId
  384. //
  385. //admin_user_id, _ := this.GetInt64("admin_user_id")
  386. //
  387. //enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
  388. //fmt.Println("地址日活", enterPrise.Enterpriseid)
  389. //lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  390. //
  391. //newEnterPrise, sealId := service.CreateNewEnterPrise(enterPrise.Enterpriseid, lastPerson.UserId)
  392. //
  393. //fmt.Println("newEnterPrise",newEnterPrise)
  394. //service.UpdatePersonEnterPrise(lastPerson.ID, sealId)
  395. newEnterPrise, _ := service.CreateSDKEnterPrise()
  396. //var url string
  397. //url = "http://localhost:8890/sdk/seal/createEnterpriseSeal"
  398. //appId := beego.AppConfig.String("sign_appid")
  399. //
  400. //serviceKye := beego.AppConfig.String("serviceKye")
  401. //
  402. //serviceCode := beego.AppConfig.String("serviceCode")
  403. //
  404. //maprequest := make(map[string]interface{})
  405. //
  406. //maprequest["sealType"] = 1
  407. //maprequest["enterpriseName"] = "深圳伊森时光科技有限公司"
  408. //maprequest["horizontalText"] = "财务专用章"
  409. //
  410. //byterequest, _ := json.Marshal(maprequest)
  411. //reader := bytes.NewReader(byterequest)
  412. //
  413. //signatureStr, _ := service.GenerateHMACSHA1SignatureTwo(maprequest, serviceKye, serviceCode)
  414. //fmt.Println("signatureStr", signatureStr)
  415. //request, err := http.NewRequest("POST", url, reader)
  416. //
  417. //fmt.Println("request23222222222222222", request)
  418. //if err != nil {
  419. // fmt.Println(err.Error())
  420. //}
  421. //
  422. //request.Header.Set("appId", appId)
  423. //request.Header.Set("serviceCode", serviceCode)
  424. //request.Header.Set("Content-Type", "application/json;charset=UTF-8")
  425. //request.Header.Set("Content-Signature", signatureStr)
  426. //client := http.Client{}
  427. //
  428. //resp, err := client.Do(request)
  429. //if err != nil {
  430. // fmt.Println(err.Error())
  431. //
  432. //}
  433. //respBytes, err := ioutil.ReadAll(resp.Body)
  434. //if err != nil {
  435. // fmt.Println(err.Error())
  436. //
  437. //}
  438. //str := string(respBytes)
  439. //fmt.Println("strwowowowowo", str)
  440. //
  441. //var respJSON map[string]interface{}
  442. //if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
  443. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  444. //}
  445. this.ServeSuccessJSON(map[string]interface{}{
  446. "newEnterPrise": newEnterPrise,
  447. })
  448. return
  449. }
  450. func (this *SignApiController) GetContractId() {
  451. sign := service.GetContractId()
  452. this.ServeSuccessJSON(map[string]interface{}{
  453. "sign": sign,
  454. })
  455. return
  456. }
  457. func (this *SignApiController) EndEnterPrise() {
  458. sign := service.EndEnterPrise()
  459. this.ServeSuccessJSON(map[string]interface{}{
  460. "sign": sign,
  461. })
  462. return
  463. }
  464. func (this *SignApiController) GetEnterPriseDetail() {
  465. sign, url := service.GetEnterPriseDetail()
  466. this.ServeSuccessJSON(map[string]interface{}{
  467. "sign": sign,
  468. "url": url,
  469. })
  470. return
  471. }
  472. func (this *SignApiController) UploadPrintOrder() {
  473. dataBody := make(map[string]interface{}, 0)
  474. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  475. fmt.Println("err", err)
  476. name := dataBody["name"].(string)
  477. sign := service.CreateNewUploadPact(name)
  478. this.ServeSuccessJSON(map[string]interface{}{
  479. "sign": sign,
  480. })
  481. }
  482. func (this *SignApiController) CreateQianshuUserName() {
  483. sign, userId := service.CreateQianshuUserName()
  484. this.ServeSuccessJSON(map[string]interface{}{
  485. "sign": sign,
  486. "userId": userId,
  487. })
  488. }
  489. func (this *SignApiController) CreateSdkSendInformation() {
  490. information, orderId := service.CreateSdkSendInformation()
  491. this.ServeSuccessJSON(map[string]interface{}{
  492. "information": information,
  493. "orderId": orderId,
  494. })
  495. }