package service import ( "context" "dashoo.cn/micro/app/dao" "dashoo.cn/micro/app/model" "fmt" "github.com/gogf/gf/errors/gerror" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/os/gtime" "github.com/gogf/gf/util/gconv" "time" ) type baseProductService struct { *contextService Dao *dao.BaseProductDao } func NewBaseProductService(ctx context.Context) (svc *baseProductService, err error) { svc = new(baseProductService) if svc.contextService, err = svc.Init(ctx); err != nil { return nil, err } svc.Dao = dao.NewBaseProductDao(svc.Tenant) return svc, nil } //产品信息列表 func (p *baseProductService)GetList (req *model.BaseProductSearchReq)(total int, productList []*model.BaseProduct, err error){ productModel := dao.BaseProduct.M if req.KeyWords != "" { productModel = productModel.Where("prod_code =", req.KeyWords) } total, err = productModel.Count() if err != nil { g.Log().Error(err) err = gerror.New("获取总行数失败") return } if req.PageNum == 0 { req.PageNum = 1 } err = productModel.Page(req.PageNum, req.PageSize).Order("id asc").Scan(&productList) return } //添加信息 func (p *baseProductService)Create (req *model.AddBaseProductReq) (err error){ t1 := gtime.New(time.Now()) fmt.Println(t1) productData := new(model.BaseProduct) if err = gconv.Struct(req, productData); err != nil { return } Model := dao.BaseProduct.M productData.CreatedTime = t1 productData.UpdatedTime = t1 res, err := Model.Insert(productData) if err != nil { return } InsertId, _ := res.LastInsertId() fmt.Println(InsertId) return } //删掉数据 func (p *baseProductService)Delete(id int64)(err error){ db := dao.BaseProduct.M record, err := db.FindOne("Id", id) if err != nil { return err } if record.IsEmpty() { return gerror.New("该数据不存在") } _, err = db.Delete("Id", id) return err } //修改数据 func(p *baseProductService)Update(req *model.UpdateBaseProductReq)(err error){ uptime := gtime.New(time.Now()) db := dao.BaseProduct.M record, err := db.FindOne("Id", req.Id) if err != nil || record.IsEmpty(){ err = gerror.New("该数据不存在") return err } fmt.Println(record.Map()) productData := new(model.BaseProduct) if err = gconv.Struct(req, productData); err != nil { return } mapinfo:=record.Map() productData.CreatedTime = mapinfo[""] productData.UpdatedTime = uptime _,err=db.Where(req.Id).Update(productData) if err!=nil{ g.Log().Error(err) err = gerror.New("修改用户信息失败") return } return } //编辑查询单条查询 func (p *baseProductService)GetProductInfo(id int64)(product *model.BaseProduct,err error){ err = dao.BaseProduct.Where(dao.BaseProduct.Columns.Id, id).Scan(&product) if err != nil { g.Log().Error(err) return nil, gerror.New("获取用户数据失败") } return }