package db import ( "context" "fmt" "youngee_b_api/model/gorm_model" ) // CreateJob 新建岗位 func CreateJob(ctx context.Context, job gorm_model.YounggeeJob) error { db := GetWriteDB(ctx) err := db.Create(&job).Error if err != nil { return err } return nil } // UpdateJob 更新岗位 func UpdateJob(ctx context.Context, job gorm_model.YounggeeJob) error { db := GetWriteDB(ctx) whereCondition := gorm_model.YounggeeJob{JobId: job.JobId} err := db.Model(&gorm_model.YounggeeJob{}).Where(whereCondition).Updates(job).Error if err != nil { return err } return nil } // DeleteJob 删除岗位 func DeleteJob(ctx context.Context, job gorm_model.YounggeeJob) error { db := GetWriteDB(ctx) whereCondition := gorm_model.YounggeeJob{JobId: job.JobId} err := db.Where(whereCondition).Delete(&gorm_model.YounggeeJob{}).Error if err != nil { return err } return nil } // FindJobBySupplierId 按服务商ID查找岗位信息 func FindJobBySupplierId(ctx context.Context, supplierId int, pageNum int32, pageSize int32) ([]*gorm_model.YounggeeJob, int64, error) { db := GetReadDB(ctx) var Jobs []*gorm_model.YounggeeJob whereCondition := gorm_model.YounggeeJob{SupplierId: supplierId} var total int64 fmt.Println(pageSize, pageNum) // 先计算总数 err := db.Model(gorm_model.YounggeeJob{}).Where(whereCondition).Count(&total).Error if err != nil { return nil, 0, err } // 如果 pageNum <= 0 或 pageSize <= 0,则返回全部数据 if pageNum <= 0 || pageSize <= 0 { err = db.Where(whereCondition).Find(&Jobs).Error if err != nil { return nil, 0, err } return Jobs, total, nil } // 否则返回分页数据 offset := (pageNum - 1) * pageSize err = db.Where(whereCondition).Offset(int(offset)).Limit(int(pageSize)).Find(&Jobs).Error if err != nil { return nil, 0, err } return Jobs, total, nil } // FindJobByJobId 按照岗位Id查找岗位信息 func FindJobByJobId(ctx context.Context, jobId int) (*gorm_model.YounggeeJob, error) { db := GetReadDB(ctx) var Job *gorm_model.YounggeeJob whereCondition := gorm_model.YounggeeJob{JobId: jobId} err := db.Model(gorm_model.YounggeeJob{}).Where(whereCondition).Find(&Job).Error if err != nil { return nil, err } return Job, nil } /* func GetRewardStrategyBySelectionId(ctx context.Context, SelectionId string) ([]*gorm_model.RewardStrategy, error) { db := GetReadDB(ctx) var RewardStrategys []*gorm_model.RewardStrategy err := db.Model(gorm_model.RewardStrategy{}).Where("selection_id = ?", SelectionId).Find(&RewardStrategys).Error if err != nil { logrus.WithContext(ctx).Errorf("[GetRewardStrategyBySelectionId] error query, err:%+v", err) return nil, err } return RewardStrategys, nil } */