333 lines
11 KiB
PHP
333 lines
11 KiB
PHP
<?php
|
||
/**
|
||
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
||
* =========================================================
|
||
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
|
||
* ----------------------------------------------
|
||
* 官方网址: https://www.gobuysaas.com
|
||
* =========================================================
|
||
*/
|
||
namespace addon\ali1688\model;
|
||
use addon\ali1688\model\Config as ConfigModel;
|
||
use app\model\BaseModel;
|
||
use app\model\system\Cron;
|
||
class NotifyChange extends BaseModel
|
||
{
|
||
public $site_id;
|
||
|
||
public function Notify($data)
|
||
{
|
||
if (isset($data['message']) && isset($data['site_id'])) {
|
||
$ConfigModel = new ConfigModel();
|
||
$this->site_id = $data['site_id'];
|
||
$config = $ConfigModel->getConfig($data['site_id'])['data']['value'];
|
||
$msg = json_decode($data['message'], true);
|
||
file_put_contents($msg['type'] ?? '1688' . '.txt', json_encode($data));
|
||
if (!empty($config) && isset($msg['userInfo']) && isset($config['memberId']) && $config['memberId'] == $msg['userInfo']) {
|
||
switch ($msg['type']) {
|
||
//以下功能已完成
|
||
case 'LOGISTICS_BUYER_VIEW_TRACE': //物流变更
|
||
$res = $this->LOGISTICS_BUYER_VIEW_TRACE($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ORDER_SELLER_MODIFY_ADRESS': //商家修改订单地址(买家视角)
|
||
$res = $this->ORDER_BUYER_VIEW_ORDER_SELLER_MODIFY_ADRESS($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_PART_PART_SENDGOODS': //1688订单部分发货
|
||
$res = $this->ORDER_BUYER_VIEW_ANNOUNCE_SENDGOODS($msg, 2);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ANNOUNCE_SENDGOODS': //商品发货
|
||
$res = $this->ORDER_BUYER_VIEW_ANNOUNCE_SENDGOODS($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_BUYER_MAKE': //订单创建成功
|
||
$res = $this->ORDER_BUYER_VIEW_BUYER_MAKE($msg);
|
||
break;
|
||
case 'ORDER_BATCH_PAY': //批量支付状态
|
||
$res = $this->ORDER_BATCH_PAY($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ORDER_PAY': //1688交易付款(买家视角
|
||
$res = $this->ORDER_BUYER_VIEW_ORDER_PAY($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ORDER_SUCCESS': //交易成功
|
||
$res = $this->ORDER_BUYER_VIEW_ORDER_SUCCESS($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ORDER_SELLER_CLOSE': //1688订单关闭
|
||
$res = $this->ORDER_BUYER_VIEW_ORDER_SELLER_CLOSE($msg);
|
||
break;
|
||
case 'PRODUCT_RELATION_VIEW_PRODUCT_DELETE': //1688产品删除(关系用户视角)
|
||
case 'PRODUCT_RELATION_VIEW_PRODUCT_AUDIT': //1688产品审核下架(关系用户视角)
|
||
case 'PRODUCT_RELATION_VIEW_PRODUCT_EXPIRE': //1688产品下架(关系用户视角)
|
||
case 'PRODUCT_PFT_OFFER_QUIT': //商品下架
|
||
$res = $this->PRODUCT_PFT_OFFER_QUIT($msg);
|
||
break;
|
||
//未开发不重要
|
||
case 'LOGISTICS_MAIL_NO_CHANGE': //快递号修改
|
||
$res = $this->LOGISTICS_MAIL_NO_CHANGE($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ORDER_BUYER_REFUND_IN_SALES': //1688订单售中退款(买家视角)
|
||
case 'ORDER_BUYER_VIEW_ORDER_REFUND_AFTER_SALES': //1688订单售后退款(买家视角)
|
||
$res = $this->ORDER_BUYER_VIEW_ORDER_REFUND($msg);
|
||
break;
|
||
case 'PRODUCT_PFT_OFFER_PRICE_MODIFY': //精选货源商品价格变动消息
|
||
case 'PRODUCT_PRODUCT_INVENTORY_CHANGE': //1688商品库存变更消息
|
||
case 'PRODUCT_RELATION_VIEW_PRODUCT_CHANGE': //商品变更消息(关系用户视角、包含所有商品变更动作)
|
||
case 'PRODUCT_RELATION_VIEW_PRODUCT_REPOST': //1688产品上架(关系用户视角)
|
||
case 'PRODUCT_RELATION_VIEW_PRODUCT_NEW_OR_MODIFY': //1688产品新增或修改(关系用户视角)
|
||
$res = $this->PRODUCT_PFT_OFFER_PRICE_MODIFY($msg);
|
||
break;
|
||
case 'ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY': //1688修改订单价格
|
||
$res = $this->ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY($msg);
|
||
break;
|
||
default:
|
||
$res = 'ok';
|
||
break;
|
||
}
|
||
}
|
||
} else {
|
||
$res = 'ok';
|
||
}
|
||
echo $res;
|
||
}
|
||
|
||
|
||
/****
|
||
* 商品下架
|
||
* @param $msg
|
||
* @return void
|
||
*/
|
||
public function PRODUCT_PFT_OFFER_QUIT($msg)
|
||
{
|
||
$goodsModel = new Goods($this->site_id);
|
||
$isDel = 0;
|
||
if ($msg['type'] == 'PRODUCT_PFT_OFFER_QUIT') {//产品下架
|
||
$offerId = $msg['data']['offerId'];
|
||
} else if ($msg['type'] == 'PRODUCT_RELATION_VIEW_PRODUCT_EXPIRE') {//1688产品下架(关系用户视角)
|
||
$offerId = $msg['data']['productIds'];
|
||
} else if ($msg['type'] == 'PRODUCT_RELATION_VIEW_PRODUCT_DELETE') {//产品删除
|
||
$isDel = 1;
|
||
$offerId = $msg['data']['productIds'];
|
||
} else if ($msg['type'] == 'PRODUCT_RELATION_VIEW_PRODUCT_AUDIT') {//产品下架
|
||
$offerId = $msg['data']['productIds'];
|
||
}
|
||
$goodsModel->GooodsDelisting($this->site_id, $offerId, $isDel);
|
||
return 'ok';
|
||
}
|
||
|
||
/***
|
||
* 商品信息变动
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function PRODUCT_PFT_OFFER_PRICE_MODIFY($msg)
|
||
{
|
||
|
||
return 'ok';
|
||
}
|
||
|
||
/***
|
||
* 物流变更
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function LOGISTICS_BUYER_VIEW_TRACE($msg)
|
||
{
|
||
$logistics = $msg['data']['OrderLogisticsTracingModel'] ?? '';
|
||
if ($logistics) {
|
||
$goodsModel = new Order($this->site_id);
|
||
if ($logistics['statusChanged'] == 'CONSIGN') {//订单发货
|
||
$goodsModel->SendDelivery($logistics, $this->site_id, 'CONSIGN');
|
||
} else if ($logistics['statusChanged'] == 'SIGN') { //订单签收
|
||
|
||
}
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
|
||
/***
|
||
* 快递号修改
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function LOGISTICS_MAIL_NO_CHANGE($msg)
|
||
{
|
||
|
||
return 'ok';
|
||
}
|
||
|
||
/**
|
||
* 批量支付状态
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BATCH_PAY($msg)
|
||
{
|
||
$batchPay = $msg['data']['batchPay'] ?? [];
|
||
$goodsModel = new Order($this->site_id);
|
||
foreach ($batchPay as $key => $value) {
|
||
if ($value['status'] == 'successed') {
|
||
$where = [
|
||
'third_order' => $value['orderId'],
|
||
'channel_type' => 1688,
|
||
];
|
||
$data = [
|
||
'pay_status' => 1,
|
||
'pay_time' => time(),
|
||
];
|
||
$goodsModel->updateOrderState($where, $data, $this->site_id);
|
||
}
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
|
||
/***
|
||
* 商品发货
|
||
* @param $msg
|
||
* @return string
|
||
* @throws \Exception
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ANNOUNCE_SENDGOODS($msg, $order_status = 1)
|
||
{
|
||
$goodsModel = new Order($this->site_id);
|
||
$third_order = $msg['data']['orderId'] ?? 0;
|
||
if ($third_order) {
|
||
$where = [
|
||
'third_order' => $third_order,
|
||
'channel_type' => 1688,
|
||
];
|
||
$data = [
|
||
'order_status' => $order_status,
|
||
];
|
||
$goodsModel->updateOrderState($where, $data, $this->site_id);
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
|
||
/***
|
||
* 下单成功
|
||
* @param $msg
|
||
* @return string
|
||
* @throws \Exception
|
||
*/
|
||
public function ORDER_BUYER_VIEW_BUYER_MAKE($msg)
|
||
{
|
||
$goodsModel = new Order($this->site_id);
|
||
$third_order = $msg['data']['orderId'] ?? 0;
|
||
if ($third_order) {
|
||
$where = [
|
||
'third_order' => $third_order,
|
||
'channel_type' => 1688,
|
||
];
|
||
$data = [
|
||
'status' => 1,
|
||
];
|
||
$goodsModel->updateOrderState($where, $data, $this->site_id);
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
/***
|
||
* 订单付款
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ORDER_PAY($msg)
|
||
{
|
||
|
||
$goodsModel = new Order($this->site_id);
|
||
$third_order = $msg['data']['orderId'] ?? 0;
|
||
if ($third_order) {
|
||
$where = [
|
||
'third_order' => $third_order,
|
||
'channel_type' => 1688,
|
||
];
|
||
$data = [
|
||
'three_pay_status' => 1,
|
||
'pay_time' => time(),
|
||
];
|
||
$goodsModel->updateOrderState($where, $data, $this->site_id);
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
|
||
/***
|
||
* 订单价格修改
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY($msg)
|
||
{
|
||
return 'ok';
|
||
}
|
||
|
||
/***
|
||
* 交易订单关闭
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ORDER_SELLER_CLOSE($msg)
|
||
{
|
||
$goodsModel = new Order($this->site_id);
|
||
$third_order = $msg['data']['orderId'] ?? 0;
|
||
if ($third_order) {
|
||
$where = [
|
||
'third_order' => $third_order,
|
||
'channel_type' => 1688,
|
||
];
|
||
$data = [
|
||
'order_status' => -1,
|
||
];
|
||
$goodsModel->updateOrderState($where, $data, $this->site_id);
|
||
$cron_model = new Cron();
|
||
$order_id = model('supply_order')->getValue($where, 'order_id');
|
||
$cron_model->addCron(1, 0, '订单自动关闭', 'CronOrderClose', time(), $order_id);
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
/***
|
||
* 商家修改订单地址
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ORDER_SELLER_MODIFY_ADRESS($msg)
|
||
{
|
||
return 'ok';
|
||
}
|
||
|
||
/***
|
||
* 交易成功
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ORDER_SUCCESS($msg)
|
||
{
|
||
$goodsModel = new Order($this->site_id);
|
||
$third_order = $msg['data']['orderId'] ?? 0;
|
||
if ($third_order) {
|
||
$where = [
|
||
'third_order' => $third_order,
|
||
'channel_type' => 1688,
|
||
];
|
||
$data = [
|
||
'order_status' => 10,
|
||
];
|
||
$goodsModel->updateOrderState($where, $data, $this->site_id);
|
||
}
|
||
return 'ok';
|
||
}
|
||
|
||
|
||
/***
|
||
* 交易退款售后
|
||
* @param $msg
|
||
* @return string
|
||
*/
|
||
public function ORDER_BUYER_VIEW_ORDER_REFUND($msg)
|
||
{
|
||
return 'ok';
|
||
}
|
||
}
|