SaasCategoryForm.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\models;
  8. use Yii;
  9. use Exception;
  10. use yii\base\Model;
  11. use app\models\SaasCategory;
  12. class SaasCategoryForm extends Model
  13. {
  14. public function getList($pagination = true)
  15. {
  16. $name = get_params('name');
  17. $status = get_params('status', -1);
  18. $query = SaasCategory::find()->where([
  19. 'is_delete' => 0,
  20. ]);
  21. if ($name) {
  22. $query->andWhere(['like', 'name', $name]);
  23. }
  24. if ($status > -1) {
  25. $query->andWhere(['is_enable' => (int)$status === 1 ? 1 : 0]);
  26. }
  27. $query->orderBy('id DESC');
  28. if ($pagination) {
  29. $pagination = pagination_make($query);
  30. $list = $pagination['list'];
  31. } else {
  32. $list = $query->asArray()->all();
  33. }
  34. foreach ($list as $key => $value) {
  35. if (empty($value['option'])) {
  36. $list[$key]['option'] = '';
  37. } else {
  38. $list[$key]['option'] = json_decode($value['option']);
  39. }
  40. }
  41. if ($pagination) {
  42. return [
  43. 'code' => 0,
  44. 'msg' => 'success',
  45. 'data' => [
  46. 'data' => $list,
  47. 'pageNo' => $pagination['pageNo'],
  48. 'totalCount' => $pagination['totalCount'],
  49. ],
  50. ];
  51. }
  52. return [
  53. 'code' => 0,
  54. 'msg' => 'success',
  55. 'data' => $list,
  56. ];
  57. }
  58. public function changeStatus($id)
  59. {
  60. try {
  61. $cat = SaasCategory::findOne($id);
  62. if (!$cat) {
  63. throw new Exception('类目未找到!');
  64. }
  65. $cat->is_enable = $cat->is_enable == '1' ? 0 : 1;
  66. if ($cat->save()) {
  67. return [
  68. 'code' => 0,
  69. 'msg' => '修改成功!',
  70. ];
  71. }
  72. return [
  73. 'code' => 1,
  74. 'msg' => '修改失败!',
  75. ];
  76. } catch (Exception $e) {
  77. return [
  78. 'code' => 1,
  79. 'msg' => $e->getMessage(),
  80. ];
  81. }
  82. }
  83. public function delete($id)
  84. {
  85. try {
  86. $cat = SaasCategory::findOne($id);
  87. if (!$cat) {
  88. throw new Exception('分类未找到!');
  89. }
  90. $cat->is_delete = 1;
  91. if ($cat->save()) {
  92. return [
  93. 'code' => 0,
  94. 'msg' => '删除成功!',
  95. ];
  96. }
  97. return [
  98. 'code' => 1,
  99. 'msg' => '删除失败!',
  100. ];
  101. } catch (Exception $e) {
  102. return [
  103. 'code' => 1,
  104. 'msg' => $e->getMessage(),
  105. ];
  106. }
  107. }
  108. public function edit($data)
  109. {
  110. try {
  111. if ($data['id'] > 0) {
  112. $item = SaasCategory::findOne($data['id']);
  113. if (!$item) {
  114. return [
  115. 'code' => 1,
  116. 'msg' => '类目不存在',
  117. ];
  118. }
  119. } else {
  120. $item = new SaasCategory();
  121. }
  122. $item->name = $data['name'];
  123. $item->is_enable = (int)$data['is_enable'];
  124. $item->icon = isset($data['icon']) ? $data['icon'] : '';
  125. $item->sort = $data['sort'];
  126. if (!empty($data['option'])) {
  127. $item->option = json_encode($data['option']);
  128. } else {
  129. $item->option = '';
  130. }
  131. if ($item->save()) {
  132. return [
  133. 'code' => 0,
  134. 'msg' => '保存成功',
  135. ];
  136. }
  137. return [
  138. 'code' => 1,
  139. 'msg' => '保存失败',
  140. ];
  141. } catch (\Throwable $throwable) {
  142. return [
  143. 'code' => 1,
  144. 'msg' => '保存失败',
  145. 'error' => $throwable->getMessage(),
  146. ];
  147. }
  148. }
  149. }