|
|
@@ -3,7 +3,9 @@
|
|
|
namespace biz\renew\classes;
|
|
|
|
|
|
use biz\base\classes\BaseClass;
|
|
|
+use biz\shop\classes\ShopClass;
|
|
|
use biz\sj\classes\SjClass;
|
|
|
+use common\components\noticeUtil;
|
|
|
use common\components\util;
|
|
|
use Yii;
|
|
|
|
|
|
@@ -12,43 +14,45 @@ class RenewClass extends BaseClass
|
|
|
|
|
|
public static $baseFile = '\biz\renew\models\Renew';
|
|
|
|
|
|
- const STATUS_UN_PAY = 1;
|
|
|
- const STATUS_HAS_PAY = 2;
|
|
|
-
|
|
|
public static function thirdPay($payWay, $orderSn, $totalFee, $attach)
|
|
|
{
|
|
|
- $order = self::getByCondition(['orderSn' => $orderSn], true);
|
|
|
- if (empty($order)) {
|
|
|
- $msg = "没有找到购买续期订单 orderSn:{$orderSn}";
|
|
|
- Yii::info($msg);
|
|
|
+ $renew = self::getByCondition(['orderSn' => $orderSn], true);
|
|
|
+ if (empty($renew)) {
|
|
|
+ $msg = "没有找到续费订单 orderSn:{$orderSn}";
|
|
|
+ noticeUtil::push($msg, '15280215347');
|
|
|
util::fail($msg);
|
|
|
}
|
|
|
- if ($order->actPrice != $totalFee) {
|
|
|
- $msg = "购买续期订单金额与回调通知金额不一致 orderSn:{$orderSn} {$order->actPrice} {$totalFee}";
|
|
|
- Yii::info($msg);
|
|
|
+ if ($renew->actPrice != $totalFee) {
|
|
|
+ $msg = "续费订单金额与回调通知金额不一致 orderSn:{$orderSn} {$renew->actPrice} {$totalFee}";
|
|
|
+ noticeUtil::push($msg, '15280215347');
|
|
|
util::fail($msg);
|
|
|
}
|
|
|
- if (isset($order->status) == false) {
|
|
|
- util::fail('没有找到订单状态');
|
|
|
- }
|
|
|
- if ($order->status != self::STATUS_UN_PAY) {
|
|
|
- util::fail('订单不是待付款状态');
|
|
|
+ if ($renew->status != self::STATUS_UN_PAY) {
|
|
|
+ $msg = '续费订单不是待付款状态 orderSn:' . $orderSn;
|
|
|
+ noticeUtil::push($msg, '15280215347');
|
|
|
+ util::fail($msg);
|
|
|
}
|
|
|
|
|
|
- //临时解决微信一秒内通知二次问题
|
|
|
- $id = $order->id;
|
|
|
- $order = self::getLockById($id);
|
|
|
-
|
|
|
- parse_str($attach);
|
|
|
- //是否充值免费续期
|
|
|
- $sjId = isset($sjId) ? $sjId : 0;
|
|
|
- $setId = isset($setId) ? $setId : 0;
|
|
|
- $order->sjId = $sjId;
|
|
|
- $order->setId = $setId;
|
|
|
- $order->status = self::STATUS_HAS_PAY;
|
|
|
- $order->payWay = $payWay;
|
|
|
- $order->save();
|
|
|
- SjClass::renewOneYear($sjId, 2, ['amount' => $order->actPrice, 'orderSn' => $orderSn]);
|
|
|
+ $shopId = $renew->shopId ?? 0;
|
|
|
+ $shop = ShopClass::getById($shopId, true);
|
|
|
+ if (empty($shop)) {
|
|
|
+ $msg = '续费订单没有找到门店 orderSn:' . $orderSn;
|
|
|
+ noticeUtil::push($msg, '15280215347');
|
|
|
+ util::fail($msg);
|
|
|
+ }
|
|
|
+ $year = $renew->year ?? 1;
|
|
|
+ $before = $shop->deadline ?? '';
|
|
|
+ $second = bcmul($year, 31536000);
|
|
|
+ $time = bcadd(strtotime($before), $second);
|
|
|
+ $newDate = date("Y-m-d H:i:s", $time);
|
|
|
+ $renew->status = 1;
|
|
|
+ $renew->deadline = $newDate;
|
|
|
+ $renew->beforeDeadline = $before;
|
|
|
+ $renew->save();
|
|
|
+
|
|
|
+ $shop->beforeDeadline = $before;
|
|
|
+ $shop->deadline = $newDate;
|
|
|
+ $shop->save();
|
|
|
}
|
|
|
|
|
|
}
|