Sfoglia il codice sorgente

Merge branch 'system_fee' of http://git.dayaedu.com/yonge/mec into goods_organ

zouxuan 4 anni fa
parent
commit
a830f624cf

+ 0 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -290,14 +290,6 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param musicGroupId
      * @return
      */
-    List<Integer> queryNormalUser(String musicGroupId);
-
-    /**
-     * 获取乐团在读人数
-     *
-     * @param musicGroupId
-     * @return
-     */
     List<Integer> queryNormalUserList(String musicGroupId);
 
     /**

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

@@ -142,7 +142,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 				studentCourseDetail.setMusicGroupSchoolTermCourseDetailId(courseDetail.getId());
 				studentCourseDetail.setMemberCourseMinutes(courseDetail.getTotalCourseTime());
 				//获取乐团所有在读学员
-				List<Integer> studentIds = studentRegistrationDao.queryNormalUser(musicGroupId);
+				List<Integer> studentIds = studentRegistrationDao.queryNormalUserList(musicGroupId);
 				if(studentIds == null || studentIds.size() == 0){
 					throw new BizException("操作失败:该乐团没有在读学员");
 				}

+ 28 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -727,9 +727,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             if(musicGroupRegCalender == null){
             	throw new BizException("缴费信息不存在");
             }
-            BigDecimal cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
-            //OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
-            //BigDecimal cloudTeacherPrice = registerPayDto.getBuyCloudTeacher() ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
+            BigDecimal cloudTeacherPrice = BigDecimal.ZERO;
+			if (musicGroupRegCalender.getMemberRankSettingId() != null) {
+				cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
+			} else {
+				if (musicGroup.getCloudTeacherType() != null) {
+					OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
+					cloudTeacherPrice = musicGroup.getCloudTeacherType() == 0 ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
+				}
+			}
             
             orderAmount = orderAmount.add(cloudTeacherPrice);
             studentRegistration.setHasCloudTeacher(1);
@@ -739,12 +745,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             cloudTeacherOrder = new CloudTeacherOrder();
 
     		cloudTeacherOrder.setType(2);//月
-			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate());
+			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
     		
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
     		cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
-    		cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId());
-    		cloudTeacherOrder.setAmount(musicGroupRegCalender.getMemberPaymentAmount());
+    		cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId() == null ? 1 : musicGroupRegCalender.getMemberRankSettingId());
+    		cloudTeacherOrder.setAmount(cloudTeacherPrice);
     		cloudTeacherOrder.setStatus(0);
         }
 
@@ -950,9 +956,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             if(musicGroupRegCalender == null){
             	throw new BizException("缴费信息不存在");
             }
-            BigDecimal cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
-            //OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
-            //BigDecimal cloudTeacherPrice = registerPayDto.getBuyCloudTeacher() ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
+            BigDecimal cloudTeacherPrice = BigDecimal.ZERO;
+			if (musicGroupRegCalender.getMemberRankSettingId() != null) {
+				cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
+			} else {
+				if (musicGroup.getCloudTeacherType() != null) {
+					OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
+					cloudTeacherPrice = musicGroup.getCloudTeacherType() == 0 ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
+				}
+			}
             
             orderAmount = orderAmount.add(cloudTeacherPrice);
             studentRegistration.setHasCloudTeacher(1);
@@ -962,12 +974,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             cloudTeacherOrder = new CloudTeacherOrder();
 
     		cloudTeacherOrder.setType(2);//月
-			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate());
+			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
     		
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
     		cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
-    		cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId());
-    		cloudTeacherOrder.setAmount(musicGroupRegCalender.getMemberPaymentAmount());
+    		cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId() == null ? 1 : musicGroupRegCalender.getMemberRankSettingId());
+    		cloudTeacherOrder.setAmount(musicGroupRegCalender.getMemberPaymentAmount() == null ? cloudTeacherPrice : musicGroupRegCalender.getMemberPaymentAmount());
     		cloudTeacherOrder.setStatus(0);
         }
 
@@ -3026,6 +3038,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setPaymentExpireDate(DateUtil.toDate(expireDate));
         musicGroup.setStatus(MusicGroupStatusEnum.PAY);
         musicGroupDao.update(musicGroup);
+        List<Map<Integer, String>> mapList = studentRegistrationDao.findMapByMusicGroupId(musicGroupId, 0);
         //所有人开启缴费
         studentRegistrationDao.musicGroupOpenPay(musicGroupId, PaymentStatusEnum.OPEN);
         MusicGroupPaymentCalender regCalender = musicGroupPaymentCalenderDao.findByMusicGroupRegCalender(musicGroupId);
@@ -3038,12 +3051,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //三方乐团不发送缴费通知
         if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
             //获取所有已报名学员列表
-            HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId, 0))), HashMap.class);
+            HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(mapList)), HashMap.class);
             if (map != null && map.size() > 0) {
                 String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
-                String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
+//                String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
                 sysMessageService.batchSendMessage(MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_MESSAGE,
-                        map, null, 0, "", "", musicGroup.getName(), studentApplyUrl, DateUtil.format(musicGroup.getPaymentExpireDate(), DateUtil.DATE_FORMAT_MIN), serverPhone);
+                        map, null, 0, "", "", musicGroup.getName(), studentApplyUrl);
             }
         }
         Set<Integer> roleIds = new HashSet<>(1);

+ 24 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java

@@ -95,6 +95,10 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
     @Override
     public MusicGroupSubjectGoodsAndInfoDto getSubjectGoodsAndInfo(String musicGroupId, Integer subjectId) {
         MusicGroup musicGroup = musicGroupService.get(musicGroupId);
+        
+        if(musicGroup == null){
+        	throw new BizException("乐团信息查询失败");
+        }
 
         //课程形态
         Map<String, Object> courseForm = JSON.parseObject(musicGroup.getCourseForm(), Map.class);
@@ -132,14 +136,26 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         musicGroupSubjectGoodsAndInfo.setMusicGroupPaymentCalender(musicGroupRegCalender);
         musicGroupSubjectGoodsAndInfo.setMusicGroupSubjectGoodsGroupList(goodsGroups);
         musicGroupSubjectGoodsAndInfo.setMusicGroup(musicGroup);
-        if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
-        	musicGroupSubjectGoodsAndInfo.setCloudTeacherFee(musicGroupRegCalender.getMemberPaymentAmount());
-            /*OrganizationCloudTeacherFee cloudTeacherFee = organizationCloudTeacherFeeDao.getByOrganId(musicGroup.getOrganId());
-            musicGroupSubjectGoodsAndInfo.setCloudTeacherPlusFee(cloudTeacherFee.getPlusPrice());*/
-            if(musicGroupRegCalender != null) {
-            	musicGroupSubjectGoodsAndInfo.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(musicGroupRegCalender.getMemberRankSettingId()));
-            }
-        }
+		if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) || musicGroup.getCloudTeacherType() != null) {
+			// 历史数据
+			if (musicGroup.getCloudTeacherType() != null) {
+				OrganizationCloudTeacherFee cloudTeacherFee = organizationCloudTeacherFeeDao.getByOrganId(musicGroup.getOrganId());
+				if (musicGroup.getCloudTeacherType() == 0) {
+					musicGroupSubjectGoodsAndInfo.setCloudTeacherFee(cloudTeacherFee.getPrice());
+				} else if (musicGroup.getCloudTeacherType() == 1) {
+					musicGroupSubjectGoodsAndInfo.setCloudTeacherFee(cloudTeacherFee.getPlusPrice());
+				}
+			} else {
+				musicGroupSubjectGoodsAndInfo.setCloudTeacherFee(musicGroupRegCalender.getMemberPaymentAmount());
+			}
+
+			if (musicGroupRegCalender != null && musicGroupRegCalender.getMemberRankSettingId() != null) {
+				musicGroupSubjectGoodsAndInfo.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(musicGroupRegCalender
+						.getMemberRankSettingId()));
+			} else{
+				musicGroupSubjectGoodsAndInfo.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(1));
+			}
+		}
         return musicGroupSubjectGoodsAndInfo;
     }
 

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

@@ -488,16 +488,25 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             maintenanceOrderDetail.setIsRenew(0);
             studentPaymentOrderDetailList.add(maintenanceOrderDetail);
         }
+
+        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
+        
         //云教练/云教练+
         if (buyCloudTeacher || buyCloudTeacherPlus) {
-            // OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
-            // BigDecimal cloudTeacherPrice = buyCloudTeacher ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
-            
-            MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderDao.getMusicGroupRegCalender(studentRegistration.getMusicGroupId());
-            if(musicGroupRegCalender == null){
-            	throw new BizException("缴费信息不存在");
-            }
-            BigDecimal cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
+        	
+        	BigDecimal cloudTeacherPrice = BigDecimal.ZERO;
+        	
+        	if(musicGroup.getCloudTeacherType() != null){
+        		OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
+                cloudTeacherPrice = musicGroup.getCloudTeacherType() == 0 ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
+        	}else {
+        		MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderDao.getMusicGroupRegCalender(studentRegistration.getMusicGroupId());
+                if(musicGroupRegCalender == null){
+                	throw new BizException("缴费信息不存在");
+                }
+                
+                cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
+        	}
             
             OrderDetailTypeEnum orderDetailTypeEnum = OrderDetailTypeEnum.CLOUD_TEACHER;
             StudentPaymentOrderDetail cloudTeacherOrderDetail = new StudentPaymentOrderDetail();
@@ -512,8 +521,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }
         studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
 
-        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
-
         //增加缴费学生数,0元订单不增加报名人数(没买云教练/云教练+的)
         boolean paidZeroFlag = false;
         boolean firstPaidZeroFlag = false;
@@ -1465,7 +1472,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     receivers.put(e.getUserId(), e.getParentsPhone());
                 });
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
-                        MessageTypeEnum.STUDENT_SMS_OPEN_PAYMENT, receivers, null, 0, null, "",
+                        MessageTypeEnum.SMS_PAYMENT_MESSAGE, receivers, null, 0, null, "",
                         musicGroup.getName(), HttpUtil.getSortUrl(configValue + musicGroup.getId()));
             }
         }

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

@@ -653,20 +653,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		className.append(StringUtils.join(studentNames, ","));
 		vipGroupApplyBaseInfoDto.setName(className.toString());
 
-
-		if(!ActivityCourseType.FREE_VIP.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())){
-			//计算课程相关费用信息
-			Map<String, BigDecimal> costInfo = countVipGroupPredictFee(vipGroupApplyBaseInfoDto,
-					vipGroupApplyBaseInfoDto.getUserId(), null);
-			vipGroupApplyBaseInfoDto.setOnlineTeacherSalary(costInfo.get("onlineTeacherSalary"));
-			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(costInfo.get("offlineTeacherSalary"));
-			vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.get("totalPrice"));
-		}else{
-			vipGroupApplyBaseInfoDto.setOnlineTeacherSalary(BigDecimal.ZERO);
-			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(BigDecimal.ZERO);
-			vipGroupApplyBaseInfoDto.setTotalPrice(BigDecimal.ZERO);
-		}
-
 		vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
 		vipGroupApplyBaseInfoDto.setStatus(VipGroupStatusEnum.PROGRESS);
 
@@ -710,6 +696,34 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		classGroup.setUpdateTime(now);
 		classGroupDao.insert(classGroup);
 
+		//班级学员关联记录
+		List<ClassGroupStudentMapper> classGroupStudentMapperList = new ArrayList<>();
+		for (Integer studentId : studentIdList) {
+			ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
+			classGroupStudentMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+			classGroupStudentMapper.setClassGroupId(classGroup.getId());
+			classGroupStudentMapper.setUserId(studentId);
+			classGroupStudentMapper.setCreateTime(now);
+			classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
+			classGroupStudentMapper.setGroupType(GroupType.VIP);
+			classGroupStudentMapperList.add(classGroupStudentMapper);
+		}
+		classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentMapperList);
+
+		if(!ActivityCourseType.FREE_VIP.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())){
+			//计算课程相关费用信息
+			Map<String, BigDecimal> costInfo = countVipGroupPredictFee(vipGroupApplyBaseInfoDto,
+					vipGroupApplyBaseInfoDto.getUserId(), null);
+			vipGroupApplyBaseInfoDto.setOnlineTeacherSalary(costInfo.get("onlineTeacherSalary"));
+			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(costInfo.get("offlineTeacherSalary"));
+			vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.get("totalPrice"));
+		}else{
+			vipGroupApplyBaseInfoDto.setOnlineTeacherSalary(BigDecimal.ZERO);
+			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(BigDecimal.ZERO);
+			vipGroupApplyBaseInfoDto.setTotalPrice(BigDecimal.ZERO);
+		}
+		vipGroupDao.update(vipGroupApplyBaseInfoDto);
+
 		//创建班级老师关联记录
 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
 		classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
@@ -734,20 +748,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		classGroupTeacherSalary.setUpdateTime(now);
 		classGroupTeacherSalaryDao.insert(classGroupTeacherSalary);
 
-		//班级学员关联记录
-		List<ClassGroupStudentMapper> classGroupStudentMapperList = new ArrayList<>();
-		for (Integer studentId : studentIdList) {
-			ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
-			classGroupStudentMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
-			classGroupStudentMapper.setClassGroupId(classGroup.getId());
-			classGroupStudentMapper.setUserId(studentId);
-			classGroupStudentMapper.setCreateTime(now);
-			classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
-			classGroupStudentMapper.setGroupType(GroupType.VIP);
-			classGroupStudentMapperList.add(classGroupStudentMapper);
-		}
-		classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentMapperList);
-
 		//课程信息调整
 		vipGroup.getCourseSchedules().forEach(courseSchedule -> {
 			courseSchedule.setGroupType(GroupType.VIP);

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/MemberRankSettingMapper.xml

@@ -25,6 +25,11 @@
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="MemberRankSetting">
 		SELECT * FROM member_rank_setting
+		<where>
+			<if test="isDefault != null">
+				is_default_ = #{isDefault}
+			</if>
+		</where>
 	</select>
 	
 	<!-- 向数据库增加一条记录 -->

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

@@ -243,10 +243,10 @@
                 </foreach>
             </if>
             <if test="createStartDate!=null">
-                AND date(transaction_teacher_id_) &gt;= #{createStartDate}
+                AND date(create_time_) &gt;= #{createStartDate}
             </if>
             <if test="createEndDate!=null">
-                AND date(transaction_teacher_id_) &lt;= #{createEndDate}
+                AND date(create_time_) &lt;= #{createEndDate}
             </if>
             <if test="billStartDate!=null">
                 AND date(bill_start_date_) &gt;= #{billStartDate}

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

@@ -656,7 +656,7 @@
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         LEFT JOIN vip_group vg ON cg.music_group_id_ = vg.id_
         LEFT JOIN vip_group_activity vgc ON vgc.id_ = vg.vip_group_activity_id_
-        WHERE cg.group_type_ = 'VIP' AND cgsm.user_id_ = #{studentId} AND vg.group_status_ != 3
+        WHERE cg.group_type_ = 'VIP' AND cgsm.user_id_ = #{studentId} AND vg.group_status_ NOT IN (3,7)
         <if test="vipGroupName != null">
             AND vg.name_ LIKE CONCAT('%',#{vipGroupName},'%')
         </if>

+ 0 - 6
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -852,12 +852,6 @@
         AND FIND_IN_SET(sr.music_group_id_, #{musicGroupIds})
         GROUP BY sr.music_group_id_
     </select>
-    <select id="queryNormalUser" resultType="integer">
-        SELECT sr.user_id_
-        FROM student_registration sr
-        WHERE sr.music_group_status_ != 'QUIT'
-        AND sr.music_group_id_ = #{musicGroupIds}
-    </select>
     <select id="queryNormalUserList" resultType="integer">
         SELECT sr.user_id_
         FROM student_registration sr

+ 61 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java

@@ -4,11 +4,11 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
+import com.ym.mec.biz.dal.dao.VipGroupDefaultClassesUnitPriceDao;
 import com.ym.mec.biz.dal.dto.StudentVipDouble11Dto;
 import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
-import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.VipGroupCategory;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.biz.service.VipGroupService;
@@ -48,6 +48,8 @@ public class TeacherVipGroupController extends BaseController {
 	private StudentManageService studentManageService;
 	@Autowired
 	private VipGroupCategoryDao vipGroupCategoryDao;
+	@Autowired
+	private VipGroupDefaultClassesUnitPriceDao vipGroupDefaultClassesUnitPriceDao;
 
 	@ApiOperation("vip课申请")
 	@PostMapping("/vipGroupApply")
@@ -177,4 +179,61 @@ public class TeacherVipGroupController extends BaseController {
 		return succeed(studentManageService.queryDouble11Students(queryInfo));
 	}
 
+	@ApiOperation(value = "获取六一活动学生列表")
+	@GetMapping("queryChildrenDayStudentList")
+	public Object queryStudentList(StudentManageQueryInfo queryInfo){
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			return failed("用户信息获取失败");
+		}
+		Teacher teacher = teacherDao.get(sysUser.getId());
+		if(Objects.isNull(teacher)){
+			return failed("教师信息不存在");
+		}
+		if(Objects.nonNull(teacher.getTeacherOrganId())){
+			queryInfo.setOrganId(teacher.getTeacherOrganId().toString());
+		}
+		if(StringUtils.isNotBlank(teacher.getFlowOrganRange())){
+			queryInfo.setOrganId(queryInfo.getOrganId()+","+teacher.getFlowOrganRange());
+		}
+		if(StringUtils.isBlank(queryInfo.getOrganId())){
+			return succeed(Collections.EMPTY_LIST);
+		}
+
+		queryInfo.setIsExport(false);
+		return succeed(studentManageService.findStudentsByOrganId(queryInfo));
+	}
+
+	@ApiOperation(value = "创建六一活动vip课")
+	@PostMapping("/createActivityVipGroup")
+	public Object createActivityVipGroup(@RequestBody VipGroupApplyDto vipGroupApplyDto){
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			return failed("用户信息获取失败");
+		}
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setUserId(sysUser.getId());
+		Integer userId = vipGroupApplyDto.getVipGroupApplyBaseInfo().getUserId();
+		Teacher teacher = teacherDao.get(userId);
+		if(Objects.isNull(teacher)){
+			return failed("请指定指导老师!");
+		}
+		Integer firstStudentId = vipGroupApplyDto.getVipGroupApplyBaseInfo().getFirstStudentId();
+		SysUser student = teacherDao.getUser(firstStudentId);
+		if(Objects.isNull(student)||Objects.isNull(student.getOrganId())){
+			return failed("学员信息异常");
+		}
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganId(student.getOrganId());
+		for (CourseSchedule courseSchedule : vipGroupApplyDto.getCourseSchedules()) {
+			courseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getSingleClassMinutes()));
+		}
+		VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getOrganId());
+		if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
+			vipGroupApplyDto.getVipGroupApplyBaseInfo().setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
+			vipGroupApplyDto.getVipGroupApplyBaseInfo().setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
+		}
+
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setEducationalTeacherId(sysUser.getId());
+		return vipGroupService.createActivityVipGroup(vipGroupApplyDto);
+	}
+
 }

+ 49 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -16,6 +16,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -122,4 +123,52 @@ public class VipGroupActivityController extends BaseController {
         }
     }
 
+    @ApiOperation(value = "获取六一活动方案")
+    @GetMapping("/getChildrenDayActivitys")
+    public Object findByVipGroupCategory(Long categoryId, String studentIds){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            return failed("用户信息获取失败");
+        }
+        if(StringUtils.isBlank(studentIds)){
+            return failed("请选择学员");
+        }
+
+        SysConfig activityIdConfig = sysConfigService.findByParamName(SysConfigService.CHILDREN_DAY_VIP_ACTIVITY_IDS);
+        if(Objects.isNull(activityIdConfig)||StringUtils.isBlank(activityIdConfig.getParanValue())){
+            return succeed();
+        }
+
+        Set<Integer> activityIds = Arrays.stream(activityIdConfig.getParanValue().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toSet());
+
+        List<Integer> userIds = Arrays.stream(studentIds.split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
+        List<Student> students = studentDao.findByStudentIds(userIds);
+        if(CollectionUtils.isEmpty(students)||students.size()!=userIds.size()){
+            return failed("学员信息不存在");
+        }
+        long newStudentNum = students.stream().filter(s -> s.getIsNewUser()).count();
+
+        Integer applyToStudentType = -1;
+        if(newStudentNum==0){
+            applyToStudentType = 0;
+        }else if(newStudentNum==userIds.size()){
+            applyToStudentType = 1;
+        }
+
+        SysUser student = teacherDao.getUser(userIds.get(0));
+        if(Objects.isNull(student)){
+            return failed("学员信息不存在");
+        }
+        String organIds = student.getOrganId().toString();
+        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, sysUser.getId(), applyToStudentType, null);
+        Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
+        while (iterator.hasNext()){
+            VipGroupActivity vipGroupActivity = iterator.next();
+            if(!activityIds.contains(vipGroupActivity.getId())){
+                iterator.remove();
+            }
+        }
+        return succeed(vipGroupActivities);
+    }
+
 }

+ 2 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java

@@ -45,7 +45,7 @@ public class VipGroupCategoryController extends BaseController {
 
 	@ApiOperation("全查询")
 	@GetMapping(value = "/queryAll")
-	public Object queryAll(Integer organId) {
+	public Object queryAll(Integer organId, Integer includeMusicTheory) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (Objects.isNull(user)) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -62,7 +62,7 @@ public class VipGroupCategoryController extends BaseController {
 				return failed("教师信息不存在");
 			}
 			List<VipGroupCategory> result = vipGroupCategoryService.findAllByOrgan(teacher.getTeacherOrganId().toString());
-			if(!CollectionUtils.isEmpty(result)){
+			if(!CollectionUtils.isEmpty(result)&&(Objects.isNull(includeMusicTheory)||includeMusicTheory<=0)){
 				result = result.stream().filter(c->!c.getMusicTheory()).collect(Collectors.toList());
 			}
 			return succeed(result);

+ 4 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MemberRankSettingController.java

@@ -71,7 +71,9 @@ public class MemberRankSettingController extends BaseController {
     @ApiOperation(value = "获取所有会员列表")
     @GetMapping("/findAll")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/findAll')")
-    public Object findAll() {
-        return succeed(memberRankSettingService.findAll(new HashMap<>()));
+    public Object findAll(Boolean isDefault) {
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("isDefault",isDefault);
+        return succeed(memberRankSettingService.findAll(map));
     }
 }

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupManageController.java

@@ -3,9 +3,11 @@ package com.ym.mec.web.controller.education;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.VipGroupDefaultClassesUnitPriceDao;
 import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.VipGroupDefaultClassesUnitPrice;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -35,6 +37,8 @@ public class EduVipGroupManageController extends BaseController {
     private SysUserFeignService sysUserFeignService;
     @Autowired
     private TeacherDao teacherDao;
+    @Autowired
+    private VipGroupDefaultClassesUnitPriceDao vipGroupDefaultClassesUnitPriceDao;
 
     @ApiOperation(value = "创建六一活动vip课")
     @PostMapping("/createActivityVipGroup")
@@ -59,6 +63,15 @@ public class EduVipGroupManageController extends BaseController {
         for (CourseSchedule courseSchedule : vipGroupApplyDto.getCourseSchedules()) {
             courseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getSingleClassMinutes()));
         }
+
+        if(Objects.nonNull(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId())){
+            VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getOrganId());
+            if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
+                vipGroupApplyDto.getVipGroupApplyBaseInfo().setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
+                vipGroupApplyDto.getVipGroupApplyBaseInfo().setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
+            }
+        }
+
         vipGroupApplyDto.getVipGroupApplyBaseInfo().setEducationalTeacherId(sysUser.getId());
         return vipGroupService.createActivityVipGroup(vipGroupApplyDto);
     }