|
@@ -246,7 +246,7 @@ class WholeController extends Curd
|
|
|
} else {
|
|
|
$item['payWay'] = null;
|
|
|
}
|
|
|
- if (count($payDetails) > 0){
|
|
|
+ if (count($payDetails) > 0) {
|
|
|
$payDetail0 = $payDetails[0];
|
|
|
$item['pay_times'] = $payDetail0['pay_paytimes'];
|
|
|
}
|
|
@@ -502,7 +502,7 @@ class WholeController extends Curd
|
|
|
if (!empty($order->order_extend_json)) {
|
|
|
$orderExtendJson = json_decode($order->order_extend_json, true);
|
|
|
$order->referee = $orderExtendJson['referee'] ?? '';
|
|
|
- if (isset($orderExtendJson['cancel_times'])){
|
|
|
+ if (isset($orderExtendJson['cancel_times'])) {
|
|
|
$order->cancel_times = $orderExtendJson['cancel_times'];
|
|
|
}
|
|
|
}
|
|
@@ -521,7 +521,11 @@ class WholeController extends Curd
|
|
|
$discount['coupon_name'] .= $coupon->coupon_classify . ':' . $coupon->coupon_name . '(优惠¥' . $discountItem['coupon_value'] . '), ';
|
|
|
}
|
|
|
if (empty($discountItem['coupon_id']) && !empty($discountItem['coupon_classify'])) {
|
|
|
- $discount['classify'] .= $discountItem['coupon_classify'] . '(¥' . round($discountItem['coupon_value'], 2) . '), ';
|
|
|
+ if (!empty($discountItem['coupon_detail_id'])) {
|
|
|
+ $discount['classify'] .= $discountItem['coupon_detail_id'][0] . '(优惠¥' . round($discountItem['coupon_value'], 2) . '), ';
|
|
|
+ } else {
|
|
|
+ $discount['classify'] .= $discountItem['coupon_classify'] . '(优惠¥' . round($discountItem['coupon_value'], 2) . '), ';
|
|
|
+ }
|
|
|
}
|
|
|
if (!empty($discountItem['coupon_value'])) {
|
|
|
$discount['value'] += $discountItem['coupon_value'];
|
|
@@ -797,7 +801,7 @@ class WholeController extends Curd
|
|
|
throw new BusinessException("计算优惠后,实付金额错误!");
|
|
|
}
|
|
|
// 组装优惠券使用数据,存主表优惠里
|
|
|
- if (!empty($couponResult['use_coupon_json'])){
|
|
|
+ if (!empty($couponResult['use_coupon_json'])) {
|
|
|
$couponUseJson = $couponResult['use_coupon_json'];
|
|
|
if (!empty($order->order_discount_json)) {
|
|
|
$orderDiscountJson = json_decode($order->order_discount_json, true);
|
|
@@ -1147,32 +1151,52 @@ class WholeController extends Curd
|
|
|
}
|
|
|
|
|
|
// // 买的单个服务
|
|
|
- // $writeOffDate = [];
|
|
|
- // // 服务已完成,生成核销数据
|
|
|
- // if ($order->order_status_payment == 'SUCCESS' && in_array($goods['goods_classify'], ['SERVICE','CHNMED','CHNNCD', 'PACKAGE'])) {
|
|
|
- // $writeOffDate = OrderService::generateWriteOffData($params);
|
|
|
- // }
|
|
|
- // if (in_array($goods['goods_classify'],['SERVICE','CHNMED','CHNNCD'])) {
|
|
|
- // // 订单状态已完成
|
|
|
- // Order::where('order_id',$params['orderId'])->update([
|
|
|
- // 'order_status_system'=>'DONE'
|
|
|
- // ]);
|
|
|
- // // 权益用完
|
|
|
- // $benefits = MemberBenefit::where('join_benefit_order_id',$params['orderId'])->get();
|
|
|
- // foreach($benefits as $benefit){
|
|
|
- // MemberBenefit::where('member_benefit_id',$benefit->member_benefit_id)->update([
|
|
|
- // 'member_benefit_used_count'=>$benefit->member_benefit_limit_count,
|
|
|
- // 'member_benefit_status'=>'DONE'
|
|
|
- // ]);
|
|
|
- // dump($writeOffDate);
|
|
|
- // // 核销记录
|
|
|
- // Appointment::where('join_appointment_member_benefit_id',$benefit->member_benefit_id)->update([
|
|
|
- // 'appointment_status'=>'DONE',
|
|
|
- // 'appointment_done_datetime'=>date('Y-m-d H:i:s'),
|
|
|
- // 'appointment_done_json' => json_encode($writeOffDate)
|
|
|
- // ]);
|
|
|
- // }
|
|
|
- // }
|
|
|
+ if ($order->order_status_payment == 'SUCCESS') {
|
|
|
+ foreach ($params['goodsContentList'] as $goods) {
|
|
|
+ $params['join_sheet_goods_id'] = $goods['goods_id'];
|
|
|
+ if (in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD'])) {
|
|
|
+ $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['order_sheet_num'] = $goods['nbr'];
|
|
|
+ // 预约表
|
|
|
+ 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'] = $goods['sku_id'];
|
|
|
+ $goods['category'] = $goods['goods_classify'];
|
|
|
+ // 权益表
|
|
|
+ $this->insertMemberBenefit($params, $goods);
|
|
|
+ } elseif ($goods['goods_classify'] == 'PACKAGE') { // 一个套餐买多个
|
|
|
+ $params['packageId'] = $goods['goods_id'];
|
|
|
+ $components = GoodsComponent::with([
|
|
|
+ 'goods' => function ($query) {
|
|
|
+ $query->select('goods_id', 'goods_name', 'goods_classify');
|
|
|
+ }
|
|
|
+ ])->where('join_component_master_goods_id', $params['packageId'])
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ foreach ($components as $component) {
|
|
|
+ $componentJson = json_decode($component['goods_component_json'], true);
|
|
|
+ $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
|
|
|
+ $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['order_sheet_num'] = $goods['nbr'] * $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'] = $goods['sku_id'];
|
|
|
+ $goods['category'] = 'SERVICE';
|
|
|
+ // 权益表
|
|
|
+ $this->insertMemberBenefit($params, $goods);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 2.4W 康养城
|
|
|
if ($params['goods_classify'] == 'VIP' && $order->order_status_payment == 'SUCCESS') {
|
|
@@ -1254,11 +1278,11 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$couponClassifyDesc = $couponClassify = '餐厅前台优惠';
|
|
|
} else if (!empty($params['preferential']) && intval($params['preferential'][0]) < 100 && intval($params['preferential'][0]) >= 50) {
|
|
|
- if (($params['order_amount_total'] * intval($params['preferential'])) / 100 !== $params['order_amount_pay']) {
|
|
|
+ if (($params['order_amount_total'] * intval($params['preferential'][0])) / 100 != $params['order_amount_pay']) {
|
|
|
throw new BusinessException("折扣后实际支付金额错误");
|
|
|
}
|
|
|
$couponClassify = '折扣';
|
|
|
- $couponClassifyDesc = $params['preferential'] . '折';
|
|
|
+ $couponClassifyDesc = intval($params['preferential'][0]) / 10 . '折';
|
|
|
$params['order_discount_amount'] = $params['order_amount_total'] - $params['order_amount_pay'];
|
|
|
} else {
|
|
|
return $json;
|
|
@@ -1843,7 +1867,6 @@ class WholeController extends Curd
|
|
|
$qrcodePayAmount = 0;
|
|
|
$params['orderId'] = 'OD' . date('YmdHis') . random_string(6, 'up');
|
|
|
$params['orderGroupId'] = 'OD' . date('YmdHis') . random_string(6, 'up');
|
|
|
- $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
|
|
|
$systemStatus = 'SENDING'; // 待发货
|
|
|
// 立即结算
|
|
@@ -2192,55 +2215,61 @@ 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);
|
|
|
- // }
|
|
|
- // }
|
|
|
+ $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 ($params['order_status_payment'] == 'SUCCESS') {
|
|
|
+ foreach ($params['goodsContentList'] as $goods) {
|
|
|
+ $params['join_sheet_goods_id'] = $goods['goods_id'];
|
|
|
+ if (in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD'])) {
|
|
|
+ $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
|
|
|
+ $params['goods_id'] = $goods['goods_id'];
|
|
|
+ $params['order_sheet_num'] = $goods['nbr'];
|
|
|
+ // 预约表
|
|
|
+ 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'] = $goods['sku_id'];
|
|
|
+ $goods['category'] = $goods['goods_classify'];
|
|
|
+ // 权益表
|
|
|
+ $this->insertMemberBenefit($params, $goods);
|
|
|
+ } elseif ($goods['goods_classify'] == 'PACKAGE') { // 一个套餐买多个
|
|
|
+ $params['packageId'] = $goods['goods_id'];
|
|
|
+ $components = GoodsComponent::with([
|
|
|
+ 'goods' => function ($query) {
|
|
|
+ $query->select('goods_id', 'goods_name', 'goods_classify');
|
|
|
+ }
|
|
|
+ ])->where('join_component_master_goods_id', $params['packageId'])
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ foreach ($components as $component) {
|
|
|
+ $componentJson = json_decode($component['goods_component_json'], true);
|
|
|
+ $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
|
|
|
+ $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['order_sheet_num'] = $goods['nbr'] * $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'] = $goods['sku_id'];
|
|
|
+ $goods['category'] = 'SERVICE';
|
|
|
+ // 权益表
|
|
|
+ $this->insertMemberBenefit($params, $goods);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 2.4W 康养城
|
|
|
if ($params['goods_classify'] == 'VIP' && $params['order_status_payment'] == 'SUCCESS') {
|
|
@@ -3035,16 +3064,16 @@ class WholeController extends Curd
|
|
|
'join_appointment_order_id' => $params['orderId'],
|
|
|
'join_appointment_member_benefit_id' => $params['benefitId'],
|
|
|
'appointment_classify' => $params['goods_classify'],
|
|
|
- 'appointment_status' => $params['order_status_system'] == 'DONE' ? 'DONE' : 'INIT',
|
|
|
+ 'appointment_status' => 'INIT',
|
|
|
'appointment_category' => 'NORMAL',
|
|
|
'appointment_platform' => 'SYSTEM',
|
|
|
'appointment_addtimes' => time(),
|
|
|
- 'appointment_datetime' => $params['order_status_system'] == 'DONE' ? date('Y-m-d') : '',
|
|
|
- 'appointment_apply_datetime' => $params['order_status_system'] == 'DONE' ? date('Y-m-d H:i:s') : '',
|
|
|
- 'appointment_apply_json' => $params['order_status_system'] == 'DONE' && $applyData ? json_encode($applyData) : '[]',
|
|
|
- 'appointment_done_datetime' => $params['order_status_system'] == 'DONE' ? date('Y-m-d H:i:s') : '',
|
|
|
+ 'appointment_datetime' => '',
|
|
|
+ 'appointment_apply_datetime' => '',
|
|
|
+ 'appointment_apply_json' => '[]',
|
|
|
+ 'appointment_done_datetime' => '',
|
|
|
'appointment_remark' => $params['order_remark'] ?? '',
|
|
|
- 'appointment_done_json' => $params['order_status_system'] == 'DONE' && $writeOffDate ? json_encode($writeOffDate) : '[]'
|
|
|
+ 'appointment_done_json' => '[]'
|
|
|
];
|
|
|
Appointment::insert($data);
|
|
|
} catch (\Exception $e) {
|
|
@@ -3077,7 +3106,7 @@ class WholeController extends Curd
|
|
|
'member_benefit_category' => $goods['category'],
|
|
|
'member_benefit_name' => $goods['goods_name'],
|
|
|
'member_benefit_limit_count' => $params['order_sheet_num'],
|
|
|
- 'member_benefit_used_count' => $params['order_status_system'] == 'DONE' ? $params['order_sheet_num'] : 0,
|
|
|
+ 'member_benefit_used_count' => 0,
|
|
|
'member_benefit_remark' => $params['order_remark'] ?? '',
|
|
|
'member_benefit_addtimes' => time()
|
|
|
];
|