123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace app\event;
- use app\model\ClientMessage;
- use app\model\Order;
- use app\model\OrderReturn;
- use app\model\OrderSheet;
- use support\Log;
- class ClientMessageEvent
- {
- /**
- * @Desc 发货通知
- * @Author Gorden
- * @Date 2024/7/16 10:28
- *
- * @param $params
- * @return void
- */
- public function delivery($params)
- {
- Log::info("发送消息", $params);
- try {
- $order = Order::where('order_id', $params['order_id'])
- ->select('join_order_member_id')
- ->first();
- $clientMessage = new ClientMessage();
- $clientMessage->client_message_classify = 'ORDER';
- $clientMessage->join_client_message_send = 'SYSTEM';
- $clientMessage->join_client_message_recv_member_id = $order->join_order_member_id;
- $clientMessage->client_message_sendtime = date('Y-m-d H:i:s');
- $clientMessage->client_message_status = 'PENDING';
- $clientMessage->client_message_category = 'NORMAL';
- $clientMessage->client_message_header_json = json_encode(['title' => '订单消息']);
- $clientMessage->client_message_addtimes = time();
- $sheet = OrderSheet::with([
- 'goods' => function ($query) {
- $query->select('goods_id', 'goods_name');
- }
- ])->where('join_sheet_order_id', $params['order_id'])
- ->select('order_sheet_id', 'join_sheet_goods_id', 'join_sheet_order_id', 'order_sheet_num')
- ->first();
- if ($params['express_type'] == '自提') {
- $clientMessage->client_message_body_json = json_encode([
- 'content' => '提货通知:您于' . date('Y年m月d日') . '在' . $params['order_express_premises'] . '提取了您购买的商品【' . $sheet->goods->goods_name . '】,数量:【' . intval($sheet->order_sheet_num) . '】。'
- ]);
- } else {
- $clientMessage->client_message_body_json = json_encode([
- 'content' => '发货通知:您购买的商品【' . $sheet->goods->goods_name . '】,数量:【' . intval($sheet->order_sheet_num) . '】已发货,物流公司:' . $params['order_express_company'] . ',物流单号:' . $params['order_express_code'] . ',请注意查收。'
- ]);
- }
- $clientMessage->save();
- } catch (\Exception $e) {
- Log::error("消息发送失败", ['msg' => $e->getMessage()]);
- }
- }
- /**
- * @Desc 退货/退款状态变更站内信
- * @Author Gorden
- * @Date 2024/7/16 14:19
- *
- * @param $params
- * @return void
- */
- public function returnStatus($params)
- {
- try {
- $orderReturn = OrderReturn::where('orders_return_id', $params['orders_return_id'])->first();
- if (!$orderReturn) {
- return;
- }
- if ($params['order_return_status'] == 'DOING') {
- $content = "商家已同意您的退货/退款申请。";
- } else {
- $content = "商家已拒绝您的退货/退款申请。";
- }
- $clientMessage = new ClientMessage();
- $clientMessage->client_message_classify = 'ORDER';
- $clientMessage->join_client_message_send = 'SYSTEM';
- $clientMessage->join_client_message_recv_member_id = $orderReturn->join_return_member_id;
- $clientMessage->client_message_sendtime = date('Y-m-d H:i:s');
- $clientMessage->client_message_status = 'PENDING';
- $clientMessage->client_message_category = 'NORMAL';
- $clientMessage->client_message_header_json = json_encode(['title' => '订单消息']);
- $clientMessage->client_message_body_json = json_encode(['content' => '退货/退款通知:' . $content]);
- $clientMessage->client_message_addtimes = time();
- $clientMessage->save();
- } catch (\Exception $e) {
- }
- }
- /**
- * @Desc 退款成功通知
- * @Author Gorden
- * @Date 2024/7/16 14:09
- *
- * @param $memberId
- * @return void
- */
- public function refund($memberId)
- {
- try {
- $clientMessage = new ClientMessage();
- $clientMessage->client_message_classify = 'ORDER';
- $clientMessage->join_client_message_send = 'SYSTEM';
- $clientMessage->join_client_message_recv_member_id = $memberId;
- $clientMessage->client_message_sendtime = date('Y-m-d H:i:s');
- $clientMessage->client_message_status = 'PENDING';
- $clientMessage->client_message_category = 'NORMAL';
- $clientMessage->client_message_header_json = json_encode(['title' => '订单消息']);
- $clientMessage->client_message_body_json = json_encode(['content' => '退款通知:您申请的退款已原路返回,请注意查收。']);
- $clientMessage->client_message_addtimes = time();
- $clientMessage->save();
- } catch (\Exception $e) {
- }
- }
- }
|