package controllers import ( "XT_New/enums" "XT_New/models" "XT_New/service" "XT_New/service/fapiao" "XT_New/utils" "fmt" "github.com/astaxie/beego" "github.com/gaodengyun/goldencloud-sdk-go/goldencloud/common" "github.com/gaodengyun/goldencloud-sdk-go/goldencloud/invoice" "time" ) type FapiaoApiController struct { BaseAuthAPIController } func FaPiaoApiRegistRouters() { beego.Router("/api/fapiao/sms/code", &FapiaoApiController{}, "get:GetLoginUploadCode") beego.Router("/api/fapiao/sms/login", &FapiaoApiController{}, "get:Login") beego.Router("/api/fapiao/qrcode/get", &FapiaoApiController{}, "get:GetQRCode") beego.Router("/api/fapiao/stock/get", &FapiaoApiController{}, "get:GetFaPiaoStock") beego.Router("/api/fapiao/blue", &FapiaoApiController{}, "get:OpenFaPiao") beego.Router("/api/fapiao/red", &FapiaoApiController{}, "get:RedFaPiao") beego.Router("/api/order/fapiao/list", &FapiaoApiController{}, "get:GetOrderFaPiaoList") beego.Router("/api/fapiao/list", &FapiaoApiController{}, "get:GetFaPiaoList") } func (c *FapiaoApiController) GetFaPiaoList() { page, _ := c.GetInt64("page", -1) limit, _ := c.GetInt64("limit", -1) start_time := c.GetString("start_time") end_time := c.GetString("end_time") timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var startTime int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { //fmt.Println(err) c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } startTime = theTime.Unix() } var endTime int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } endTime = theTime.Unix() } adminUser := c.GetAdminUserInfo() org_id := adminUser.CurrentOrgId order, err, total := service.GetFaPiaoList(org_id, page, limit, startTime, endTime) if err == nil { c.ServeSuccessJSON(map[string]interface{}{ "order": order, "total": total, }) } else { c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } } func (c *FapiaoApiController) GetOrderFaPiaoList() { page, _ := c.GetInt64("page", -1) limit, _ := c.GetInt64("limit", -1) start_time := c.GetString("start_time") end_time := c.GetString("end_time") is_open_fapiao, _ := c.GetInt64("is_open_fapiao", 0) sort_type, _ := c.GetInt64("sort_type", 0) patient_id, _ := c.GetInt64("patient_id", 0) timeLayout := "2006-01-02" loc, _ := time.LoadLocation("Local") var startTime int64 if len(start_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc) if err != nil { //fmt.Println(err) c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } startTime = theTime.Unix() } var endTime int64 if len(end_time) > 0 { theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc) if err != nil { utils.ErrorLog(err.Error()) c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } endTime = theTime.Unix() } adminUser := c.GetAdminUserInfo() org_id := adminUser.CurrentOrgId order, err, total := service.GetFaPiaoSettleList(org_id, page, limit, startTime, endTime, sort_type, start_time, end_time, is_open_fapiao, patient_id) if err == nil { c.ServeSuccessJSON(map[string]interface{}{ "order": order, "total": total, }) } else { c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } } func (c *FapiaoApiController) GetLoginUploadCode() { sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") var config models.FapiaoConfig config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId) routerAddress, postData := fapiao.GetSMSCode(config) //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } } func (c *FapiaoApiController) Login() { GetQRStatus(c.GetAdminUserInfo().CurrentOrgId) code := c.GetString("code") var config models.FapiaoConfig config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId) sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") routerAddress, postData := fapiao.Login(code, config) //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } } func (c *FapiaoApiController) GetQRCode() { sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") var config models.FapiaoConfig config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId) routerAddress, postData := fapiao.GetQRCode(config) //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } } func (c *FapiaoApiController) GetFaPiaoStock() { sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") var config models.FapiaoConfig config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId) routerAddress, postData := fapiao.QueryStock(config) //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } } func (c *FapiaoApiController) OpenFaPiao() { GetQRStatus(c.GetAdminUserInfo().CurrentOrgId) sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") var config models.FapiaoConfig config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId) routerAddress, postData := fapiao.Blue(config) //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } } func (c *FapiaoApiController) RedFaPiao() { GetQRStatus(c.GetAdminUserInfo().CurrentOrgId) sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") //var config models.FapiaoConfig //config, _ = service.FindFaPiaoConfigInfo(c.GetAdminUserInfo().CurrentOrgId) routerAddress, postData := fapiao.Red() //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } } func GetQRStatus(org_id int64) { redis := service.RedisClient() defer redis.Close() sdk := invoice.NewSdk(common.HMAC_SHA256, "8ca4ee7b152c0abceff9", "17402aff152dbeedf7a7b30be553f4c4", "", "test") var config models.FapiaoConfig config, _ = service.FindFaPiaoConfigInfo(org_id) routerAddress, postData := fapiao.GetQRStatus("", config) //发票开具 r, err := sdk.HttpPost("https://apigw-test.goldentec.com", routerAddress, postData) if err != nil { fmt.Println(err) } else { fmt.Println(string(r)) } }