package domainService // type BusinessBonusService struct { // transactionContext *transaction.TransactionContext // } // func NewBusinessBonusService(tcx *transaction.TransactionContext) *BusinessBonusService { // return &BusinessBonusService{ // transactionContext: tcx, // } // } // func (srv BusinessBonusService) EnableOrDisable(parntnerId int64) error { // var ( // bonusDao, _ = dao.NewBusinessBonusDao(srv.transactionContext) // bonusReponsitory, _ = repository.NewBusinessBonusRepository(srv.transactionContext) // partnerReponsitory, _ = repository.NewPartnerInfoRepository(srv.transactionContext) // err error // partnerHasInBonus bool // partnerData *domain.PartnerInfo // partnerHasBusinessCategory bool // ) // partnerHasInBonus, err = bonusDao.ExistBusinessBonus(parntnerId) // if err != nil { // return err // } // partnerData, err = partnerReponsitory.FindOne(domain.PartnerFindOneQuery{UserId: parntnerId}) // if err != nil { // return err // } // for _, v := range partnerData.PartnerCategoryInfos { // if v.Id == 2 { // partnerHasBusinessCategory = true // break // } // } // if partnerHasInBonus && partnerHasBusinessCategory { // //已存在业务分红数据况 && 是业务合伙人类型 // var bonusData *domain.BusinessBonus // bonusData, err = bonusReponsitory.FindOne(domain.BusinessBonusFindOneQuery{ // PartnerId: parntnerId, // }) // if bonusData.IsDisable == domain.BUSINESS_BONUS_ENABLE { // return nil // } // bonusData.IsDisable = domain.BUSINESS_BONUS_ENABLE // err = bonusReponsitory.Edit(bonusData) // return err // } // if partnerHasInBonus && !partnerHasBusinessCategory { // //已存在业务分红数据况 && 不是业务合伙人类型 // var bonusData *domain.BusinessBonus // bonusData, err = bonusReponsitory.FindOne(domain.BusinessBonusFindOneQuery{ // PartnerId: parntnerId, // }) // if bonusData.IsDisable == domain.BUSINESS_BONUS_DISABLE { // return nil // } // bonusData.IsDisable = domain.BUSINESS_BONUS_DISABLE // err = bonusReponsitory.Edit(bonusData) // return err // } // if !partnerHasInBonus && partnerHasBusinessCategory { // //不存在业务分红数据况 && 是业务合伙人类型 // newBonus := &domain.BusinessBonus{ // PartnerInfoId: partnerData.Partner.Id, // IsDisable: domain.BUSINESS_BONUS_ENABLE, // CompanyId: partnerData.CompanyId, // Bonus: 0, // } // err = bonusReponsitory.Add(newBonus) // return err // } // return nil // } // }