enterprise_supplier_cooperate_dao.go 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package dao
  2. import (
  3. "gorm.io/gorm"
  4. "youngee_b_api/app/entity"
  5. )
  6. type EnterpriseSupplierCooperateDao struct{}
  7. // 检查给定的服务商是否在该商家库中
  8. func (d EnterpriseSupplierCooperateDao) EnterpriseDatabaseCheck(enterpriseId string, supplierId int64) (bool, error) {
  9. var count int64
  10. err := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND supplier_id = ? AND cooperate_status != 2", enterpriseId, supplierId).Count(&count).Error
  11. if err != nil {
  12. return false, err
  13. }
  14. return count > 0, nil
  15. }
  16. // 批量插入数据
  17. func (d EnterpriseSupplierCooperateDao) InsertBatch(records []*entity.EnterpriseSupplierCooperate) error {
  18. result := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Omit("agree_time", "reject_time").Create(&records)
  19. return result.Error
  20. }
  21. // 获取指定商家的服务商库
  22. func (d EnterpriseSupplierCooperateDao) GetSupplierByEnterprise(enterpriseId string, page int, pageSize int) ([]*entity.EnterpriseSupplierCooperate, int64, error) {
  23. var enterpriseSupplierCooperates []*entity.EnterpriseSupplierCooperate
  24. var total int64
  25. offset := (page - 1) * pageSize
  26. query := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND cooperate_status = 2", enterpriseId)
  27. query.Count(&total)
  28. query = query.Select("supplier_id, cooperate_num, upload_talent_num, cooperate_talent_num, b_operator, b_operator_type, agree_time")
  29. err := query.Order("agree_time desc").Offset(offset).Limit(pageSize).Find(&enterpriseSupplierCooperates).Error
  30. if err != nil {
  31. return nil, 0, err
  32. }
  33. return enterpriseSupplierCooperates, total, nil
  34. }
  35. // 获取指定商家的某个服务商数据
  36. func (d EnterpriseSupplierCooperateDao) GetDataByEnterpriseAndSupplier(enterpriseId string, supplierId int64) (*entity.EnterpriseSupplierCooperate, error) {
  37. var enterpriseSupplierCooperate *entity.EnterpriseSupplierCooperate
  38. query := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND supplier_id = ?", enterpriseId, supplierId)
  39. query = query.Select("supplier_id, cooperate_num, upload_talent_num, cooperate_talent_num, b_operator, b_operator_type")
  40. err := query.Find(&enterpriseSupplierCooperate).Error
  41. if err != nil && err != gorm.ErrRecordNotFound {
  42. return nil, err
  43. }
  44. return enterpriseSupplierCooperate, nil
  45. }
  46. // 获取邀请待确认的服务商
  47. func (d EnterpriseSupplierCooperateDao) GetSupplierConfirmingList(enterpriseId string, page int, pageSize int) ([]*entity.EnterpriseSupplierCooperate, int64, error) {
  48. var enterpriseSupplierCooperates []*entity.EnterpriseSupplierCooperate
  49. var total int64
  50. offset := (page - 1) * pageSize
  51. query := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND cooperate_status = 1", enterpriseId)
  52. query.Count(&total)
  53. query = query.Select("supplier_id, b_operator, b_operator_type, cooperate_status, create_time")
  54. err := query.Order("create_time desc").Offset(offset).Limit(pageSize).Find(&enterpriseSupplierCooperates).Error
  55. if err != nil {
  56. return nil, 0, err
  57. }
  58. return enterpriseSupplierCooperates, total, nil
  59. }