canyin-project/ybcy/controllers/channelApi/CashierController.php

105 lines
4.5 KiB
PHP
Raw Normal View History

2024-11-01 16:07:54 +08:00
<?php
namespace app\controllers\channelApi;
use Illuminate\Support\Facades\DB;
use Yii;
use app\models\common\Config;
use app\models\common\Store;
use app\models\common\Order;
use app\models\common\CallbackOrder;
use app\models\common\Message;
use app\models\common\Power;
use app\models\common\Member;
use app\models\common\Printing;
class CashierController extends CommonController{
//收银订单
public function actionSaveCashier(){
$request = Yii::$app->request;
$result=axios_request();
if($request->isGet){
return $this->result(2, '请求异常');
}
$now=time();
$userId=$this->wqData['userId'];
$uniacid=$this->wqData['uniacid'];
$appType = $this->wqData['appType'];
$user=(new \yii\db\Query())
->from('{{%ybwm_member}}')
->where('id=:id',[':id'=>$userId])->one();
if ($user['isBlack'] == 1) {
return $this->result(2, '账号异常,请联系管理员!!!');
}
$userCard=(new \yii\db\Query())
->from('{{%ybwm_user_card}}')
->where('level=:level AND uniacid=:uniacid',[':level'=>$user['level'],':uniacid'=>$user['uniacid']])->one();
$newMoney=$result['money'];
$discount=0;
if($userCard['isCashier']==1 AND $userCard['cashierDiscount']){
$newMoney=bcmul($result['money'],$userCard['cashierDiscount']/10,2);
$discount=bcsub($result['money'],$newMoney,2);
}
$data['userId']=$userId;
$data['uniacid']=$uniacid;
$data['storeId']=$result['storeId'];
$data['money']=$newMoney;
$data['discount']=$discount;
$data['userNote']=$result['userNote'];
$data['origin']=$appType;
$data['createdAt']=$now;
$data['outTradeNo'] = date("YmdHis") . rand(111111, 999999);
$res=Yii::$app->db->createCommand()->insert('{{%ybwm_cashier_order}}', $data)->execute();
$orderId = Yii::$app->db->getLastInsertID();
if($res){
return $this->result(1, '成功',$orderId);
}else{
return $this->result(2, '失败');
}
}
//查看我的收银订单
public function actionMyCashier(){
$result=axios_request();
$page=$result['page']?:1;
$size=$result['size']?:10;
$table=(new \yii\db\Query())
->select(['a.id','a.discount','a.money','a.payMode','a.createdAt','a.state','a.userNote','s.name as storeName','s.icon as storeIcon','s.storeTel','a.storeId'])
->from('{{%ybwm_cashier_order}} as a')
->join('LEFT JOIN', '{{%ybwm_store}} as s', 's.id = a.storeId')
->where('a.uniacid=:uniacid AND a.deleteAt=0 AND a.userId=:userId AND a.state=2',[':uniacid'=>$this->wqData['uniacid'],':userId'=>$this->wqData['userId']]);
$table->offset(($page - 1) * $size)->limit($size);
$res=$table->orderby('id desc')->all();
return $this->result(1,'成功',$res);
}
//查看我的收银订单
public function actionCashierOrderInfo(){
$result=axios_request();
$table=(new \yii\db\Query())
->select(['a.id','a.discount','a.money','a.outTradeNo','a.payMode','a.createdAt','a.state','a.userNote','s.name as storeName','s.icon as storeIcon','s.storeTel','a.storeId'])
->from('{{%ybwm_cashier_order}} as a')
->join('LEFT JOIN', '{{%ybwm_store}} as s', 's.id = a.storeId')
->where('a.id=:id',[':id'=>$result['id']]);
$res=$table->one();
return $this->result(1,'成功',$res);
}
public function actionGetDiscount(){
$result=axios_request();
$uniacid=$this->wqData['uniacid'];
$userId=$this->wqData['userId'];
$user=(new \yii\db\Query())
->from('{{%ybwm_member}}')
->where('id=:id',[':id'=>$userId])->one();
$userCard=(new \yii\db\Query())
->from('{{%ybwm_user_card}}')
->where('level=:level AND uniacid=:uniacid',[':level'=>$user['level'],':uniacid'=>$uniacid])->one();
$newMoney=$result['money'];
$discount=0;
if($userCard['isCashier']==1 AND $userCard['cashierDiscount']){
$newMoney=bcmul($result['money'],$userCard['cashierDiscount']/10,2);
$discount=bcsub($result['money'],$newMoney,2);
}
$data['newMoney']=$newMoney;
$data['discountMoney']=$discount;
$data['discount']=$userCard['cashierDiscount']?:0;
return $this->result(1,'成功',$data);
}
}