build.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package pick
  2. import (
  3. "zhiyuan/models"
  4. "zhiyuan/pkg/app"
  5. "zhiyuan/pkg/db"
  6. "zhiyuan/services/form"
  7. )
  8. var MatPickBuild models.MatPickBuild
  9. func CountBuild(where map[string]interface{}) (int64, error) {
  10. return db.Count(MatPickBuild.TableName(), where)
  11. }
  12. func GetBuilds(where map[string]interface{}, fields []string, page app.Page, retVal interface{}) ([]*models.MatPickBuild, error) {
  13. if page.PageNum > 0 && page.PageSize > 0 {
  14. where["_limit"] = db.GetOffset(uint(page.PageNum), uint(page.PageSize))
  15. }
  16. return MatPickBuild.GetMulti(where, fields, retVal)
  17. }
  18. func AddBuild(form form.MaterialPickBuildAdd) (int64, error) {
  19. subMap := map[string]interface{}{
  20. "build_name": form.BuildName,
  21. "pkg_id": form.PkgID,
  22. "build_type": form.BuildType,
  23. "unit": form.Unit,
  24. "price": form.Price,
  25. }
  26. subID, err := db.InsertOne(MatPickBuild.TableName(), subMap)
  27. if err != nil {
  28. return 0, nil
  29. }
  30. return subID, nil
  31. }
  32. func EditBuild(form form.MaterialPickBuildAdd, id int) (int64, error) {
  33. subMap := map[string]interface{}{
  34. "build_name": form.BuildName,
  35. "pkg_id": form.PkgID,
  36. "build_type": form.BuildType,
  37. "unit": form.Unit,
  38. "price": form.Price,
  39. }
  40. return db.Update(MatPickBuild.TableName(), map[string]interface{}{"id": id}, subMap)
  41. }
  42. func DelBuild(id int) (int64, error) {
  43. return db.Delete(MatPickBuild.TableName(), map[string]interface{}{"id": id})
  44. }