package controllers import ( "fmt" "io" "github.com/astaxie/beego" "git.rosy.net.cn/jx-callback/business/jxstore/financial" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/legacymodel" ) type FinancialController struct { beego.Controller } // @Title 发送文件给门店 // @Description 发送文件给门店,调用GET方法得到浏览器端参考的上传HTML实现,userfiles // @Param token header string true "认证token" // @Param isAsync query bool false "是否异步,缺省是同步" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /SendFilesToStores [post,get] func (c *FinancialController) SendFilesToStores() { if c.Ctx.Input.IsGet() { w := c.Ctx.ResponseWriter // 上传页面 w.Header().Add("Content-Type", "text/html") w.WriteHeader(200) html := `
` io.WriteString(w, html) } else if c.Ctx.Input.IsPost() { c.callSendFilesToStores(func(params *tFinancialSendFilesToStoresParams) (retVal interface{}, errCode string, err error) { r := c.Ctx.Request files := r.MultipartForm.File["userfiles"] retVal, err = financial.SendFilesToStores(params.Ctx, files, params.IsAsync, params.Ctx.GetUserName()) return retVal, "", err }) } } // @Title 查询门店账单 // @Description 查询门店账单 // @Param token header string true "认证token" // @Param storeID query int true "门店ID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetStoreBills [get] func (c *FinancialController) GetStoreBills() { c.callGetStoreBills(func(params *tFinancialGetStoreBillsParams) (retVal interface{}, errCode string, err error) { retVal, err = financial.GetStoreBills(params.Ctx, params.StoreID) return retVal, "", err }) } // @Param token header string true "认证token" // @Title 显示门店最新账单 // @Description 显示门店最新账单 // @Param storeID query int true "门店ID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /ShowStoreLatestBill [get] func (c *FinancialController) ShowStoreLatestBill() { var bills []*legacymodel.StoreBill w := c.Ctx.ResponseWriter w.Header().Add("Content-Type", "text/html") w.WriteHeader(200) htmlResult := "" html := ` %s ` c.callShowStoreLatestBill(func(params *tFinancialShowStoreLatestBillParams) (retVal interface{}, errCode string, err error) { bills, err = financial.GetStoreBills(params.Ctx, params.StoreID) retVal = bills if len(bills) == 0 { err = fmt.Errorf("门店%d没有账单", params.StoreID) } else { htmlResult = fmt.Sprintf(html, bills[0].Url) } return retVal, model.ErrorCodeIgnore, err }) if htmlResult != "" { io.WriteString(w, htmlResult) } }