面包店
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

97 行
2.0 KiB

  1. package goods
  2. // 自营商城商品管理
  3. import (
  4. "applet/app/admin/md"
  5. "applet/app/admin/svc/goods"
  6. "applet/app/db"
  7. "applet/app/db/model"
  8. "applet/app/e"
  9. "applet/app/svc"
  10. "applet/app/utils"
  11. "fmt"
  12. "github.com/gin-gonic/gin"
  13. "github.com/mcuadros/go-defaults"
  14. )
  15. func DelMallGoods(c *gin.Context) {
  16. var idsMap map[string][]string
  17. if err := c.ShouldBindJSON(&idsMap); err != nil {
  18. e.OutErr(c, e.ERR_INVALID_ARGS, err)
  19. return
  20. }
  21. goods.DelMallGoods(c, idsMap["ids"])
  22. }
  23. // AddMallGoods 添加商品、编辑、复制
  24. func AddMallGoods(c *gin.Context) {
  25. var req md.AddGoodsReq
  26. // 设置默认值(结构体default标签的值)
  27. defaults.SetDefaults(&req)
  28. // 初始化翻译器
  29. if err := utils.ValidatorTransInitZh(); err != nil {
  30. e.OutErr(c, e.ERR, fmt.Sprintf("init trans failed, err:%v\n", err))
  31. return
  32. }
  33. err := c.ShouldBindJSON(&req)
  34. if err != nil {
  35. err = svc.HandleValidateErr(err)
  36. err1 := err.(e.E)
  37. e.OutErr(c, err1.Code, err1.Error())
  38. return
  39. }
  40. err = goods.AddMallGoods(c, &req)
  41. if err != nil {
  42. switch err.(type) {
  43. case e.E:
  44. err1 := err.(e.E)
  45. e.OutErr(c, err1.Code, err1)
  46. return
  47. default:
  48. e.OutErr(c, e.ERR, err)
  49. return
  50. }
  51. }
  52. e.OutSuc(c, 1, nil)
  53. return
  54. }
  55. func GetGoodsDetail(c *gin.Context) {
  56. id := c.Query("id")
  57. if id == "" {
  58. id = "0"
  59. }
  60. resp, err := goods.GetGoodsDetail(c, utils.StrToInt(id))
  61. if err != nil {
  62. e.OutErr(c, 400, err)
  63. return
  64. }
  65. e.OutSuc(c, resp, nil)
  66. return
  67. }
  68. func ChangeSaleState(c *gin.Context) {
  69. var args struct {
  70. GoodsIds []string `json:"goods_ids"`
  71. SaleState int `json:"sale_state"`
  72. }
  73. err := c.ShouldBindJSON(&args)
  74. if err != nil {
  75. e.OutErr(c, e.ERR_INVALID_ARGS, err.Error())
  76. return
  77. }
  78. if args.SaleState != 1 && args.SaleState != 2 {
  79. e.OutErr(c, e.ERR_INVALID_ARGS, "状态值不正确")
  80. return
  81. }
  82. eg := db.Db
  83. _, err = eg.In("goods_id", args.GoodsIds).Update(&model.Goods{SaleState: args.SaleState})
  84. if err != nil {
  85. e.OutErr(c, e.ERR_DB_ORM, err)
  86. return
  87. }
  88. e.OutSuc(c, 1, nil)
  89. }