fapiao_controller.go 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. package controllers
  2. import (
  3. "XT_New/enums"
  4. "XT_New/models"
  5. "XT_New/service"
  6. "XT_New/service/fapiao"
  7. "XT_New/utils"
  8. "fmt"
  9. "github.com/astaxie/beego"
  10. "github.com/gaodengyun/goldencloud-sdk-go/goldencloud/common"
  11. "github.com/gaodengyun/goldencloud-sdk-go/goldencloud/invoice"
  12. "time"
  13. )
  14. type FapiaoApiController struct {
  15. BaseAuthAPIController
  16. }
  17. func FaPiaoApiRegistRouters() {
  18. beego.Router("/api/fapiao/sms/code", &FapiaoApiController{}, "get:GetLoginUploadCode")
  19. beego.Router("/api/fapiao/sms/login", &FapiaoApiController{}, "get:Login")
  20. beego.Router("/api/fapiao/qrcode/get", &FapiaoApiController{}, "get:GetQRCode")
  21. beego.Router("/api/fapiao/stock/get", &FapiaoApiController{}, "get:GetFaPiaoStock")
  22. beego.Router("/api/fapiao/blue", &FapiaoApiController{}, "get:OpenFaPiao")
  23. beego.Router("/api/fapiao/red", &FapiaoApiController{}, "get:RedFaPiao")
  24. beego.Router("/api/order/fapiao/list", &FapiaoApiController{}, "get:GetOrderFaPiaoList")
  25. beego.Router("/api/fapiao/list", &FapiaoApiController{}, "get:GetFaPiaoList")
  26. }
  27. func (c *FapiaoApiController) GetFaPiaoList() {
  28. page, _ := c.GetInt64("page", -1)
  29. limit, _ := c.GetInt64("limit", -1)
  30. start_time := c.GetString("start_time")
  31. end_time := c.GetString("end_time")
  32. timeLayout := "2006-01-02"
  33. loc, _ := time.LoadLocation("Local")
  34. var startTime int64
  35. if len(start_time) > 0 {
  36. theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  37. if err != nil {
  38. //fmt.Println(err)
  39. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
  40. return
  41. }
  42. startTime = theTime.Unix()
  43. }
  44. var endTime int64
  45. if len(end_time) > 0 {
  46. theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  47. if err != nil {
  48. utils.ErrorLog(err.Error())
  49. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
  50. return
  51. }
  52. endTime = theTime.Unix()
  53. }
  54. adminUser := c.GetAdminUserInfo()
  55. org_id := adminUser.CurrentOrgId
  56. order, err, total := service.GetFaPiaoList(org_id, page, limit, startTime, endTime)
  57. if err == nil {
  58. c.ServeSuccessJSON(map[string]interface{}{
  59. "order": order,
  60. "total": total,
  61. })
  62. } else {
  63. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  64. return
  65. }
  66. }
  67. func (c *FapiaoApiController) GetOrderFaPiaoList() {
  68. page, _ := c.GetInt64("page", -1)
  69. limit, _ := c.GetInt64("limit", -1)
  70. start_time := c.GetString("start_time")
  71. end_time := c.GetString("end_time")
  72. is_open_fapiao, _ := c.GetInt64("is_open_fapiao", 0)
  73. sort_type, _ := c.GetInt64("sort_type", 0)
  74. patient_id, _ := c.GetInt64("patient_id", 0)
  75. timeLayout := "2006-01-02"
  76. loc, _ := time.LoadLocation("Local")
  77. var startTime int64
  78. if len(start_time) > 0 {
  79. theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  80. if err != nil {
  81. //fmt.Println(err)
  82. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
  83. return
  84. }
  85. startTime = theTime.Unix()
  86. }
  87. var endTime int64
  88. if len(end_time) > 0 {
  89. theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  90. if err != nil {
  91. utils.ErrorLog(err.Error())
  92. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
  93. return
  94. }
  95. endTime = theTime.Unix()
  96. }
  97. adminUser := c.GetAdminUserInfo()
  98. org_id := adminUser.CurrentOrgId
  99. order, err, total := service.GetFaPiaoSettleList(org_id, page, limit, startTime, endTime, sort_type, start_time, end_time, is_open_fapiao, patient_id)
  100. if err == nil {
  101. c.ServeSuccessJSON(map[string]interface{}{
  102. "order": order,
  103. "total": total,
  104. })
  105. } else {
  106. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  107. return
  108. }
  109. }
  110. func (c *FapiaoApiController) GetLoginUploadCode() {
  111. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  112. var config models.FapiaoConfig
  113. config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId)
  114. routerAddress, postData := fapiao.GetSMSCode(config) //发票开具
  115. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  116. if err != nil {
  117. fmt.Println(err)
  118. } else {
  119. fmt.Println(string(r))
  120. }
  121. }
  122. func (c *FapiaoApiController) Login() {
  123. GetQRStatus(c.GetAdminUserInfo().CurrentOrgId)
  124. code := c.GetString("code")
  125. var config models.FapiaoConfig
  126. config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId)
  127. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  128. routerAddress, postData := fapiao.Login(code, config) //发票开具
  129. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  130. if err != nil {
  131. fmt.Println(err)
  132. } else {
  133. fmt.Println(string(r))
  134. }
  135. }
  136. func (c *FapiaoApiController) GetQRCode() {
  137. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  138. var config models.FapiaoConfig
  139. config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId)
  140. routerAddress, postData := fapiao.GetQRCode(config) //发票开具
  141. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  142. if err != nil {
  143. fmt.Println(err)
  144. } else {
  145. fmt.Println(string(r))
  146. }
  147. }
  148. func (c *FapiaoApiController) GetFaPiaoStock() {
  149. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  150. var config models.FapiaoConfig
  151. config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId)
  152. routerAddress, postData := fapiao.QueryStock(config) //发票开具
  153. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  154. if err != nil {
  155. fmt.Println(err)
  156. } else {
  157. fmt.Println(string(r))
  158. }
  159. }
  160. func (c *FapiaoApiController) OpenFaPiao() {
  161. GetQRStatus(c.GetAdminUserInfo().CurrentOrgId)
  162. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  163. var config models.FapiaoConfig
  164. config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId)
  165. routerAddress, postData := fapiao.Blue(config) //发票开具
  166. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  167. if err != nil {
  168. fmt.Println(err)
  169. } else {
  170. fmt.Println(string(r))
  171. }
  172. }
  173. func (c *FapiaoApiController) RedFaPiao() {
  174. GetQRStatus(c.GetAdminUserInfo().CurrentOrgId)
  175. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  176. //var config models.FapiaoConfig
  177. //config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId)
  178. routerAddress, postData := fapiao.Red() //发票开具
  179. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  180. if err != nil {
  181. fmt.Println(err)
  182. } else {
  183. fmt.Println(string(r))
  184. }
  185. }
  186. func GetQRStatus(org_id int64) {
  187. redis := service.RedisClient()
  188. defer redis.Close()
  189. sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test")
  190. var config models.FapiaoConfig
  191. config, _ = service.FindFaPiaoConfigInfo(org_id)
  192. routerAddress, postData := fapiao.GetQRStatus("", config) //发票开具
  193. r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData)
  194. if err != nil {
  195. fmt.Println(err)
  196. } else {
  197. fmt.Println(string(r))
  198. }
  199. }