spec.go 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package goods
  2. import (
  3. "spaceofcheng/services/models"
  4. "spaceofcheng/services/models/model"
  5. "spaceofcheng/services/utils"
  6. "strconv"
  7. "strings"
  8. "time"
  9. )
  10. // GetGoodsSpecCount 获取商品规格总数
  11. func (m *GoodsDAO) GetGoodsSpecCount(caseids string) (int, error) {
  12. var goodsSpec []model.TdSpec
  13. err := m.db.Where("status>" + strconv.Itoa(models.STATUS_DEL)).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')").Find(&goodsSpec)
  14. return len(goodsSpec), err
  15. }
  16. // GetGoodsSpec 根据案场获取商品规格
  17. func (m *GoodsDAO) GetGoodsSpec(caseids string, page int, pageSize int) ([]model.TdSpec, error) {
  18. var goodsSpec []model.TdSpec
  19. err := m.db.Where("status>"+strconv.Itoa(models.STATUS_DEL)).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").Desc("create_date").Limit(pageSize, (page-1)*pageSize).Find(&goodsSpec)
  20. return goodsSpec, err
  21. }
  22. // GetGoodsSpecByID 根据ID获取商品规格
  23. func (m *GoodsDAO) GetGoodsSpecByID(specid string) (*model.TdSpec, error) {
  24. var goodsSpec []model.TdSpec
  25. err := m.db.Where("status>"+strconv.Itoa(models.STATUS_DEL)).And("spec_id=?", specid).Find(&goodsSpec)
  26. if err != nil {
  27. return nil, err
  28. }
  29. if len(goodsSpec) > 0 {
  30. return &goodsSpec[0], nil
  31. }
  32. return nil, nil
  33. }
  34. // AddGoodsSpec 新增商品规格
  35. func (m *GoodsDAO) AddGoodsSpec(goodsSpec *model.TdSpec) (*model.TdSpec, error) {
  36. goodsSpec.SpecId = utils.GetGUID()
  37. goodsSpec.Status = models.STATUS_NORMAL
  38. goodsSpec.CreateDate = time.Now()
  39. _, err := m.db.Insert(goodsSpec)
  40. return goodsSpec, err
  41. }
  42. // UpdateGoodsSpec 修改商品规格
  43. func (m *GoodsDAO) UpdateGoodsSpec(goodsSpec model.TdSpec) error {
  44. var cols = []string{
  45. "spec_name",
  46. "case_id",
  47. }
  48. _, err := m.db.Cols(cols...).Where("spec_id=?", goodsSpec.SpecId).Update(goodsSpec)
  49. return err
  50. }
  51. // DelGoodsSpec 刪除商品规格
  52. func (m *GoodsDAO) DelGoodsSpec(specid string) error {
  53. var goodsSpec = model.TdSpec{
  54. SpecId: specid,
  55. Status: models.STATUS_DEL,
  56. }
  57. var cols = []string{
  58. "status",
  59. }
  60. _, err := m.db.Cols(cols...).Where("spec_id=?", goodsSpec.SpecId).Update(goodsSpec)
  61. return err
  62. }