diff --git a/CHANGELOG.md b/CHANGELOG.md
index 23e7c7ce..40fb45fe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+### [v1.4.8](https://gitee.com/koogua/course-tencent-cloud/releases/v1.4.8)(2021-11-28)
+
+- 修正后台下载课程附件问题
+- 修正后台登录检查跳转地址
+- 修正公众号关注二维码样式问题
+- 优化发货失败自动退款逻辑
+- 创建交易时增加订单支付检查
+- H5增加底部tab图标
+
### [v1.4.7](https://gitee.com/koogua/course-tencent-cloud/releases/v1.4.7)(2021-10-28)
- 更新README.md
diff --git a/app/Console/Tasks/DeliverTask.php b/app/Console/Tasks/DeliverTask.php
index dd741203..091790bc 100644
--- a/app/Console/Tasks/DeliverTask.php
+++ b/app/Console/Tasks/DeliverTask.php
@@ -272,6 +272,20 @@ class DeliverTask extends Task
$refund->review_note = '自动操作';
$refund->create();
+
+ $task = new TaskModel();
+
+ $itemInfo = [
+ 'refund' => ['id' => $refund->id],
+ ];
+
+ $task->item_id = $refund->id;
+ $task->item_info = $itemInfo;
+ $task->item_type = TaskModel::TYPE_REFUND;
+ $task->priority = TaskModel::PRIORITY_HIGH;
+ $task->status = TaskModel::STATUS_PENDING;
+
+ $task->create();
}
/**
diff --git a/app/Http/Admin/Controllers/HelpController.php b/app/Http/Admin/Controllers/HelpController.php
index d81cb9e3..8dcb3915 100644
--- a/app/Http/Admin/Controllers/HelpController.php
+++ b/app/Http/Admin/Controllers/HelpController.php
@@ -77,7 +77,7 @@ class HelpController extends Controller
*/
public function editAction($id)
{
- $helpService = new HelpService;
+ $helpService = new HelpService();
$categories = $helpService->getCategories();
diff --git a/app/Http/Admin/Services/Refund.php b/app/Http/Admin/Services/Refund.php
index 55216185..6c21711a 100644
--- a/app/Http/Admin/Services/Refund.php
+++ b/app/Http/Admin/Services/Refund.php
@@ -32,6 +32,8 @@ class Refund extends Service
$params = $pageQuery->getParams();
+ $params['deleted'] = $params['deleted'] ?? 0;
+
/**
* 兼容订单编号或订单序号查询
*/
@@ -114,11 +116,7 @@ class Refund extends Service
$task = new TaskModel();
$itemInfo = [
- 'refund' => [
- 'id' => $refund->id,
- 'order_id' => $refund->order_id,
- 'trade_id' => $refund->trade_id,
- ],
+ 'refund' => ['id' => $refund->id],
];
$task->item_id = $refund->id;
diff --git a/app/Http/Admin/Services/Session.php b/app/Http/Admin/Services/Session.php
index cdffacd7..48f318de 100644
--- a/app/Http/Admin/Services/Session.php
+++ b/app/Http/Admin/Services/Session.php
@@ -26,12 +26,6 @@ class Session extends Service
public function login()
{
- $user = $this->getCurrentUser();
-
- if ($user->id > 0) {
- return $this->response->redirect(['for' => 'home.index']);
- }
-
$post = $this->request->getPost();
$validator = new AccountValidator();
diff --git a/app/Http/Admin/Views/chapter/resources.volt b/app/Http/Admin/Views/chapter/resources.volt
index afcc606d..4bfc0552 100644
--- a/app/Http/Admin/Views/chapter/resources.volt
+++ b/app/Http/Admin/Views/chapter/resources.volt
@@ -10,7 +10,6 @@
{% for item in resources %}
{% set update_url = url({'for':'admin.resource.update','id':item.id}) %}
{% set delete_url = url({'for':'admin.resource.delete','id':item.id}) %}
- {% set download_url = url({'for':'home.download','md5':item.upload.md5}) %}
|
{{ item.upload.mime }} |
@@ -18,7 +17,7 @@
{{ date('Y-m-d H:i:s',item.create_time) }} |
删除
- 下载
+ 下载
|
{% endfor %}
diff --git a/app/Http/Api/Services/Trade.php b/app/Http/Api/Services/Trade.php
index 36946153..d10d98bf 100644
--- a/app/Http/Api/Services/Trade.php
+++ b/app/Http/Api/Services/Trade.php
@@ -15,6 +15,7 @@ use App\Services\Logic\TradeTrait;
use App\Services\Pay\Alipay;
use App\Services\Pay\Wxpay;
use App\Validators\Client as ClientValidator;
+use App\Validators\Order as OrderValidator;
use App\Validators\Trade as TradeValidator;
class Trade extends Service
@@ -35,6 +36,10 @@ class Trade extends Service
$order = $this->checkOrderBySn($post['order_sn']);
+ $validator = new OrderValidator();
+
+ $validator->checkIfAllowPay($order);
+
$user = $this->getLoginUser();
$validator = new TradeValidator();
@@ -77,6 +82,10 @@ class Trade extends Service
$order = $this->checkOrderBySn($post['order_sn']);
+ $validator = new OrderValidator();
+
+ $validator->checkIfAllowPay($order);
+
$user = $this->getLoginUser();
$channel = TradeModel::CHANNEL_WXPAY;
@@ -122,6 +131,10 @@ class Trade extends Service
$order = $this->checkOrderBySn($post['order_sn']);
+ $validator = new OrderValidator();
+
+ $validator->checkIfAllowPay($order);
+
$user = $this->getLoginUser();
$channel = TradeModel::CHANNEL_WXPAY;
diff --git a/app/Library/AppInfo.php b/app/Library/AppInfo.php
index 184af632..c760089c 100644
--- a/app/Library/AppInfo.php
+++ b/app/Library/AppInfo.php
@@ -16,7 +16,7 @@ class AppInfo
protected $link = 'https://koogua.com';
- protected $version = '1.4.7';
+ protected $version = '1.4.8';
public function __get($name)
{
diff --git a/app/Listeners/Trade.php b/app/Listeners/Trade.php
index 2c51653d..bcbefea3 100644
--- a/app/Listeners/Trade.php
+++ b/app/Listeners/Trade.php
@@ -52,11 +52,7 @@ class Trade extends Listener
$task = new TaskModel();
$itemInfo = [
- 'order' => [
- 'id' => $order->id,
- 'item_id' => $order->item_id,
- 'item_type' => $order->item_type,
- ]
+ 'order' => ['id' => $order->id]
];
$task->item_id = $order->id;
@@ -74,6 +70,8 @@ class Trade extends Listener
$this->db->rollback();
$this->logger->error('After Pay Event Error ' . kg_json_encode([
+ 'file' => $e->getFile(),
+ 'line' => $e->getLine(),
'code' => $e->getCode(),
'message' => $e->getMessage(),
]));
diff --git a/app/Services/Logic/Trade/TradeCreate.php b/app/Services/Logic/Trade/TradeCreate.php
index d81fcc61..b0207bdb 100644
--- a/app/Services/Logic/Trade/TradeCreate.php
+++ b/app/Services/Logic/Trade/TradeCreate.php
@@ -10,6 +10,7 @@ namespace App\Services\Logic\Trade;
use App\Models\Trade as TradeModel;
use App\Services\Logic\OrderTrait;
use App\Services\Logic\Service as LogicService;
+use App\Validators\Order as OrderValidator;
use App\Validators\Trade as TradeValidator;
class TradeCreate extends LogicService
@@ -23,6 +24,10 @@ class TradeCreate extends LogicService
$order = $this->checkOrderBySn($post['order_sn']);
+ $validator = new OrderValidator();
+
+ $validator->checkIfAllowPay($order);
+
$user = $this->getLoginUser();
$validator = new TradeValidator();
diff --git a/app/Validators/Order.php b/app/Validators/Order.php
index 42eb135f..fc82ac2f 100644
--- a/app/Validators/Order.php
+++ b/app/Validators/Order.php
@@ -136,6 +136,13 @@ class Order extends Validator
return $status;
}
+ public function checkIfAllowPay(OrderModel $order)
+ {
+ if ($order->status != OrderModel::STATUS_PENDING) {
+ throw new BadRequestException('order.pay_not_allowed');
+ }
+ }
+
public function checkIfAllowCancel(OrderModel $order)
{
if ($order->status != OrderModel::STATUS_PENDING) {
diff --git a/public/static/home/css/common.css b/public/static/home/css/common.css
index d43d5451..38800013 100644
--- a/public/static/home/css/common.css
+++ b/public/static/home/css/common.css
@@ -2086,7 +2086,7 @@
}
.my-subscribe .qrcode {
- broder: 3px dashed #666;
+ border: 3px dashed #666;
margin: 30px auto;
width: 160px;
height: 160px;