option.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package item
  2. import (
  3. "zhiyuan/models"
  4. "zhiyuan/pkg/app"
  5. "zhiyuan/pkg/db"
  6. )
  7. var MatItemOption models.MatItemOption
  8. func GetOptionList(where map[string]interface{}, fields []string, page app.Page, retVal interface{}) ([]*models.MatItemOption, error) {
  9. if page.PageNum > 0 && page.PageSize > 0 {
  10. where["_limit"] = db.GetOffset(uint(page.PageNum), uint(page.PageSize))
  11. }
  12. return MatItemOption.GetMulti(where, fields, retVal)
  13. }
  14. func CountOption(where map[string]interface{}) (int64, error) {
  15. return db.Count(MatItemOption.TableName(), where)
  16. }
  17. func GetOneOption(where map[string]interface{}, fields []string, dest interface{}) (*models.MatItemOption, error) {
  18. return MatItemOption.GetOne(where, fields, dest)
  19. }
  20. func DelOptionsByItem(itemID int) (int64, error) {
  21. return db.Delete(MatItemOption.TableName(), map[string]interface{}{"item_id": itemID})
  22. }
  23. func BatchAdd(options []string, itemID int) (int64, error) {
  24. optionMap := make([]map[string]interface{}, 0)
  25. for _, v := range options {
  26. optionMap = append(optionMap, map[string]interface{}{
  27. "option_name": v,
  28. "item_id": itemID,
  29. })
  30. }
  31. return db.Insert(MatItemOption.TableName(), optionMap)
  32. }