// ========================================================================== // GFast自动生成controller操作代码。 // 生成日期:2025-08-11 17:00:45 // 生成路径: internal/app/businesses/controller/species_survey.go // 生成人:gfast // desc:物种调查 // company:云南奇讯科技有限公司 // ========================================================================== package controller import ( "context" "github.com/gogf/gf/v2/frame/g" "github.com/tiger1103/gfast/v3/api/v1/businesses" "github.com/tiger1103/gfast/v3/internal/app/businesses/common" "github.com/tiger1103/gfast/v3/internal/app/businesses/dao" "github.com/tiger1103/gfast/v3/internal/app/businesses/service" "github.com/tiger1103/gfast/v3/internal/app/lock" systemController "github.com/tiger1103/gfast/v3/internal/app/system/controller" ) type speciesSurveyController struct { systemController.BaseController } var SpeciesSurvey = new(speciesSurveyController) // List 列表 func (c *speciesSurveyController) List(ctx context.Context, req *businesses.SpeciesSurveySearchReq) (res *businesses.SpeciesSurveySearchRes, err error) { res = new(businesses.SpeciesSurveySearchRes) res.SpeciesSurveySearchRes, err = service.SpeciesSurvey().List(ctx, &req.SpeciesSurveySearchReq) return } // Get 获取物种调查 func (c *speciesSurveyController) Get(ctx context.Context, req *businesses.SpeciesSurveyGetReq) (res *businesses.SpeciesSurveyGetRes, err error) { res = new(businesses.SpeciesSurveyGetRes) res.SpeciesSurveyInfoRes, err = service.SpeciesSurvey().GetById(ctx, req.Id) return } // Add 添加物种调查 func (c *speciesSurveyController) Add(ctx context.Context, req *businesses.SpeciesSurveyAddReq) (res *businesses.SpeciesSurveyAddRes, err error) { err = service.SpeciesSurvey().Add(ctx, req.SpeciesSurveyAddReq) return } // Edit 修改物种调查 func (c *speciesSurveyController) Edit(ctx context.Context, req *businesses.SpeciesSurveyEditReq) (res *businesses.SpeciesSurveyEditRes, err error) { newVersion, err := lock.TryOptimisticLock(ctx, dao.SpeciesSurvey.Ctx(ctx), "id", req.Id, req.Version) if err != nil { return nil, err } req.Version = newVersion err = service.SpeciesSurvey().Edit(ctx, req.SpeciesSurveyEditReq) return } // Delete 删除物种调查 func (c *speciesSurveyController) Delete(ctx context.Context, req *businesses.SpeciesSurveyDeleteReq) (res *businesses.SpeciesSurveyDeleteRes, err error) { for i, id := range req.Ids { _, err = lock.TryOptimisticLock(ctx, dao.SpeciesSurvey.Ctx(ctx), "id", id, req.Version[i]) if err != nil { return nil, err } } err = service.SpeciesSurvey().Delete(ctx, req.Ids) return } func (c *speciesSurveyController) Audit(ctx context.Context, req *common.AuditReq) (res *g.Map, err error) { err = common.Audit.Audit(ctx, dao.SpeciesSurvey.Ctx(ctx), req, func(ctx context.Context, req *common.AuditReq) error { return common.Audit.SaveAudit(dao.SpeciesSurvey.Ctx(ctx), req) }) if err != nil { return nil, err } return &g.Map{ "msg": "审核成功", "newVersion": req.Version, }, nil }