85 lines
3.2 KiB
Go
85 lines
3.2 KiB
Go
// ==========================================================================
|
||
// GFast自动生成controller操作代码。
|
||
// 生成日期:2025-08-11 10:08:28
|
||
// 生成路径: internal/app/businesses/controller/natural_enemy_insect.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 naturalEnemyInsectController struct {
|
||
systemController.BaseController
|
||
}
|
||
|
||
var NaturalEnemyInsect = new(naturalEnemyInsectController)
|
||
|
||
// List 列表
|
||
func (c *naturalEnemyInsectController) List(ctx context.Context, req *businesses.NaturalEnemyInsectSearchReq) (res *businesses.NaturalEnemyInsectSearchRes, err error) {
|
||
res = new(businesses.NaturalEnemyInsectSearchRes)
|
||
res.NaturalEnemyInsectSearchRes, err = service.NaturalEnemyInsect().List(ctx, &req.NaturalEnemyInsectSearchReq)
|
||
return
|
||
}
|
||
|
||
// Get 获取天敌昆虫
|
||
func (c *naturalEnemyInsectController) Get(ctx context.Context, req *businesses.NaturalEnemyInsectGetReq) (res *businesses.NaturalEnemyInsectGetRes, err error) {
|
||
res = new(businesses.NaturalEnemyInsectGetRes)
|
||
res.NaturalEnemyInsectInfoRes, err = service.NaturalEnemyInsect().GetById(ctx, req.Id)
|
||
return
|
||
}
|
||
|
||
// Add 添加天敌昆虫
|
||
func (c *naturalEnemyInsectController) Add(ctx context.Context, req *businesses.NaturalEnemyInsectAddReq) (res *businesses.NaturalEnemyInsectAddRes, err error) {
|
||
err = service.NaturalEnemyInsect().Add(ctx, req.NaturalEnemyInsectAddReq)
|
||
return
|
||
}
|
||
|
||
// Edit 修改天敌昆虫
|
||
func (c *naturalEnemyInsectController) Edit(ctx context.Context, req *businesses.NaturalEnemyInsectEditReq) (res *businesses.NaturalEnemyInsectEditRes, err error) {
|
||
newVersion, err := lock.TryOptimisticLock(ctx, dao.NaturalEnemyInsect.Ctx(ctx), "id", req.Id, req.Version)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
req.Version = newVersion
|
||
err = service.NaturalEnemyInsect().Edit(ctx, req.NaturalEnemyInsectEditReq)
|
||
return
|
||
}
|
||
|
||
// Delete 删除天敌昆虫
|
||
func (c *naturalEnemyInsectController) Delete(ctx context.Context, req *businesses.NaturalEnemyInsectDeleteReq) (res *businesses.NaturalEnemyInsectDeleteRes, err error) {
|
||
for i, id := range req.Ids {
|
||
_, err = lock.TryOptimisticLock(ctx, dao.NaturalEnemyInsect.Ctx(ctx), "id", id, req.Version[i])
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
}
|
||
err = service.NaturalEnemyInsect().Delete(ctx, req.Ids)
|
||
return
|
||
}
|
||
|
||
func (c *naturalEnemyInsectController) Audit(ctx context.Context, req *common.AuditReq) (res *g.Map, err error) {
|
||
err = common.Audit.Audit(ctx, dao.NaturalEnemyInsect.Ctx(ctx), req, func(ctx context.Context, req *common.AuditReq) error {
|
||
return common.Audit.SaveAudit(dao.NaturalEnemyInsect.Ctx(ctx), req)
|
||
})
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return &g.Map{
|
||
"msg": "审核成功",
|
||
"newVersion": req.Version,
|
||
}, nil
|
||
}
|