Bläddra i källkod

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

yonge 5 år sedan
förälder
incheckning
2b0d308b95

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

@@ -195,9 +195,28 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				true,
 				true);
 
+		VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
+
+		BigDecimal offlineClassNum=new BigDecimal(vipGroupApplyBaseInfoDto.getOfflineClassesNum());
+		BigDecimal onlineClassNum=new BigDecimal(vipGroupApplyBaseInfoDto.getOnlineClassesNum());
+
+		if(vipGroupActivity.getType().equals(VipGroupActivityTypeEnum.GIVE_CLASS)){
+			if(vipGroupApplyBaseInfoDto.getGiveTeachMode()==TeachModeEnum.OFFLINE){
+				if(new BigDecimal(totalClassTimes).compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
+					offlineClassNum=offlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
+				}
+			}else if(vipGroupApplyBaseInfoDto.getGiveTeachMode()==TeachModeEnum.ONLINE){
+				if(new BigDecimal(totalClassTimes).compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
+					onlineClassNum=onlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
+				}
+			}else{
+				throw new BizException("请指定赠送课程类型!");
+			}
+		}
+
 		BigDecimal tempFee = costInfo.get("totalPrice").multiply(new BigDecimal(0.6));
-		BigDecimal totalSalary = vipGroupApplyBaseInfoDto.getOfflineTeacherSalary().multiply(new BigDecimal(vipGroupApplyBaseInfoDto.getOfflineClassesNum()))
-				.add(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary().multiply(new BigDecimal(vipGroupApplyBaseInfoDto.getOnlineClassesNum())));
+		BigDecimal totalSalary = vipGroupApplyBaseInfoDto.getOfflineTeacherSalary().multiply(offlineClassNum)
+				.add(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary().multiply(onlineClassNum));
 		if(totalSalary.compareTo(tempFee)>0){
 			throw new BizException("课酬异常");
 		}
@@ -935,7 +954,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString());
 		studentPaymentOrder.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
 
-		contractService.register(user.getId(),user.getRealName(),user.getIdCardNo(),user.getPhone());
+		try {
+			contractService.register(user.getId(),user.getRealName(),user.getIdCardNo(),user.getPhone());
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
 
 		//生成回调地址
 		Map<String,Object> payMap = payService.getPayMap(

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

@@ -462,8 +462,7 @@
         s.name_ school_name_
         FROM
         vip_group vg
-        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-        LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
+        LEFT JOIN class_group cg ON vg.id_=cg.music_group_id_
         LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
         LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
         LEFT JOIN school s ON vg.teacher_school_id_ = s.id_

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

@@ -795,9 +795,8 @@
             cs.schoole_id_
         FROM
         	course_schedule cs
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vgcgm.class_group_id_ = cs.class_group_id_
         WHERE
-        vgcgm.vip_group_id_ =#{vipGroupId}
+          cs.music_group_id_ =#{vipGroupId}
     </select>
     <select id="findByClassGroupAndDate" resultMap="CourseSchedule">
         SELECT
@@ -839,7 +838,7 @@
     </select>
     
     <select id="queryVipGroupTeachereClassTimesByMonth" resultType="map" parameterType="map">
-        SELECT vp.organ_id_ organ_id_,cs.actual_teacher_id_ teacher_id_,count(cs.id_) times FROM course_schedule cs left join vip_group_class_group_mapper vgm on cs.class_group_id_ = vgm.class_group_id_ left join vip_group vp on vgm.vip_group_id_ = vp.id_ where cs.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and date_format(#{monthDate} , '%Y%m' ) = date_format(cs.class_date_, '%Y%m' ) group by vp.organ_id_,cs.actual_teacher_id_
+        SELECT vp.organ_id_ organ_id_,cs.actual_teacher_id_ teacher_id_,count(cs.id_) times FROM course_schedule cs left join vip_group vp on cs.music_group_id_ = vp.id_ where cs.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and date_format(#{monthDate} , '%Y%m' ) = date_format(cs.class_date_, '%Y%m' ) group by vp.organ_id_,cs.actual_teacher_id_
     </select>
     
     <select id="queryFinishedWithNoUpdateStatus" resultMap="CourseSchedule">
@@ -1280,7 +1279,7 @@
             cs.start_class_time_ start_class_time_str_,
             cs.end_class_time_ end_class_time_str_,
             cs.teacher_id_,
-            csts.user_id_ actual_teacher_id_,
+            cs.actual_teacher_id_,
             cs.create_time_,
             cs.update_time_,
             cs.teach_mode_,
@@ -1291,13 +1290,11 @@
             cs.schoole_id_,
             cg.name_ class_group_name_
         from  course_schedule cs
-          LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
           LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         where cs.class_group_id_ IN
         <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
             #{classGroupId}
         </foreach>
-        AND csts.teacher_role_='BISHOP'
         ORDER BY start_class_time_
     </select>
     <select id="findStudentMap" resultType="java.util.Map">

+ 2 - 4
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -190,8 +190,7 @@
 			csts.*
 		FROM
 			vip_group vg
-			LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-			LEFT JOIN course_schedule cs ON vgcgm.class_group_id_ = cs.class_group_id_
+			LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_
 			LEFT JOIN course_schedule_teacher_salary csts ON cs.id_ = csts.course_schedule_id_
 			<include refid="vipGroupSalaryQueryCondition"/>
 		ORDER BY id_
@@ -202,8 +201,7 @@
 			COUNT(*)
 		FROM
 			vip_group vg
-			LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-			LEFT JOIN course_schedule cs ON vgcgm.class_group_id_ = cs.class_group_id_
+			LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_
 		<include refid="vipGroupSalaryQueryCondition"/>
 	</select>
     <select id="findSomeDayAgoTeacherCourseSalaryNoSettlement" resultMap="CourseScheduleTeacherSalary">

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

@@ -196,7 +196,7 @@
         su.avatar_,
         t.introduction_,
         s.name_ subject_name_,
-        COUNT(dgcgm.class_group_id_) number_of_classes_,
+        COUNT(cg.id_) number_of_classes_,
         dgcp.id_,
         dgcp.demo_group_id_,
         dgcp.create_time_,
@@ -210,7 +210,7 @@
         LEFT JOIN teacher t ON dg.user_id_=t.id_
         LEFT JOIN sys_user su ON dg.user_id_=su.id_
         LEFT JOIN `subject` s ON dg.subject_id_=s.id_
-        LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
+        LEFT JOIN class_group cg ON dg.id_=cg.music_group_id_ AND cg.group_type_='DEMO'
         <include refid="demoGroupQueryCondition"/>
         GROUP BY dgcp.id_,dg.id_
         ORDER BY dgcp.start_time_
@@ -243,8 +243,7 @@
         GROUP_CONCAT(DISTINCT s.name_) subjectNames
         FROM
         demo_group dg
-        LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
-        LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
+        LEFT JOIN class_group cg ON dg.id_=cg.music_group_id_ AND cg.group_type_='DEMO'
         LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
         LEFT JOIN `subject` s ON s.id_ = cg.subject_id_list_
         WHERE cs.type_ = 'DEMO' AND dg.user_id_ = #{teacherId}
@@ -281,7 +280,7 @@
 	</select>
     
     <select id="queryCurrentMonthCoursesNum" resultType="int">
-    	select count(cs.id_) from course_schedule cs left join demo_group_class_group_mapper vgcgm on cs.class_group_id_ = vgcgm.class_group_id_ left join demo_group vg on vgcgm.demo_group_id_ = vg.id_ where cs.type_ in ('DEMO')
+    	select count(cs.id_) from course_schedule cs left join demo_group vg on cs.music_group_id_ = vg.id_ AND cs.group_type_='DEMO' where cs.type_ in ('DEMO')
   		and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m')
    		<if test="organId != null">
    			and find_in_set(#{organId},vg.organ_id_list_)

+ 4 - 8
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -30,6 +30,7 @@
         <result property="courseBalance" column="course_balance_"/>
         <result property="bankName" column="bank_name_"/>
         <result property="cardNo" column="card_no_"/>
+        <result property="courseBalance" column="course_balance_"/>
     </resultMap>
 
     <sql id="queryCondition">
@@ -204,7 +205,7 @@
                 and su.username_ like CONCAT("%",#{teacherName},"%")
             </if>
             <if test="vipGroupId!=null">
-                and vgcgm.vip_group_id_=#{vipGroupId}
+                and cg.music_group_id_=#{vipGroupId}
             </if>
         </where>
     </sql>
@@ -219,9 +220,6 @@
             su.username_ teacher_name_
         FROM class_group cg
             LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
-            <if test="vipGroupId!=null">
-                LEFT JOIN vip_group_class_group_mapper vgcgm ON cgsm.class_group_id_=vgcgm.class_group_id_
-            </if>
             LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
             LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
         <include refid="studentManageCourseQueryCondition"/>
@@ -232,9 +230,6 @@
     <select id="countStudentCourses" resultType="int">
         SELECT count(*) FROM class_group cg
         LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
-        <if test="vipGroupId!=null">
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON cgsm.class_group_id_=vgcgm.class_group_id_
-        </if>
         LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
         LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
         <include refid="studentManageCourseQueryCondition"/>
@@ -295,7 +290,8 @@
             suca.balance_,
             suca.course_balance_,
             subc.bank_name_,
-            subc.card_no_
+            subc.card_no_,
+            suca.course_balance_
         FROM
             sys_user_cash_account suca
             LEFT JOIN sys_user_bank_card subc ON suca.user_id_ = subc.user_id_

+ 13 - 26
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -108,10 +108,9 @@
             vgc.name_ vip_group_category_
         FROM
             class_group_student_mapper cgsm
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON cgsm.class_group_id_=vgcgm.class_group_id_
             LEFT JOIN vip_group vg ON vgcgm.vip_group_id_=vg.id_
             LEFT JOIN vip_group_category vgc ON vg.vip_group_category_id_=vgc.id_
-        WHERE cgsm.class_group_id_=vgcgm.class_group_id_ AND cgsm.user_id_=#{userId}
+        WHERE cgsm.music_group_id_=vg.id_ AND cgsm.user_id_=#{userId}
     </select>
 
     <!-- 全查询 -->
@@ -311,8 +310,7 @@
             vgc.name_ category_name_
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
+            LEFT JOIN class_group cg ON vg.id_=cg.music_group_id_
             LEFT JOIN teacher t ON vg.user_id_=t.id_
             LEFT JOIN sys_user su ON vg.user_id_=su.id_
             LEFT JOIN vip_group_activity vga ON vg.vip_group_activity_id_=vga.id_
@@ -326,7 +324,6 @@
             count(*)
         FROM
             vip_group vg
-        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
         LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
         <include refid="studentVipGroupQueryCondition"/>
     </select>
@@ -344,8 +341,7 @@
         FROM
             vip_group vg
             LEFT JOIN sys_user su ON vg.user_id_=su.id_
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
+            LEFT JOIN class_group cg ON vg.id_=cg.music_group_id_
             LEFT JOIN vip_group_activity vga ON vg.vip_group_activity_id_=vga.id_
             LEFT JOIN vip_group_category vgc ON vg.vip_group_category_id_=vgc.id_
             LEFT JOIN school s ON vg.teacher_school_id_=s.id_
@@ -376,8 +372,7 @@
             cs.*
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN teacher_attendance ta ON vgcgm.class_group_id_=ta.class_group_id_
+            LEFT JOIN teacher_attendance ta ON vg.id_=ta.music_group_id_
             LEFT JOIN course_schedule cs ON ta.course_schedule_id_=cs.id_
         <include refid="vipGroupAttendanceQueryCondition"/>
         ORDER BY ta.id_
@@ -388,8 +383,7 @@
         count(*)
         FROM
         vip_group vg
-        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-        LEFT JOIN teacher_attendance ta ON vgcgm.class_group_id_=ta.class_group_id_
+        LEFT JOIN teacher_attendance ta ON vg.id_=ta.music_group_id_
         LEFT JOIN course_schedule cs ON ta.course_schedule_id_=cs.id_
         <include refid="vipGroupAttendanceQueryCondition"/>
         ORDER BY ta.id_
@@ -421,8 +415,7 @@
             cs.name_
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
+            LEFT JOIN class_group cg ON vg.id_=cg.music_group_id_
             LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
 	        LEFT JOIN school s ON vg.teacher_school_id_=s.id_
             LEFT JOIN teacher t ON vg.user_id_=t.id_
@@ -580,8 +573,7 @@
              SUM(csts.actual_salary_) totalSalary
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
+            LEFT JOIN course_schedule cs ON vg.id_=cs.music_group_id_
             LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
         WHERE vg.id_=#{vipGroupId} AND cs.id_ IS NOT NULL
     </select>
@@ -590,8 +582,7 @@
              COUNT(csts.id_)
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
+            LEFT JOIN course_schedule cs ON vg.id_=cs.music_group_id_
             LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
         WHERE vg.id_=#{vipGroupId} AND cs.id_!=NULL AND csts.settlement_time_!=NULL AND csts.actual_salary_&lt;csts.expect_salary_
     </select>
@@ -602,8 +593,7 @@
             SUM(cssp.expect_price_) as 'value'
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
+            LEFT JOIN course_schedule cs ON vg.id_=cs.music_group_id_
             LEFT JOIN course_schedule_student_payment cssp ON cs.id_=cssp.course_schedule_id_
             WHERE vg.id_=#{vipGroupId} AND cs.status_='NOT_START'
         GROUP BY cssp.user_id_
@@ -615,8 +605,7 @@
 
     <select id="countTeacherVipClass" resultType="java.lang.Integer">
         SELECT COUNT(DISTINCT vg.id_) FROM vip_group vg
-        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-        LEFT JOIN class_group cg ON cg.id_ = vgcgm.class_group_id_
+        LEFT JOIN class_group cg ON cg.music_group_id_ = vg.id_
         LEFT JOIN course_schedule cs ON cs.class_group_id_ = cg.id_
         WHERE cs.actual_teacher_id_ = #{teacherId} AND cs.type_ = 'VIP' AND cg.del_flag_ = 0
     </select>
@@ -644,8 +633,7 @@
         vg.payment_expire_date_,vg.courses_expire_date_,vg.online_classes_unit_price_,vg.offline_classes_unit_price_,
         cg.total_class_times_,cg.current_class_times_,cg.id_ class_group_id_,cg.student_num_,vg.vip_group_activity_id_
         FROM vip_group vg
-        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-        LEFT JOIN class_group cg ON cg.id_ = vgcgm.class_group_id_
+        LEFT JOIN class_group cg ON vg.id_ = cg.music_group_id_
         LEFT JOIN course_schedule cs ON cs.class_group_id_ = cg.id_
         WHERE cs.actual_teacher_id_ = #{teacherId} AND cs.type_ = 'VIP' AND cg.del_flag_ = 0 GROUP BY vg.id_,cg.id_
         <include refid="global.limit"/>
@@ -676,8 +664,7 @@
             vg.*
         FROM
             vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
+            LEFT JOIN course_schedule cs ON vg.id_=cs.music_group_id_
             WHERE cs.id_=#{courseScheduleId}
     </select>
     
@@ -691,7 +678,7 @@
     </select>
     
     <select id="queryCurrentMonthCoursesNum" resultType="int">
-    	select count(cs.id_) from course_schedule cs left join vip_group_class_group_mapper vgcgm on cs.class_group_id_ = vgcgm.class_group_id_ left join vip_group vg on vgcgm.vip_group_id_ = vg.id_ where cs.type_ in ('VIP')
+    	select count(cs.id_) from course_schedule cs left join vip_group vg on cs.music_group_id_ = vg.id_ where cs.type_ in ('VIP')
   		and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m')
    		<if test="organId != null">
    			and vg.organ_id_ = #{organId}

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SysUserCashAccountController.java

@@ -56,7 +56,7 @@ public class SysUserCashAccountController extends BaseController {
 	@PostMapping("/updateCourseBalance")
 	@PreAuthorize("@pcs.hasPermissions('userCashAccount/updateCourseBalance')")
 	public Object updateCourseBalance(Integer userId, BigDecimal decimal) {
-		sysUserCashAccountService.transferCourseBalanceToBalance(userId);
+		sysUserCashAccountService.updateCourseBalance(userId,decimal);
 		return succeed();
 	}
 }