浏览代码

Merge branch 'online1' of http://git.dayaedu.com/yonge/mec into music_detail

zouxuan 4 年之前
父节点
当前提交
179c38d6e6

+ 10 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -148,14 +148,20 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
                                                 @Param("courseStatus") CourseStatusEnum courseStatus);
 
     List<IndexBaseMonthData> getGroupCourseDataWithGroup(@Param("dayStr") String dayStr,
-                                                @Param("groupType")GroupType groupType,
-                                                @Param("courseStatus") CourseStatusEnum courseStatus,
-                                                         @Param("teachMode") TeachModeEnum teachMode);
+                                                        @Param("startDate") String startDate,
+                                                        @Param("endDate") String endDate,
+                                                        @Param("groupType")GroupType groupType,
+                                                        @Param("courseStatus") CourseStatusEnum courseStatus,
+                                                         @Param("teachMode") TeachModeEnum teachMode,
+                                                         @Param("organIds") List<Integer> organIds);
 
     List<OrganVipGroupCategoryCourseNumDto> getVipGroupCategoryCourseData(@Param("dayStr") String dayStr,
+                                                                          @Param("startDate") String startDate,
+                                                                          @Param("endDate") String endDate,
                                                                           @Param("groupType")GroupType groupType,
                                                                           @Param("courseStatus") CourseStatusEnum courseStatus,
-                                                                          @Param("teachMode") TeachModeEnum teachMode);
+                                                                          @Param("teachMode") TeachModeEnum teachMode,
+                                                                          @Param("organIds") List<Integer> organIds);
 
     int countLessThenThreeClassGroupNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
 

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java

@@ -93,4 +93,12 @@ public interface StudentPaymentOrderDetailService extends BaseService<Long, Stud
      * @return
      */
     List<String> getOrderDetailType(Long orderId);
+
+
+    /**
+     * 获取订单商品详细
+     * @param orderId
+     * @return
+     */
+    List<StudentPaymentOrderDetail> getOrderGoodsDetail(Long orderId);
 }

+ 66 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -163,6 +163,64 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			typeDateMap.put(OTHER_AMOUNT,otherAmount);
 		}
 
+		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(MUSIC_GROUP_COURSE.getCode())||dataTypes.contains(VIP_GROUP_COURSE.getCode())
+				||dataTypes.contains(VIP_GROUP_ONLINE_COURSE.getCode())||dataTypes.contains(VIP_GROUP_OFFLINE_COURSE.getCode())
+				||dataTypes.contains(PRACTICE_GROUP_COURSE.getCode())){
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE.getCode())) {
+				List<IndexBaseMonthData> musicCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.MUSIC, null, null, new ArrayList<>(organIds));
+				typeDateMap.put(MUSIC_GROUP_COURSE,musicCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE.getCode())) {
+				List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds));
+				List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds));
+				Map<Integer, Map<String, Integer>> organCategoryCourseMap = new HashMap<>();
+				if (!CollectionUtils.isEmpty(vipGroupCategoryCourseData)) {
+					organCategoryCourseMap = vipGroupCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
+				}
+				for (IndexBaseMonthData vipCourseDatum : vipCourseData) {
+					if (organCategoryCourseMap.containsKey(vipCourseDatum.getOrganId())) {
+						vipCourseDatum.setExtendInfo(JSON.toJSONString(organCategoryCourseMap.get(vipCourseDatum.getOrganId())));
+					}
+				}
+				typeDateMap.put(VIP_GROUP_COURSE,vipCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE.getCode())) {
+				List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds));
+				List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds));
+				Map<Integer, Map<String, Integer>> organOnlineCategoryCourseMap = new HashMap<>();
+				if (!CollectionUtils.isEmpty(vipGroupOnlineCategoryCourseData)) {
+					organOnlineCategoryCourseMap = vipGroupOnlineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
+				}
+				for (IndexBaseMonthData vipCourseDatum : vipOnlineCourseData) {
+					if (organOnlineCategoryCourseMap.containsKey(vipCourseDatum.getOrganId())) {
+						vipCourseDatum.setExtendInfo(JSON.toJSONString(organOnlineCategoryCourseMap.get(vipCourseDatum.getOrganId())));
+					}
+				}
+				typeDateMap.put(VIP_GROUP_ONLINE_COURSE,vipOnlineCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE.getCode())) {
+				List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds));
+				List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds));
+				Map<Integer, Map<String, Integer>> organOfflineCategoryCourseMap = new HashMap<>();
+				if (!CollectionUtils.isEmpty(vipGroupOfflineCategoryCourseData)) {
+					organOfflineCategoryCourseMap = vipGroupOfflineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
+				}
+				for (IndexBaseMonthData vipCourseDatum : vipOfflineCourseData) {
+					if (organOfflineCategoryCourseMap.containsKey(vipCourseDatum.getOrganId())) {
+						vipCourseDatum.setExtendInfo(JSON.toJSONString(organOfflineCategoryCourseMap.get(vipCourseDatum.getOrganId())));
+					}
+				}
+				typeDateMap.put(VIP_GROUP_OFFLINE_COURSE,vipOfflineCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE.getCode())) {
+				List<IndexBaseMonthData> practiceCourses = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.PRACTICE, null, null, new ArrayList<>(organIds));
+				typeDateMap.put(PRACTICE_GROUP_COURSE,practiceCourses);
+			}
+		}
 
 		for (IndexDataType dataType : IndexDataType.values()) {
 			if(typeDateMap.containsKey(dataType)||(!CollectionUtils.isEmpty(dataTypes)&&!dataTypes.contains(dataType.getCode()))){
@@ -372,12 +430,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 		//课程数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.MUSIC, null, null), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
+			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.MUSIC, null, null, null), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE)) {
-			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.VIP, null, null);
-			List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, GroupType.VIP, null, null);
+			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, null, null);
+			List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, null, null);
 			Map<Integer, Map<String, Integer>> organCategoryCourseMap = new HashMap<>();
 			if (!CollectionUtils.isEmpty(vipGroupCategoryCourseData)) {
 				organCategoryCourseMap = vipGroupCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
@@ -391,8 +449,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE)) {
-			List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.VIP, null, TeachModeEnum.ONLINE);
-			List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, GroupType.VIP, null, TeachModeEnum.ONLINE);
+			List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null);
+			List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null);
 			Map<Integer, Map<String, Integer>> organOnlineCategoryCourseMap = new HashMap<>();
 			if (!CollectionUtils.isEmpty(vipGroupOnlineCategoryCourseData)) {
 				organOnlineCategoryCourseMap = vipGroupOnlineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
@@ -406,8 +464,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE)) {
-			List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.VIP, null, TeachModeEnum.OFFLINE);
-			List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, GroupType.VIP, null, TeachModeEnum.OFFLINE);
+			List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null);
+			List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null);
 			Map<Integer, Map<String, Integer>> organOfflineCategoryCourseMap = new HashMap<>();
 			if (!CollectionUtils.isEmpty(vipGroupOfflineCategoryCourseData)) {
 				organOfflineCategoryCourseMap = vipGroupOfflineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
@@ -421,7 +479,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.PRACTICE, null, null), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
+			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.PRACTICE, null, null, null), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
 		}
 
 		//学员变动

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -447,4 +447,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     public List<String> getOrderDetailType(Long orderId) {
         return studentPaymentOrderDetailDao.getOrderDetailType(orderId);
     }
+
+    @Override
+    public List<StudentPaymentOrderDetail> getOrderGoodsDetail(Long orderId) {
+        return studentPaymentOrderDetailDao.getOrderDetail(orderId);
+    }
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1158,7 +1158,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 studentRegistration.setPayingStatus(0);
             }
 
-            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderDetail(studentPaymentOrder.getId());
+            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderGoodsDetail(studentPaymentOrder.getId());
 
             List<Long> orderIdList = new ArrayList<Long>();
             orderIdList.add(studentPaymentOrder.getId());

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2720,7 +2720,7 @@
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
         </if>
         <if test="searchType == 'COURSE_TIME_ERROR'">
-            AND cs.status_ = 'NOT_START' AND cs.is_lock_ = 0 AND cs.start_class_time_ &lt; '06:00:00'
+            AND cs.status_ = 'NOT_START' AND cs.is_lock_ = 0 AND (cs.start_class_time_ &lt; '06:00:00' OR cs.end_class_time_ > '21:00:00')
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
         </if>
         <if test="classGroupIds != null and classGroupIds.size() > 0">

+ 26 - 4
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -485,7 +485,7 @@
 	<select id="getGroupCourseDataWithGroup" resultMap="IndexBaseMonthData">
 		SELECT
 		m.organ_id_,
-		#{dayStr} month_,
+		m.class_date_ month_,
 		COUNT( m.id_ ) total_num_,
 		COUNT( m.id_ ) activate_num_,
 		COUNT( m.id_ ) percent_
@@ -503,11 +503,24 @@
 		<if test="dayStr!=null and dayStr!=''">
 			AND m.class_date_ = #{dayStr}
 		</if>
+		<if test="startDate!=null and endDate!=''">
+			AND m.class_date_ BETWEEN #{startDate} AND #{endDate}
+		</if>
 		<if test="teachMode!=null">
 			AND m.teach_mode_ = #{teachMode, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		</if>
-		GROUP BY
-			m.organ_id_
+		<if test="organIds!=null and organIds.size()>0">
+			AND m.organ_id_ IN
+			<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+				#{organId}
+			</foreach>
+		</if>
+		<if test="dayStr!=null and dayStr!=''">
+			GROUP BY m.organ_id_
+		</if>
+		<if test="startDate!=null and endDate!=''">
+			GROUP BY m.class_date_
+		</if>
 		ORDER BY
 			m.organ_id_;
 	</select>
@@ -532,9 +545,18 @@
 		<if test="dayStr!=null and dayStr!=''">
 			AND m.class_date_ = #{dayStr}
 		</if>
+		<if test="startDate!=null and endDate!=null">
+			AND m.class_date_ BETWEEN #{startDate} AND #{endDate}
+		</if>
 		<if test="teachMode!=null">
 			AND m.teach_mode_ = #{teachMode, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		</if>
+		<if test="organIds!=null and organIds.size()>0">
+			AND m.organ_id_ IN
+			<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+				#{organId}
+			</foreach>
+		</if>
 		GROUP BY
 		m.organ_id_,vgc.name_
 		ORDER BY
@@ -903,7 +925,7 @@
 	</select>
     <select id="getCourseTimeError" resultType="int">
 		SELECT COUNT(cs.id_) FROM course_schedule cs
-		WHERE cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.start_class_time_ &lt; '06:00:00'
+		WHERE cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND (cs.start_class_time_ &lt; '06:00:00' OR cs.end_class_time_ > '21:00:00')
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cs.pre_course_flag_ = 0
 		<if test="classGroupIds != null and classGroupIds.size() > 0">
 			AND cs.class_group_id_ IN

+ 36 - 16
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -134,8 +134,11 @@ public class StudentOrderController extends BaseController {
     @Autowired
     private StudentRegistrationDao studentRegistrationDao;
 
-	@Autowired
-	private MemberRankPrivilegesService memberRankPrivilegesService;
+    @Autowired
+    private MemberRankPrivilegesService memberRankPrivilegesService;
+
+    @Autowired
+    private SellOrderService sellOrderService;
 
 
     @Value("${spring.profiles.active:dev}")
@@ -144,12 +147,12 @@ public class StudentOrderController extends BaseController {
     @ApiOperation(value = "查询订单列表")
     @GetMapping("/queryPage")
     public Object findGroupUsers(StudentPaymentOrderQueryInfo queryInfo) {
-    	SysUser user = sysUserFeignService.queryUserInfo();
-		if (user == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		queryInfo.setStudentId(user.getId());
-    	PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        queryInfo.setStudentId(user.getId());
+        PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
         return succeed(studentPaymentOrderPageInfo);
     }
 
@@ -197,10 +200,10 @@ public class StudentOrderController extends BaseController {
         HashMap<String, Object> orderDetail = new HashMap<>();
         orderDetail.put("order", orderByOrderNo);
         orderDetail.put("groupType", orderByOrderNo.getGroupType());
-        if(OrderTypeEnum.APPLY.equals(orderByOrderNo.getType())){
-            StudentRegistration studentRegistration = studentRegistrationDao.getStudentRegister(orderByOrderNo.getMusicGroupId(),orderByOrderNo.getUserId());
-            if(studentRegistration.getPayingStatus().equals(2)) {
-                orderDetail.put("payingStatus",studentRegistration.getPayingStatus());
+        if (OrderTypeEnum.APPLY.equals(orderByOrderNo.getType())) {
+            StudentRegistration studentRegistration = studentRegistrationDao.getStudentRegister(orderByOrderNo.getMusicGroupId(), orderByOrderNo.getUserId());
+            if (studentRegistration.getPayingStatus().equals(2)) {
+                orderDetail.put("payingStatus", studentRegistration.getPayingStatus());
             }
         }
 
@@ -227,8 +230,8 @@ public class StudentOrderController extends BaseController {
             orderDetail.put("calender", musicGroupRegCalender);
 
             //判断是否是系统收费
-            if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
-            	 orderDetail.put("member", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
+            if (musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE) {
+                orderDetail.put("member", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
             }
         } else if (orderByOrderNo.getGroupType().equals(GroupType.VIP)) {
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
@@ -255,7 +258,7 @@ public class StudentOrderController extends BaseController {
             orderDetail.put("detail", replacementInstrumentActivityDao.getInfo(Integer.parseInt(orderByOrderNo.getMusicGroupId())));
         } else if (orderByOrderNo.getGroupType().equals(GroupType.DEGREE)) {
             orderDetail.put("detail", childrenDayDegreeDetailDao.getByOrderId(orderByOrderNo.getId()));
-        }else if (orderByOrderNo.getGroupType().equals(GroupType.MEMBER)) {
+        } else if (orderByOrderNo.getGroupType().equals(GroupType.MEMBER)) {
             orderDetail.put("detail", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
         }
         return succeed(orderDetail);
@@ -871,11 +874,28 @@ public class StudentOrderController extends BaseController {
     }
 
     @GetMapping("confirmTeacherOrder")
-    public Object confirmOrder(String orderNo){
+    public Object confirmOrder(String orderNo) {
         TenantPaymentOrder tenantPaymentOrder = tenantPaymentOrderService.queryByOrderNo(orderNo);
         tenantPaymentOrderService.confirmOrder(tenantPaymentOrder);
         return succeed();
     }
 
+    @GetMapping("fixSellOrder")
+    public HttpResponseResult<List<SellOrder>> fixSellOrder(String orderNo) {
+        StudentPaymentOrder order = studentPaymentOrderService.findOrderByOrderNo(orderNo);
+        List<SellOrder> sellOrders = new ArrayList<>();
+        if (order == null || !order.getStatus().equals(DealStatusEnum.SUCCESS) || !order.getType().equals(OrderTypeEnum.APPLY)) {
+            return succeed(sellOrders);
+        }
+
+        List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderGoodsDetail(order.getId());
+        //销售订单详情
+        if (orderDetails.size() > 0) {
+            MusicGroup musicGroup = musicGroupService.get(order.getMusicGroupId());
+            sellOrders = sellOrderService.addOrderDetail2SellOrder(orderDetails, order, musicGroup);
+        }
+        return succeed(sellOrders);
+
+    }
 
 }