Переглянути джерело

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 роки тому
батько
коміт
a5ce52a748

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -194,7 +194,8 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @params [vipGroupId]
      * @describe 根据小课获取关联的班级信息
      */
-    ClassGroup findByVipGroup(Long vipGroupId);
+    ClassGroup findByVipGroup(@Param("vipGroupId") Long vipGroupId,
+                              @Param("delFlag") Integer delFlag);
 
     /**
      * @return com.ym.mec.biz.dal.entity.ClassGroup

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -553,4 +553,6 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
      */
     List<Map<Integer,Integer>> countClassGroupCourseTimes(@Param("classGroupIds") List<Integer> classGroupIds);
+
+
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -284,4 +285,13 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
 	 */
 	List<CourseSchedule> findCourseScheduleByClassGroup(Integer classGroupId);
+
+	/**
+	 * @describe
+	 * @author Joburgess
+	 * @date 2019/11/14
+	 * @param queryInfo:
+	 * @return com.ym.mec.common.page.PageInfo
+	 */
+	PageInfo findVipGroupCourseSchedules(VipGroupQueryInfo queryInfo);
 }

+ 35 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -11,6 +11,7 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -1020,6 +1021,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		return courseScheduleDao.findNoStartCoursesByClassGroupId(classGroupId);
     }
 
+
+
 	@Override
 	public void studentCoursesScheduleRemind() {
 		List<Mapper> mapperList = courseScheduleDao.queryStudentCoursesTimesOfTomorrow();
@@ -1097,4 +1100,36 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 		return courseScheduleDao.findByClassGroups(classGroupIds);
 	}
+
+	@Override
+	public PageInfo findVipGroupCourseSchedules(VipGroupQueryInfo queryInfo) {
+		PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+
+		if(Objects.isNull(queryInfo.getVipGroupId())){
+			throw new BizException("请指定vip课程");
+		}
+
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		VipGroup vipGroup = vipGroupDao.get(queryInfo.getVipGroupId());
+		if(Objects.isNull(vipGroup)){
+			throw new BizException("指定的vip课不存在");
+		}
+
+		List<CourseSchedule> dataList;
+		if(StringUtils.isNotEmpty(vipGroup.getCourseSchedulesJson())){
+			dataList=JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
+		}else{
+			dataList=courseScheduleDao.findVipGroupCourseSchedules(vipGroup.getId());
+		}
+
+		int count=dataList.size();
+		if(count>0){
+			pageInfo.setTotal(count);
+			dataList=dataList.stream().skip(pageInfo.getOffset()).limit(pageInfo.getLimit()).collect(Collectors.toList());
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 }

+ 28 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -58,8 +58,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public StudentPaymentOrder findMusicGroupApplyOrderByStatus(Integer userId,String musicGroupId, DealStatusEnum status) {
-        return studentPaymentOrderDao.findMusicGroupApplyOrderByStatus(userId,musicGroupId, status);
+    public StudentPaymentOrder findMusicGroupApplyOrderByStatus(Integer userId, String musicGroupId, DealStatusEnum status) {
+        return studentPaymentOrderDao.findMusicGroupApplyOrderByStatus(userId, musicGroupId, status);
     }
 
     @Override
@@ -73,25 +73,25 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public List<StudentPaymentOrder> findOrdersByStatus(DealStatusEnum status,String paymentChannel) {
-        return studentPaymentOrderDao.findOrdersByStatus(status,paymentChannel);
+    public List<StudentPaymentOrder> findOrdersByStatus(DealStatusEnum status, String paymentChannel) {
+        return studentPaymentOrderDao.findOrdersByStatus(status, paymentChannel);
     }
 
     @Override
     public List<StudentPaymentOrder> findOrdersOverTime(List<String> orderNoList, DealStatusEnum status, Date beforeTime) {
-        return studentPaymentOrderDao.findOrdersOverTime(orderNoList,status,beforeTime);
+        return studentPaymentOrderDao.findOrdersOverTime(orderNoList, status, beforeTime);
     }
 
     @Override
     public void queryOrderStatus() throws Exception {
-           yqPayQuery();
-           adaPayQuery();
+        yqPayQuery();
+        adaPayQuery();
     }
 
     private void yqPayQuery() throws Exception {
         List<StudentPaymentOrder> payingOrders = findOrdersByStatus(DealStatusEnum.ING, "YQPAY");
 
-        if(payingOrders.size() ==0){
+        if (payingOrders.size() == 0) {
             return;
         }
         List<String> orderNoList = payingOrders.stream().map(StudentPaymentOrder::getOrderNo).collect(Collectors.toList());
@@ -117,7 +117,12 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 rpMap.put("channelType", channelType);
 
                 if (Arrays.asList(statusArr).contains(rpMap.get("tradeState"))) {
-                    updateOrder(rpMap); //更新订单
+                    try {
+                        updateOrder(rpMap); //更新订单
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        continue;
+                    }
                 }
                 if (orderNoList.contains(rpMap.get("merOrderNo"))) {
                     orderNoList.remove(rpMap.get("merOrderNo"));
@@ -129,7 +134,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
 
     private void adaPayQuery() throws Exception {
         List<StudentPaymentOrder> payingOrders = findOrdersByStatus(DealStatusEnum.ING, "ADAPAY");
-        if(payingOrders.size()==0){
+        if (payingOrders.size() == 0) {
             return;
         }
 
@@ -195,14 +200,19 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
 
         List<StudentPaymentOrder> ordersOverTime = findOrdersOverTime(orderNoList, DealStatusEnum.ING, beforeDate);
         for (StudentPaymentOrder order : ordersOverTime) {
-            order.setStatus(DealStatusEnum.FAILED);
-            order.setMemo("超时未支付关闭");
-            if (order.getType().equals(OrderTypeEnum.APPLY)) { //报名订单
-                studentRegistrationService.updateApplyOrder(order);
-            } else if (order.getType().equals(OrderTypeEnum.SMALL_CLASS_TO_BUY)) {
-                vipGroupService.orderCallback(order);
-            } else if (order.getType().equals(OrderTypeEnum.RENEW)) {
-                musicGroupService.renewForCallback(order);
+            try {
+                order.setStatus(DealStatusEnum.FAILED);
+                order.setMemo("超时未支付关闭");
+                if (order.getType().equals(OrderTypeEnum.APPLY)) { //报名订单
+                    studentRegistrationService.updateApplyOrder(order);
+                } else if (order.getType().equals(OrderTypeEnum.SMALL_CLASS_TO_BUY)) {
+                    vipGroupService.orderCallback(order);
+                } else if (order.getType().equals(OrderTypeEnum.RENEW)) {
+                    musicGroupService.renewForCallback(order);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                continue;
             }
         }
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -754,7 +754,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		SysUser sysUser = sysUserFeignService.queryUserById(vipGroupApplyBaseInfoDto.getUserId());
 
-		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId);
+		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId,null);
         classGroup.setDelFlag(YesOrNoEnum.NO);
         classGroupDao.update(classGroup);
 
@@ -1100,7 +1100,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			vipGroupSalaryBaseInfo.setTotalFeeDeduction(new BigDecimal(0));
 		}
 
-		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId());
+		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId(),null);
 		BigDecimal studentNum=new BigDecimal(classGroup.getStudentNum());
 		//课程总价
 		vipGroupSalaryBaseInfo.setTotalCoursePrice(vipGroup.getTotalPrice().multiply(studentNum));

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

@@ -366,7 +366,10 @@
         FROM
             vip_group_class_group_mapper vcgm
             LEFT JOIN class_group cg ON vcgm.class_group_id_ = cg.id_
-            WHERE vcgm.vip_group_id_=#{vipGroupId} AND cg.del_flag_ = 0
+            WHERE vcgm.vip_group_id_=#{vipGroupId}
+            <if test="delFlag!=null">
+                AND cg.del_flag_ = #{delFlag}
+            </if>
     </select>
 
     <select id="lockClassGroup" resultMap="ClassGroup">

+ 1 - 1
mec-eureka/src/main/resources/bootstrap.properties → mec-eureka/src/main/resources/bootstrap-dev.properties

@@ -1,7 +1,7 @@
 #\u6307\u5b9a\u5f00\u53d1\u73af\u5883
 #spring.profiles.active=dev
 #\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=localhost:8848
+spring.cloud.nacos.config.server-addr=47.99.212.176:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=40ebb2ed-23ac-4afb-b48f-8d727f332edc
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e

+ 16 - 0
mec-eureka/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.99.212.176:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=40ebb2ed-23ac-4afb-b48f-8d727f332edc
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=eureka
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
mec-eureka/src/main/resources/bootstrap-test.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.99.212.176:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=02105743-16b8-46ab-87df-2aca0f3dbca3
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=eureka
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

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

@@ -319,7 +319,7 @@ public class StudentOrderController extends BaseController {
 
     }
 
-    //@Scheduled(cron = "0/30 * * * * ?")
+    @Scheduled(cron = "0/30 * * * * ?")
     public void setSuccessStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");
 

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleComplaintsService;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.MusicGroupService;
@@ -102,6 +103,13 @@ public class CourseScheduleController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "获取vip课程计划")
+    @PostMapping(value = "/findVipGroupCourseSchedules")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/findVipGroupCourseSchedules')")
+    public Object findVipGroupCourseSchedules(VipGroupQueryInfo queryInfo){
+        return succeed(scheduleService.findVipGroupCourseSchedules(queryInfo));
+    }
+
     @ApiOperation(value = "根据月份获取乐团在该月有课的日期")
     @GetMapping("/getCourseScheduleDateByMonth")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/getCourseScheduleDateByMonth')")