sign_api_controller.go 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575
  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. }
  51. // 短信服务接口
  52. func (this *SignApiController) GetSign() {
  53. phone := this.GetString("phone")
  54. fmt.Println("phone", phone)
  55. var tempphone string
  56. tempphone = "13318464642"
  57. sign := service.GetSignNameByPhone(tempphone)
  58. this.ServeSuccessJSON(map[string]interface{}{
  59. "sign": sign,
  60. })
  61. return
  62. }
  63. type Result2121 struct {
  64. Phone string `json:"phone"`
  65. DisPlayName string `json:"dis_play_name"`
  66. Authentication string `json:"authentication"`
  67. TwAuthReq struct {
  68. OneLineAuth string `json:"oneLineAuth"`
  69. ApiAuthReq struct {
  70. RealName float64 `json:"real_name"`
  71. IdCardType string `json:"id_card_type"`
  72. IdCardNum string `json:"id_card_num"`
  73. BankCard string `json:"bank_card"`
  74. CodeNumber string `json:"code_number"`
  75. VerifyCode string `json:"verify_code"`
  76. } `json:"apiAuthReq"`
  77. } `json:"twAuthReq"`
  78. }
  79. type MapData struct {
  80. dat struct {
  81. Code float64 `json:"code"`
  82. data struct {
  83. userId string `json:"userId"`
  84. }
  85. }
  86. }
  87. // 创建个人用户并实名
  88. func (this *SignApiController) CreateUserName() {
  89. phone := this.GetString("phone")
  90. disPlayName := this.GetString("disPlayName")
  91. sign, userId := service.CreateUserName(phone, disPlayName)
  92. var dat map[string]interface{}
  93. if err := json.Unmarshal([]byte(sign), &dat); err == nil {
  94. fmt.Println(dat)
  95. } else {
  96. fmt.Println(err)
  97. }
  98. this.ServeSuccessJSON(map[string]interface{}{
  99. "sign": sign,
  100. "dat": dat,
  101. "userId": userId,
  102. })
  103. return
  104. }
  105. // 创建个人印章
  106. func (this *SignApiController) CreatePersionSeal() {
  107. user_id := this.GetString("user_id")
  108. person_seal_type, _ := this.GetInt64("person_seal_type")
  109. person_seal_name := this.GetString("person_seal_name")
  110. person_seal_base := this.GetString("person_seal_base")
  111. color, _ := this.GetInt64("color")
  112. alpha, _ := this.GetInt64("alpha")
  113. width, _ := this.GetInt64("width")
  114. height, _ := this.GetInt64("height")
  115. border, _ := this.GetInt64("border")
  116. font_type, _ := this.GetInt64("font_type")
  117. sign, personSealId := service.CreatePersionSeal(user_id, person_seal_type, person_seal_name, person_seal_base, color, alpha, width, height, border, font_type)
  118. var dat map[string]interface{}
  119. if err := json.Unmarshal([]byte(sign), &dat); err == nil {
  120. fmt.Println(dat)
  121. } else {
  122. fmt.Println(err)
  123. }
  124. this.ServeSuccessJSON(map[string]interface{}{
  125. "sign": sign,
  126. "dat": dat,
  127. "personSealId": personSealId,
  128. })
  129. return
  130. }
  131. func (this *SignApiController) CreateUploadPact() {
  132. contractcode := this.GetString("contractcode")
  133. contractname := this.GetString("contractname")
  134. signcount, _ := this.GetInt64("signcount")
  135. docname := this.GetString("docname")
  136. contractbase := this.GetString("contractbase")
  137. creator := this.GetString("creator")
  138. enterpriseid := this.GetString("enterpriseid")
  139. signvalidays, _ := this.GetInt64("signvalidays")
  140. sysncurl := this.GetString("sysncurl")
  141. asyncurl := this.GetString("asyncurl")
  142. sign := service.CreateUploadPact(contractcode, contractname, signcount, docname, contractbase, creator, enterpriseid, signvalidays, sysncurl, asyncurl)
  143. this.ServeSuccessJSON(map[string]interface{}{
  144. "sign": sign,
  145. })
  146. return
  147. }
  148. // 添加企业成员
  149. func (this *SignApiController) CreateUserId() {
  150. userId := this.GetString("userId")
  151. displayName := this.GetString("displayName")
  152. sign := service.CreateUserId(userId, displayName)
  153. this.ServeSuccessJSON(map[string]interface{}{
  154. "sign": sign,
  155. })
  156. return
  157. }
  158. func (this *SignApiController) CreateEnterPriseRealName() {
  159. enterprisename := this.GetString("enterprisename")
  160. sign := service.CreateEnterPriseRealName(enterprisename)
  161. this.ServeSuccessJSON(map[string]interface{}{
  162. "sign": sign,
  163. })
  164. return
  165. }
  166. // 添加合同签署人
  167. func (this *SignApiController) AddContractSignatory() {
  168. contractId := this.GetString("contractId")
  169. signers := this.GetString("signers")
  170. var newContract models.NewContract
  171. newContract.ContractId = "156001444267295949"
  172. sign := service.AddContractSignatory(contractId, signers, newContract)
  173. this.ServeSuccessJSON(map[string]interface{}{
  174. "sign": sign,
  175. })
  176. return
  177. }
  178. type Struct2401 struct {
  179. someTimestampStyle []someTimestampStyle
  180. }
  181. type someTimestampStyle struct {
  182. ControlsKey string
  183. Pattern string
  184. Color string
  185. }
  186. func (this *SignApiController) CreateBackStageSign() {
  187. contractId := this.GetString("contractId")
  188. signers := this.GetString("signers")
  189. sign := service.CreateBackStageSign(contractId, signers)
  190. this.ServeSuccessJSON(map[string]interface{}{
  191. "sign": sign,
  192. })
  193. return
  194. }
  195. func (this *SignApiController) GetVerificationCode() {
  196. sign := service.GetVerificationCode()
  197. this.ServeSuccessJSON(map[string]interface{}{
  198. "sign": sign,
  199. })
  200. return
  201. }
  202. func (this *SignApiController) CreateEnterprise() {
  203. sign := service.CreateEnterprise()
  204. this.ServeSuccessJSON(map[string]interface{}{
  205. "sign": sign,
  206. })
  207. return
  208. }
  209. func (this *SignApiController) GetTestThrityMent() {
  210. pdf := gofpdf.New("P", "mm", "A4", "")
  211. pdf.AddPage()
  212. pdf.SetFont("Arial", "B", 16)
  213. pdf.Cell(40, 10, "Hello, World!")
  214. pdf.OutputFileAndClose("output.pdf")
  215. this.ServeSuccessJSON(map[string]interface{}{
  216. "sign": "msg",
  217. })
  218. return
  219. }
  220. func loremList() []string {
  221. return []string{
  222. "我爱你中国" +
  223. "tempor incididunt ut labore et dolore magna aliqua.",
  224. "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " +
  225. "aliquip ex ea commodo consequat.",
  226. "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum " +
  227. "dolore eu fugiat nulla pariatur.",
  228. "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui " +
  229. "officia deserunt mollit anim id est laborum.",
  230. }
  231. }
  232. func (this *SignApiController) SaveEnerprise() {
  233. orgId := this.GetAdminUserInfo().CurrentOrgId
  234. creater := this.GetAdminUserInfo().AdminUser.Id
  235. dataBody := make(map[string]interface{}, 0)
  236. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  237. fmt.Println("err", err)
  238. id := int64(dataBody["id"].(float64))
  239. org_type := int64(dataBody["org_type"].(float64))
  240. enterprise_name := dataBody["enterprise_name"].(string)
  241. code := dataBody["code"].(string)
  242. org_code := dataBody["org_code"].(string)
  243. legal_person_name := dataBody["legal_person_name"].(string)
  244. legal_id_card_num := dataBody["legal_id_card_num"].(string)
  245. legal_phone := dataBody["legal_phone"].(string)
  246. enterprise := models.XtDeviceEnterprise{
  247. ID: id,
  248. UserOrgId: orgId,
  249. OrgType: org_type,
  250. EnterpriseName: enterprise_name,
  251. Code: code,
  252. OrgCode: org_code,
  253. LegalPersonName: legal_person_name,
  254. LegalIdCardNum: legal_id_card_num,
  255. LegalPhone: legal_phone,
  256. Creater: creater,
  257. Ctime: time.Now().Unix(),
  258. Mtime: 0,
  259. Enterpriseid: "",
  260. Status: 1,
  261. }
  262. service.SaveEnerPrise(enterprise)
  263. //查找该机构有没有认证信息
  264. lastenterprise, _ := service.GetEnterPriseByUserOrgId(orgId)
  265. //调用企业认证接口
  266. if lastenterprise.ID > 0 {
  267. enterPrise, enterpriseid := service.CreateNewEnterPriseRealName(lastenterprise)
  268. fmt.Println("enterprise2ooo2oo2o2o2o", enterPrise)
  269. updateEnterprise := models.XtDeviceEnterprise{
  270. ID: enterprise.ID,
  271. UserOrgId: orgId,
  272. OrgType: org_type,
  273. EnterpriseName: enterprise_name,
  274. Code: code,
  275. OrgCode: org_code,
  276. LegalPersonName: legal_person_name,
  277. LegalIdCardNum: legal_id_card_num,
  278. LegalPhone: legal_phone,
  279. Creater: creater,
  280. Ctime: time.Now().Unix(),
  281. Mtime: 0,
  282. Enterpriseid: enterpriseid,
  283. Status: 1,
  284. }
  285. service.SaveEnerPrise(updateEnterprise)
  286. this.ServeSuccessJSON(map[string]interface{}{
  287. "enterPrise": enterPrise,
  288. })
  289. return
  290. }
  291. }
  292. func (this *SignApiController) GetEnerPriseById() {
  293. orgId := this.GetAdminUserInfo().CurrentOrgId
  294. enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
  295. this.ServeSuccessJSON(map[string]interface{}{
  296. "enterPrise": enterPrise,
  297. })
  298. return
  299. }
  300. func (this *SignApiController) GetMobileCode() {
  301. phone := this.GetString("phone")
  302. sign, orderNumber := service.GetNewSignNameByPhone(phone)
  303. this.ServeSuccessJSON(map[string]interface{}{
  304. "sign": sign,
  305. "orderNumber": orderNumber,
  306. })
  307. return
  308. }
  309. func (this *SignApiController) GetPersionEnterPrise() {
  310. orgId := this.GetAdminUserInfo().CurrentOrgId
  311. creater := this.GetAdminUserInfo().AdminUser.Id
  312. dataBody := make(map[string]interface{}, 0)
  313. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  314. fmt.Println("err", err)
  315. id := int64(dataBody["id"].(float64))
  316. admin_user_id := int64(dataBody["admin_user_id"].(float64))
  317. code := dataBody["code"].(string)
  318. display_name := dataBody["display_name"].(string)
  319. id_card_num := dataBody["id_card_num"].(string)
  320. phone := dataBody["phone"].(string)
  321. enterprise := models.XtDevicePersonEnterprise{
  322. ID: id,
  323. AdminUserId: admin_user_id,
  324. DisplayName: display_name,
  325. Phone: phone,
  326. IdCardNum: id_card_num,
  327. UserOrgId: orgId,
  328. Status: 1,
  329. Creater: creater,
  330. Ctime: time.Now().Unix(),
  331. Mtime: 0,
  332. UserId: "",
  333. }
  334. service.SavePersonEnterPrise(enterprise)
  335. lastEnterPrise, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  336. _, orderNumber := service.GetNewSignNameByPhone(phone)
  337. personEnterPrse, UserId := service.CreateNewUserName(lastEnterPrise.Phone, lastEnterPrise.DisplayName, code, orderNumber, lastEnterPrise.IdCardNum)
  338. firstenterprise := models.XtDevicePersonEnterprise{
  339. ID: id,
  340. AdminUserId: admin_user_id,
  341. DisplayName: display_name,
  342. Phone: phone,
  343. IdCardNum: id_card_num,
  344. UserOrgId: orgId,
  345. Status: 1,
  346. Creater: creater,
  347. Ctime: time.Now().Unix(),
  348. Mtime: 0,
  349. UserId: UserId,
  350. }
  351. service.SavePersonEnterPrise(firstenterprise)
  352. this.ServeSuccessJSON(map[string]interface{}{
  353. "personEnterPrse": personEnterPrse,
  354. })
  355. return
  356. }
  357. func (this *SignApiController) GetPerseEnterPriseById() {
  358. orgId := this.GetAdminUserInfo().CurrentOrgId
  359. admin_user_id, _ := this.GetInt64("admin_user_id")
  360. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  361. this.ServeSuccessJSON(map[string]interface{}{
  362. "lastPerson": lastPerson,
  363. })
  364. return
  365. }
  366. func (this *SignApiController) CreateNewPersionSeal() {
  367. orgId := this.GetAdminUserInfo().CurrentOrgId
  368. admin_user_id, _ := this.GetInt64("admin_user_id")
  369. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  370. personSeal, personSealId := service.CreateNewPersionSeal(lastPerson.UserId)
  371. service.UpdatePerseEnterPriseById(lastPerson.ID, personSealId)
  372. this.ServeSuccessJSON(map[string]interface{}{
  373. "personSeal": personSeal,
  374. })
  375. return
  376. }
  377. func (this *SignApiController) CreateNewEnterPrise() {
  378. orgId := this.GetAdminUserInfo().CurrentOrgId
  379. admin_user_id, _ := this.GetInt64("admin_user_id")
  380. enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
  381. fmt.Println("地址日活", enterPrise.Enterpriseid)
  382. lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
  383. newEnterPrise, sealId := service.CreateNewEnterPrise(enterPrise.Enterpriseid, lastPerson.UserId)
  384. service.UpdatePersonEnterPrise(lastPerson.ID, sealId)
  385. this.ServeSuccessJSON(map[string]interface{}{
  386. "newEnterPrise": newEnterPrise,
  387. })
  388. return
  389. }
  390. func (this *SignApiController) GetContractId() {
  391. sign := service.GetContractId()
  392. this.ServeSuccessJSON(map[string]interface{}{
  393. "sign": sign,
  394. })
  395. return
  396. }
  397. func (this *SignApiController) EndEnterPrise() {
  398. sign := service.EndEnterPrise()
  399. this.ServeSuccessJSON(map[string]interface{}{
  400. "sign": sign,
  401. })
  402. return
  403. }
  404. func (this *SignApiController) GetEnterPriseDetail() {
  405. sign, url := service.GetEnterPriseDetail()
  406. this.ServeSuccessJSON(map[string]interface{}{
  407. "sign": sign,
  408. "url": url,
  409. })
  410. return
  411. }
  412. func (this *SignApiController) UploadPrintOrder() {
  413. dataBody := make(map[string]interface{}, 0)
  414. err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
  415. fmt.Println("err", err)
  416. name := dataBody["name"].(string)
  417. sign := service.CreateNewUploadPact(name)
  418. this.ServeSuccessJSON(map[string]interface{}{
  419. "sign": sign,
  420. })
  421. }