85 lines
3.0 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ==========================================================================
// 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
}