package service // type BusinessBonusService struct { // } // func NewBusinessBonusService(option map[string]interface{}) *BusinessBonusService { // newService := new(BusinessBonusService) // return newService // } // ListBusinessBonus 列表 // func (srv BusinessBonusService) ListBusinessBonus(queryOption query.ListBusinessBonusQuery) (int, interface{}, error) { // var ( // transactionContext, _ = factory.CreateTransactionContext(nil) // err error // ) // if err = transactionContext.StartTransaction(); err != nil { // return 0, nil, err // } // defer func() { // transactionContext.RollbackTransaction() // }() // var ( // bonusDaoao *dao.BusinessBonusDao // ) // if bonusDaoao, err = factory.CreateBusinessBonusDao(map[string]interface{}{ // "transactionContext": transactionContext, // }); err != nil { // return 0, nil, lib.ThrowError(lib.TRANSACTION_ERROR, err.Error()) // } // result, err := bonusDaoao.SearchBusinessBonus(queryOption.PartnerId, queryOption.PartnerNameMatch, // queryOption.CompanyId, queryOption.Limit, queryOption.Offset) // if err != nil { // return 0, nil, err // } // cnt, err := bonusDaoao.CountBusinessBonus(queryOption.PartnerId, queryOption.PartnerNameMatch, // queryOption.CompanyId, queryOption.Limit, queryOption.Offset) // if err != nil { // return 0, nil, err // } // err = transactionContext.CommitTransaction() // returnData := []map[string]interface{}{} // for _, v := range result { // m := map[string]interface{}{ // "id": v.Id, // "uncollectedDividends": v.BonusNot, // "receiveDividends": v.BonusHas, // "dividendsReceivable": v.Bonus, // "stateOfPayment": v.BonusStatus, // "stateOfPaymentName": domain.DescribeBusinessBonusStatus(v.BonusStatus), // "partner": v.PartnerName, // "updateTime": "", // } // if !v.UpdateAt.IsZero() { // m["updateTime"] = v.UpdateAt.Local().Format("2006-01-02 15:04:05") // } // returnData = append(returnData, m) // } // return cnt, returnData, nil // } // func (srv BusinessBonusService) UpdateBusinessBonus(cmd command.UpdateBusinessBonusCommand) error { // var ( // transactionContext, _ = factory.CreateTransactionContext(nil) // err error // ) // if err = transactionContext.StartTransaction(); err != nil { // return err // } // defer func() { // transactionContext.RollbackTransaction() // }() // var ( // bonusRespository domain.BusinessBonusRepository // bonusData *domain.BusinessBonus // ) // if bonusRespository, err = factory.CreateBusinessBonusRepository(map[string]interface{}{ // "transactionContext": transactionContext, // }); err != nil { // return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) // } // bonusData, err = bonusRespository.FindOne(domain.BusinessBonusFindOneQuery{ // Id: cmd.Id, CompanyId: cmd.CompanyId, // }) // if err != nil { // e := fmt.Sprintf("获取业务分红(id=%d;company_id=%d)数据失败:%s", cmd.Id, cmd.CompanyId, err) // return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) // } // bonusData.Bonus = cmd.Bonus // switch cmd.BonusStatus { // case domain.BUSINESS_BONUS_HAS_PAY: // bonusData.BusinessBonusPayStatus.PayPartnerBonus(bonusData) // case domain.BUSINESS_BONUS_WAIT_PAY: // bonusData.BusinessBonusPayStatus.WartPayPartnerBonus(bonusData) // case domain.BUSINESS_BONUS_NULL_PAY: // bonusData.BusinessBonusPayStatus.NullPayPartnerBonus(bonusData) // default: // return lib.ThrowError(lib.BUSINESS_ERROR, "支付状态错误") // } // err = bonusRespository.Edit(bonusData) // if err != nil { // e := fmt.Sprintf("更新业务分红(id=%d)数据失败:%s", bonusData.Id, err) // return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) // } // err = transactionContext.CommitTransaction() // return nil // } //GetBusinessBonus 获取详情 // func (srv BusinessBonusService) GetBusinessBonus(queryOption query.GetBusinessBonusQuery) (map[string]interface{}, error) { // var ( // transactionContext, _ = factory.CreateTransactionContext(nil) // err error // ) // if err = transactionContext.StartTransaction(); err != nil { // return nil, err // } // defer func() { // transactionContext.RollbackTransaction() // }() // var ( // bonusRespository domain.BusinessBonusRepository // partnerInfoRepository domain.PartnerInfoRepository // bonusData *domain.BusinessBonus // partnerData *domain.PartnerInfo // ) // if bonusRespository, err = factory.CreateBusinessBonusRepository(map[string]interface{}{ // "transactionContext": transactionContext, // }); err != nil { // return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) // } // bonusData, err = bonusRespository.FindOne(domain.BusinessBonusFindOneQuery{ // Id: queryOption.Id, CompanyId: queryOption.CompanyId, // }) // if err != nil { // e := fmt.Sprintf("获取业务分红(id=%d;company_id=%d)数据失败:%s", queryOption.Id, queryOption.CompanyId, err) // return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) // } // if partnerInfoRepository, err = factory.CreatePartnerInfoRepository(map[string]interface{}{ // "transactionContext": transactionContext, // }); err != nil { // return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) // } // partnerData, err = partnerInfoRepository.FindOne(domain.PartnerFindOneQuery{UserId: bonusData.PartnerInfoId}) // if err != nil { // e := fmt.Sprintf("获取合伙人(id=%d)数据失败:%s", bonusData.PartnerInfoId, err) // return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) // } // err = transactionContext.CommitTransaction() // returnData := map[string]interface{}{ // "partner": partnerData.Partner.PartnerName, // "dividendsReceivable": bonusData.Bonus, // "receiveDividends": bonusData.BonusHas, // "uncollectedDividends": bonusData.BonusNot, // "updateTime": "", // "stateOfPayment": bonusData.BonusStatus, // "stateOfPaymentName": domain.DescribeBusinessBonusStatus(bonusData.BonusStatus), // "id": bonusData.Id, // } // if !bonusData.UpdateAt.IsZero() { // returnData["updateTime"] = bonusData.UpdateAt.Local().Format("2006-01-02 15:04:05") // } // return returnData, nil // } // }