Pārlūkot izejas kodu

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

zouxuan 5 gadi atpakaļ
vecāks
revīzija
495e98c6e4

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherMapperDao.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;

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

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -650,7 +651,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param classGroupIds 班级编号列表
      * @return
      */
-    int deleteCourseSchedulesByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
+    int deleteCourseSchedulesByClassGroupIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
      * 查询所有未签到的学生信息

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -294,4 +294,13 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return
 	 */
 	int batchUpdate(List<VipGroup> vipGroupList);
+
+	/**
+	 * @describe
+	 * @author Joburgess
+	 * @date 2019/11/29
+	 * @param vipGroupId:
+	 * @return com.ym.mec.biz.dal.dto.VipBuyResultDto
+	 */
+	VipBuyResultDto getVipBuyResultInfo(@Param("vipGroupId") Integer vipGroupId);
 }

+ 70 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipBuyResultDto.java

@@ -0,0 +1,70 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/11/29
+ */
+public class VipBuyResultDto {
+
+    private Integer vipGroupId;
+
+    private String vipGroupName;
+
+    private String teacherName;
+
+    private Integer classTimes;
+
+    private Date startClassTime;
+
+    private Date endClassTime;
+
+    public Integer getVipGroupId() {
+        return vipGroupId;
+    }
+
+    public void setVipGroupId(Integer vipGroupId) {
+        this.vipGroupId = vipGroupId;
+    }
+
+    public String getVipGroupName() {
+        return vipGroupName;
+    }
+
+    public void setVipGroupName(String vipGroupName) {
+        this.vipGroupName = vipGroupName;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public Integer getClassTimes() {
+        return classTimes;
+    }
+
+    public void setClassTimes(Integer classTimes) {
+        this.classTimes = classTimes;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+}

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -320,4 +320,13 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
 	 * @return void
 	 */
     VipGroupPayInfoDto getVipGroupPayInfo(Integer vipGroupId,Integer userId);
+
+    /**
+     * @describe 获取vip课购买结果信息
+     * @author Joburgess
+     * @date 2019/11/29
+     * @param vipGroupId: 小课编号
+     * @return
+     */
+    VipBuyResultDto findVipBuyResultInfo(Integer vipGroupId);
 }

+ 9 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -274,26 +274,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if (classGroups.size() > 0) {
             List<Integer> classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId()).collect(Collectors.toList());
 
+            //删除基础提高班
+            classGroupDao.batchSoftDelete(classGroupIds);
+            //删除基础提高老师
+            classGroupTeacherMapperDao.delClassGroupTeacherMapper(classGroupIds);
+
             List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupIds, GroupType.MUSIC);
 
             if (classGroupNoStartCourseSchedules.size() > 0) {
                 List<Long> courseScheduleIds = classGroupNoStartCourseSchedules.stream().map(courseSchedule -> courseSchedule.getId()).collect(Collectors.toList());
                 courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
                 teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
+                //删除基础提高班课程
+                courseScheduleDao.deleteCourseSchedulesByClassGroupIds(courseScheduleIds);
             }
 
-            //删除基础提高班
-            classGroupDao.batchSoftDelete(classGroupIds);
-            //删除基础提高班课程
-            courseScheduleDao.deleteCourseSchedulesByClassGroupIds(classGroupIds);
-            //删除基础提高老师
-            classGroupTeacherMapperDao.delClassGroupTeacherMapper(classGroupIds);
-
             for (ClassGroup classGroup : classGroups) {
                 imFeignService.groupDismiss(new ImGroupModel(classGroup.getId().toString(), null, classGroup.getName()));
             }
         }
 
+        System.out.println(1/0);
+
         Integer schoolId = musicGroup.getSchoolId();
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
             //1、插入班级信息

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

@@ -339,8 +339,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
                 musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
                 musicGroupStudentFeeDao.update(musicGroupStudentFee);*/
-                
-        		return null;
+
+                Map<String,Object> result=new HashMap<>();
+                result.put("orderNo",studentPaymentOrder.getOrderNo());
+
+                return result;
         	}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
 					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");

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

@@ -104,6 +104,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	private ClassGroupService classGroupService;
 	@Autowired
 	private StudentPaymentOrderService studentPaymentOrderService;
+	@Autowired
+	private ContractService contractService;
 
 	@Override
 	public BaseDAO<Long, VipGroup> getDAO() {
@@ -958,7 +960,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		BigDecimal amount=vipGroup.getTotalPrice();
 
 		if(vipGroupBuyParams.isUseBalancePayment() || amount.doubleValue() == 0){
-			SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(vipGroupBuyParams.getUserId());
+			SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(user.getId());
 			if(userCashAccount == null){
 				throw new BizException("用户账户找不到");
 			}
@@ -967,28 +969,31 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				studentPaymentOrder.setBalancePaymentAmount(amount);
 				studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
 				studentPaymentOrder.setUpdateTime(date);
-				studentPaymentOrderService.update(studentPaymentOrder);
-				studentPaymentOrder.setVersion(studentPaymentOrder.getVersion()+1);
 
-				sysUserCashAccountService.updateBalance(vipGroupBuyParams.getUserId(), amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
+				this.orderCallback(studentPaymentOrder);
+
+				sysUserCashAccountService.updateBalance(user.getId(), amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
 
-				return null;
+				Map<String,Object> result=new HashMap<>();
+				result.put("orderNo",studentPaymentOrder.getOrderNo());
+
+				return result;
 			}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
-					sysUserCashAccountService.updateBalance(vipGroupBuyParams.getUserId(), userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
 					amount = amount.subtract(userCashAccount.getBalance());
 					studentPaymentOrder.setBalancePaymentAmount(userCashAccount.getBalance());
+					sysUserCashAccountService.updateBalance(user.getId(), userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
 				} else {
 					studentPaymentOrder.setBalancePaymentAmount(new BigDecimal(0));
 				}
 			}
 		}
 
-//		try {
-//			contractService.register(user.getId(),user.getRealName(),user.getIdCardNo(),user.getPhone());
-//		} catch (Exception e) {
-//			e.printStackTrace();
-//		}
+		try {
+			contractService.register(user.getId(),user.getRealName(),user.getIdCardNo(),user.getPhone());
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
 
 		try {
 			Map<String,Object> payMap = payService.getPayMap(
@@ -1073,11 +1078,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		vipGroup.setOrganIdList(organIdsString);
 		vipGroupDao.update(vipGroup);
 
-//		try {
-//			contractService.transferVipGroupCoursesContract(userId,vipGroupId);
-//		} catch (Exception e) {
-//			e.printStackTrace();
-//		}
+		try {
+			contractService.transferVipGroupCoursesContract(userId,vipGroupId);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
 	}
 
 	@Transactional(rollbackFor = Exception.class)
@@ -1678,4 +1683,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		vipGroupPayInfo.setBalance(sysUserCashAccount.getBalance());
 		return  vipGroupPayInfo;
 	}
+
+	@Override
+	public VipBuyResultDto findVipBuyResultInfo(Integer vipGroupId) {
+		return vipGroupDao.getVipBuyResultInfo(vipGroupId);
+	}
 }

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

@@ -1201,7 +1201,7 @@
     </select>
     
     <select id="queryTeacherCoursesTimesOfTomorrow" resultMap="Mapper">
-    	select cssp.user_id_ key_,count(1) value_ from course_schedule cs right join course_schedule_teacher_salary cssp on cs.id_ = cssp.course_schedule_id_ where class_date_ = date(DATE_ADD(now(),INTERVAL 1 DAY)) group by cssp.user_id_
+    	select cssp.user_id_ key_,u.real_name_ value_ from course_schedule cs right join course_schedule_teacher_salary cssp on cs.id_ = cssp.course_schedule_id_ left join sys_user u on u.id_ = cssp.user_id_ where class_date_ = date(DATE_ADD(now(),INTERVAL 1 DAY)) group by cssp.user_id_
     </select>
     
     <select id="queryTeacherNotStartCourseScheduleIn30Mins" resultMap="Mapper">
@@ -1434,11 +1434,10 @@
     </delete>
 
     <delete id="deleteCourseSchedulesByClassGroupIds">
-        DELETE FROM course_schedule WHERE class_group_id_ IN
-        <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
-            #{classGroupId}
+        DELETE FROM course_schedule WHERE id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+            #{courseScheduleId}
         </foreach>
-        AND group_type_ = 'MUSIC'
     </delete>
     
     <select id="queryUnsignedStudentList" resultMap="StudentAttendance">

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

@@ -767,7 +767,29 @@
     <select id="queryByIds" resultMap="VipGroup" parameterType="string">
     	select * from vip_group where id_ in (#{idList})
     </select>
-    
+    <resultMap id="VipBuyResult" type="com.ym.mec.biz.dal.dto.VipBuyResultDto">
+        <result property="vipGroupId" column="id_"/>
+        <result property="vipGroupName" column="name_"/>
+        <result property="teacherName" column="username_"/>
+        <result property="classTimes" column="total_class_times_"/>
+        <result property="startClassTime" column="courses_start_date"/>
+        <result property="endClassTime" column="courses_expire_date_"/>
+    </resultMap>
+    <select id="getVipBuyResultInfo" resultMap="VipBuyResult">
+        SELECT
+            vg.id_,
+            vg.name_,
+            vg.courses_start_date,
+            vg.courses_expire_date_,
+            cg.total_class_times_,
+            su.username_
+        FROM
+            vip_group vg
+            LEFT JOIN class_group cg ON vg.id_=cg.music_group_id_ AND cg.group_type_='VIP'
+            LEFT JOIN sys_user su ON vg.user_id_=su.id_
+            WHERE vg.id_=#{vipGroupId}
+    </select>
+
     <update id="batchUpdate" parameterType="java.util.List">
     	<foreach collection="list" item="item" index="index" open="" close="" separator=";">
 	        UPDATE vip_group

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

@@ -3,6 +3,7 @@ package com.ym.mec.student.controller;
 import com.alibaba.fastjson.JSON;
 import com.huifu.adapay.model.payment.PayChannelEnum;
 import com.huifu.adapay.model.payment.Payment;
+import com.ym.mec.biz.dal.dto.VipBuyResultDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
@@ -103,6 +104,9 @@ public class StudentOrderController extends BaseController {
             List<Goods> goodsList = studentPaymentOrderDetailService.findApplyOrderGoods(orderByOrderNo.getId());
             orderDetail.put("goods",goodsList);
             orderDetail.put("course",musicGroup.getCourseForm());
+        }else if(orderByOrderNo.getGroupType().equals(GroupType.VIP)){
+            VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
+            orderDetail.put("detail",vipBuyResultInfo);
         }
 
         return succeed(orderDetail);