123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package db
- import (
- "context"
- "fmt"
- "github.com/caixw/lib.go/conv"
- "youngee_m_api/model/gorm_model"
- "youngee_m_api/model/http_model"
- )
- func CreateJob(ctx context.Context, req *http_model.CreateJobRequest) (*http_model.CreateJobResponse, error) {
- db := GetReadDB(ctx)
- job := gorm_model.YounggeeJob{
- JobName: req.JobName,
- JobDetail: req.JobDetail,
- WorkshopPermission: req.WorkspacePermission,
- TaskcenterPermission: req.TaskcenterPermission,
- SectaskPermisson: req.SectaskPermission,
- FinancialPermission: req.FinancialPermission,
- UsercenterPermission: req.UsercenterPermission,
- OperatePermission: req.OperatePermission,
- AccountId: req.AccountID,
- }
- if err := db.Create(&job).Error; err != nil {
- return nil, err
- }
- // 返回更新后的结果
- res := &http_model.CreateJobResponse{
- JobName: job.JobName,
- JobID: job.JobId,
- }
- return res, nil
- }
- func UpdateJobInfo(ctx context.Context, req *http_model.UpdateJobInfoRequest) (*http_model.UpdateJobInfoResponse, error) {
- db := GetReadDB(ctx)
- JobInfo := gorm_model.YounggeeJob{}
- wherecondition := gorm_model.YounggeeJob{JobId: req.JobID}
- result := db.Where(&wherecondition).First(&JobInfo)
- if result.Error != nil {
- fmt.Println("result err:", result.Error)
- return nil, result.Error
- }
- updateData := gorm_model.YounggeeJob{
- JobName: req.JobName,
- JobDetail: req.JobDetail,
- WorkshopPermission: req.WorkspacePermission,
- TaskcenterPermission: req.TaskcenterPermission,
- SectaskPermisson: req.SectaskPermission,
- FinancialPermission: req.FinancialPermission,
- UsercenterPermission: req.UsercenterPermission,
- OperatePermission: req.OperatePermission,
- AccountId: req.AccountID,
- }
- updateResult := db.Model(&JobInfo).Where("job_id = ?", req.JobID).Updates(updateData)
- if updateResult.Error != nil {
- fmt.Println("result err:", updateResult.Error)
- return nil, updateResult.Error
- }
- res := &http_model.UpdateJobInfoResponse{
- JobID: JobInfo.JobId,
- JobName: JobInfo.JobName,
- }
- return res, nil
- }
- func DeleteJob(ctx context.Context, req *http_model.DeleteJobRequest) error {
- db := GetReadDB(ctx)
- job := gorm_model.YounggeeJob{
- JobId: req.JobId,
- }
- result := db.Where("job_id = ?", req.JobId).Delete(job)
- if result.Error != nil {
- return result.Error
- }
- return nil
- }
- func GetJobDetail(ctx context.Context, req *http_model.JobDetailRequest) (*http_model.JobData, error) {
- db := GetReadDB(ctx)
- // 获取分页参数
- page := req.PageNum
- pageSize := req.PageSize
- if page < 1 {
- page = 1
- }
- if pageSize < 1 {
- pageSize = 10 // 设置默认每页记录数为 10
- }
- // 构建查询条件
- query := db.Model(&gorm_model.YounggeeJob{})
- // 查询总数
- var total int64
- countQuery := query.Count(&total)
- if countQuery.Error != nil {
- return nil, countQuery.Error
- }
- // 计算偏移量
- offset := (page - 1) * pageSize
- jobInfo := []gorm_model.YounggeeJob{}
- result := query.Limit(pageSize).Offset(offset).Find(&jobInfo)
- if result.Error != nil {
- return nil, result.Error
- }
- var jobInfoPointers []*http_model.JobDetailResponse
- for i := range jobInfo {
- userInfo := gorm_model.YounggeeUser{}
- userResult := db.Where(gorm_model.YounggeeUser{ID: jobInfo[i].AccountId}).First(&userInfo)
- if userResult.Error != nil {
- return nil, userResult.Error
- }
- response := &http_model.JobDetailResponse{
- JobInfo: jobInfo[i],
- Creater: userInfo.Username,
- }
- jobInfoPointers = append(jobInfoPointers, response)
- }
- // 构造返回结果
- subaccountInfolist := &http_model.JobData{
- Job: jobInfoPointers,
- Total: conv.MustString(total, ""),
- }
- return subaccountInfolist, nil
- }
|