|
@@ -119,7 +119,7 @@ class WholeController extends Curd
|
|
|
if ($request->get('goods_classify') || $request->get('goods_name')) {
|
|
|
// $where['order_id'] = '';
|
|
|
$goodsClassify = $request->get('goods_classify', '');
|
|
|
- if ($goodsClassify == 'DISHES'){
|
|
|
+ if ($goodsClassify == 'DISHES') {
|
|
|
$goodsClassify = 'MEALS';
|
|
|
}
|
|
|
$goodsName = $request->get('goods_name', '');
|
|
@@ -333,7 +333,7 @@ class WholeController extends Curd
|
|
|
$orderId = $request->get('order_id');
|
|
|
$orderSheet = OrderSheet::with([
|
|
|
'member' => function ($query) {
|
|
|
- $query->select('member_id', 'member_mobile', 'member_is_owner', 'join_member_role_id','member_is_vip','member_is_partner','member_is_referrer');
|
|
|
+ $query->select('member_id', 'member_mobile', 'member_is_owner', 'join_member_role_id', 'member_is_vip', 'member_is_partner', 'member_is_referrer');
|
|
|
},
|
|
|
'goods' => function ($query) {
|
|
|
$query->select('goods_id', 'goods_name', 'goods_cover', 'goods_market_price', 'goods_sales_price', 'goods_classify', 'goods_if_express');
|
|
@@ -813,6 +813,7 @@ class WholeController extends Curd
|
|
|
}
|
|
|
|
|
|
$order = Order::where('order_id', $params['order_id'])->first();
|
|
|
+ $oldOrderStatus = $order->order_status_system;
|
|
|
if (!$order) {
|
|
|
return json_fail('订单异常');
|
|
|
}
|
|
@@ -830,7 +831,9 @@ class WholeController extends Curd
|
|
|
}
|
|
|
}
|
|
|
$params['orderId'] = $params['order_id'];
|
|
|
- $params['orderGroupId'] = $order->order_groupby;
|
|
|
+ $params['orderGroupId'] = 'OD' . date('ymdHi') . random_string(4, 'up');
|
|
|
+ $order->order_groupby = $params['orderGroupId'];
|
|
|
+// $params['orderGroupId'] = $order->order_groupby;
|
|
|
|
|
|
$goods = Goods::where('goods_id', $params['join_sheet_goods_id'])
|
|
|
->select('goods_id', 'goods_name', 'goods_classify')
|
|
@@ -1092,7 +1095,7 @@ class WholeController extends Curd
|
|
|
if (in_array($prefix, [10, 11, 12, 13, 14, 15])) {
|
|
|
$params['pay_category'] = 'WXPAY';
|
|
|
if ((!isset($result['return_code']) || $result['return_code'] != 'SUCCESS') || (!isset($result['result_code']) || $result['result_code'] != 'SUCCESS') || (empty($result['trade_state']) || $result['trade_state'] != 'SUCCESS')) {
|
|
|
- $order->order_status_system = 'PAYING';
|
|
|
+ $order->order_status_system = $oldOrderStatus;
|
|
|
$order->order_status_payment = 'PENDING';
|
|
|
$order->order_is_complete = 'N';
|
|
|
// Db::rollBack();
|
|
@@ -1104,7 +1107,7 @@ class WholeController extends Curd
|
|
|
} else if (in_array($prefix, [25, 26, 27, 28, 29, 30])) {
|
|
|
$params['pay_category'] = 'ALIPAY';
|
|
|
if ((!isset($result['code']) || $result['code'] != '10000') || (empty($result['trade_status']) || $result['trade_status'] != 'TRADE_SUCCESS')) {
|
|
|
- $order->order_status_system = 'PAYING';
|
|
|
+ $order->order_status_system = $oldOrderStatus;
|
|
|
$order->order_status_payment = 'PENDING';
|
|
|
$order->order_is_complete = 'N';
|
|
|
// Db::rollBack();
|
|
@@ -1197,8 +1200,9 @@ class WholeController extends Curd
|
|
|
if (!PayDetail::where('join_pay_order_id', $order->order_groupby)->where('pay_category', '<>', 'WXPAY')->where('pay_category', '<>', 'ALIPAY')->exists()) {
|
|
|
$payData['join_pay_member_id'] = $params['join_order_member_id'];
|
|
|
$payData['join_pay_order_id'] = $order->order_groupby;
|
|
|
- $payData['pay_status'] = $payData['pay_status'] == 'SUCCESS' ? $payData['pay_status'] : 'WAITING';
|
|
|
+ $payData['pay_status'] = !empty($payData['pay_status']) && $payData['pay_status'] == 'SUCCESS' ? $payData['pay_status'] : 'WAITING';
|
|
|
$payData['pay_category'] = $params['goods_classify'] ?? '';
|
|
|
+ $payData['pay_paytimes'] = date('Y-m-d H:i:s');
|
|
|
$payData['pay_json_request'] = json_encode($params); // {"pay-result": "支付成功", "result-datetime": "2024-07-29 18:38:21"}
|
|
|
$payData['pay_json_response'] = $payData['pay_status'] == 'SUCCESS' ? json_encode([
|
|
|
'pay-result' => '支付成功', 'result-datetime' => date('Y-m-d H:i:s')
|
|
@@ -1302,6 +1306,9 @@ class WholeController extends Curd
|
|
|
Event::dispatch('order.complete', $params);
|
|
|
// 上级提成
|
|
|
Event::dispatch('commission.order', $params);
|
|
|
+ // 入收支明细表
|
|
|
+ $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : '餐饮订单收入';
|
|
|
+ Event::dispatch('statistics.inout.in', $params);
|
|
|
}
|
|
|
|
|
|
// 打小票
|
|
@@ -1434,6 +1441,7 @@ class WholeController extends Curd
|
|
|
}
|
|
|
|
|
|
$order = Order::where('order_id', $params['order_id'])->first();
|
|
|
+ $oldOrderStatus = $order->order_status_system;
|
|
|
if (!$order) {
|
|
|
return json_fail('订单异常');
|
|
|
}
|
|
@@ -1450,7 +1458,9 @@ class WholeController extends Curd
|
|
|
}
|
|
|
}
|
|
|
$params['orderId'] = $params['order_id'];
|
|
|
- $params['orderGroupId'] = $order->order_groupby;
|
|
|
+ $params['orderGroupId'] = 'OD' . date('ymdHi') . random_string(4, 'up');
|
|
|
+ $order->order_groupby = $params['orderGroupId'];
|
|
|
+// $params['orderGroupId'] = $order->order_groupby;
|
|
|
|
|
|
$goods = Goods::where('goods_id', $params['join_sheet_goods_id'])
|
|
|
->select('goods_id', 'goods_name', 'goods_classify')
|
|
@@ -1758,6 +1768,9 @@ class WholeController extends Curd
|
|
|
Event::dispatch('order.complete', $params);
|
|
|
// 上级提成
|
|
|
Event::dispatch('commission.order', $params);
|
|
|
+ // 入收支明细表
|
|
|
+ $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : '餐饮订单收入';
|
|
|
+ Event::dispatch('statistics.inout.in', $params);
|
|
|
}
|
|
|
|
|
|
// 打小票
|
|
@@ -2478,6 +2491,9 @@ class WholeController extends Curd
|
|
|
Event::dispatch('order.complete', $params);
|
|
|
// 上级提成
|
|
|
Event::dispatch('commission.order', $params);
|
|
|
+ // 入收支明细表
|
|
|
+ $params['inout_category'] = '餐饮订单收入';
|
|
|
+ Event::dispatch('statistics.inout.in', $params);
|
|
|
}
|
|
|
|
|
|
// 打小票
|
|
@@ -3033,6 +3049,9 @@ class WholeController extends Curd
|
|
|
Event::dispatch('order.complete', $params);
|
|
|
// 上级提成
|
|
|
Event::dispatch('commission.order', $params);
|
|
|
+ // 入收支明细表
|
|
|
+ $params['inout_category'] = '餐饮订单收入';
|
|
|
+ Event::dispatch('statistics.inout.in', $params);
|
|
|
}
|
|
|
|
|
|
// 打小票
|
|
@@ -4449,11 +4468,11 @@ class WholeController extends Curd
|
|
|
$systemStatus = '退款中';
|
|
|
} elseif (!empty($item['order_return_status']) && $item['order_return_status'] == 'DONE') {
|
|
|
$systemStatus = '退款完成';
|
|
|
- if (!empty($item['order_return_refund_json'])){
|
|
|
- $refundJson = json_decode($item['order_return_refund_json'],true);
|
|
|
- if (isset($refundJson['amount']) && $refundJson['amount'] >= $item['order_amount_pay']){
|
|
|
+ if (!empty($item['order_return_refund_json'])) {
|
|
|
+ $refundJson = json_decode($item['order_return_refund_json'], true);
|
|
|
+ if (isset($refundJson['amount']) && $refundJson['amount'] >= $item['order_amount_pay']) {
|
|
|
$systemStatus .= "(全额)";
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
$systemStatus .= "(部分)";
|
|
|
}
|
|
|
}
|
|
@@ -4727,6 +4746,7 @@ class WholeController extends Curd
|
|
|
}
|
|
|
|
|
|
$order = Order::where('order_id', $orderId)->first();
|
|
|
+ $oldOrderStatus = $order->order_status_system;
|
|
|
if (!$order) {
|
|
|
return json_fail('订单不存在');
|
|
|
}
|
|
@@ -4745,10 +4765,10 @@ class WholeController extends Curd
|
|
|
try {
|
|
|
Db::beginTransaction();
|
|
|
if (in_array('WXPAY', $payDetailType)) {
|
|
|
- $result = Pay::wechat(config('payment.wxpay'))->find($order->order_groupby, 'pos');
|
|
|
- $result = json_decode(json_encode($result), true);
|
|
|
-// $result = '{"return_code":"SUCCESS","return_msg":"OK","result_code":"SUCCESS","mch_id":"1680393367","appid":"wxc6274da7198e3eb4","openid":"o3JAn6Ii_bAlxS-jbNEC4WnPhdwM","is_subscribe":"N","trade_type":"MICROPAY","trade_state":"SUCCESS","bank_type":"OTHERS","total_fee":"1000","fee_type":"CNY","cash_fee":"1000","cash_fee_type":"CNY","transaction_id":"4200067718202409250802875650","out_trade_no":"OD24092518408RV7","attach":[],"time_end":"20240925184009","trade_state_desc":"支付成功","nonce_str":"OeGOkjch4eaV5qIt","sign":"6DCB3BFC594EBC018A2BEE2C3DFEA4E3"}';
|
|
|
-// $result = json_decode($result, true);
|
|
|
+// $result = Pay::wechat(config('payment.wxpay'))->find($order->order_groupby, 'pos');
|
|
|
+// $result = json_decode(json_encode($result), true);
|
|
|
+ $result = '{"return_code":"SUCCESS","return_msg":"OK","result_code":"SUCCESS","mch_id":"1680393367","appid":"wxc6274da7198e3eb4","openid":"o3JAn6Ii_bAlxS-jbNEC4WnPhdwM","is_subscribe":"N","trade_type":"MICROPAY","trade_state":"SUCCESS","bank_type":"OTHERS","total_fee":"3","fee_type":"CNY","cash_fee":"1000","cash_fee_type":"CNY","transaction_id":"4200067718202409250802875650","out_trade_no":"OD24092518408RV7","attach":[],"time_end":"20240925184009","trade_state_desc":"支付成功","nonce_str":"OeGOkjch4eaV5qIt","sign":"6DCB3BFC594EBC018A2BEE2C3DFEA4E3"}';
|
|
|
+ $result = json_decode($result, true);
|
|
|
if (!empty($result['return_code']) && $result['return_code'] == 'SUCCESS' && !empty($result['result_code']) && $result['result_code'] == 'SUCCESS' && !empty($result['trade_state']) && $result['trade_state'] == 'SUCCESS') {
|
|
|
$order->order_status_payment = 'SUCCESS';
|
|
|
if (in_array($order->order_category, ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE'])) {
|
|
@@ -4783,6 +4803,9 @@ class WholeController extends Curd
|
|
|
|
|
|
// 给上级提成
|
|
|
Event::dispatch('commission.order', $params);
|
|
|
+ // 收支明细
|
|
|
+ $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : ($order->order_classify == 'VIP' ? '购买康养城VIP套餐包收入' : '餐饮订单收入');
|
|
|
+ Event::dispatch('statistics.inout.in', $params);
|
|
|
|
|
|
return json_success('success');
|
|
|
}
|
|
@@ -4816,8 +4839,7 @@ class WholeController extends Curd
|
|
|
}
|
|
|
// 支付记录
|
|
|
PayDetail::where('join_pay_order_id', $order->order_groupby)->where('pay_prepayid', 'ALIPAY')->update(['pay_status' => 'SUCCESS']);
|
|
|
- // 其他支付方式 扣
|
|
|
-// $this->deductAccount($order->order_groupby, 'ALIPAY');
|
|
|
+
|
|
|
// 优惠券标记使用
|
|
|
$this->changeOrderCouponStatus($discountJson, 'USED');
|
|
|
Db::commit();
|
|
@@ -4825,6 +4847,10 @@ class WholeController extends Curd
|
|
|
// 给上级提成
|
|
|
Event::dispatch('commission.order', $params);
|
|
|
|
|
|
+ // 收支明细
|
|
|
+ $params['inout_category'] = $oldOrderStatus == 'AWAITING' ? '挂账订单结算收入' : ($order->order_classify == 'VIP' ? '购买康养城VIP套餐包收入' : '餐饮订单收入');
|
|
|
+ Event::dispatch('statistics.inout.in', $params);
|
|
|
+
|
|
|
return json_success('success');
|
|
|
}
|
|
|
}
|
|
@@ -4955,7 +4981,7 @@ class WholeController extends Curd
|
|
|
// 给上级提成-拆单
|
|
|
OrderService::splitOrderCommission($params);
|
|
|
// 入收支明细表
|
|
|
-// OrderService::splitOrderStatisticsInOut($params);
|
|
|
+ OrderService::splitOrderStatisticsInOut($params);
|
|
|
|
|
|
return json_success('success');
|
|
|
}
|