job.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package db
  2. import (
  3. "context"
  4. "fmt"
  5. "youngee_b_api/model/gorm_model"
  6. )
  7. // CreateJob 新建岗位
  8. func CreateJob(ctx context.Context, job gorm_model.YounggeeJob) error {
  9. db := GetWriteDB(ctx)
  10. err := db.Create(&job).Error
  11. if err != nil {
  12. return err
  13. }
  14. return nil
  15. }
  16. // UpdateJob 更新岗位
  17. func UpdateJob(ctx context.Context, job gorm_model.YounggeeJob) error {
  18. db := GetWriteDB(ctx)
  19. whereCondition := gorm_model.YounggeeJob{JobId: job.JobId}
  20. err := db.Model(&gorm_model.YounggeeJob{}).Where(whereCondition).Updates(job).Error
  21. if err != nil {
  22. return err
  23. }
  24. return nil
  25. }
  26. // DeleteJob 删除岗位
  27. func DeleteJob(ctx context.Context, job gorm_model.YounggeeJob) error {
  28. db := GetWriteDB(ctx)
  29. whereCondition := gorm_model.YounggeeJob{JobId: job.JobId}
  30. err := db.Where(whereCondition).Delete(&gorm_model.YounggeeJob{}).Error
  31. if err != nil {
  32. return err
  33. }
  34. return nil
  35. }
  36. // FindJobBySupplierId 按服务商ID查找岗位信息
  37. func FindJobBySupplierId(ctx context.Context, supplierId int, pageNum int32, pageSize int32) ([]*gorm_model.YounggeeJob, int64, error) {
  38. db := GetReadDB(ctx)
  39. var Jobs []*gorm_model.YounggeeJob
  40. whereCondition := gorm_model.YounggeeJob{SupplierId: supplierId}
  41. var total int64
  42. fmt.Println(pageSize, pageNum)
  43. // 先计算总数
  44. err := db.Model(gorm_model.YounggeeJob{}).Where(whereCondition).Count(&total).Error
  45. if err != nil {
  46. return nil, 0, err
  47. }
  48. // 如果 pageNum <= 0 或 pageSize <= 0,则返回全部数据
  49. if pageNum <= 0 || pageSize <= 0 {
  50. err = db.Where(whereCondition).Find(&Jobs).Error
  51. if err != nil {
  52. return nil, 0, err
  53. }
  54. return Jobs, total, nil
  55. }
  56. // 否则返回分页数据
  57. offset := (pageNum - 1) * pageSize
  58. err = db.Where(whereCondition).Offset(int(offset)).Limit(int(pageSize)).Find(&Jobs).Error
  59. if err != nil {
  60. return nil, 0, err
  61. }
  62. return Jobs, total, nil
  63. }
  64. // FindJobByJobId 按照岗位Id查找岗位信息
  65. func FindJobByJobId(ctx context.Context, jobId int) (*gorm_model.YounggeeJob, error) {
  66. db := GetReadDB(ctx)
  67. var Job *gorm_model.YounggeeJob
  68. whereCondition := gorm_model.YounggeeJob{JobId: jobId}
  69. err := db.Model(gorm_model.YounggeeJob{}).Where(whereCondition).Find(&Job).Error
  70. if err != nil {
  71. return nil, err
  72. }
  73. return Job, nil
  74. }
  75. /*
  76. func GetRewardStrategyBySelectionId(ctx context.Context, SelectionId string) ([]*gorm_model.RewardStrategy, error) {
  77. db := GetReadDB(ctx)
  78. var RewardStrategys []*gorm_model.RewardStrategy
  79. err := db.Model(gorm_model.RewardStrategy{}).Where("selection_id = ?", SelectionId).Find(&RewardStrategys).Error
  80. if err != nil {
  81. logrus.WithContext(ctx).Errorf("[GetRewardStrategyBySelectionId] error query, err:%+v", err)
  82. return nil, err
  83. }
  84. return RewardStrategys, nil
  85. }
  86. */