|
@@ -71,8 +71,20 @@ class WholeController extends Curd
|
|
}
|
|
}
|
|
|
|
|
|
$order = $request->get('order', 'desc');
|
|
$order = $request->get('order', 'desc');
|
|
|
|
+ $type = $request->get('type', '');
|
|
|
|
+ if ($type == 'todayOrder' && empty($where['order_addtimes'])){
|
|
|
|
+ $where['order_addtimes'][0] = strtotime(date('Y-m-d').' 00:00:00');
|
|
|
|
+ $where['order_addtimes'][1] = strtotime(date('Y-m-d').' 23:59:59');
|
|
|
|
+ }else if ($type == 'todayOrderAmount'){
|
|
|
|
+ $where['order_status_payment'] = 'SUCCESS';
|
|
|
|
+ $where['order_addtimes'][0] = strtotime(date('Y-m-d').' 00:00:00');
|
|
|
|
+ $where['order_addtimes'][1] = strtotime(date('Y-m-d').' 23:59:59');
|
|
|
|
+ }
|
|
$field = $field ?? 'order_addtimes';
|
|
$field = $field ?? 'order_addtimes';
|
|
if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
|
|
if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
|
|
|
|
+ if ($where['order_status_system'] == 'SENDING'){
|
|
|
|
+ $where['order_express.order_express_type'] = '配送';
|
|
|
|
+ }
|
|
$where['order_is_complete'] = 'N';
|
|
$where['order_is_complete'] = 'N';
|
|
$where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL,DISHES'];
|
|
$where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL,DISHES'];
|
|
}
|
|
}
|
|
@@ -115,6 +127,12 @@ class WholeController extends Curd
|
|
// 充值订单不显示
|
|
// 充值订单不显示
|
|
$where['order_category'] = ['<>','RECHARGE'];
|
|
$where['order_category'] = ['<>','RECHARGE'];
|
|
}
|
|
}
|
|
|
|
+ // 自提订单
|
|
|
|
+ if (!empty($where['order_status_system']) && $where['order_status_system'] == 'PICKUP'){
|
|
|
|
+ $where['order_is_complete'] = 'N';
|
|
|
|
+ $where['order_status_system'] = 'SENDING';
|
|
|
|
+ $where['order_express.order_express_type'] = '自提';
|
|
|
|
+ }
|
|
|
|
|
|
$query = $this->doSelect($where, $field, $order);
|
|
$query = $this->doSelect($where, $field, $order);
|
|
return $this->doFormat($query, $format, $limit);
|
|
return $this->doFormat($query, $format, $limit);
|
|
@@ -139,10 +157,11 @@ class WholeController extends Curd
|
|
// }
|
|
// }
|
|
// $query->select('orders_return_id', 'join_return_order_id', 'order_return_status');
|
|
// $query->select('orders_return_id', 'join_return_order_id', 'order_return_status');
|
|
// },
|
|
// },
|
|
- 'express' => function ($query) {
|
|
|
|
- $query->select('join_express_order_id', 'order_express_type');
|
|
|
|
- }
|
|
|
|
- ])->leftJoin('order_return','order_return.join_return_order_id','=','order.order_id');
|
|
|
|
|
|
+ // 'express' => function ($query) {
|
|
|
|
+ // $query->select('join_express_order_id', 'order_express_type');
|
|
|
|
+ // }
|
|
|
|
+ ])->leftJoin('order_return','order_return.join_return_order_id','=','order.order_id')
|
|
|
|
+ ->leftJoin('order_express','order_express.join_express_order_id','=','order.order_id');
|
|
// ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
|
|
// ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
|
|
foreach ($where as $column => $value) {
|
|
foreach ($where as $column => $value) {
|
|
if (is_array($value)) {
|
|
if (is_array($value)) {
|
|
@@ -176,7 +195,7 @@ class WholeController extends Curd
|
|
if ($field) {
|
|
if ($field) {
|
|
$model = $model->orderBy($field, $order);
|
|
$model = $model->orderBy($field, $order);
|
|
}
|
|
}
|
|
- $model = $model->select('order.*','order_return.orders_return_id', 'order_return.join_return_order_id', 'order_return.order_return_status','order_return.order_return_apply_json','order_return.order_return_remark');
|
|
|
|
|
|
+ $model = $model->select('order.*','order_express.join_express_order_id','order_express.order_express_type','order_return.orders_return_id', 'order_return.join_return_order_id', 'order_return.order_return_status','order_return.order_return_apply_json','order_return.order_return_remark');
|
|
return $model;
|
|
return $model;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -204,6 +223,13 @@ class WholeController extends Curd
|
|
'order_return_remark'=>$item['order_return_remark']
|
|
'order_return_remark'=>$item['order_return_remark']
|
|
];
|
|
];
|
|
}
|
|
}
|
|
|
|
+ if (isset($item['join_express_order_id'])){
|
|
|
|
+ $item['express'] = [
|
|
|
|
+ 'join_express_order_id'=>$item['join_express_order_id'],
|
|
|
|
+ 'order_express_type'=>$item['order_express_type']
|
|
|
|
+ ];
|
|
|
|
+ unset($item['join_express_order_id'],$item['order_express_type']);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return $items;
|
|
return $items;
|
|
@@ -414,8 +440,12 @@ class WholeController extends Curd
|
|
$order->sheet_amount = number_format($sheetAmount,2);
|
|
$order->sheet_amount = number_format($sheetAmount,2);
|
|
|
|
|
|
$payDetail = PayDetail::where('join_pay_order_id', $order->order_groupby)
|
|
$payDetail = PayDetail::where('join_pay_order_id', $order->order_groupby)
|
|
- ->select('pay_id', 'pay_category', 'pay_prepayid', 'pay_paytimes', 'pay_status', 'pay_amount')
|
|
|
|
|
|
+ ->select('pay_id', 'pay_category', 'pay_prepayid', 'pay_paytimes', 'pay_status', 'pay_amount','pay_extend_json')
|
|
->first();
|
|
->first();
|
|
|
|
+ if(!empty($payDetail) && !empty($payDetail->pay_extend_json)){
|
|
|
|
+ $payExtendJson = json_decode($payDetail->pay_extend_json,true);
|
|
|
|
+ $payDetail->cancel_times = $payExtendJson['cancel_times'] ?? '';
|
|
|
|
+ }
|
|
$refund = OrderReturn::where('join_return_order_id',$orderId)
|
|
$refund = OrderReturn::where('join_return_order_id',$orderId)
|
|
->select('order_return_status','order_return_apply_datetime','order_return_apply_json','order_return_accept_datetime','order_return_refund_json','order_return_extend_json')
|
|
->select('order_return_status','order_return_apply_datetime','order_return_apply_json','order_return_accept_datetime','order_return_refund_json','order_return_extend_json')
|
|
->first();
|
|
->first();
|
|
@@ -431,7 +461,7 @@ class WholeController extends Curd
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- if (!empty($payDetail->pay_prepayid)) {
|
|
|
|
|
|
+ if (!empty($payDetail) && !empty($payDetail->pay_prepayid)) {
|
|
$categoryArray = explode('-', $payDetail->pay_prepayid);
|
|
$categoryArray = explode('-', $payDetail->pay_prepayid);
|
|
if (isset($categoryArray[1])) {
|
|
if (isset($categoryArray[1])) {
|
|
$payDetail->pay_category = $categoryArray[1];
|
|
$payDetail->pay_category = $categoryArray[1];
|
|
@@ -468,6 +498,10 @@ class WholeController extends Curd
|
|
$order->dept_table_id = $orderConfigJson['tableid'];
|
|
$order->dept_table_id = $orderConfigJson['tableid'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (!empty($order->order_extend_json)){
|
|
|
|
+ $orderExtendJson = json_decode($order->order_extend_json,true);
|
|
|
|
+ $order->referee = $orderExtendJson['referee'] ?? '';
|
|
|
|
+ }
|
|
|
|
|
|
$order->premises = $premises;
|
|
$order->premises = $premises;
|
|
$data = [
|
|
$data = [
|
|
@@ -558,14 +592,26 @@ class WholeController extends Curd
|
|
public function updateSheet($params)
|
|
public function updateSheet($params)
|
|
{
|
|
{
|
|
try{
|
|
try{
|
|
|
|
+ // 判断餐品是否连带着服务或实体
|
|
|
|
+ $goodsClassifys = array_unique(array_column($params['goodsContentList'],'goods_classify'));
|
|
|
|
+ if (in_array('MEALS',$goodsClassifys) && count($goodsClassifys) > 1){
|
|
|
|
+ return json_fail('餐饮餐品不支持和其他类型的产品一起下单');
|
|
|
|
+ }
|
|
|
|
+ if (in_array('MEALS',$goodsClassifys)){
|
|
|
|
+ $params['submit_goods_classify'] = 'MEALS';
|
|
|
|
+ }
|
|
foreach ($params['goodsContentList'] as $sheet){
|
|
foreach ($params['goodsContentList'] as $sheet){
|
|
// 先还原库存
|
|
// 先还原库存
|
|
|
|
+
|
|
$orderSheet = OrderSheet::where('order_sheet_id',$sheet['order_sheet_id'])->first();
|
|
$orderSheet = OrderSheet::where('order_sheet_id',$sheet['order_sheet_id'])->first();
|
|
- $goodsSku = GoodsSku::where('goods_sku_id',$orderSheet->join_sheet_goods_sku_id)->first();
|
|
|
|
- $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
- $skuStorageJson['storage'] = $skuStorageJson['storage'] + $orderSheet->order_sheet_num;
|
|
|
|
- $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
|
|
|
|
- $goodsSku->save();
|
|
|
|
|
|
+ if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
|
|
|
|
+ $goodsSku = GoodsSku::where('goods_sku_id',$orderSheet->join_sheet_goods_sku_id)->first();
|
|
|
|
+ $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
+ $skuStorageJson['storage'] = $skuStorageJson['storage'] + $orderSheet->order_sheet_num;
|
|
|
|
+ $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
|
|
|
|
+ $goodsSku->save();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
$goodsRunning = GoodsRunning::where('join_running_goods_id',$orderSheet->join_sheet_goods_id)->first();
|
|
$goodsRunning = GoodsRunning::where('join_running_goods_id',$orderSheet->join_sheet_goods_id)->first();
|
|
$goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage + $orderSheet->order_sheet_num;
|
|
$goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage + $orderSheet->order_sheet_num;
|
|
@@ -574,20 +620,24 @@ class WholeController extends Curd
|
|
|
|
|
|
$data=[
|
|
$data=[
|
|
'order_sheet_num'=>$sheet['nbr'],
|
|
'order_sheet_num'=>$sheet['nbr'],
|
|
- 'join_sheet_goods_sku_id'=>$sheet['sku_id']
|
|
|
|
|
|
+ 'join_sheet_goods_sku_id'=>$sheet['sku_id'],
|
|
|
|
+ 'order_sheet_amount'=>$sheet['nbr'] * $orderSheet->order_sheet_price,
|
|
|
|
+ 'order_sheet_pay'=>$sheet['nbr'] * $orderSheet->order_sheet_price,
|
|
];
|
|
];
|
|
OrderSheet::where('order_sheet_id',$sheet['order_sheet_id'])->update($data);
|
|
OrderSheet::where('order_sheet_id',$sheet['order_sheet_id'])->update($data);
|
|
|
|
|
|
// 减库存
|
|
// 减库存
|
|
- $goodsSku = GoodsSku::where('goods_sku_id',$sheet['sku_id'])->first();
|
|
|
|
- $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
- $skuStorageJson['storage'] = $skuStorageJson['storage'] - $sheet['nbr'];
|
|
|
|
- if ($skuStorageJson['storage'] < 0){
|
|
|
|
- throw new BusinessException('库存不足');
|
|
|
|
|
|
+ if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
|
|
|
|
+ $goodsSku = GoodsSku::where('goods_sku_id',$sheet['sku_id'])->first();
|
|
|
|
+ $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
+ $skuStorageJson['storage'] = $skuStorageJson['storage'] - $sheet['nbr'];
|
|
|
|
+ if ($skuStorageJson['storage'] < 0){
|
|
|
|
+ throw new BusinessException('库存不足');
|
|
|
|
+ }
|
|
|
|
+ $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
|
|
|
|
+ $goodsSku->save();
|
|
}
|
|
}
|
|
- $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
|
|
|
|
- $goodsSku->save();
|
|
|
|
-
|
|
|
|
|
|
+
|
|
$goodsRunning = GoodsRunning::where('join_running_goods_id',$orderSheet->join_sheet_goods_id)->first();
|
|
$goodsRunning = GoodsRunning::where('join_running_goods_id',$orderSheet->join_sheet_goods_id)->first();
|
|
$goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $sheet['nbr'];
|
|
$goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $sheet['nbr'];
|
|
if ($goodsRunning->goods_running_storage < 0){
|
|
if ($goodsRunning->goods_running_storage < 0){
|
|
@@ -662,6 +712,9 @@ class WholeController extends Curd
|
|
if (!$order){
|
|
if (!$order){
|
|
return json_fail('订单异常');
|
|
return json_fail('订单异常');
|
|
}
|
|
}
|
|
|
|
+ if ($order->order_status_system != 'PAYING'){
|
|
|
|
+ return json_fail('订单不是可支付状态');
|
|
|
|
+ }
|
|
if (!empty($order->order_config_json)){
|
|
if (!empty($order->order_config_json)){
|
|
$orderConfigJson = json_decode($order->order_config_json,true);
|
|
$orderConfigJson = json_decode($order->order_config_json,true);
|
|
if (isset($orderConfigJson['premises'])){
|
|
if (isset($orderConfigJson['premises'])){
|
|
@@ -683,7 +736,7 @@ class WholeController extends Curd
|
|
|
|
|
|
$systemStatus = 'SENDING'; // 待发货
|
|
$systemStatus = 'SENDING'; // 待发货
|
|
// 立即结算
|
|
// 立即结算
|
|
- if(in_array($params['goods_classify'],['SERVICE','CHNMED','CHNNCD','MEALS'])){
|
|
|
|
|
|
+ if(in_array($params['goods_classify'],['SERVICE','CHNMED','CHNNCD','MEALS','VIP'])){
|
|
$systemStatus = 'DONE';
|
|
$systemStatus = 'DONE';
|
|
}
|
|
}
|
|
Db::beginTransaction();
|
|
Db::beginTransaction();
|
|
@@ -931,6 +984,11 @@ class WholeController extends Curd
|
|
}
|
|
}
|
|
$order->order_config_json = json_encode($orderConfigJson);
|
|
$order->order_config_json = json_encode($orderConfigJson);
|
|
$order->order_amount_pay = $params['order_amount_pay']+$qrcodePayAmount;
|
|
$order->order_amount_pay = $params['order_amount_pay']+$qrcodePayAmount;
|
|
|
|
+ // 康养城订单,支付完就结束了
|
|
|
|
+ if ($order->order_status_payment == 'SUCCESS' && $params['goods_classify'] == 'VIP'){
|
|
|
|
+ $order->order_is_complete = 'Y';
|
|
|
|
+ }
|
|
|
|
+
|
|
// 主订单
|
|
// 主订单
|
|
$order->save();
|
|
$order->save();
|
|
|
|
|
|
@@ -1033,6 +1091,12 @@ class WholeController extends Curd
|
|
// ]);
|
|
// ]);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
+
|
|
|
|
+ // 2.4W 康养城
|
|
|
|
+ if ($params['goods_classify'] == 'VIP' && intval($params['order_amount_pay']) == 24000 && $order->order_status_payment == 'SUCCESS'){
|
|
|
|
+ $params['member_id'] = $params['join_order_member_id'];
|
|
|
|
+ Event::dispatch('order.kangyangCityVIP.grant',$params);
|
|
|
|
+ }
|
|
|
|
|
|
Db::commit();
|
|
Db::commit();
|
|
|
|
|
|
@@ -1155,6 +1219,27 @@ class WholeController extends Curd
|
|
|
|
|
|
Db::beginTransaction();
|
|
Db::beginTransaction();
|
|
try {
|
|
try {
|
|
|
|
+ // 验证库存
|
|
|
|
+ foreach($params['goodsContentList'] as $goods){
|
|
|
|
+ // 减库存,规格和总库存
|
|
|
|
+ if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
|
|
|
|
+ $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
|
|
|
|
+ $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
+ if (isset($skuStorageJson['storage']) && !empty($skuStorageJson['storage'])){
|
|
|
|
+ $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
|
|
|
|
+ }
|
|
|
|
+ if (!isset($skuStorageJson['storage']) || (!empty($skuStorageJson['storage']) && $skuStorageJson['storage'] < 0)){
|
|
|
|
+ throw new BusinessException('库存不足');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ $goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
|
|
|
|
+ $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
|
|
|
|
+ if ($goodsRunning->goods_running_storage < 0){
|
|
|
|
+ throw new BusinessException('库存不足');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
// 余额、福利、储值卡 验证短信
|
|
// 余额、福利、储值卡 验证短信
|
|
if ($params['settlement_now'] == 'Y' && $params['pay_constitute'] == 'N' && in_array($params['pay_category'],['CASH','CARD','WELFARE'])){
|
|
if ($params['settlement_now'] == 'Y' && $params['pay_constitute'] == 'N' && in_array($params['pay_category'],['CASH','CARD','WELFARE'])){
|
|
$code = $params['sms_code'];
|
|
$code = $params['sms_code'];
|
|
@@ -1200,7 +1285,7 @@ class WholeController extends Curd
|
|
// 立即结算
|
|
// 立即结算
|
|
if($params['settlement_now'] == 'Y'){
|
|
if($params['settlement_now'] == 'Y'){
|
|
$params['order_is_complete'] = 'Y';
|
|
$params['order_is_complete'] = 'Y';
|
|
- if(in_array($params['goods_classify'],['SERVICE','CHNMED','CHNNCD','MEALS'])){
|
|
|
|
|
|
+ if(in_array($params['goods_classify'],['SERVICE','CHNMED','CHNNCD','MEALS','VIP'])){
|
|
$systemStatus = 'DONE';
|
|
$systemStatus = 'DONE';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1448,16 +1533,16 @@ class WholeController extends Curd
|
|
}
|
|
}
|
|
|
|
|
|
// 配送方式
|
|
// 配送方式
|
|
- if ($params['delivery'] == 'PICKUP' || $params['delivery'] == 'ARRIVAL') { // 自提/ 到店
|
|
|
|
|
|
+ if (isset($params['delivery']) && ($params['delivery'] == 'PICKUP' || $params['delivery'] == 'ARRIVAL')) { // 自提/ 到店
|
|
$orderConfigJson['premises'] = $params['dept_premises_id'];
|
|
$orderConfigJson['premises'] = $params['dept_premises_id'];
|
|
- } else if ($params['delivery'] == 'LOGISTICS') {
|
|
|
|
|
|
+ } else if (isset($params['delivery']) && $params['delivery'] == 'LOGISTICS') {
|
|
// $params['order_express_json'] = json_encode([
|
|
// $params['order_express_json'] = json_encode([
|
|
// 'express' => 'Y',
|
|
// 'express' => 'Y',
|
|
// ]);
|
|
// ]);
|
|
}
|
|
}
|
|
$params['order_amount_pay'] = $params['order_amount_pay'] + $qrcodePayAmount;
|
|
$params['order_amount_pay'] = $params['order_amount_pay'] + $qrcodePayAmount;
|
|
|
|
|
|
- if (in_array($params['delivery'],['PICKUP','ARRIVAL']) && !empty($params['dept_premises_id'])){
|
|
|
|
|
|
+ if (isset($params['delivery']) && in_array($params['delivery'],['PICKUP','ARRIVAL']) && !empty($params['dept_premises_id'])){
|
|
// $premises = SysDept::where('dept_name',$params['dept_premises_id'])->where('dept_category','营业场所')->first();
|
|
// $premises = SysDept::where('dept_name',$params['dept_premises_id'])->where('dept_category','营业场所')->first();
|
|
if (!$premises){
|
|
if (!$premises){
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
@@ -1491,11 +1576,11 @@ class WholeController extends Curd
|
|
$this->insertPayDetail($params);
|
|
$this->insertPayDetail($params);
|
|
|
|
|
|
$params['order_express_goods'] = json_encode(['sheet' => [$sheetId]]);
|
|
$params['order_express_goods'] = json_encode(['sheet' => [$sheetId]]);
|
|
- if ($params['delivery'] == 'LOGISTICS') {
|
|
|
|
|
|
+ if (isset($params['delivery']) && $params['delivery'] == 'LOGISTICS') {
|
|
$params['order_express_type'] = '配送';
|
|
$params['order_express_type'] = '配送';
|
|
// 入配送
|
|
// 入配送
|
|
$this->saveExpress($params);
|
|
$this->saveExpress($params);
|
|
- } else if ($params['delivery'] == 'PICKUP') {
|
|
|
|
|
|
+ } else if (isset($params['delivery']) && $params['delivery'] == 'PICKUP') {
|
|
$params['order_express_type'] = '自提';
|
|
$params['order_express_type'] = '自提';
|
|
if (!$premises) {
|
|
if (!$premises) {
|
|
throw new BusinessException('自提门店不存在');
|
|
throw new BusinessException('自提门店不存在');
|
|
@@ -1573,7 +1658,11 @@ class WholeController extends Curd
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
|
|
-
|
|
|
|
|
|
+ // 2.4W 康养城
|
|
|
|
+ if ($params['goods_classify'] == 'VIP' && intval($params['order_amount_pay']) == 24000 && $params['order_status_payment'] == 'SUCCESS'){
|
|
|
|
+ $params['member_id'] = $params['join_order_member_id'];
|
|
|
|
+ Event::dispatch('order.kangyangCityVIP.grant',$params);
|
|
|
|
+ }
|
|
|
|
|
|
Db::commit();
|
|
Db::commit();
|
|
|
|
|
|
@@ -1626,11 +1715,13 @@ class WholeController extends Curd
|
|
return json_success('创建订单成功');
|
|
return json_success('创建订单成功');
|
|
}catch(BusinessException $e){
|
|
}catch(BusinessException $e){
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
|
|
+ dump($e->getMessage());
|
|
dump($e->getTrace());
|
|
dump($e->getTrace());
|
|
_syslog("订单",$e->getMessage());
|
|
_syslog("订单",$e->getMessage());
|
|
return json_fail($e->getMessage());
|
|
return json_fail($e->getMessage());
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
|
|
+ dump($e->getMessage());
|
|
dump($e->getTrace());
|
|
dump($e->getTrace());
|
|
_syslog("订单","创建订单失败");
|
|
_syslog("订单","创建订单失败");
|
|
return json_fail('创建订单失败');
|
|
return json_fail('创建订单失败');
|
|
@@ -1649,6 +1740,24 @@ class WholeController extends Curd
|
|
public function insertMain($params)
|
|
public function insertMain($params)
|
|
{
|
|
{
|
|
try {
|
|
try {
|
|
|
|
+ $orderCategory = 'NORMAL';
|
|
|
|
+ if (!empty($params['order_category'])){
|
|
|
|
+ $orderCategory = $params['order_category'];
|
|
|
|
+ }else if(isset($params['submit_goods_classify']) && $params['submit_goods_classify'] == 'MEALS'){
|
|
|
|
+ $orderCategory = 'DISHES';
|
|
|
|
+ }else if (isset($params['goods_classify'])){
|
|
|
|
+ $orderCategory = $params['goods_classify'];
|
|
|
|
+ }
|
|
|
|
+ if (empty($params['order_extend_json'])){
|
|
|
|
+ $params['order_extend_json'] = [];
|
|
|
|
+ }else{
|
|
|
|
+ if(is_json($params['order_extend_json'])){
|
|
|
|
+ $params['order_extend_json'] = json_decode($params['order_extend_json'],true);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 推荐人
|
|
|
|
+ $params['order_extend_json']['referee'] = $params['referee'] ?? '';
|
|
|
|
+
|
|
$data = [
|
|
$data = [
|
|
'order_id' => $params['orderId'],
|
|
'order_id' => $params['orderId'],
|
|
'order_groupby' => $params['orderGroupId'],
|
|
'order_groupby' => $params['orderGroupId'],
|
|
@@ -1656,7 +1765,7 @@ class WholeController extends Curd
|
|
'order_name' => date('Y-m-d H:i:s') . '-订单',
|
|
'order_name' => date('Y-m-d H:i:s') . '-订单',
|
|
'order_amount_total' => $params['order_amount_total'],
|
|
'order_amount_total' => $params['order_amount_total'],
|
|
'order_amount_pay' => $params['order_amount_pay'],
|
|
'order_amount_pay' => $params['order_amount_pay'],
|
|
- 'order_category' => (isset($params['submit_goods_classify']) && $params['submit_goods_classify'] == 'MEALS') ? 'DISHES' : $params['goods_classify'],
|
|
|
|
|
|
+ 'order_category' => $orderCategory,
|
|
'order_is_complete' => $params['order_is_complete'] ?? 'N',
|
|
'order_is_complete' => $params['order_is_complete'] ?? 'N',
|
|
'order_status_system' => $params['order_status_system'],
|
|
'order_status_system' => $params['order_status_system'],
|
|
'order_status_payment' => $params['order_status_payment'],
|
|
'order_status_payment' => $params['order_status_payment'],
|
|
@@ -1665,7 +1774,7 @@ class WholeController extends Curd
|
|
'order_remark' => $params['order_remark'] ?? '',
|
|
'order_remark' => $params['order_remark'] ?? '',
|
|
'order_config_json' => $params['order_config_json'] ?? '[]',
|
|
'order_config_json' => $params['order_config_json'] ?? '[]',
|
|
'order_express_json' => $params['order_express_json'] ?? '[]',
|
|
'order_express_json' => $params['order_express_json'] ?? '[]',
|
|
- 'order_extend_json' => $params['order_extend_json'] ?? '[]',
|
|
|
|
|
|
+ 'order_extend_json' => $params['order_extend_json'] ? json_encode($params['order_extend_json']) : '[]',
|
|
'order_addtimes' => time()
|
|
'order_addtimes' => time()
|
|
];
|
|
];
|
|
|
|
|
|
@@ -1718,14 +1827,20 @@ class WholeController extends Curd
|
|
OrderSheet::insertGetId($data);
|
|
OrderSheet::insertGetId($data);
|
|
|
|
|
|
// 减库存,规格和总库存
|
|
// 减库存,规格和总库存
|
|
- $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
|
|
|
|
- $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
- $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
|
|
|
|
- if ($skuStorageJson['storage'] < 0){
|
|
|
|
- throw new BusinessException('库存不足');
|
|
|
|
|
|
+ if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
|
|
|
|
+ $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
|
|
|
|
+ $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
|
|
|
|
+ if (isset($skuStorageJson['storage']) && !empty($skuStorageJson['storage'])){
|
|
|
|
+ $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!isset($skuStorageJson['storage']) || (!empty($skuStorageJson['storage']) && $skuStorageJson['storage'] < 0)){
|
|
|
|
+ throw new BusinessException('库存不足');
|
|
|
|
+ }
|
|
|
|
+ $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
|
|
|
|
+ $goodsSku->save();
|
|
}
|
|
}
|
|
- $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
|
|
|
|
- $goodsSku->save();
|
|
|
|
|
|
+
|
|
|
|
|
|
$goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
|
|
$goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
|
|
$goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
|
|
$goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
|
|
@@ -1737,8 +1852,10 @@ class WholeController extends Curd
|
|
}
|
|
}
|
|
return true;
|
|
return true;
|
|
}catch(\support\exception\BusinessException $e){
|
|
}catch(\support\exception\BusinessException $e){
|
|
|
|
+ dump($e->getMessage().'||'.$e->getLine());
|
|
throw new BusinessException($e->getMessage());
|
|
throw new BusinessException($e->getMessage());
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
|
+ dump($e->getMessage().'||'.$e->getLine());
|
|
throw new BusinessException('订单创建失败');
|
|
throw new BusinessException('订单创建失败');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1896,6 +2013,15 @@ class WholeController extends Curd
|
|
$payDetail->pay_amount = $payDetail->pay_amount + $data['order_sheet_pay'];
|
|
$payDetail->pay_amount = $payDetail->pay_amount + $data['order_sheet_pay'];
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 减总库存
|
|
|
|
+ $goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
|
|
|
|
+ $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
|
|
|
|
+ if ($goodsRunning->goods_running_storage < 0){
|
|
|
|
+ throw new BusinessException('库存不足');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
|
|
|
|
+ $goodsRunning->save();
|
|
|
|
|
|
OrderSheet::insertGetId($data);
|
|
OrderSheet::insertGetId($data);
|
|
}
|
|
}
|
|
@@ -1966,6 +2092,9 @@ class WholeController extends Curd
|
|
'order_status_system' => 'CONFIRM',
|
|
'order_status_system' => 'CONFIRM',
|
|
'order_status_storage' => 'DONE'
|
|
'order_status_storage' => 'DONE'
|
|
];
|
|
];
|
|
|
|
+ $orderSheetData = [
|
|
|
|
+ 'order_sheet_status' => 'CONFIRM'
|
|
|
|
+ ];
|
|
|
|
|
|
// 7天后自动完成
|
|
// 7天后自动完成
|
|
// $redis = Redis::connection();
|
|
// $redis = Redis::connection();
|
|
@@ -1978,6 +2107,9 @@ class WholeController extends Curd
|
|
'order_status_system' => 'RECVING',
|
|
'order_status_system' => 'RECVING',
|
|
'order_status_storage' => 'EXPRESSING'
|
|
'order_status_storage' => 'EXPRESSING'
|
|
];
|
|
];
|
|
|
|
+ $orderSheetData = [
|
|
|
|
+ 'order_sheet_status' => 'RECVING'
|
|
|
|
+ ];
|
|
|
|
|
|
// 15天后自动完成订单
|
|
// 15天后自动完成订单
|
|
$redis = Redis::connection();
|
|
$redis = Redis::connection();
|
|
@@ -2001,6 +2133,8 @@ class WholeController extends Curd
|
|
|
|
|
|
// 该订单状态
|
|
// 该订单状态
|
|
Order::where('order_id', $request->post('order_id'))->update($orderData);
|
|
Order::where('order_id', $request->post('order_id'))->update($orderData);
|
|
|
|
+ // 该订单Sheet状态
|
|
|
|
+ OrderSheet::where('join_sheet_order_id', $request->post('order_id'))->update($orderSheetData);
|
|
|
|
|
|
// 入配送记录表
|
|
// 入配送记录表
|
|
$model->join_express_order_id = $params['order_id'];
|
|
$model->join_express_order_id = $params['order_id'];
|
|
@@ -2327,7 +2461,10 @@ class WholeController extends Curd
|
|
'refund' => function ($query) {
|
|
'refund' => function ($query) {
|
|
$query->select('join_return_order_id', 'orders_return_id', 'order_return_status');
|
|
$query->select('join_return_order_id', 'orders_return_id', 'order_return_status');
|
|
},
|
|
},
|
|
- ])->where('join_sheet_member_id', $memberId)
|
|
|
|
|
|
+ ])
|
|
|
|
+ ->leftJoin('order','order.order_id','order_sheet.join_sheet_order_id')
|
|
|
|
+ ->where('join_sheet_member_id', $memberId)
|
|
|
|
+ ->where('order.order_category','<>','RECHARGE')
|
|
->when(!empty($datetime), function($query) use ($datetime){
|
|
->when(!empty($datetime), function($query) use ($datetime){
|
|
$datetime[0] = strtotime($datetime[0]);
|
|
$datetime[0] = strtotime($datetime[0]);
|
|
$datetime[1] = strtotime($datetime[1]);
|
|
$datetime[1] = strtotime($datetime[1]);
|
|
@@ -2752,6 +2889,7 @@ class WholeController extends Curd
|
|
return json_fail('请选择打印设备');
|
|
return json_fail('请选择打印设备');
|
|
}
|
|
}
|
|
$premises = SysDept::where('dept_name',$premiseName)->where('dept_category','营业场所')->where('dept_status','ACTIVED')->first();
|
|
$premises = SysDept::where('dept_name',$premiseName)->where('dept_category','营业场所')->where('dept_status','ACTIVED')->first();
|
|
|
|
+ $restaurant = SysDept::where('dept_name',$premiseName)->where('dept_category','餐厅')->where('dept_status','ACTIVED')->first();
|
|
$order = Order::where('order_id',$orderId)->first();
|
|
$order = Order::where('order_id',$orderId)->first();
|
|
|
|
|
|
try {
|
|
try {
|
|
@@ -2760,8 +2898,11 @@ class WholeController extends Curd
|
|
return json_fail('无法打印未支付的结账单');
|
|
return json_fail('无法打印未支付的结账单');
|
|
}
|
|
}
|
|
|
|
|
|
- if (!empty($premises)){
|
|
|
|
- $restaurant = SysDept::where('dept_super_id',$premises->dept_id)->where('dept_category','餐厅')->first();
|
|
|
|
|
|
+ if (!empty($premises) || $restaurant){
|
|
|
|
+ if(empty($restaurant)){
|
|
|
|
+ $restaurant = SysDept::where('dept_super_id',$premises->dept_id)->where('dept_category','餐厅')->first();
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!empty($restaurant->dept_extend_json)){
|
|
if (!empty($restaurant->dept_extend_json)){
|
|
$deptExtendJson = json_decode($restaurant->dept_extend_json,true);
|
|
$deptExtendJson = json_decode($restaurant->dept_extend_json,true);
|
|
$voteData = [
|
|
$voteData = [
|