s_project_dao.go 2.8 KB

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