s_project_dao.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. // 获取某个 project_id 任务涉及到的服务商
  26. func (d SProjectDao) GetSProjectByProjectId(projectId string) ([]*entity.SProjectInfo, error) {
  27. var sProjectInfos []*entity.SProjectInfo
  28. err := Db.Debug().Model(&entity.SProjectInfo{}).Where("project_id = ?", projectId).Select("s_project_id, project_id, supplier_id, service_charge_settle, supplier_type").Find(&sProjectInfos).Error
  29. return sProjectInfos, err
  30. }
  31. // 更新任务
  32. func (d SProjectDao) UpdateSProject(sProject entity.SProjectInfo) error {
  33. err := Db.Model(&entity.SProjectInfo{}).Where("s_project_id = ?", sProject.SProjectID).Updates(sProject).Error
  34. if err != nil {
  35. return err
  36. }
  37. return nil
  38. }
  39. // 根据种草id、任务状态返回数据列表
  40. func (d SProjectDao) GetSProjectByProjectStatus(projectId string, projectStatus int64, page int, pageSize int) ([]*entity.SProjectInfo, int64, error) {
  41. var sProjectInfos []*entity.SProjectInfo
  42. var total int64
  43. offset := (page - 1) * pageSize
  44. query := Db.Debug().Model(&entity.SProjectInfo{}).Where("project_id = ? AND project_status = ?", projectId, projectStatus)
  45. query.Count(&total)
  46. query = query.Select("supplier_id, recruit_num, service_charge_actual, service_charge_settle, b_operator, b_operator_type")
  47. err := query.Order("create_time desc").Offset(offset).Limit(pageSize).Find(&sProjectInfos).Error
  48. if err != nil {
  49. return nil, 0, err
  50. }
  51. return sProjectInfos, total, nil
  52. }
  53. //// 检查给定的服务商是否在该商家库中
  54. //func (d SupplierDao) EnterpriseDatabaseCheck(enterpriseId string, supplierId int64) (bool, error) {
  55. // var count int64
  56. // err := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND supplier_id = ? AND cooperate_status != 2", enterpriseId, supplierId).Count(&count).Error
  57. // if err != nil {
  58. // return false, err
  59. // }
  60. // return count > 0, nil
  61. //}
  62. //
  63. //// 获取指定商家的服务商库
  64. //func (d SupplierDao) GetSupplierByEnterprise(enterpriseId string, page int, pageSize int) ([]*entity.EnterpriseSupplierCooperate, int64, error) {
  65. // var enterpriseSupplierCooperates []*entity.EnterpriseSupplierCooperate
  66. // var total int64
  67. // offset := (page - 1) * pageSize
  68. // query := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND cooperate_status = 2", enterpriseId)
  69. // query.Count(&total)
  70. // query = query.Select("supplier_id, cooperate_num, upload_talent_num, cooperate_talent_num, b_operator, b_operator_type, agree_time")
  71. // err := query.Order("agree_time desc").Offset(offset).Limit(pageSize).Find(&enterpriseSupplierCooperates).Error
  72. // if err != nil {
  73. // return nil, 0, err
  74. // }
  75. //
  76. // return enterpriseSupplierCooperates, total, nil
  77. //}
  78. //
  79. //// 获取邀请待确认的服务商
  80. //func (d SupplierDao) GetSupplierConfirmingList(enterpriseId string, page int, pageSize int) ([]*entity.EnterpriseSupplierCooperate, int64, error) {
  81. // var enterpriseSupplierCooperates []*entity.EnterpriseSupplierCooperate
  82. // var total int64
  83. // offset := (page - 1) * pageSize
  84. // query := Db.Debug().Model(&entity.EnterpriseSupplierCooperate{}).Where("enterprise_id = ? AND cooperate_status = 1", enterpriseId)
  85. // query.Count(&total)
  86. // query = query.Select("supplier_id, b_operator, b_operator_type, cooperate_status, create_time")
  87. // err := query.Order("create_time desc").Offset(offset).Limit(pageSize).Find(&enterpriseSupplierCooperates).Error
  88. // if err != nil {
  89. // return nil, 0, err
  90. // }
  91. //
  92. // return enterpriseSupplierCooperates, total, nil
  93. //}