|
|
package domainService
|
|
|
|
|
|
import (
|
|
|
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
|
|
|
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/dao"
|
|
|
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/transaction"
|
|
|
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/repository"
|
|
|
)
|
|
|
// type BusinessBonusService struct {
|
|
|
// transactionContext *transaction.TransactionContext
|
|
|
// }
|
|
|
|
|
|
type BusinessBonusService struct {
|
|
|
transactionContext *transaction.TransactionContext
|
|
|
}
|
|
|
// func NewBusinessBonusService(tcx *transaction.TransactionContext) *BusinessBonusService {
|
|
|
// return &BusinessBonusService{
|
|
|
// transactionContext: tcx,
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
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)
|
|
|
|
|
|
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
|
|
|
// }
|
|
|
|
|
|
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
|
|
|
// }
|
|
|
|
|
|
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
|
|
|
} |
|
|
// return nil
|
|
|
// }
|
|
|
// } |
...
|
...
|
|