SaveGoodsSectionForm.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace hd\models\homePageConfig;
  3. use bizHd\homePageConfig\classes\HomePageModuleClass;
  4. use hd\models\BaseForm;
  5. /**
  6. * 保存热门推荐 / 今日上新 / 下拉商品配置
  7. */
  8. class SaveGoodsSectionForm extends BaseForm
  9. {
  10. public $enabled;
  11. public $name;
  12. public $type;
  13. public $value;
  14. public $sort;
  15. public function rules()
  16. {
  17. return [
  18. ['enabled', 'default', 'value' => 0],
  19. ['sort', 'default', 'value' => HomePageModuleClass::SORT_PRODUCT],
  20. ['name', 'trim'],
  21. ['value', 'trim'],
  22. ['name', 'required', 'message' => '请输入首页展示名称'],
  23. ['name', 'string', 'max' => 20, 'tooLong' => '展示名称不能超过20字'],
  24. ['type', 'required', 'message' => '关联类型无效'],
  25. ['type', 'in', 'range' => [
  26. HomePageModuleClass::LINK_GOODS,
  27. HomePageModuleClass::LINK_CATEGORY,
  28. HomePageModuleClass::LINK_USE_CASE,
  29. ], 'message' => '关联类型无效'],
  30. ['value', 'required', 'message' => '请选择关联内容'],
  31. ['sort', 'in', 'range' => [
  32. HomePageModuleClass::SORT_PRODUCT,
  33. HomePageModuleClass::SORT_SALES,
  34. HomePageModuleClass::SORT_NEW,
  35. ], 'message' => '排序规则无效'],
  36. ['enabled', 'filter', 'filter' => function ($value) {
  37. return !empty($value) ? 1 : 0;
  38. }],
  39. ];
  40. }
  41. public function attributeLabels()
  42. {
  43. return [
  44. 'enabled' => '开关',
  45. 'name' => '展示名称',
  46. 'type' => '关联类型',
  47. 'value' => '关联内容',
  48. 'sort' => '排序规则',
  49. ];
  50. }
  51. /**
  52. * @return array
  53. */
  54. public function getPayload()
  55. {
  56. return [
  57. 'name' => trim(strval($this->name)),
  58. 'type' => intval($this->type),
  59. 'value' => trim(strval($this->value)),
  60. 'sort' => intval($this->sort),
  61. ];
  62. }
  63. /**
  64. * @return int
  65. */
  66. public function getEnabled()
  67. {
  68. return !empty($this->enabled) ? 1 : 0;
  69. }
  70. }