InvoiceController.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package api
  2. import (
  3. "encoding/json"
  4. "entity"
  5. "fmt"
  6. "github.com/gin-gonic/gin"
  7. "io/ioutil"
  8. "net/http"
  9. "service"
  10. "spirit/model"
  11. )
  12. type InvoiceController struct {
  13. Data interface{}
  14. }
  15. var (
  16. InvoiceService = &service.InvoiceService{}
  17. )
  18. func (u *InvoiceController) Router(router *gin.Engine) {
  19. eleGroup := router.Group("/Invoice")
  20. {
  21. eleGroup.POST("/Add", InvoiceAdd) // 发票开具
  22. eleGroup.POST("/Download", InvoiceDownload) // 发票下载
  23. eleGroup.GET("/See", InvoiceSee) // 查看发票
  24. eleGroup.POST("/RedSubmit", InvoiceRedSubmit) // 退票
  25. eleGroup.POST("/Replace", InvoiceReplace) // 换票
  26. }
  27. }
  28. func InvoiceAdd(context *gin.Context) {
  29. result := &model.BaseResult{}
  30. data, _ := ioutil.ReadAll(context.Request.Body)
  31. var dat *entity.Invoice
  32. if err := json.Unmarshal([]byte(data), &dat); err == nil {
  33. fmt.Println("==============json str 转map=======================")
  34. }
  35. msg, code, dataMap := InvoiceService.InvoiceAdd(dat, "", 0, "false")
  36. result.Msg = msg
  37. if code == 3 {
  38. result.Code = 2
  39. } else {
  40. result.Code = code
  41. }
  42. result.Data = dataMap
  43. context.JSON(http.StatusOK, result)
  44. }
  45. func InvoiceDownload(context *gin.Context) {
  46. result := &model.BaseResult{}
  47. /*data, _ := ioutil.ReadAll(context.Request.Body)
  48. dat := make(map[string]interface{})
  49. if err := json.Unmarshal([]byte(data), &dat); err == nil {
  50. fmt.Println("==============json str 转map=======================")
  51. }
  52. fmt.Println(dat["model"])
  53. fmt.Println(dat["model"].(string))
  54. Modelint, _ := strconv.Atoi(dat["model"].(string))
  55. //dataMap,code,msg:=InvoiceService.InvoiceDownload(strings.Replace(fmt.Sprintln(dat["swno"]), "\n", "", -1),strings.Replace(fmt.Sprintln(dat["saleTax"]), "\n", "", -1),Modelint,0,0,"0")
  56. result.Data=dataMap
  57. result.Code=code
  58. result.Msg=msg*/
  59. context.JSON(http.StatusOK, result)
  60. }
  61. func InvoiceSee(context *gin.Context) {
  62. result := &model.BaseResult{}
  63. swno := context.Request.FormValue("swno")
  64. model := context.Request.FormValue("model")
  65. code, path, msg := InvoiceService.InvoiceSee(swno, entity.SaleTax, model)
  66. result.Data = path
  67. result.Msg = msg
  68. result.Code = code
  69. context.JSON(http.StatusOK, result)
  70. }
  71. //退票
  72. func InvoiceRedSubmit(context *gin.Context) {
  73. result := &model.BaseResult{}
  74. data, _ := ioutil.ReadAll(context.Request.Body)
  75. var dat *entity.RedSubmitJson
  76. if err := json.Unmarshal([]byte(data), &dat); err == nil {
  77. fmt.Println("==============json str 转map=======================")
  78. }
  79. solgan := entity.Invoice{
  80. Yfphm: dat.Fphm,
  81. Yfpdm: dat.Fpdm,
  82. OrderCode: dat.OrderCode,
  83. Redcode: dat.Redcode,
  84. }
  85. msg, code, dataMap := InvoiceService.InvoiceRedSubmit(dat.Fpdm, dat.Fphm, dat.OrderCode, "refund", "0", 0, &solgan)
  86. result.Data = dataMap
  87. result.Msg = msg
  88. result.Code = code
  89. context.JSON(http.StatusOK, result)
  90. }
  91. //换票
  92. func InvoiceReplace(context *gin.Context) {
  93. result := &model.BaseResult{}
  94. data, _ := ioutil.ReadAll(context.Request.Body)
  95. var dat *entity.Invoice
  96. if err := json.Unmarshal([]byte(data), &dat); err == nil {
  97. fmt.Println("==============json str 转map=======================")
  98. }
  99. msg, code, dataMap := InvoiceService.InvoiceReplace(dat, "changed")
  100. result.Data = dataMap
  101. result.Msg = msg
  102. result.Code = code
  103. context.JSON(http.StatusOK, result)
  104. }