| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\client\controllers\v1;
- use app\modules\client\controllers\BaseController;
- use app\models\Goods;
- use app\models\FormData;
- use app\models\Order;
- use app\modules\admin\models\InvoiceForm;
- class FormController extends BaseController
- {
- public function actionFormDataSave() {
- try{
- $store_id = get_store_id();
- $user_id = get_user_id();
- if(cache_lock(['actionFormDataSave', $store_id, $user_id], 60)){
- throw new \Exception('提交频率太高,请一分钟后再试');
- }
- $params = all_params();
- if($params['id']){
- $FormData = FormData::findOne(['id' => $params['id'], 'store_id' => $store_id, 'user_id' => $user_id, 'is_delete' => 0]);
- }else{
- $FormData = new FormData();
- $FormData->status = 1;
- $FormData->store_id = $store_id;
- $FormData->user_id = $user_id;
- $FormData->saas_user_id = get_saas_user_id();
- $FormData->goods_id = $params['goods_id'];
- }
- $FormData->form = $params['form'];
- if(!$FormData->save()){
- throw new \Exception(array_shift($FormData->getFirstErrors()));
- }
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功!'
- ]);
- } catch (\Exception $e) {
- \Yii::error($e);
- return $this->asJson([
- 'code' => 1,
- 'msg' => '操作失败!' . $e->getMessage(),
- ]);
- }
- }
- public function actionFormInfo() {
- $goods_id = input_params('goods_id');
- $goods = Goods::findOne($goods_id);
- $orderForm = new \app\modules\client\models\v1\order\OrderForm();
- $orderForm->store_id = get_store_id();
- $data = $orderForm->getNewFormData($goods);
- return $this->asJson([
- 'code' => 0,
- 'data' => $data,
- ]);
- }
- public function actionFormDataInfo() {
- $store_id = get_store_id();
- $user_id = get_user_id();
- $id = input_params('id');
- $FormData = FormData::findOne(['id' => $id, 'store_id' => $store_id, 'user_id' => $user_id, 'is_delete' => 0]);
- $FormData['form'] = json_decode($FormData['form'], true);
- return $this->asJson([
- 'code' => 0,
- 'data' => $FormData,
- ]);
- }
- public function actionFormDataList() {
- $store_id = get_store_id();
- $user_id = get_user_id();
- $query = FormData::find()->alias('fd')
- ->leftJoin(['g' => Goods::tableName()], 'g.id = fd.goods_id')
- ->where(['fd.user_id' => $user_id, 'fd.store_id' => $store_id, 'fd.is_delete' => 0]);
- $query->orderBy('fd.id DESC');
- $query->select(['fd.*', 'g.name as goods_name', 'g.cover_pic', 'g.price']);
- $list = pagination_make($query);
- foreach($list['list'] as &$item){
- $item['form'] = json_decode($item['form'], true);
- }
- return $this->asJson([
- 'code' => 0,
- 'data' => $list,
- 'a' => [get_user_id(), get_saas_user_id()]
- ]);
- }
- }
|