wqData['uniacid']; $res=(new \yii\db\Query()) ->from('{{%ybwm_storage_brand}}') ->where('uniacid=:uniacid AND deleteAt=0 AND storeId=:storeId AND display=1',[':storeId'=>$post['storeId'],':uniacid'=>$uniacid])->orderBy('sort asc,id desc')->all(); return $this->result(1, '成功', $res); } //存酒 public function actionSaveStorage(){ $post=axios_request(); $userId=$this->wqData['userId']; $uniacid=$this->wqData['uniacid']; $storeSet = Config::getStoreSet('storageSet', $post['storeId']); $days=$storeSet['days']?:10; $data['storeId'] = $post['storeId']; $appType = $this->wqData['appType']; $data['origin'] = $appType; $data['userId'] = $userId; $data['userName'] = $post['userName']; $data['userTel'] = $post['userTel']; $data['name'] = $post['name']; $data['totalNum'] = $post['totalNum']; $data['outTradeNo'] = date("YmdHis") . rand(111111, 999999); $data['note'] = $post['note']; $data['createdAt'] =time(); $data['endAt'] =time()+$days*86400; $data['type'] =1; $data['state'] =1; if($storeSet['isCheck']==2){ $data['state'] =2; } $data['uniacid'] =$uniacid; $res =Yii::$app->db->createCommand()->insert('{{%ybwm_storage_order}}', $data)->execute(); $orderId = Yii::$app->db->getLastInsertID(); if ($res) { return $this->result(1, '成功', $orderId); } else { return $this->result(2, '失败'); } } //存/取酒记录 public function actionStorageList() { $post=axios_request(); $type=$post['type']; $userId=$this->wqData['userId']; $result=axios_request(); $page=$result['page']?:1; $state=$result['state']; $size=$result['size']?:10; $table=(new \yii\db\Query()) ->select(['a.*','s.name as storeName','s.icon as logo']) ->from('{{%ybwm_storage_order}} as a') ->join('LEFT JOIN', '{{%ybwm_store}} as s', 's.id = a.storeId') ->where('a.userId=:userId AND a.state!=3 AND a.userDeleteAt=0 AND a.deleteAt=0 AND a.type=:type',[':type'=>$type,':userId'=>$userId]); if($state){ if($state==3){ $table->andWhere('a.endAt<'.time()); }else{ $table->andWhere('a.state='.$state); } } $table->offset(($page - 1) * $size)->limit($size); $res=$table->orderby('a.id desc')->all(); return $this->result(1,'成功',$res); } //取酒 public function actionSaveTakeRecord() { $post=axios_request(); $uniacid=$this->wqData['uniacid']; $storageInfo=(new \yii\db\Query()) ->from('{{%ybwm_storage_order}}') ->where('id=:id',[':id'=>$post['id']])->one(); $quInfo=(new \yii\db\Query()) ->from('{{%ybwm_storage_order}}') ->where('storageId=:storageId AND state=1',[':storageId'=>$post['id']])->one(); if($quInfo){ return $this->result(2, '有取酒信息未审核,无法再次取酒'); } if(!$storageInfo){ return $this->result(2, '存酒信息不存在!!!'); } if(time()>$storageInfo['endAt']){ return $this->result(2, '存酒信息已过期!!!'); } if($storageInfo['state']!=2){ return $this->result(2, '存酒信息待确认!!!'); } $surplusNum=bcsub($storageInfo['totalNum'],$storageInfo['takeNum'],0); $takeNum=intval($post['takeNum']); if($takeNum<=0){ return $this->result(2, '取酒数量输入有误!!!'); } if($takeNum>$surplusNum){ return $this->result(2, '库存不足请确认后重试!!!'); } $appType = $this->wqData['appType']; $data['origin'] = $appType; $data['storeId'] = $storageInfo['storeId']; //自提id $data['userId'] = $storageInfo['userId']; $data['storageId'] = $storageInfo['id']; $data['userName'] = $storageInfo['userName']; $data['userTel'] = $storageInfo['userTel']; $data['name'] = $storageInfo['name']; $data['takeNum'] = $takeNum; $data['surplusNum'] =$surplusNum-$takeNum; $data['outTradeNo'] = $storageInfo['outTradeNo']; $data['createdAt'] =time(); $data['endAt'] =$storageInfo['endAt']; $data['state'] =1; $data['type'] =2; $data['uniacid'] =$uniacid; $res =Yii::$app->db->createCommand()->insert('{{%ybwm_storage_order}}', $data)->execute(); $orderId = Yii::$app->db->getLastInsertID(); if ($res) { Yii::$app->db->createCommand()->update('{{%ybwm_storage_order}}', ['takeNum'=>new \yii\db\Expression('takeNum +'.$takeNum)], 'id=:id', ['id' =>$storageInfo['id']])->execute(); if($surplusNum==$takeNum){ Yii::$app->db->createCommand()->update('{{%ybwm_storage_order}}', ['state'=>4], 'id=:id', ['id' =>$storageInfo['id']])->execute(); } return $this->result(1, '成功', $orderId); } else { return $this->result(2, '失败'); } } }