// ========================================================================== // GFast自动生成controller操作代码。 // 生成日期:2025-08-11 09:44:41 // 生成路径: internal/app/businesses/controller/biocontrol_resource.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 biocontrolResourceController struct { systemController.BaseController } var BiocontrolResource = new(biocontrolResourceController) // List 列表 func (c *biocontrolResourceController) List(ctx context.Context, req *businesses.BiocontrolResourceSearchReq) (res *businesses.BiocontrolResourceSearchRes, err error) { res = new(businesses.BiocontrolResourceSearchRes) res.BiocontrolResourceSearchRes, err = service.BiocontrolResource().List(ctx, &req.BiocontrolResourceSearchReq) return } // Get 获取生防资源 func (c *biocontrolResourceController) Get(ctx context.Context, req *businesses.BiocontrolResourceGetReq) (res *businesses.BiocontrolResourceGetRes, err error) { res = new(businesses.BiocontrolResourceGetRes) res.BiocontrolResourceInfoRes, err = service.BiocontrolResource().GetById(ctx, req.Id) return } // Add 添加生防资源 func (c *biocontrolResourceController) Add(ctx context.Context, req *businesses.BiocontrolResourceAddReq) (res *businesses.BiocontrolResourceAddRes, err error) { err = service.BiocontrolResource().Add(ctx, req.BiocontrolResourceAddReq) return } // Edit 修改生防资源 func (c *biocontrolResourceController) Edit(ctx context.Context, req *businesses.BiocontrolResourceEditReq) (res *businesses.BiocontrolResourceEditRes, err error) { newVersion, err := lock.TryOptimisticLock(ctx, dao.BiocontrolResource.Ctx(ctx), "id", req.Id, req.Version) if err != nil { return nil, err } req.Version = newVersion err = service.BiocontrolResource().Edit(ctx, req.BiocontrolResourceEditReq) return } // Delete 删除生防资源 func (c *biocontrolResourceController) Delete(ctx context.Context, req *businesses.BiocontrolResourceDeleteReq) (res *businesses.BiocontrolResourceDeleteRes, err error) { for i, id := range req.Ids { _, err = lock.TryOptimisticLock(ctx, dao.BiocontrolResource.Ctx(ctx), "id", id, req.Version[i]) if err != nil { return nil, err } } err = service.BiocontrolResource().Delete(ctx, req.Ids) return } func (c *biocontrolResourceController) Audit(ctx context.Context, req *common.AuditReq) (res *g.Map, err error) { err = common.Audit.Audit(ctx, dao.BiocontrolResource.Ctx(ctx), req, func(ctx context.Context, req *common.AuditReq) error { return common.Audit.SaveAudit(dao.BiocontrolResource.Ctx(ctx), req) }) if err != nil { return nil, err } return &g.Map{ "msg": "审核成功", "newVersion": req.Version, }, nil }