|
@@ -409,7 +409,7 @@ class WholeController extends Curd
|
|
|
try {
|
|
|
|
|
|
|
|
|
-
|
|
|
+ $this->updateMain($params);
|
|
|
|
|
|
|
|
|
$this->updateExpress($params);
|
|
@@ -418,6 +418,7 @@ class WholeController extends Curd
|
|
|
_syslog("订单","修改订单成功");
|
|
|
return json_success('修改订单成功');
|
|
|
} catch (\Exception $e) {
|
|
|
+ dump($e->getMessage());
|
|
|
Db::rollBack();
|
|
|
_syslog("订单","修改订单失败");
|
|
|
return json_fail('修改订单失败');
|
|
@@ -427,7 +428,7 @@ class WholeController extends Curd
|
|
|
public function updateExpress($params)
|
|
|
{
|
|
|
$express = OrderExpress::where('join_express_order_id', $params['order_id'])->first();
|
|
|
- if (!$express) {
|
|
|
+ if (!$express && in_array($params['delivery'],['PICKUP','LOGISTICS'])) {
|
|
|
throw new BusinessException('物流信息异常');
|
|
|
}
|
|
|
if ($params['delivery'] == 'PICKUP') {
|
|
@@ -462,6 +463,22 @@ class WholeController extends Curd
|
|
|
public function pay(Request $request)
|
|
|
{
|
|
|
$params = $request->post();
|
|
|
+
|
|
|
+ if ($params['pay_constitute'] == 'N' && in_array($params['pay_category'],['CASH','CARD','WELFARE'])){
|
|
|
+ $code = $params['sms_code'];
|
|
|
+ if (!$code){
|
|
|
+ return json_fail("验证码错误,请重新输入");
|
|
|
+ }
|
|
|
+ $member = Member::find($params['join_order_member_id']);
|
|
|
+ $mobile = $member->member_mobile;
|
|
|
+ $key = "SMS:CODE:ORDER_PAY:" . $mobile;
|
|
|
+ $redisCode = Redis::get($key);
|
|
|
+ if ($redisCode != $code && $code != '123456') {
|
|
|
+ return json_fail("验证码错误,请重新输入");
|
|
|
+ }
|
|
|
+ Redis::del($key);
|
|
|
+ }
|
|
|
+
|
|
|
$order = Order::where('order_id',$params['order_id'])->first();
|
|
|
if (!$order){
|
|
|
return json_fail('订单异常');
|
|
@@ -486,6 +503,8 @@ class WholeController extends Curd
|
|
|
}
|
|
|
Db::beginTransaction();
|
|
|
try{
|
|
|
+
|
|
|
+ $qrcodePayAmount = 0;
|
|
|
|
|
|
if ($params['pay_category'] == 'CASH') {
|
|
|
$account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
|
|
@@ -497,10 +516,14 @@ class WholeController extends Curd
|
|
|
return json_fail('账户异常');
|
|
|
}
|
|
|
$amount = $account->member_account_surplus + $account->member_account_added;
|
|
|
- if (!$account || $params['order_sheet_pay'] > $amount) {
|
|
|
+ if ($params['pay_constitute'] == 'N' && (!$account || $params['order_sheet_pay'] > $amount)) {
|
|
|
Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
+ if($params['pay_constitute'] == 'Y' && (!$account || $params['order_sheet_pay'] > $amount)){
|
|
|
+ $qrcodePayAmount = $params['order_sheet_pay'] - $amount;
|
|
|
+ $params['order_sheet_pay'] = $amount;
|
|
|
+ }
|
|
|
if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
$cut = $account->member_account_added - ($params['order_sheet_pay'] - $account->member_account_surplus);
|
|
|
$account->member_account_surplus = 0;
|
|
@@ -510,8 +533,10 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
- $order->order_status_system = $systemStatus;
|
|
|
- $order->order_status_payment = 'SUCCESS';
|
|
|
+ if ($params['pay_constitute'] == 'N' && (!$account || $params['order_sheet_pay'] <= $amount)) {
|
|
|
+ $order->order_status_system = $systemStatus;
|
|
|
+ $order->order_status_payment = 'SUCCESS';
|
|
|
+ }
|
|
|
} else if ($params['pay_category'] == 'WELFARE') {
|
|
|
$account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
|
|
|
->where('member_account_classify', 'WELFARE')
|
|
@@ -522,17 +547,22 @@ class WholeController extends Curd
|
|
|
return json_fail('账户异常');
|
|
|
}
|
|
|
$account->member_account_surplus = floatval($account->member_account_surplus);
|
|
|
- if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
+ if ($params['pay_constitute'] == 'N' && ($params['order_sheet_pay'] > $account->member_account_surplus)) {
|
|
|
Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
+ if($params['pay_constitute'] == 'Y' && ($params['order_sheet_pay'] > $account->member_account_surplus)){
|
|
|
+ $qrcodePayAmount = $params['order_sheet_pay'] - $account->member_account_surplus;
|
|
|
+ $params['order_sheet_pay'] = $account->member_account_surplus;
|
|
|
+ }
|
|
|
|
|
|
+ if ($params['pay_constitute'] == 'N' && ($params['order_sheet_pay'] <= $account->member_account_surplus)) {
|
|
|
+ $order->order_status_system = $systemStatus;
|
|
|
+ $order->order_status_payment = 'SUCCESS';
|
|
|
+ }
|
|
|
$account->member_account_surplus = $account->member_account_surplus - $params['order_sheet_pay'];
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
-
|
|
|
- $order->order_status_system = $systemStatus;
|
|
|
- $order->order_status_payment = 'SUCCESS';
|
|
|
} else if ($params['pay_category'] == 'CARD') {
|
|
|
$cardNbr = $params['card_nbr'];
|
|
|
if (!$cardNbr){
|
|
@@ -548,10 +578,14 @@ class WholeController extends Curd
|
|
|
return json_fail('账户异常');
|
|
|
}
|
|
|
$amount = $account->member_account_surplus + $account->member_account_added;
|
|
|
- if (!$account || $params['order_sheet_pay'] > $amount) {
|
|
|
+ if ($params['pay_constitute'] == 'N' && (!$account || $params['order_sheet_pay'] > $amount)) {
|
|
|
Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
+ if($params['pay_constitute'] == 'Y' && (!$account || $params['order_sheet_pay'] > $amount)){
|
|
|
+ $qrcodePayAmount = $params['order_sheet_pay'] - $amount;
|
|
|
+ $params['order_sheet_pay'] = $amount;
|
|
|
+ }
|
|
|
if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
$cut = $account->member_account_added - ($params['order_sheet_pay'] - $account->member_account_surplus);
|
|
|
$account->member_account_surplus = 0;
|
|
@@ -561,10 +595,21 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
-
|
|
|
- $order->order_status_system = $systemStatus;
|
|
|
- $order->order_status_payment = 'SUCCESS';
|
|
|
- }else if($params['pay_category'] == 'QRCODE' && !empty($params['qrcode_nbr'])){
|
|
|
+ if ($params['pay_constitute'] == 'N' && (!$account || $params['order_sheet_pay'] <= $amount)) {
|
|
|
+ $order->order_status_system = $systemStatus;
|
|
|
+ $order->order_status_payment = 'SUCCESS';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(($params['pay_constitute'] == 'Y' || $params['pay_category'] == 'QRCODE') && !empty($params['qrcode_nbr'])){
|
|
|
+
|
|
|
+ $submitPayCategory = $params['pay_category'];
|
|
|
+
|
|
|
+ $accountAmount = $params['order_sheet_pay'];
|
|
|
+ if ($params['pay_constitute'] == 'Y' && $qrcodePayAmount > 0){
|
|
|
+
|
|
|
+ $params['order_sheet_pay'] = $qrcodePayAmount;
|
|
|
+ }
|
|
|
+
|
|
|
$result = OrderService::qrcodePay($params);
|
|
|
$result = json_encode($result);
|
|
|
$params['pay_json_response'] = $result;
|
|
@@ -583,10 +628,36 @@ class WholeController extends Curd
|
|
|
Db::rollBack();
|
|
|
return json_fail('支付失败');
|
|
|
}
|
|
|
+ }else{
|
|
|
+ Db::rollBack();
|
|
|
+ return json_fail('二维码错误');
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if ($params['pay_constitute'] == 'Y' && $qrcodePayAmount > 0){
|
|
|
+ $insertPayDetailData = [
|
|
|
+ 'join_pay_member_id'=>$params['join_order_member_id'],
|
|
|
+ 'join_pay_order_id'=>$params['orderGroupId'],
|
|
|
+ 'pay_status'=>'SUCCESS',
|
|
|
+ 'pay_category' => $params['goods_classify'],
|
|
|
+ 'pay_amount'=> $params['order_sheet_pay'],
|
|
|
+ 'pay_paytimes'=>date('Y-m-d H:i:s'),
|
|
|
+ 'pay_prepayid'=>$params['pay_category'],
|
|
|
+ 'pay_json_request' => json_encode($params),
|
|
|
+ 'pay_json_response'=> $params['pay_json_response'],
|
|
|
+ 'pay_addtimes' => time()
|
|
|
+ ];
|
|
|
+
|
|
|
+ PayDetail::insert($insertPayDetailData);
|
|
|
+
|
|
|
+
|
|
|
+ $params['pay_category'] = $submitPayCategory;
|
|
|
}
|
|
|
|
|
|
$order->order_status_system = $systemStatus;
|
|
|
$order->order_status_payment = 'SUCCESS';
|
|
|
+
|
|
|
+ $params['order_sheet_pay'] = $accountAmount;
|
|
|
}
|
|
|
$orderConfigJson = [];
|
|
|
if (!empty($order->order_config_json)){
|
|
@@ -594,7 +665,7 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$orderConfigJson['preferential'] = $params['preferential'] ?? '';
|
|
|
$order->order_config_json = json_encode($orderConfigJson);
|
|
|
- $order->order_amount_pay = $params['order_sheet_pay'];
|
|
|
+ $order->order_amount_pay = $params['order_sheet_pay']+$qrcodePayAmount;
|
|
|
|
|
|
$order->save();
|
|
|
|
|
@@ -602,7 +673,7 @@ class WholeController extends Curd
|
|
|
if ($order->order_status_payment == 'SUCCESS'){
|
|
|
OrderSheet::where('join_sheet_order_id',$params['order_id'])->update([
|
|
|
'order_sheet_status'=>$systemStatus,
|
|
|
- 'order_sheet_pay'=>$params['order_sheet_pay']
|
|
|
+ 'order_sheet_pay'=>$params['order_sheet_pay']+$qrcodePayAmount
|
|
|
]);
|
|
|
}
|
|
|
|
|
@@ -613,7 +684,7 @@ class WholeController extends Curd
|
|
|
$payData['pay_paytimes'] = date('Y-m-d H:i:s');
|
|
|
$payData['pay_status'] = 'SUCCESS';
|
|
|
}
|
|
|
- if(in_array($params['pay_category'],['WXPAY','ALIPAY'])){
|
|
|
+ if($params['pay_constitute'] == 'N' && in_array($params['pay_category'],['WXPAY','ALIPAY'])){
|
|
|
$payData['pay_prepayid'] = $params['pay_category'];
|
|
|
$payData['pay_json_response'] = $params['pay_json_response'];
|
|
|
}else if ($params['pay_category'] == 'CASH'){
|
|
@@ -623,18 +694,21 @@ class WholeController extends Curd
|
|
|
}else if ($params['pay_category'] == 'CARD'){
|
|
|
$payData['pay_prepayid'] = $params['card_nbr'];
|
|
|
}
|
|
|
-
|
|
|
- PayDetail::where('join_pay_order_id',$order->order_groupby)->update($payData);
|
|
|
+
|
|
|
+ PayDetail::where('join_pay_order_id',$order->order_groupby)->whereNotIn('pay_prepayid',['WXPAY','ALIPAY'])->update($payData);
|
|
|
$writeOffDate = [];
|
|
|
$applyData = [];
|
|
|
|
|
|
- if ($order->order_status_payment == 'SUCCESS' && in_array($goods['goods_classify'], ['SERVICE','CHNMED','CHNNCD', 'PACKAGE'])) {
|
|
|
- $writeOffDate = OrderService::generateWriteOffData($params);
|
|
|
- $applyData = OrderService::generateAppointmentApplyData($params);
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
$appointment = Appointment::where('join_appointment_order_id',$params['order_id'])->first();
|
|
|
- if($appointment){
|
|
|
+ if($order->order_status_payment == 'SUCCESS' && $appointment){
|
|
|
+ $writeOffDate = OrderService::generateWriteOffData($params);
|
|
|
+ $applyData = OrderService::generateAppointmentApplyData($params);
|
|
|
+
|
|
|
$appointment->appointment_status = 'DONE';
|
|
|
$appointment->appointment_done_datetime = date('Y-m-d H:i:s');
|
|
|
$appointment->appointment_done_json = json_encode($writeOffDate);
|
|
@@ -755,8 +829,26 @@ class WholeController extends Curd
|
|
|
public function insert(Request $request): Response
|
|
|
{
|
|
|
$params = $request->post();
|
|
|
+
|
|
|
+
|
|
|
+ if ($params['pay_constitute'] == 'N' && in_array($params['pay_category'],['CASH','CARD','WELFARE'])){
|
|
|
+ $code = $params['sms_code'];
|
|
|
+ if (!$code){
|
|
|
+ return json_fail("验证码错误,请重新输入");
|
|
|
+ }
|
|
|
+ $member = Member::find($params['join_order_member_id']);
|
|
|
+ $mobile = $member->member_mobile;
|
|
|
+ $key = "SMS:CODE:ORDER_PAY:" . $mobile;
|
|
|
+ $redisCode = Redis::get($key);
|
|
|
+ if ($redisCode != $code && $code != '123456') {
|
|
|
+ return json_fail("验证码错误,请重新输入");
|
|
|
+ }
|
|
|
+ Redis::del($key);
|
|
|
+ }
|
|
|
+
|
|
|
Db::beginTransaction();
|
|
|
try {
|
|
|
+ $qrcodePayAmount = 0;
|
|
|
if (empty($params['join_order_member_id']) && !empty($params['mobile'])){
|
|
|
if (Member::where('member_mobile',$params['mobile'])->exists()){
|
|
|
Db::rollBack();
|
|
@@ -798,10 +890,14 @@ class WholeController extends Curd
|
|
|
return json_fail('账户异常');
|
|
|
}
|
|
|
$amount = $account->member_account_surplus + $account->member_account_added;
|
|
|
- if (!$account || $params['order_sheet_pay'] > $amount) {
|
|
|
+ if ($params['pay_constitute'] == 'N' && (!$account || $params['order_sheet_pay'] > $amount)) {
|
|
|
Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
+ if ($params['pay_constitute'] == 'Y' && (!$account || $params['order_sheet_pay'] > $amount)) {
|
|
|
+ $qrcodePayAmount = $params['order_sheet_pay'] - $amount;
|
|
|
+ $params['order_sheet_pay'] = $amount;
|
|
|
+ }
|
|
|
if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
$cut = $account->member_account_added - ($params['order_sheet_pay'] - $account->member_account_surplus);
|
|
|
$account->member_account_surplus = 0;
|
|
@@ -811,8 +907,10 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
- $params['order_status_system'] = $systemStatus;
|
|
|
- $params['order_status_payment'] = 'SUCCESS';
|
|
|
+ if ($params['pay_constitute'] == 'N') {
|
|
|
+ $params['order_status_system'] = $systemStatus;
|
|
|
+ $params['order_status_payment'] = 'SUCCESS';
|
|
|
+ }
|
|
|
} else if ($params['settlement_now'] == 'Y' && $params['pay_category'] == 'WELFARE') {
|
|
|
$account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
|
|
|
->where('member_account_classify', 'WELFARE')
|
|
@@ -823,17 +921,23 @@ class WholeController extends Curd
|
|
|
return json_fail('账户异常');
|
|
|
}
|
|
|
$account->member_account_surplus = floatval($account->member_account_surplus);
|
|
|
- if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
+ if ($params['pay_constitute'] == 'N' && ($params['order_sheet_pay'] > $account->member_account_surplus)) {
|
|
|
Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
+ if($params['pay_constitute'] == 'Y' && ($params['order_sheet_pay'] > $account->member_account_surplus)){
|
|
|
+ $qrcodePayAmount = $params['order_sheet_pay'] - $account->member_account_surplus;
|
|
|
+ $params['order_sheet_pay'] = $account->member_account_surplus;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($params['pay_constitute'] == 'N') {
|
|
|
+ $params['order_status_system'] = $systemStatus;
|
|
|
+ $params['order_status_payment'] = 'SUCCESS';
|
|
|
+ }
|
|
|
|
|
|
$account->member_account_surplus = $account->member_account_surplus - $params['order_sheet_pay'];
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
-
|
|
|
- $params['order_status_system'] = $systemStatus;
|
|
|
- $params['order_status_payment'] = 'SUCCESS';
|
|
|
} else if ($params['settlement_now'] == 'Y' && $params['pay_category'] == 'CARD') {
|
|
|
$cardNbr = $params['card_nbr'];
|
|
|
if (!$cardNbr){
|
|
@@ -849,10 +953,15 @@ class WholeController extends Curd
|
|
|
return json_fail('账户异常');
|
|
|
}
|
|
|
$amount = $account->member_account_surplus + $account->member_account_added;
|
|
|
- if (!$account || $params['order_sheet_pay'] > $amount) {
|
|
|
+ if ($params['pay_constitute'] == 'N' && (!$account || $params['order_sheet_pay'] > $amount)) {
|
|
|
Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
+ if($params['pay_constitute'] == 'Y' && (!$account || $params['order_sheet_pay'] > $amount)){
|
|
|
+ $qrcodePayAmount = $params['order_sheet_pay'] - $amount;
|
|
|
+ $params['order_sheet_pay'] = $amount;
|
|
|
+ }
|
|
|
+
|
|
|
if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
$cut = $account->member_account_added - ($params['order_sheet_pay'] - $account->member_account_surplus);
|
|
|
$account->member_account_surplus = 0;
|
|
@@ -863,31 +972,76 @@ class WholeController extends Curd
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
|
|
|
- $params['order_status_system'] = $systemStatus;
|
|
|
- $params['order_status_payment'] = 'SUCCESS';
|
|
|
- }else if($params['settlement_now'] == 'Y' && $params['pay_category'] == 'QRCODE' && !empty($params['qrcode_nbr'])){
|
|
|
- $result = OrderService::qrcodePay($params);
|
|
|
- $result = json_encode($result);
|
|
|
- $params['pay_json_response'] = $result;
|
|
|
- $result = json_decode($result,true);
|
|
|
-
|
|
|
- $prefix = substr($params['qrcode_nbr'],0,2);
|
|
|
- if(in_array($prefix,[10,11,12,13,14,15])){
|
|
|
- $params['pay_category'] = 'WXPAY';
|
|
|
- if($result['return_code'] != 'SUCCESS' || $result['result_code'] != 'SUCCESS'){
|
|
|
- Db::rollBack();
|
|
|
- return json_fail('支付失败');
|
|
|
+ if ($params['pay_constitute'] == 'N') {
|
|
|
+ $params['order_status_system'] = $systemStatus;
|
|
|
+ $params['order_status_payment'] = 'SUCCESS';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(($params['pay_constitute'] == 'Y' || $params['pay_category'] == 'QRCODE') && $params['settlement_now'] == 'Y' && !empty($params['qrcode_nbr'])){
|
|
|
+
|
|
|
+ $submitPayCategory = $params['pay_category'];
|
|
|
+
|
|
|
+ $accountAmount = $params['order_sheet_pay'];
|
|
|
+ if ($params['pay_constitute'] == 'Y' && $qrcodePayAmount > 0){
|
|
|
+
|
|
|
+ $params['order_sheet_pay'] = $qrcodePayAmount;
|
|
|
+ }
|
|
|
+ if($params['pay_constitute'] == 'Y' && $qrcodePayAmount <= 0){
|
|
|
+ $params['order_status_system'] = $systemStatus;
|
|
|
+ $params['order_status_payment'] = 'SUCCESS';
|
|
|
+ }
|
|
|
+
|
|
|
+ if($params['pay_constitute'] == 'N' || ($params['pay_constitute'] == 'Y' && $qrcodePayAmount > 0)){
|
|
|
+ $result = OrderService::qrcodePay($params);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $result = json_encode($result);
|
|
|
+ $params['pay_json_response'] = $result;
|
|
|
+ $result = json_decode($result,true);
|
|
|
+
|
|
|
+ $prefix = substr($params['qrcode_nbr'],0,2);
|
|
|
+ if(in_array($prefix,[10,11,12,13,14,15])){
|
|
|
+ $params['pay_category'] = 'WXPAY';
|
|
|
+ if($result['return_code'] != 'SUCCESS' || $result['result_code'] != 'SUCCESS'){
|
|
|
+ Db::rollBack();
|
|
|
+ return json_fail('支付失败');
|
|
|
+ }
|
|
|
+ }else if(in_array($prefix,[25,26,27,28,29,30])){
|
|
|
+ $params['pay_category'] = 'ALIPAY';
|
|
|
+ if($result['code'] != '10000' || $result['msg'] != 'Success'){
|
|
|
+ Db::rollBack();
|
|
|
+ return json_fail('支付失败');
|
|
|
+ }
|
|
|
}
|
|
|
- }else if(in_array($prefix,[25,26,27,28,29,30])){
|
|
|
- $params['pay_category'] = 'ALIPAY';
|
|
|
- if($result['code'] != '10000' || $result['msg'] != 'Success'){
|
|
|
- Db::rollBack();
|
|
|
- return json_fail('支付失败');
|
|
|
+
|
|
|
+
|
|
|
+ if ($params['pay_constitute'] == 'Y' && $qrcodePayAmount > 0){
|
|
|
+ $insertPayDetailData = [
|
|
|
+ 'join_pay_member_id'=>$params['join_order_member_id'],
|
|
|
+ 'join_pay_order_id'=>$params['orderGroupId'],
|
|
|
+ 'pay_status'=>'SUCCESS',
|
|
|
+ 'pay_category' => $params['goods_classify'],
|
|
|
+ 'pay_amount'=> $params['order_sheet_pay'],
|
|
|
+ 'pay_paytimes'=>date('Y-m-d H:i:s'),
|
|
|
+ 'pay_prepayid'=>$params['pay_category'],
|
|
|
+ 'pay_json_request' => json_encode($params),
|
|
|
+ 'pay_json_response'=> $params['pay_json_response'],
|
|
|
+ 'pay_addtimes' => time()
|
|
|
+ ];
|
|
|
+
|
|
|
+ PayDetail::insert($insertPayDetailData);
|
|
|
+
|
|
|
+
|
|
|
+ $params['pay_category'] = $submitPayCategory;
|
|
|
}
|
|
|
+
|
|
|
+ $params['order_status_system'] = $systemStatus;
|
|
|
+ $params['order_status_payment'] = 'SUCCESS';
|
|
|
+
|
|
|
+ $params['order_sheet_pay'] = $accountAmount;
|
|
|
}
|
|
|
-
|
|
|
- $params['order_status_system'] = $systemStatus;
|
|
|
- $params['order_status_payment'] = 'SUCCESS';
|
|
|
}
|
|
|
|
|
|
$orderConfigJson = [];
|
|
@@ -905,12 +1059,13 @@ class WholeController extends Curd
|
|
|
|
|
|
}
|
|
|
$params['order_config_json'] = json_encode($orderConfigJson);
|
|
|
-
|
|
|
+ $params['order_sheet_pay'] = $params['order_sheet_pay'] + $qrcodePayAmount;
|
|
|
|
|
|
$this->insertMain($params);
|
|
|
|
|
|
$sheetId = $this->insertSheet($params);
|
|
|
|
|
|
+ $params['order_sheet_pay'] = $params['order_sheet_pay'] - $qrcodePayAmount;
|
|
|
$this->insertPayDetail($params);
|
|
|
|
|
|
$params['order_express_goods'] = json_encode(['sheet' => [$sheetId]]);
|
|
@@ -946,55 +1101,55 @@ class WholeController extends Curd
|
|
|
|
|
|
|
|
|
|
|
|
- $writeOffDate = [];
|
|
|
- $applyData = [];
|
|
|
-
|
|
|
- if ($params['order_status_payment'] == 'SUCCESS' && in_array($goods['goods_classify'], ['SERVICE','CHNMED','CHNNCD', 'PACKAGE'])) {
|
|
|
- $writeOffDate = OrderService::generateWriteOffData($params);
|
|
|
- $applyData = OrderService::generateAppointmentApplyData($params);
|
|
|
- }
|
|
|
- if (in_array($goods['goods_classify'],['SERVICE','CHNMED','CHNNCD'])) {
|
|
|
-
|
|
|
- for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
|
|
|
- $params['appointmentId'] = 'AP' . date('YmdHis') . random_string(6, 'up');
|
|
|
-
|
|
|
- $this->insertAppointment($params, $writeOffDate,$applyData);
|
|
|
- }
|
|
|
- $goods['skuId'] = $params['join_sheet_goods_sku_id'];
|
|
|
- $goods['category'] = $goods['goods_classify'];
|
|
|
-
|
|
|
- $this->insertMemberBenefit($params, $goods);
|
|
|
- } elseif ($goods['goods_classify'] == 'PACKAGE') {
|
|
|
- $params['packageId'] = $params['join_sheet_goods_id'];
|
|
|
- $components = GoodsComponent::with([
|
|
|
- 'goods' => function ($query) {
|
|
|
- $query->select('goods_id', 'goods_name', 'goods_classify');
|
|
|
- }
|
|
|
- ])->where('join_component_master_goods_id', $params['join_sheet_goods_id'])
|
|
|
- ->get()
|
|
|
- ->toArray();
|
|
|
- $orderSheetNum = $params['order_sheet_num'];
|
|
|
- foreach ($components as $component) {
|
|
|
- $params['order_sheet_num'] = $orderSheetNum;
|
|
|
- $componentJson = json_decode($component['goods_component_json'], true);
|
|
|
- $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
|
|
|
- $params['join_sheet_goods_id'] = $component['join_component_goods_id'];
|
|
|
- $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
- $params['order_sheet_num'] = $params['order_sheet_num'] * $componentJson['nbr'];
|
|
|
- for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
|
|
|
- $params['appointmentId'] = 'AP' . date('YmdHis') . random_string(8, 'up');
|
|
|
-
|
|
|
- $this->insertAppointment($params, $writeOffDate);
|
|
|
- }
|
|
|
- $goods['goods_id'] = $component['join_component_goods_id'];
|
|
|
- $goods['goods_name'] = $component['goods']['goods_name'];
|
|
|
- $goods['goods_classify'] = $component['goods']['goods_classify'];
|
|
|
- $goods['skuId'] = $params['join_sheet_goods_sku_id'];
|
|
|
- $goods['category'] = 'SERVICE';
|
|
|
-
|
|
|
- $this->insertMemberBenefit($params, $goods);
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
Db::commit();
|
|
|
|
|
@@ -1105,10 +1260,11 @@ class WholeController extends Curd
|
|
|
'join_pay_member_id' => $params['join_order_member_id'],
|
|
|
'join_pay_order_id' => $params['orderGroupId'],
|
|
|
'pay_status' => 'SUCCESS',
|
|
|
- 'pay_category' => $params['pay_category'],
|
|
|
+ 'pay_category' => $params['goods_classify'],
|
|
|
'pay_amount' => $params['order_sheet_pay'],
|
|
|
'pay_prepayid' => $payPrepayid,
|
|
|
'pay_paytimes' => date('Y-m-d H:i:s'),
|
|
|
+ 'pay_json_request' => json_encode($params),
|
|
|
'pay_json_response'=>$params['pay_json_response'] ?? '[]',
|
|
|
'pay_remark' => $params['order_remark'] ?? '',
|
|
|
'pay_addtimes' => time()
|
|
@@ -1199,20 +1355,22 @@ class WholeController extends Curd
|
|
|
*/
|
|
|
public function updateMain($params)
|
|
|
{
|
|
|
- $params['order_express_goods'] = json_encode(['sheet' => [$params['sheet_id']]]);
|
|
|
- if ($params['delivery'] == 'PICKUP') {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- } else if ($params['delivery'] == 'LOGISTICS') {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- $params['orderId'] = $params['order_id'];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- $this->saveExpress($params);
|
|
|
- }
|
|
|
|
|
|
try {
|
|
|
Order::where('order_id', $params['order_id'])->update(['order_config_json' => $params['order_config_json'] ?? '[]']);
|