OpinionController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace addons\TinyShop\api\modules\v1\controllers\member;
  3. use Yii;
  4. use yii\helpers\Json;
  5. use yii\web\NotFoundHttpException;
  6. use yii\data\ActiveDataProvider;
  7. use api\controllers\UserAuthController;
  8. use common\enums\StatusEnum;
  9. use common\helpers\ResultHelper;
  10. use addons\TinyShop\common\models\common\Opinion;
  11. use addons\TinyShop\common\enums\SubscriptionActionEnum;
  12. /**
  13. * 意见反馈
  14. *
  15. * Class OpinionController
  16. * @package addons\TinyShop\api\modules\v1\controllers\member
  17. * @author jianyan74 <751393839@qq.com>
  18. */
  19. class OpinionController extends UserAuthController
  20. {
  21. /**
  22. * @var Opinion
  23. */
  24. public $modelClass = Opinion::class;
  25. /**
  26. * @return array|mixed|\yii\db\ActiveRecord
  27. */
  28. public function actionCreate()
  29. {
  30. /* @var $model \yii\db\ActiveRecord */
  31. $model = new $this->modelClass();
  32. $model->attributes = Yii::$app->request->post();
  33. $model->from = Yii::$app->user->identity->group;
  34. $model->member_id = Yii::$app->user->identity->member_id;
  35. $model->merchant_id = Yii::$app->user->identity->merchant_id;
  36. if (!$model->save()) {
  37. return ResultHelper::json(422, $this->getError($model));
  38. }
  39. // 意见反馈
  40. Yii::$app->tinyShopService->notify->createRemind(
  41. $model->id,
  42. SubscriptionActionEnum::OPINION_CREATE,
  43. $model->merchant_id,
  44. ['opinion' => $model]
  45. );
  46. return $model;
  47. }
  48. /**
  49. * 单个显示
  50. *
  51. * @param $id
  52. * @return \yii\db\ActiveRecord
  53. * @throws NotFoundHttpException
  54. */
  55. public function actionView($id)
  56. {
  57. $model = $this->findModel($id);
  58. !is_array($model->covers) && $model->covers = Json::decode($model->covers);
  59. return $model;
  60. }
  61. /**
  62. * @return array
  63. */
  64. public function actionType()
  65. {
  66. return [
  67. 1 => '功能建议',
  68. 2 => 'BUG反馈',
  69. 3 => '业务咨询',
  70. ];
  71. }
  72. }
粤ICP备19079148号