package api import ( "encoding/json" "entity" "fmt" "github.com/gin-gonic/gin" "io/ioutil" "net/http" "service" "spirit/model" ) type InvoiceController struct { Data interface{} } var ( InvoiceService = &service.InvoiceService{} ) func (u *InvoiceController) Router(router *gin.Engine) { eleGroup := router.Group("/Invoice") { eleGroup.POST("/Add", InvoiceAdd) // 发票开具 eleGroup.POST("/Download", InvoiceDownload) // 发票下载 eleGroup.GET("/See", InvoiceSee) // 查看发票 eleGroup.POST("/RedSubmit", InvoiceRedSubmit) // 退票 eleGroup.POST("/Replace", InvoiceReplace) // 换票 } } func InvoiceAdd(context *gin.Context) { result := &model.BaseResult{} data, _ := ioutil.ReadAll(context.Request.Body) var dat *entity.Invoice if err := json.Unmarshal([]byte(data), &dat); err == nil { fmt.Println("==============json str 转map=======================") } msg, code, dataMap := InvoiceService.InvoiceAdd(dat, "", 0, "false") result.Msg = msg if code == 3 { result.Code = 2 } else { result.Code = code } result.Data = dataMap context.JSON(http.StatusOK, result) } func InvoiceDownload(context *gin.Context) { result := &model.BaseResult{} /*data, _ := ioutil.ReadAll(context.Request.Body) dat := make(map[string]interface{}) if err := json.Unmarshal([]byte(data), &dat); err == nil { fmt.Println("==============json str 转map=======================") } fmt.Println(dat["model"]) fmt.Println(dat["model"].(string)) Modelint, _ := strconv.Atoi(dat["model"].(string)) //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") result.Data=dataMap result.Code=code result.Msg=msg*/ context.JSON(http.StatusOK, result) } func InvoiceSee(context *gin.Context) { result := &model.BaseResult{} swno := context.Request.FormValue("swno") model := context.Request.FormValue("model") code, path, msg := InvoiceService.InvoiceSee(swno, entity.SaleTax, model) result.Data = path result.Msg = msg result.Code = code context.JSON(http.StatusOK, result) } //退票 func InvoiceRedSubmit(context *gin.Context) { result := &model.BaseResult{} data, _ := ioutil.ReadAll(context.Request.Body) var dat *entity.RedSubmitJson if err := json.Unmarshal([]byte(data), &dat); err == nil { fmt.Println("==============json str 转map=======================") } solgan := entity.Invoice{ Yfphm: dat.Fphm, Yfpdm: dat.Fpdm, OrderCode: dat.OrderCode, Redcode: dat.Redcode, } msg, code, dataMap := InvoiceService.InvoiceRedSubmit(dat.Fpdm, dat.Fphm, dat.OrderCode, "refund", "0", 0, &solgan) result.Data = dataMap result.Msg = msg result.Code = code context.JSON(http.StatusOK, result) } //换票 func InvoiceReplace(context *gin.Context) { result := &model.BaseResult{} data, _ := ioutil.ReadAll(context.Request.Body) var dat *entity.Invoice if err := json.Unmarshal([]byte(data), &dat); err == nil { fmt.Println("==============json str 转map=======================") } msg, code, dataMap := InvoiceService.InvoiceReplace(dat, "changed") result.Data = dataMap result.Msg = msg result.Code = code context.JSON(http.StatusOK, result) }