package controllers import ( "errors" "github.com/astaxie/beego/logs" businessCommand "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/businessBonus/command" businessQuery "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/businessBonus/query" businessService "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/businessBonus/service" "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" ) type BusinessBonusController struct { BaseController } func (c *BusinessBonusController) Prepare() { c.BaseController.Prepare() if ok := c.ValidJWTToken(); !ok { return } if ok := c.ValidAdminPermission(domain.PERMISSION_DIVIDEND); !ok { return } } func (c *BusinessBonusController) ListBusinessBonus() { type Parameter struct { PageNumber int `json:"pageNumber"` Partner int64 `json:"partner"` PageSize int `json:"pageSize"` SearchText string `json:"searchText"` } var ( param Parameter err error ) if err = c.BindJsonData(¶m); err != nil { logs.Error(err) c.ResponseError(errors.New("json数据解析失败")) return } if param.PageSize == 0 { param.PageSize = 20 } if param.PageNumber == 0 { param.PageNumber = 1 } companyId := c.GetUserCompany() srv := businessService.NewBusinessBonusService(nil) cnt, result, err := srv.ListBusinessBonus(businessQuery.ListBusinessBonusQuery{ CompanyId: companyId, Limit: param.PageSize, Offset: param.PageSize * (param.PageNumber - 1), PartnerId: param.Partner, }) if err != nil { c.ResponseError(err) return } c.ResponsePageList(result, cnt, param.PageNumber) } func (c *BusinessBonusController) UpdateBusinessBonus() { type Parameter struct { Id int64 `json:"id"` DividendsReceivable float64 `json:"dividendsReceivable"` StateOfPayment int8 `json:"stateOfPayment"` } var ( param Parameter err error ) if err = c.BindJsonData(¶m); err != nil { logs.Error(err) c.ResponseError(errors.New("json数据解析失败")) return } companyId := c.GetUserCompany() srv := businessService.NewBusinessBonusService(nil) err = srv.UpdateBusinessBonus(businessCommand.UpdateBusinessBonusCommand{ CompanyId: companyId, Id: param.Id, Bonus: param.DividendsReceivable, BonusStatus: param.StateOfPayment, }) if err != nil { c.ResponseError(err) return } c.ResponseData(nil) } func (c *BusinessBonusController) GetBusinessBonus() { type Parameter struct { Id int64 `json:"id"` } var ( param Parameter err error ) if err = c.BindJsonData(¶m); err != nil { logs.Error(err) c.ResponseError(errors.New("json数据解析失败")) return } companyId := c.GetUserCompany() srv := businessService.NewBusinessBonusService(nil) data, err := srv.GetBusinessBonus(businessQuery.GetBusinessBonusQuery{ Id: param.Id, CompanyId: companyId, }) if err != nil { c.ResponseError(err) return } c.ResponseData(data) }