RenewClass.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace biz\renew\classes;
  3. use biz\base\classes\BaseClass;
  4. use biz\shop\classes\ShopClass;
  5. use biz\sj\classes\SjClass;
  6. use common\components\noticeUtil;
  7. use common\components\util;
  8. use Yii;
  9. class RenewClass extends BaseClass
  10. {
  11. public static $baseFile = '\biz\renew\models\Renew';
  12. public static function getRenewList($where)
  13. {
  14. $data = self::getList('*', $where, 'addTime DESC');
  15. return $data;
  16. }
  17. public static function thirdPay($payWay, $orderSn, $totalFee, $attach, $transactionId)
  18. {
  19. $renew = self::getByCondition(['orderSn' => $orderSn], true);
  20. if (empty($renew)) {
  21. $msg = "没有找到续费订单 orderSn:{$orderSn}";
  22. noticeUtil::push($msg, '15280215347');
  23. util::fail($msg);
  24. }
  25. if ($renew->actPrice != $totalFee) {
  26. $msg = "续费订单金额与回调通知金额不一致 orderSn:{$orderSn} {$renew->actPrice} {$totalFee}";
  27. noticeUtil::push($msg, '15280215347');
  28. util::fail($msg);
  29. }
  30. if ($renew->status == 1) {
  31. $msg = '续费订单已付款,重复通知 orderSn:' . $orderSn;
  32. noticeUtil::push($msg, '15280215347');
  33. util::fail($msg);
  34. }
  35. $shopId = $renew->shopId ?? 0;
  36. $shop = ShopClass::getById($shopId, true);
  37. if (empty($shop)) {
  38. $msg = '续费订单没有找到门店 orderSn:' . $orderSn;
  39. noticeUtil::push($msg, '15280215347');
  40. util::fail($msg);
  41. }
  42. $mainId = $shop->mainId ?? 0;
  43. $before = $shop->deadline ?? '';
  44. $beforeTime = strtotime($before);
  45. if ($renew->type == 2) {
  46. //购买设备,不需要有操作
  47. } else {
  48. //每次续费一年
  49. $time = $beforeTime + 31536000;
  50. $newDate = date("Y-m-d H:i:s", $time);
  51. $renew->deadline = $newDate;
  52. $renew->beforeDeadline = $before;
  53. $shopList = ShopClass::getAllByCondition(['mainId' => $mainId], null, '*', null, true);
  54. if (!empty($shopList)) {
  55. foreach ($shopList as $myShop) {
  56. $myShop->beforeDeadline = $before;
  57. $myShop->deadline = $newDate;
  58. $myShop->hasRenew = 1;
  59. $myShop->needRenew = 0;
  60. $myShop->save();
  61. }
  62. }
  63. }
  64. $renew->returnCode = $transactionId;
  65. $renew->payTime = date("Y-m-d H:i:s");
  66. $renew->status = 1;
  67. $renew->save();
  68. }
  69. }