|
@@ -69,7 +69,7 @@ class WholeController extends Curd
|
|
|
|
|
|
if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
|
|
|
$where['order_is_complete'] = 'N';
|
|
|
- $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : 'NORMAL';
|
|
|
+ $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL'];
|
|
|
}
|
|
|
|
|
|
if (!empty($where['order_status_system']) && $where['order_status_system'] == 'RETURN') {
|
|
@@ -237,11 +237,16 @@ class WholeController extends Curd
|
|
|
$configJson = !empty($component['goods_component_json']) ? json_decode($component['goods_component_json'], true) : [];
|
|
|
if (!empty($component['goods'])) {
|
|
|
$supplierName = Supplier::where('supplier_id', $component['goods']['join_goods_supplier_id'])->value('supplier_name');
|
|
|
+ $benefit = MemberBenefit::where('join_benefit_member_id',$item['join_sheet_member_id'])
|
|
|
+ ->where('join_benefit_package_id',$item['goods']['goods_id'])
|
|
|
+ ->where('join_benefit_order_id',$orderId)
|
|
|
+ ->first();
|
|
|
$goodsArr[] = [
|
|
|
'goods_name' => $component['goods']['goods_name'],
|
|
|
'goods_cover' => getenv('STORAGE_DOMAIN') . $component['goods']['goods_cover'],
|
|
|
'supplier_name' => $supplierName,
|
|
|
'nbr' => $configJson['nbr'] ?? 0,
|
|
|
+ 'used' => !empty($benefit->member_benefit_used_count) ? intval($benefit->member_benefit_used_count) : ''
|
|
|
];
|
|
|
}
|
|
|
}
|
|
@@ -266,39 +271,42 @@ class WholeController extends Curd
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- if ($item['goods']['goods_classify'] == 'SERVICE') {
|
|
|
- $benifit = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
|
|
|
+ if (in_array($item['goods']['goods_classify'],['SERVICE','CHNMED','CHNNCD','PACKAGE'])) {
|
|
|
+ $benifits = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
|
|
|
->where('join_benefit_order_id', $orderId)
|
|
|
- ->first();
|
|
|
- if (!empty($benifit)) {
|
|
|
- $item['benefit'] = [
|
|
|
- 'total' => intval($benifit->member_benefit_limit_count),
|
|
|
- 'used' => intval($benifit->member_benefit_used_count),
|
|
|
- 'cut' => $benifit->member_benefit_limit_count - $benifit->member_benefit_used_count,
|
|
|
- ];
|
|
|
- $appontments = Appointment::where('join_appointment_member_benefit_id', $benifit->member_benefit_id)
|
|
|
- ->where('appointment_status', 'DONE')
|
|
|
- ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
|
|
|
- ->get()
|
|
|
- ->toArray();
|
|
|
- $item['appontment'] = [];
|
|
|
- foreach ($appontments as $appontment) {
|
|
|
- $doneJson = [];
|
|
|
- $username = '';
|
|
|
- if (!empty($appontment['appointment_done_json'])) {
|
|
|
- $doneJson = json_decode($appontment['appointment_done_json'], true);
|
|
|
- if (isset($doneJson['charge'])) {
|
|
|
- $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
|
|
|
+ ->get();
|
|
|
+ if (!empty($benifits)) {
|
|
|
+ foreach($benifits as $benifit){
|
|
|
+ $item['benefit'] = [
|
|
|
+ 'total' => intval($benifit->member_benefit_limit_count),
|
|
|
+ 'used' => intval($benifit->member_benefit_used_count),
|
|
|
+ 'cut' => $benifit->member_benefit_limit_count - $benifit->member_benefit_used_count,
|
|
|
+ ];
|
|
|
+ $appontments = Appointment::where('join_appointment_member_benefit_id', $benifit->member_benefit_id)
|
|
|
+ ->where('appointment_status', 'DONE')
|
|
|
+ ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ dump($appontments);
|
|
|
+ $item['appontment'] = [];
|
|
|
+ foreach ($appontments as $appontment) {
|
|
|
+ $doneJson = [];
|
|
|
+ $username = '';
|
|
|
+ if (!empty($appontment['appointment_done_json'])) {
|
|
|
+ $doneJson = json_decode($appontment['appointment_done_json'], true);
|
|
|
+ if (isset($doneJson['charge'])) {
|
|
|
+ $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
|
|
|
+ }
|
|
|
}
|
|
|
+ $item['appontment'][] = [
|
|
|
+ 'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
|
|
|
+ 'goods_name' => $item['goods']['goods_name'],
|
|
|
+ 'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
|
|
|
+ 'username' => $username,
|
|
|
+ 'nbr' => 1,
|
|
|
+ 'done_time' => $appontment['appointment_done_datetime']
|
|
|
+ ];
|
|
|
}
|
|
|
- $item['appontment'][] = [
|
|
|
- 'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
|
|
|
- 'goods_name' => $item['goods']['goods_name'],
|
|
|
- 'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
|
|
|
- 'username' => $username,
|
|
|
- 'nbr' => 1,
|
|
|
- 'done_time' => $appontment['appointment_done_datetime']
|
|
|
- ];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -595,7 +603,7 @@ class WholeController extends Curd
|
|
|
$this->saveExpress($params);
|
|
|
}
|
|
|
// 买的单个服务
|
|
|
- if ($goods['goods_classify'] == 'SERVICE') {
|
|
|
+ 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');
|
|
@@ -603,7 +611,7 @@ class WholeController extends Curd
|
|
|
$this->insertAppointment($params, $writeOffDate);
|
|
|
}
|
|
|
$goods['skuId'] = $params['join_sheet_goods_sku_id'];
|
|
|
- $goods['category'] = 'SERVICE';
|
|
|
+ $goods['category'] = $goods['goods_classify'];
|
|
|
// 权益表
|
|
|
$this->insertMemberBenefit($params, $goods);
|
|
|
} elseif ($goods['goods_classify'] == 'PACKAGE') { // 一个套餐买多个
|
|
@@ -1172,8 +1180,9 @@ class WholeController extends Curd
|
|
|
// 更新Appointment 表
|
|
|
$appointments = Appointment::where('join_appointment_member_benefit_id', $benefit['join_benefit_order_id'])
|
|
|
->where('appointment_status', 'INIT')
|
|
|
- ->limit($list['nbr'])
|
|
|
+ ->limit(intval($list['nbr']))
|
|
|
->get();
|
|
|
+ dump($appointments);
|
|
|
foreach ($appointments as $appointment) {
|
|
|
Appointment::where('appointment_id', $appointment->appointment_id)->update([
|
|
|
'appointment_status' => 'DONE',
|
|
@@ -1572,7 +1581,7 @@ class WholeController extends Curd
|
|
|
])
|
|
|
->select('order_id','join_order_member_id','order_is_complete','order_status_system')
|
|
|
->where("order_is_complete",'N')
|
|
|
- ->where("order_category",'NORMAL')
|
|
|
+ ->whereIn("order_category",['NORMAL','SYSTEM'])
|
|
|
->orderBy('order_addtimes','DESC')
|
|
|
->get()
|
|
|
->toArray();
|