package api import ( "encoding/json" "entity" "fmt" "github.com/gin-gonic/gin" "io/ioutil" "net/http" "service" "spirit/model" "strconv" "strings" ) 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) result.Msg=msg 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) 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") code,path,msg:=InvoiceService.InvoiceSee(swno,entity.SaleTax) 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=======================") } msg,code,dataMap:=InvoiceService.InvoiceRedSubmit(dat.Fpdm,dat.Fphm) 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) result.Data=dataMap result.Msg=msg result.Code=code context.JSON(http.StatusOK, result) }