Quellcode durchsuchen

Merge remote-tracking branch 'origin/feature/1113-vipCourse' into feature/1113-vipCourse

zouxuan vor 8 Monaten
Ursprung
Commit
ed0e826376

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java

@@ -162,6 +162,7 @@ public class UserOrderController extends BaseController {
         if (null == query.getGoodType()
                 || (!GoodTypeEnum.VIP.getCode().equals(query.getGoodType())
             && !GoodTypeEnum.SVIP.getCode().equals(query.getGoodType())
+            && !GoodTypeEnum.DISCOUNT.getCode().equals(query.getGoodType())
             && null == query.getBizId())) {
             return HttpResponseResult.failed("参数异常");
         }

+ 24 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -1551,7 +1551,15 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             
             homePage.setLiveList(baseMapper.selectLive(appAuditVersion, subjectId));
             homePage.setVideoList(baseMapper.selectVideo(appAuditVersion, subjectId));
-            homePage.setRecentCourses(baseMapper.selectRecentCourses(studentId));
+            StudentHomePage.RecentCourses recentCourses = baseMapper.selectRecentCourses(studentId);
+
+            if (CourseScheduleEnum.PRACTICE.getCode().equals(recentCourses.getCourseType()) || CourseScheduleEnum.VIP.getCode().equals(recentCourses.getCourseType())) {
+                SysUser sysUser = sysUserService.getByUserId(recentCourses.getTeacherId());
+                if (sysUser != null) {
+                    recentCourses.setCourseGroupName(recentCourses.getCourseGroupName() + "-" + sysUser.getUsername());
+                }
+            }
+            homePage.setRecentCourses(recentCourses);
         }
         if (studentId == null) {
             //vip课和趣纠课
@@ -1560,11 +1568,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
             if (coursesPractice == null && coursesLive != null) {
                 homePage.setRecentCourses(coursesLive);
-            }
+            } else
             if (coursesPractice != null && coursesLive == null) {
                 homePage.setRecentCourses(coursesPractice);
-            }
-
+            } else
             if (coursesPractice != null && coursesLive != null) {
                 Date practiceTime = coursesPractice.getCourseStartTime();
                 Date liveTime = coursesLive.getCourseStartTime();
@@ -1575,6 +1582,19 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                     homePage.setRecentCourses(coursesLive);
                 }
             }
+
+            // 本周未上课程数
+            if (coursesPractice != null) {
+
+                if (CourseScheduleEnum.PRACTICE.getCode().equals(coursesPractice.getCourseType()) || CourseScheduleEnum.VIP.getCode().equals(coursesPractice.getCourseType())) {
+                    SysUser sysUser = sysUserService.getByUserId(coursesPractice.getStudentId());
+                    if (sysUser != null) {
+                        coursesPractice.setCourseGroupName(coursesPractice.getCourseGroupName() + "-" + sysUser.getUsername());
+                    }
+                }
+
+                coursesPractice.setNotStartCount(getWeekNotStart(teacherId));
+            }
         }
         return homePage;
     }

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -718,6 +718,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     public HttpResponseResult<UserOrderVo> getPendingOrder(OrderSearch query) {
         if (query.getGoodType().equals(GoodTypeEnum.VIP.name()) || query.getGoodType().equals(GoodTypeEnum.SVIP.name())) {
             query.setGoodType(Lists.newArrayList(GoodTypeEnum.VIP, GoodTypeEnum.SVIP).stream().map(GoodTypeEnum::name).collect(Collectors.joining(",")));
+            query.setOrderType(Lists.newArrayList(OrderTypeEnum.VIP, OrderTypeEnum.SVIP).stream().map(OrderTypeEnum::name).collect(Collectors.joining(",")));
+        } else {
+            query.setOrderType(query.getGoodType());
         }
         UserOrderVo userOrderVo = baseMapper.getPendingOrder(query);
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java

@@ -698,7 +698,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
             // 没有畅学卡 ,循环商品检查是否有畅学卡
             if (!discountFlag) {
                 for (UserPaymentOrderWrapper.OrderGoodsInfo item : orderReq.getGoodsInfos()) {
-                    if (item.getGoodType() == GoodTypeEnum.DISCOUNT) {
+                    if (item.getGoodType() == GoodTypeEnum.DISCOUNT && Boolean.FALSE.equals(item.getGiftFlag())) {
                         discountFlag = true;
                         break;
                     }

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentHomePage.java

@@ -47,6 +47,11 @@ public class StudentHomePage implements Serializable {
         private String status;
         @ApiModelProperty(value = "开课时间")
         private Date courseStartTime;
+        @ApiModelProperty(value = "结束时间")
+        private Date courseEndTime;
+
+        @ApiModelProperty(value = "本周未上课程数")
+        private Integer notStartCount;
     }
 
     @Data

+ 5 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -665,13 +665,14 @@
             g.name_ AS courseGroupName,
             p.course_type_ AS courseType,
             s.status_ AS `status`,
-            s.start_time_ AS courseStartTime
+            s.start_time_ AS courseStartTime,
+            s.end_time_ AS courseEndTime
         FROM course_schedule_student_payment p
         LEFT JOIN course_schedule s ON p.course_id_=s.id_
         LEFT JOIN sys_user u ON s.teacher_id_=u.id_
         LEFT JOIN course_group g ON p.course_group_id_=g.id_
         WHERE p.user_id_=#{studentId}
-        AND s.status_ = 'ING'
+        AND s.status_ IN ('ING','NOT_START') and g.status_='ING'
         ORDER BY ABS(NOW() - s.start_time_) ASC
         limit 1
     </select>
@@ -694,7 +695,7 @@
         LEFT JOIN course_schedule_student_payment p ON s.id_=p.course_id_
         WHERE s.teacher_id_=#{teacherId}
         AND s.type_ IN ('PRACTICE','VIP')
-        AND s.status_ = 'ING'
+        AND s.status_ IN ('ING','NOT_START') and g.status_='ING'
         ORDER BY ABS(NOW() - s.start_time_) ASC
         limit 1
     </select>
@@ -716,7 +717,7 @@
         LEFT JOIN course_group g ON s.course_group_id_=g.id_
         WHERE s.teacher_id_=#{teacherId}
         AND s.type_ IN ('LIVE','PIANO_ROOM_CLASS')
-        AND s.status_ ='ING'
+        AND s.status_ IN ('ING','NOT_START')  and g.status_='ING'
         ORDER BY ABS(NOW() - s.start_time_) ASC
         limit 1
     </select>

+ 3 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml

@@ -239,6 +239,9 @@
         <if test="null != param.orderClient and '' != param.orderClient">
             AND t.order_client_ = #{param.orderClient}
         </if>
+        <if test="param.orderType != null">
+            and find_in_set(t.order_type_ ,#{param.goodType})
+        </if>
         and exists (
             select 1 from user_order_detail d where t.order_no_ = d.order_no_
             and find_in_set(d.good_type_ ,#{param.goodType})