mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-25 04:07:17 +08:00
Merge branch 'koogua/I39Y6L' into develop
This commit is contained in:
commit
e51d44f5ea
@ -4,7 +4,7 @@
|
|||||||
<div class="kg-order-item">
|
<div class="kg-order-item">
|
||||||
<p>课程名称:{{ course['title'] }}</p>
|
<p>课程名称:{{ course['title'] }}</p>
|
||||||
<p>优惠价格:{{ '¥%0.2f'|format(course['market_price']) }},会员价格:{{ '¥%0.2f'|format(course['vip_price']) }}</p>
|
<p>优惠价格:{{ '¥%0.2f'|format(course['market_price']) }},会员价格:{{ '¥%0.2f'|format(course['vip_price']) }}</p>
|
||||||
<p>学习期限:{{ date('Y-m-d H:i:s',course['study_expiry_time']) }},退款期限:{{ date('Y-m-d H:i:s',course['refund_expiry_time']) }}</p>
|
<p>学习期限:{{ date('Y-m-d',course['study_expiry_time']) }},退款期限:{% if course['refund_expiry'] > 0 %}{{ date('Y-m-d',course['refund_expiry_time']) }}{% else %}不支持{% endif %}</p>
|
||||||
</div>
|
</div>
|
||||||
{% elseif order.item_type == 2 %}
|
{% elseif order.item_type == 2 %}
|
||||||
{% set courses = order.item_info['courses'] %}
|
{% set courses = order.item_info['courses'] %}
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div class="kg-order-item">
|
<div class="kg-order-item">
|
||||||
<p>课程名称:{{ course['title'] }}</p>
|
<p>课程名称:{{ course['title'] }}</p>
|
||||||
<p>优惠价格:{{ '¥%0.2f'|format(course['market_price']) }},会员价格:{{ '¥%0.2f'|format(course['vip_price']) }}</p>
|
<p>优惠价格:{{ '¥%0.2f'|format(course['market_price']) }},会员价格:{{ '¥%0.2f'|format(course['vip_price']) }}</p>
|
||||||
<p>学习期限:{{ date('Y-m-d H:i:s',course['study_expiry_time']) }},退款期限:{{ date('Y-m-d H:i:s',course['refund_expiry_time']) }}</p>
|
<p>学习期限:{{ date('Y-m-d',course['study_expiry_time']) }},退款期限:{% if course['refund_expiry'] > 0 %}{{ date('Y-m-d',course['refund_expiry_time']) }}{% else %}不支持{% endif %}</p>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% elseif order.item_type == 3 %}
|
{% elseif order.item_type == 3 %}
|
||||||
|
@ -28,7 +28,11 @@
|
|||||||
{%- macro meta_expiry_info(course) %}
|
{%- macro meta_expiry_info(course) %}
|
||||||
<p class="item">
|
<p class="item">
|
||||||
<span class="key">学习期限</span><span class="value">{{ course.study_expiry }}个月</span>
|
<span class="key">学习期限</span><span class="value">{{ course.study_expiry }}个月</span>
|
||||||
<span class="key">退款期限</span><span class="value">{{ course.refund_expiry }}天</span>
|
{% if course.refund_expiry > 0 %}
|
||||||
|
<span class="key">退款期限</span><span class="value">{{ course.refund_expiry }}天</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="key">退款期限</span><span class="value">不支持</span>
|
||||||
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<div class="order-item">
|
<div class="order-item">
|
||||||
<p>课程名称:<span>{{ course.title }}</span></p>
|
<p>课程名称:<span>{{ course.title }}</span></p>
|
||||||
<p>优惠价格:<span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>会员价格:<span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span></p>
|
<p>优惠价格:<span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>会员价格:<span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span></p>
|
||||||
<p>学习期限:<span>{{ date('Y-m-d',course.study_expiry_time) }}</span>退款期限:<span>{{ date('Y-m-d',course.refund_expiry_time) }}</span></p>
|
<p>学习期限:<span>{{ date('Y-m-d',course.study_expiry_time) }}</span>退款期限:<span>{% if course.refund_expiry > 0 %}{{ date('Y-m-d',course.refund_expiry_time) }}{% else %}不支持{% endif %}</span></p>
|
||||||
</div>
|
</div>
|
||||||
{% elseif order.item_type == 2 %}
|
{% elseif order.item_type == 2 %}
|
||||||
{% set courses = order.item_info.courses %}
|
{% set courses = order.item_info.courses %}
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div class="order-item">
|
<div class="order-item">
|
||||||
<p>课程名称:<span>{{ course.title }}</span></p>
|
<p>课程名称:<span>{{ course.title }}</span></p>
|
||||||
<p>优惠价格:<span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>会员价格:<span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span></p>
|
<p>优惠价格:<span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>会员价格:<span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span></p>
|
||||||
<p>学习期限:<span>{{ date('Y-m-d',course.study_expiry_time) }}</span>退款期限:<span>{{ date('Y-m-d',course.refund_expiry_time) }}</span></p>
|
<p>学习期限:<span>{{ date('Y-m-d',course.study_expiry_time) }}</span>退款期限:<span>{% if course.refund_expiry > 0 %}{{ date('Y-m-d',course.refund_expiry_time) }}{% else %}不支持{% endif %}</span></p>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% elseif order.item_type == 3 %}
|
{% elseif order.item_type == 3 %}
|
||||||
|
@ -13,13 +13,17 @@
|
|||||||
<div class="info">
|
<div class="info">
|
||||||
<p><a href="{{ course_url }}" target="_blank">{{ course.title }}</a></p>
|
<p><a href="{{ course_url }}" target="_blank">{{ course.title }}</a></p>
|
||||||
<p>
|
<p>
|
||||||
原始价格 <span class="origin-price">{{ '¥%0.2f'|format(course.origin_price) }}</span>
|
<span class="key">原始价格</span><span class="value origin-price">{{ '¥%0.2f'|format(course.origin_price) }}</span>
|
||||||
优惠价格 <span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>
|
<span class="key">优惠价格</span><span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>
|
||||||
会员价格 <span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span>
|
<span class="key">会员价格</span><span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
学习期限 <span class="expiry">{{ course.study_expiry }}个月</span>
|
<span class="key">学习期限</span><span class="value">{{ course.study_expiry }}个月</span>
|
||||||
退款期限 <span class="expiry">{{ course.refund_expiry }}天</span>
|
{% if course.refund_expiry > 0 %}
|
||||||
|
<span class="key">退款期限</span><span class="value">{{ course.refund_expiry }}天</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="key">退款期限</span><span class="value">不支持</span>
|
||||||
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -408,6 +408,7 @@ class Course extends Model
|
|||||||
public static function refundExpiryOptions()
|
public static function refundExpiryOptions()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
0 => '0天',
|
||||||
7 => '7天',
|
7 => '7天',
|
||||||
14 => '14天',
|
14 => '14天',
|
||||||
30 => '30天',
|
30 => '30天',
|
||||||
|
@ -27,9 +27,6 @@ class Refund extends Service
|
|||||||
|
|
||||||
protected function previewCourseRefund(OrderModel $order)
|
protected function previewCourseRefund(OrderModel $order)
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var array $itemInfo
|
|
||||||
*/
|
|
||||||
$itemInfo = $order->item_info;
|
$itemInfo = $order->item_info;
|
||||||
|
|
||||||
$itemInfo['course']['cover'] = kg_cos_cover_url($itemInfo['course']['cover']);
|
$itemInfo['course']['cover'] = kg_cos_cover_url($itemInfo['course']['cover']);
|
||||||
@ -54,9 +51,6 @@ class Refund extends Service
|
|||||||
|
|
||||||
protected function previewPackageRefund(OrderModel $order)
|
protected function previewPackageRefund(OrderModel $order)
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var array $itemInfo
|
|
||||||
*/
|
|
||||||
$itemInfo = $order->item_info;
|
$itemInfo = $order->item_info;
|
||||||
|
|
||||||
$totalMarketPrice = 0.00;
|
$totalMarketPrice = 0.00;
|
||||||
@ -101,36 +95,23 @@ class Refund extends Service
|
|||||||
|
|
||||||
$courseLessons = $courseRepo->findLessons($courseId);
|
$courseLessons = $courseRepo->findLessons($courseId);
|
||||||
|
|
||||||
if ($courseLessons->count() == 0) {
|
if ($courseLessons->count() == 0) return 1.00;
|
||||||
return 1.00;
|
|
||||||
}
|
|
||||||
|
|
||||||
$courseUserRepo = new CourseUserRepo();
|
$courseUserRepo = new CourseUserRepo();
|
||||||
|
|
||||||
$courseUser = $courseUserRepo->findCourseUser($courseId, $userId);
|
$courseUser = $courseUserRepo->findCourseUser($courseId, $userId);
|
||||||
|
|
||||||
if (!$courseUser) {
|
if (!$courseUser) return 1.00;
|
||||||
return 1.00;
|
|
||||||
}
|
|
||||||
|
|
||||||
$userLearnings = $courseRepo->findUserLearnings($courseId, $userId, $courseUser->plan_id);
|
$userLearnings = $courseRepo->findUserLearnings($courseId, $userId, $courseUser->plan_id);
|
||||||
|
|
||||||
if ($userLearnings->count() == 0) {
|
if ($userLearnings->count() == 0) return 1.00;
|
||||||
return 1.00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var array $consumedUserLearnings
|
|
||||||
*/
|
|
||||||
$consumedUserLearnings = $userLearnings->filter(function ($item) {
|
$consumedUserLearnings = $userLearnings->filter(function ($item) {
|
||||||
if ($item->consumed == 1) {
|
if ($item->consumed == 1) return $item;
|
||||||
return $item;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (count($consumedUserLearnings) == 0) {
|
if (count($consumedUserLearnings) == 0) return 1.00;
|
||||||
return 1.00;
|
|
||||||
}
|
|
||||||
|
|
||||||
$courseLessonIds = kg_array_column($courseLessons->toArray(), 'id');
|
$courseLessonIds = kg_array_column($courseLessons->toArray(), 'id');
|
||||||
$consumedUserLessonIds = kg_array_column($consumedUserLearnings, 'chapter_id');
|
$consumedUserLessonIds = kg_array_column($consumedUserLearnings, 'chapter_id');
|
||||||
|
@ -174,16 +174,8 @@ class Order extends Validator
|
|||||||
|
|
||||||
$order = $orderRepo->findUserLastFinishedOrder($userId, $courseId, $itemType);
|
$order = $orderRepo->findUserLastFinishedOrder($userId, $courseId, $itemType);
|
||||||
|
|
||||||
if ($order) {
|
if ($order && $order->item_info['course']['study_expiry_time'] > time()) {
|
||||||
|
throw new BadRequestException('order.has_bought_course');
|
||||||
/**
|
|
||||||
* @var array $itemInfo
|
|
||||||
*/
|
|
||||||
$itemInfo = $order->item_info;
|
|
||||||
|
|
||||||
if ($itemInfo['course']['study_expiry_time'] > time()) {
|
|
||||||
throw new BadRequestException('order.has_bought_course');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -489,11 +489,12 @@
|
|||||||
height: 118px;
|
height: 118px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.course-meta .info span {
|
.course-meta .info .key {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.course-meta .info .value {
|
.course-meta .info .value {
|
||||||
|
margin-right: 5px;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1074,9 +1075,13 @@
|
|||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cart-course-card span {
|
.cart-course-card .key {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-course-card .value {
|
||||||
|
margin-right: 5px;
|
||||||
color: #666;
|
color: #666;
|
||||||
margin: 0 5px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.cart-course-card .origin-price {
|
.cart-course-card .origin-price {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user