AddonsOperatingNoteCate.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. namespace addons\OperatingNote\common\models;
  3. use common\enums\StatusEnum;
  4. use Yii;
  5. use yii\db\Exception;
  6. /**
  7. * This is the model class for table "{{%addons_operating_note_cate}}".
  8. *
  9. * @property int $id
  10. * @property int $mall_id 商城id
  11. * @property string $name 分类名/不超过6个字符
  12. * @property int $status -1是删除,0是禁用,1是启用
  13. * @property int $created_at 创建时间
  14. * @property int $updated_at 更新时间
  15. */
  16. class AddonsOperatingNoteCate extends \common\models\base\BaseActiveRecord
  17. {
  18. /**
  19. * {@inheritdoc}
  20. */
  21. public static function tableName()
  22. {
  23. return '{{%addons_operating_note_cate}}';
  24. }
  25. /**
  26. * {@inheritdoc}
  27. */
  28. public function rules()
  29. {
  30. return [
  31. [['mall_id', 'status'], 'required'],
  32. [['mall_id', 'status', 'created_at', 'updated_at', 'sort'], 'integer'],
  33. [['name'], 'string', 'max' => 50],
  34. ];
  35. }
  36. /**
  37. * {@inheritdoc}
  38. */
  39. public function attributeLabels()
  40. {
  41. return [
  42. 'id' => 'ID',
  43. 'mall_id' => '商城id',
  44. 'name' => '分类名/不超过6个字符',
  45. 'sort' => '排序默认为0',
  46. 'status' => '-1是删除,0是禁用,1是启用',
  47. 'created_at' => '创建时间',
  48. 'updated_at' => '更新时间',
  49. ];
  50. }
  51. /**
  52. * User: wniu
  53. * Date: 2022/2/17
  54. * Time: 4:40 下午
  55. * * @param array $params
  56. * * @return bool
  57. */
  58. public static function setData(array $params): bool
  59. {
  60. try {
  61. if (isset($params['id'])) {
  62. $model = self::getOne([['id' => $params['id']]]);
  63. if (!$model) {
  64. self::$static_error = '该分类不存在';
  65. return false;
  66. }
  67. if($params['status'] == StatusEnum::DELETE){
  68. $has_content = AddonsOperatingNoteContent::count(['where' => [['cate_id' => $params['id'], 'status' => StatusEnum::ENABLED]]]);
  69. if ($has_content > 0) {
  70. self::$static_error = '该分类有关联文章';
  71. return false;
  72. }
  73. }
  74. } else {
  75. $model = self::getOne([
  76. ['name' => $params['name']],
  77. ['status'=>StatusEnum::ENABLED],
  78. ['mall_id' => $params['mall_id']
  79. ]]);
  80. if ($model) {
  81. self::$static_error = '已存在相同名称分类';
  82. return false;
  83. }
  84. $model = new self();
  85. $model->loadDefaultValues();
  86. }
  87. if (!$model->load($params, '') || !$model->save()) {
  88. throw new Exception($model->getErrorMessage());
  89. }
  90. return true;
  91. } catch (\Exception $e) {
  92. self::$static_error = $e->getMessage();
  93. return false;
  94. }
  95. }
  96. }