base_product.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package service
  2. import (
  3. "context"
  4. "dashoo.cn/micro/app/dao"
  5. "dashoo.cn/micro/app/model"
  6. "fmt"
  7. "github.com/gogf/gf/errors/gerror"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/os/gtime"
  10. "github.com/gogf/gf/util/gconv"
  11. "time"
  12. )
  13. type baseProductService struct {
  14. *contextService
  15. Dao *dao.BaseProductDao
  16. }
  17. func NewBaseProductService(ctx context.Context) (svc *baseProductService, err error) {
  18. svc = new(baseProductService)
  19. if svc.contextService, err = svc.Init(ctx); err != nil {
  20. return nil, err
  21. }
  22. svc.Dao = dao.NewBaseProductDao(svc.Tenant)
  23. return svc, nil
  24. }
  25. //产品信息列表
  26. func (p *baseProductService)GetList (req *model.BaseProductSearchReq)(total int, productList []*model.BaseProduct, err error){
  27. productModel := dao.BaseProduct.M
  28. if req.KeyWords != "" {
  29. productModel = productModel.Where("prod_code =", req.KeyWords)
  30. }
  31. total, err = productModel.Count()
  32. if err != nil {
  33. g.Log().Error(err)
  34. err = gerror.New("获取总行数失败")
  35. return
  36. }
  37. if req.PageNum == 0 {
  38. req.PageNum = 1
  39. }
  40. err = productModel.Page(req.PageNum, req.PageSize).Order("id asc").Scan(&productList)
  41. return
  42. }
  43. //添加信息
  44. func (p *baseProductService)Create (req *model.AddBaseProductReq) (err error){
  45. t1 := gtime.New(time.Now())
  46. fmt.Println(t1)
  47. productData := new(model.BaseProduct)
  48. if err = gconv.Struct(req, productData); err != nil {
  49. return
  50. }
  51. Model := dao.BaseProduct.M
  52. productData.CreatedTime = t1
  53. productData.UpdatedTime = t1
  54. res, err := Model.Insert(productData)
  55. if err != nil {
  56. return
  57. }
  58. InsertId, _ := res.LastInsertId()
  59. fmt.Println(InsertId)
  60. return
  61. }
  62. //删掉数据
  63. func (p *baseProductService)Delete(id int64)(err error){
  64. db := dao.BaseProduct.M
  65. record, err := db.FindOne("Id", id)
  66. if err != nil {
  67. return err
  68. }
  69. if record.IsEmpty() {
  70. return gerror.New("该数据不存在")
  71. }
  72. _, err = db.Delete("Id", id)
  73. return err
  74. }
  75. //修改数据
  76. func(p *baseProductService)Update(req *model.UpdateBaseProductReq)(err error){
  77. uptime := gtime.New(time.Now())
  78. db := dao.BaseProduct.M
  79. record, err := db.FindOne("Id", req.Id)
  80. if err != nil || record.IsEmpty(){
  81. err = gerror.New("该数据不存在")
  82. return err
  83. }
  84. fmt.Println(record.Map())
  85. productData := new(model.BaseProduct)
  86. if err = gconv.Struct(req, productData); err != nil {
  87. return
  88. }
  89. mapinfo:=record.Map()
  90. productData.CreatedTime = mapinfo[""]
  91. productData.UpdatedTime = uptime
  92. _,err=db.Where(req.Id).Update(productData)
  93. if err!=nil{
  94. g.Log().Error(err)
  95. err = gerror.New("修改用户信息失败")
  96. return
  97. }
  98. return
  99. }
  100. //编辑查询单条查询
  101. func (p *baseProductService)GetProductInfo(id int64)(product *model.BaseProduct,err error){
  102. err = dao.BaseProduct.Where(dao.BaseProduct.Columns.Id, id).Scan(&product)
  103. if err != nil {
  104. g.Log().Error(err)
  105. return nil, gerror.New("获取用户数据失败")
  106. }
  107. return
  108. }