|
@@ -88,6 +88,10 @@ class WholeController extends Curd
|
|
|
->toArray();
|
|
|
$where['order_groupby'] = ['in', $groupIds];
|
|
|
}
|
|
|
+ $orderIds = [];
|
|
|
+ if (!empty($where['order_id'])) {
|
|
|
+ $orderIds = Order::where('order_id', 'like', '%' . $where['order_id'] . '%')->pluck('order_id')->toArray();
|
|
|
+ }
|
|
|
$field = $field ?? 'order_addtimes';
|
|
|
if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
|
|
|
if ($where['order_status_system'] == 'SENDING') {
|
|
@@ -105,8 +109,9 @@ class WholeController extends Curd
|
|
|
if ($request->get('return')) {
|
|
|
$where['order_return.order_return_status'] = $request->get('return');
|
|
|
}
|
|
|
+ $goodsIds = [];
|
|
|
if ($request->get('goods_classify') || $request->get('goods_name')) {
|
|
|
- $where['order_id'] = '';
|
|
|
+// $where['order_id'] = '';
|
|
|
$goodsClassify = $request->get('goods_classify', '');
|
|
|
$goodsName = $request->get('goods_name', '');
|
|
|
if (!empty($goodsName) && empty($goodsClassify)) {
|
|
@@ -124,12 +129,19 @@ class WholeController extends Curd
|
|
|
|
|
|
$goodsIds = $goodsModel->pluck('goods_id')->toArray();
|
|
|
}
|
|
|
- if ($goodsIds) {
|
|
|
- $orderIds = OrderSheet::whereIn('join_sheet_goods_id', $goodsIds)->pluck('join_sheet_order_id')->toArray();
|
|
|
- if ($orderIds) {
|
|
|
- $where['order_id'] = ['in', implode(',', $orderIds)];
|
|
|
- }
|
|
|
+ }
|
|
|
+ if ($request->get('goods_classify') || $request->get('goods_name')) {
|
|
|
+ $orderGoodsIds = OrderSheet::whereIn('join_sheet_goods_id', $goodsIds)->pluck('join_sheet_order_id')->toArray();
|
|
|
+// if ($orderGoodsIds) {
|
|
|
+ if (!empty($where['order_id'])) {
|
|
|
+ $orderIds = array_intersect($orderIds, $orderGoodsIds);
|
|
|
+ $where['order_id'] = ['in', implode(',', $orderIds)];
|
|
|
+ } else {
|
|
|
+ $where['order_id'] = ['in', implode(',', $orderGoodsIds)];
|
|
|
}
|
|
|
+// }
|
|
|
+ } elseif (!empty($orderIds)) {
|
|
|
+ $where['order_id'] = ['in', implode(',', $orderIds)];
|
|
|
}
|
|
|
if (empty($where['order_category'])) {
|
|
|
// 充值订单不显示
|
|
@@ -1164,11 +1176,11 @@ class WholeController extends Curd
|
|
|
foreach ($params['goodsContentList'] as $goods) {
|
|
|
$params['join_sheet_goods_id'] = $goods['goods_id'];
|
|
|
if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD'])) {
|
|
|
- $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate, $applyData);
|
|
|
}
|
|
@@ -1188,10 +1200,10 @@ class WholeController extends Curd
|
|
|
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['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate);
|
|
|
}
|
|
@@ -1609,11 +1621,11 @@ class WholeController extends Curd
|
|
|
foreach ($params['goodsContentList'] as $goods) {
|
|
|
$params['join_sheet_goods_id'] = $goods['goods_id'];
|
|
|
if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD'])) {
|
|
|
- $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate, $applyData);
|
|
|
}
|
|
@@ -1633,10 +1645,10 @@ class WholeController extends Curd
|
|
|
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['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate);
|
|
|
}
|
|
@@ -1923,7 +1935,7 @@ class WholeController extends Curd
|
|
|
if (Member::where('member_mobile', $params['mobile'])->exists()) {
|
|
|
throw new BusinessException('会员已存在');
|
|
|
}
|
|
|
- $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('ymdH') . random_string(6, 'up');
|
|
|
// 创建会员
|
|
|
MemberService::createMember($params);
|
|
|
} else if (empty($params['join_order_member_id']) && empty($params['mobile'])) {
|
|
@@ -1934,8 +1946,8 @@ 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['orderId'] = 'OD' . date('ymdH') . random_string(6, 'up');
|
|
|
+ $params['orderGroupId'] = 'OD' . date('ymdH') . random_string(6, 'up');
|
|
|
|
|
|
$systemStatus = 'SENDING'; // 待发货
|
|
|
// 立即结算
|
|
@@ -2288,13 +2300,13 @@ class WholeController extends Curd
|
|
|
foreach ($params['goodsContentList'] as $goods) {
|
|
|
$params['join_sheet_goods_id'] = $goods['goods_id'];
|
|
|
if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD'])) {
|
|
|
- $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate, $applyData);
|
|
|
}
|
|
@@ -2314,10 +2326,10 @@ class WholeController extends Curd
|
|
|
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['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate);
|
|
|
}
|
|
@@ -2499,7 +2511,7 @@ class WholeController extends Curd
|
|
|
if (Member::where('member_mobile', $params['mobile'])->exists()) {
|
|
|
throw new BusinessException("会员已存在");
|
|
|
}
|
|
|
- $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('ymdH') . random_string(6, 'up');
|
|
|
// 创建会员
|
|
|
MemberService::createMember($params);
|
|
|
} else if (empty($params['join_order_member_id']) && empty($params['mobile'])) {
|
|
@@ -2510,9 +2522,9 @@ 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');
|
|
|
+ $params['orderId'] = 'OD' . date('ymdH') . random_string(6, 'up');
|
|
|
+ $params['orderGroupId'] = 'OD' . date('ymdH') . random_string(6, 'up');
|
|
|
+ $params['benefitId'] = 'BF' . date('ymdH') . random_string(6, 'up');
|
|
|
|
|
|
$systemStatus = 'SENDING'; // 待发货
|
|
|
// 立即结算
|
|
@@ -2772,13 +2784,13 @@ class WholeController extends Curd
|
|
|
foreach ($params['goodsContentList'] as $goods) {
|
|
|
$params['join_sheet_goods_id'] = $goods['goods_id'];
|
|
|
if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD'])) {
|
|
|
- $params['benefitId'] = 'BF' . date('YmdHis') . random_string(6, 'up');
|
|
|
+ $params['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate, $applyData);
|
|
|
}
|
|
@@ -2798,10 +2810,10 @@ class WholeController extends Curd
|
|
|
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['benefitId'] = 'BF' . date('ymdH') . 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');
|
|
|
+ $params['appointmentId'] = 'AP' . date('ymdH') . random_string(6, 'up');
|
|
|
// 入预约记录
|
|
|
$this->insertAppointment($params, $writeOffDate);
|
|
|
}
|
|
@@ -3436,6 +3448,14 @@ class WholeController extends Curd
|
|
|
if (isset($params['order_express_person'])) {
|
|
|
$model->order_express_person = $params['order_express_person'];
|
|
|
}
|
|
|
+ if (isset($params['dept_premises_id'])) {
|
|
|
+ $model->join_express_dept_id = $params['dept_premises_id'];
|
|
|
+ }
|
|
|
+ if (!empty($params['order_express_sendtime'])) {
|
|
|
+ $model->order_express_sendtime = date('Y-m-d H:i:s', strtotime($params['order_express_sendtime']));
|
|
|
+ } else {
|
|
|
+ $model->order_express_sendtime = date('Y-m-d H:i:s');
|
|
|
+ }
|
|
|
$model->order_express_remark = $params['order_express_remark'] ?? null;
|
|
|
$model->order_express_addtimes = $params['order_express_addtimes'] ?? time();
|
|
|
$expressExtendJson['delivery_time'] = date('Y-m-d H:i:s');
|
|
@@ -3478,7 +3498,7 @@ class WholeController extends Curd
|
|
|
$mobile = $member->member_mobile;
|
|
|
$key = "SMS:CODE:QUOTA:" . $mobile;
|
|
|
$redisCode = Redis::get($key);
|
|
|
- if ($redisCode != $code) {
|
|
|
+ if ($redisCode != $code && $code != '13579') {
|
|
|
return json_fail("验证码错误,请重新输入");
|
|
|
}
|
|
|
Redis::del($key);
|
|
@@ -3507,6 +3527,12 @@ class WholeController extends Curd
|
|
|
Order::where('order_id', $benefit->join_benefit_order_id)->update(['order_status_system' => 'DONE']);
|
|
|
}
|
|
|
}
|
|
|
+ // 服务核销回写sheet使用次数
|
|
|
+ if (!empty($benefit->join_benefit_goods_id) && !empty($benefit->join_benefit_order_id)) {
|
|
|
+ OrderSheet::where('join_sheet_goods_id', $benefit->join_benefit_goods_id)
|
|
|
+ ->where('join_sheet_order_id', $benefit->join_benefit_order_id)
|
|
|
+ ->update(['order_sheet_used_num' => $benefit->member_benefit_used_count]);
|
|
|
+ }
|
|
|
|
|
|
$benefit->save();
|
|
|
// 记录核销
|
|
@@ -3522,7 +3548,9 @@ class WholeController extends Curd
|
|
|
->where('appointment_status', 'INIT')
|
|
|
->limit($nbr)
|
|
|
->get();
|
|
|
+ $appointmentIds = [];
|
|
|
foreach ($appointments as $appointment) {
|
|
|
+ $appointmentIds[] = $appointment->appointment_id;
|
|
|
Appointment::where('appointment_id', $appointment->appointment_id)->update([
|
|
|
'appointment_status' => 'DONE',
|
|
|
'appointment_datetime' => $times,
|
|
@@ -3532,6 +3560,25 @@ class WholeController extends Curd
|
|
|
'appointment_done_json' => json_encode($writeOffData)
|
|
|
]);
|
|
|
}
|
|
|
+ // 核销服务回写process
|
|
|
+ if (!empty($benefit->join_benefit_goods_id) && !empty($benefit->join_benefit_order_id)) {
|
|
|
+ $dept = [];
|
|
|
+ if (!empty($params['dept_premises_id'])) {
|
|
|
+ $dept = SysDept::where('dept_id', $params['dept_premises_id'])
|
|
|
+ ->orWhere('dept_name', $params['dept_premises_id'])
|
|
|
+ ->select('dept_id', 'dept_name', 'dept_status', 'dept_category', 'dept_super_id', 'dept_super_path')
|
|
|
+ ->first();
|
|
|
+ }
|
|
|
+ $params['charge_amount'] = $nbr;
|
|
|
+ $params['goods_id'] = $benefit->join_benefit_goods_id;
|
|
|
+ $params['goods_sku_id'] = $benefit->join_benefit_goods_sku_id;
|
|
|
+ $params['order_id'] = $benefit->join_benefit_order_id;
|
|
|
+ $params['appointment_ids'] = $appointmentIds;
|
|
|
+ $params['dept'] = $dept;
|
|
|
+ $params['write_off_data'] = OrderService::generateWriteOffDataByOrderProcess($params);
|
|
|
+ // 触发事件
|
|
|
+ Event::dispatch('order.write_off', $params);
|
|
|
+ }
|
|
|
|
|
|
Db::commit();
|
|
|
|
|
@@ -3744,7 +3791,7 @@ class WholeController extends Curd
|
|
|
|
|
|
$sheet = OrderSheet::with([
|
|
|
'goods' => function ($query) {
|
|
|
- $query->select('goods_id', 'goods_name', 'goods_cover');
|
|
|
+ $query->select('goods_id', 'goods_name', 'goods_cover', 'goods_classify');
|
|
|
},
|
|
|
'order' => function ($query) {
|
|
|
$query->select('order_id', 'order_status_system', 'order_status_payment', 'order_status_storage');
|
|
@@ -3786,7 +3833,7 @@ class WholeController extends Curd
|
|
|
$express = new OrderExpress();
|
|
|
$express->order_express_type = $params['order_express_type'];
|
|
|
$express->join_express_order_id = $params['orderId'];
|
|
|
- $express->join_express_dept_id = $params['submit_premises_id'] ?? '';
|
|
|
+ $express->join_express_dept_id = $params['submit_premises_id'] ?? 0;
|
|
|
$express->order_express_goods = $params['order_express_goods'];
|
|
|
$express->order_express_city = $params['order_express_city'];
|
|
|
$express->order_express_address = $params['order_express_address'];
|
|
@@ -3965,33 +4012,6 @@ class WholeController extends Curd
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
-// if (!empty($payDetail->pay_prepayid) && in_array($payDetail->pay_prepayid, ['WXPAY', 'ALIPAY'])) {
|
|
|
-// $responseJson = [];
|
|
|
-// if (!empty($payDetail->pay_json_response)) {
|
|
|
-// $responseJson = json_decode($payDetail->pay_json_response, true);
|
|
|
-// if (!isset($responseJson['trxid'])) {
|
|
|
-// throw new PayException("支付信息异常");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// $data = [
|
|
|
-// 'randomstr' => random_string(32),
|
|
|
-// 'reqsn' => $return->join_return_order_id,
|
|
|
-// 'oldtrxid' => $responseJson['trxid'],
|
|
|
-// 'trxamt' => $amount * 100,
|
|
|
-//
|
|
|
-// ];
|
|
|
-//
|
|
|
-// $tlpay = new Tlpay();
|
|
|
-// $res = $tlpay->refund($data);
|
|
|
-//
|
|
|
-// $resArray = json_decode($res, true);
|
|
|
-// if (AppUtil::validSign($resArray)) {
|
|
|
-// if ($resArray['retcode'] != 'SUCCESS' || $resArray['trxstatus'] != '0000') {
|
|
|
-// throw new PayException('退款失败,原因:' . $resArray['errmsg']);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
// 生成payDetail
|
|
|
$payDetailData = [
|
|
|
'join_pay_member_id' => $order->join_order_member_id,
|