| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package base
- import (
- "context"
- "fmt"
- "github.com/gogf/gf/errors/gerror"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/util/gconv"
- "dashoo.cn/micro/app/dao/base"
- model "dashoo.cn/micro/app/model/base"
- "dashoo.cn/micro/app/service"
- )
- type productService struct {
- *service.ContextService
- Dao *base.BaseProductDao
- }
- func NewProductService(ctx context.Context) (svc *productService, err error) {
- svc = new(productService)
- if svc.ContextService, err = svc.Init(ctx); err != nil {
- return nil, err
- }
- svc.Dao = base.NewBaseProductDao(svc.Tenant)
- return svc, nil
- }
- //产品信息列表
- func (p *productService) GetList(req *model.BaseProductSearchReq) (total int, productList []*model.BaseProduct, err error) {
- productModel := p.Dao.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 *productService) GetEntityById(id int64) (product *model.BaseProduct, err error) {
- err = p.Dao.Where(base.BaseProduct.Columns.Id, id).Scan(&product)
- if err != nil {
- g.Log().Error(err)
- return nil, gerror.New("获取用户数据失败")
- }
- return
- }
- //添加信息
- func (p *productService) Create(req *model.AddBaseProductReq) (err error) {
- productData := new(model.BaseProduct)
- if err = gconv.Struct(req, productData); err != nil {
- return
- }
- service.SetCreatedInfo(productData, p.GetCxtUserId(), p.GetCxtUserName())
- Model := p.Dao.M
- res, err := Model.Insert(productData)
- if err != nil {
- return
- }
- InsertId, _ := res.LastInsertId()
- fmt.Println(InsertId)
- return
- }
- //修改数据
- func (p *productService) UpdateById(req *model.UpdateBaseProductReq) (err error) {
- //uptime := gtime.New(time.Now())
- db := p.Dao.M
- record, err := db.FindOne("Id", req.Id)
- if err != nil || record.IsEmpty() {
- err = gerror.New("该数据不存在")
- return err
- }
- proInfo := record.Map()
- fmt.Println(proInfo["created_time"])
- productData := new(model.BaseProduct)
- if err = gconv.Struct(req, productData); err != nil {
- return
- }
- service.SetUpdatedInfo(productData, p.GetCxtUserId(), p.GetCxtUserName())
- _, err = db.FieldsEx(base.BaseProduct.Columns.CreatedTime, base.BaseProduct.Columns.CreatedBy, base.BaseProduct.Columns.CreatedName).
- WherePri(base.BaseProduct.Columns.Id, req.Id).Update(productData)
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("修改用户信息失败")
- return
- }
- return
- }
- //删掉数据
- func (p *productService) DeleteByIds(dicIds []int64) (err error) {
- _, err = base.BaseProduct.Fields(base.BaseProduct.Columns.CreatedTime).
- Where(base.BaseProduct.Columns.Id+" in (?) ", dicIds).All()
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("没有要删除的数据")
- return
- }
- _, err = p.Dao.Delete(base.BaseProduct.Columns.Id+" in (?) ", dicIds)
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("删除数据失败")
- return err
- }
- return
- }
|