| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\admin\models;
- use Yii;
- use Exception;
- use yii\base\Model;
- use app\models\SaasCategory;
- class SaasCategoryForm extends Model
- {
- public function getList($pagination = true)
- {
- $name = get_params('name');
- $status = get_params('status', -1);
- $query = SaasCategory::find()->where([
- 'is_delete' => 0,
- ]);
- if ($name) {
- $query->andWhere(['like', 'name', $name]);
- }
- if ($status > -1) {
- $query->andWhere(['is_enable' => (int)$status === 1 ? 1 : 0]);
- }
- $query->orderBy('id DESC');
- if ($pagination) {
- $pagination = pagination_make($query);
- $list = $pagination['list'];
- } else {
- $list = $query->asArray()->all();
- }
-
- foreach ($list as $key => $value) {
- if (empty($value['option'])) {
- $list[$key]['option'] = '';
- } else {
- $list[$key]['option'] = json_decode($value['option']);
- }
- }
- if ($pagination) {
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => [
- 'data' => $list,
- 'pageNo' => $pagination['pageNo'],
- 'totalCount' => $pagination['totalCount'],
- ],
- ];
- }
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => $list,
- ];
-
- }
- public function changeStatus($id)
- {
- try {
- $cat = SaasCategory::findOne($id);
- if (!$cat) {
- throw new Exception('类目未找到!');
- }
- $cat->is_enable = $cat->is_enable == '1' ? 0 : 1;
- if ($cat->save()) {
- return [
- 'code' => 0,
- 'msg' => '修改成功!',
- ];
- }
- return [
- 'code' => 1,
- 'msg' => '修改失败!',
- ];
- } catch (Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage(),
- ];
- }
- }
- public function delete($id)
- {
- try {
- $cat = SaasCategory::findOne($id);
- if (!$cat) {
- throw new Exception('分类未找到!');
- }
- $cat->is_delete = 1;
- if ($cat->save()) {
- return [
- 'code' => 0,
- 'msg' => '删除成功!',
- ];
- }
- return [
- 'code' => 1,
- 'msg' => '删除失败!',
- ];
- } catch (Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage(),
- ];
- }
- }
- public function edit($data)
- {
- try {
- if ($data['id'] > 0) {
- $item = SaasCategory::findOne($data['id']);
- if (!$item) {
- return [
- 'code' => 1,
- 'msg' => '类目不存在',
- ];
- }
- } else {
- $item = new SaasCategory();
- }
- $item->name = $data['name'];
- $item->is_enable = (int)$data['is_enable'];
- $item->icon = isset($data['icon']) ? $data['icon'] : '';
- $item->sort = $data['sort'];
- if (!empty($data['option'])) {
- $item->option = json_encode($data['option']);
- } else {
- $item->option = '';
- }
- if ($item->save()) {
- return [
- 'code' => 0,
- 'msg' => '保存成功',
- ];
- }
- return [
- 'code' => 1,
- 'msg' => '保存失败',
- ];
- } catch (\Throwable $throwable) {
- return [
- 'code' => 1,
- 'msg' => '保存失败',
- 'error' => $throwable->getMessage(),
- ];
- }
- }
- }
|