zouxuan пре 2 година
родитељ
комит
dc03aebeb2

+ 1 - 21
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -80,11 +80,7 @@ public class StudentManageListDto {
     private String vipGroupName;
 
     private String vipGroupStatus;
-    
-    private String teacherName;
-    
-    private Integer teacherId;
-    
+
     private String subjectIdList;
 
     private Integer isNewUser;
@@ -445,22 +441,6 @@ public class StudentManageListDto {
 		this.isActive = isActive;
 	}
 
-	public String getTeacherName() {
-		return teacherName;
-	}
-
-	public void setTeacherName(String teacherName) {
-		this.teacherName = teacherName;
-	}
-
-	public Integer getTeacherId() {
-		return teacherId;
-	}
-
-	public void setTeacherId(Integer teacherId) {
-		this.teacherId = teacherId;
-	}
-
 	public String getSubjectIdList() {
 		return subjectIdList;
 	}

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.ActivityUserMapper;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -197,10 +198,10 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
      * @author zx
      * @date 2021/10/11 10:36
      */
-    Integer activityGive(Integer vipGroupActivityId,
-                         StudentPaymentOrder studentPaymentOrder,
-                         String vipGroupId,
-                         String practiceGroupId);
+    ActivityUserMapper activityGive(Integer vipGroupActivityId,
+                                    StudentPaymentOrder studentPaymentOrder,
+                                    String vipGroupId,
+                                    String practiceGroupId);
 
     /**
      * @param order

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

@@ -3143,10 +3143,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
         ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(order.getMusicGroupId(), GroupType.PRACTICE.getCode());
         if (order.getStatus().equals(DealStatusEnum.SUCCESS)) {
-            Integer activityUserMapperId = studentPaymentOrderService.activityGive(practiceGroup.getVipGroupActivityId(), order,
+            ActivityUserMapper activityUserMapper = studentPaymentOrderService.activityGive(practiceGroup.getVipGroupActivityId(), order,
                     null,
                     practiceGroup.getId().toString());
-            practiceGroup.setActivityUserMapperId(activityUserMapperId);
+            if(activityUserMapper != null){
+                practiceGroup.setActivityUserMapperId(activityUserMapper.getId());
+            }
             if (classGroup.getDelFlag() == 1) {
                 this.updatePracticeGroupStudentNumAndStatus(practiceGroup, classGroup, order);
             } else {

+ 5 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -821,11 +821,11 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Integer activityGive(Integer vipGroupActivityId, StudentPaymentOrder studentPaymentOrder, String vipGroupId, String practiceGroupId) {
-        Integer activityUserMapperId = null;
+    public ActivityUserMapper activityGive(Integer vipGroupActivityId, StudentPaymentOrder studentPaymentOrder, String vipGroupId, String practiceGroupId) {
+        ActivityUserMapper activityUserMapper = null;
         if (vipGroupActivityId != null) {
             VipGroupActivity activity = vipGroupActivityService.get(vipGroupActivityId);
-            ActivityUserMapper activityUserMapper = new ActivityUserMapper();
+            activityUserMapper = new ActivityUserMapper();
             activityUserMapper.setVipGroupId(vipGroupId);
             activityUserMapper.setPracticeGroupId(practiceGroupId);
             activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
@@ -880,7 +880,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     return null;
                 }
                 activityUserMapperService.insert(activityUserMapper);
-                return activityUserMapper.getId();
+                return activityUserMapper;
             }
             //是否赠送课程
             if (activity.getGiveCourseNum() > 0) {
@@ -914,9 +914,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
             }
             activityUserMapperService.insert(activityUserMapper);
-            activityUserMapperId = activityUserMapper.getId();
         }
-        return activityUserMapperId;
+        return activityUserMapper;
     }
 
     @Override

+ 60 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -654,8 +654,9 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
 			//处理双十一活动特殊赠送
 			boolean elevenFlag = this.doubleElevenGive(studentPaymentOrder);
+			ActivityUserMapper activityUserMapper = null;
 			if(!elevenFlag){
-				studentPaymentOrderService.activityGive(Integer.parseInt(studentPaymentOrder.getActivityId()), studentPaymentOrder,
+				activityUserMapper = studentPaymentOrderService.activityGive(Integer.parseInt(studentPaymentOrder.getActivityId()), studentPaymentOrder,
 						null, null);
 			}
 			//保存账户信息
@@ -666,7 +667,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
                 LOGGER.error(MessageFormatter.arrayFormat("小课活动[{}]购买协议错误:{}", studentPaymentOrder.getActivityId(), e.getMessage()), e);
             }
 			//发送短信
-			this.sendSuccessMsg(studentPaymentOrder);
+			this.sendSuccessMsg(studentPaymentOrder,activityUserMapper);
 		}else {
 			if (Objects.nonNull(studentPaymentOrder.getBalancePaymentAmount()) && studentPaymentOrder.getBalancePaymentAmount().compareTo(ZERO) > 0) {
 				sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, studentPaymentOrder.getMemo() + "支付失败,退还余额");
@@ -842,19 +843,31 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		}
 	}
 
-    private void sendSuccessMsg(StudentPaymentOrder studentPaymentOrder){
+    private void sendSuccessMsg(StudentPaymentOrder studentPaymentOrder,ActivityUserMapper activityUserMapper){
 		Integer userId = studentPaymentOrder.getUserId();
 		String[] split = studentPaymentOrder.getActivityId().split(",");
 		for (String activityId : split) {
 			VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(Integer.parseInt(activityId));
 			String activityName = vipGroupActivity.getName();
-			if(vipGroupActivity.getActivityType().equals(0)) {
-				SysUser user = teacherDao.getUser(userId);
-				String username = StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername();
+			SysUser user = teacherDao.getUser(userId);
+			String username = StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername();
+			mark:if(vipGroupActivity.getActivityType().equals(0)) {
 				Map<Integer, String> map = new HashMap<>(1);
 				map.put(userId, userId.toString());
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDENT_BUY_ACTIVITY, map, null, 0, null, "STUDENT",
 						activityName);
+				if(studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY
+						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
+						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_RENEW){
+					List<Integer> teacherIds = studentTeacherMapperDao.queryTeacherIds(userId, studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY ? "VIP" : "PRACTICE");
+					if(!CollectionUtils.isEmpty(teacherIds)){
+						Map<Integer, String> teacherMap = new HashMap<>(teacherIds.size());
+						teacherIds.stream().forEach(e->teacherMap.put(e,e.toString()));
+						sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_TEACHER_ACTIVITY_COURSE,
+								teacherMap, null, 0, null, "TEACHER", username, activityName);
+						break mark;
+					}
+				}
 				//获取乐团主管
 				Map<Integer, String> eduMap = MapUtil.convertMybatisMap(studentRegistrationDao.queryStudentEduMap(userId));
 				if (CollectionUtils.isEmpty(eduMap)) {
@@ -870,20 +883,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_SYSTEM_ACTIVITY_COURSE,
 							eduMap, null, 0, null, "SYSTEM", username, activityName);
 				}
-				if(studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY
-						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
-						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_RENEW){
-					List<Integer> teacherIds = studentTeacherMapperDao.queryTeacherIds(userId, studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY ? "VIP" : "PRACTICE");
-					if(!CollectionUtils.isEmpty(teacherIds)){
-						Map<Integer, String> teacherMap = new HashMap<>(teacherIds.size());
-						teacherIds.stream().forEach(e->teacherMap.put(e,e.toString()));
-						sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_TEACHER_ACTIVITY_COURSE,
-								teacherMap, null, 0, null, "TEACHER", username, activityName);
-					}
-				}
 			}else {
-				SysUser user = teacherDao.getUser(userId);
-				String username = StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername();
 				Map<Integer, String> map = new HashMap<>(1);
 				map.put(userId, userId.toString());
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDENT_BUY_MEMBER_ACTIVITY, map, null, 0, null, "STUDENT",
@@ -906,6 +906,47 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 					}
 				}
 			}
+			mark:if(activityUserMapper != null){
+				String teacherType = null;
+				Integer giveVipFlag = activityUserMapper.getGiveVipFlag();
+				if(giveVipFlag == 1){
+					teacherType = "VIP";
+				}
+				Integer givePracticeFlag = activityUserMapper.getGivePracticeFlag();
+				if(givePracticeFlag == 1){
+					teacherType = "PRACTICE";
+				}
+				if(teacherType == null){
+					continue;
+				}
+				if(studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY
+						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
+						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_RENEW){
+					List<Integer> teacherIds = studentTeacherMapperDao.queryTeacherIds(userId,teacherType);
+					if(!CollectionUtils.isEmpty(teacherIds)){
+						Map<Integer, String> teacherMap = new HashMap<>(teacherIds.size());
+						teacherIds.stream().forEach(e->teacherMap.put(e,e.toString()));
+						sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_TEACHER_ACTIVITY_COURSE,
+								teacherMap, null, 0, null, "TEACHER", username, activityName);
+						break mark;
+					}
+				}
+				//获取乐团主管
+				Map<Integer, String> eduMap = MapUtil.convertMybatisMap(studentRegistrationDao.queryStudentEduMap(userId));
+				if (CollectionUtils.isEmpty(eduMap)) {
+					Set<Integer> integers = employeePositionService.queryUserIdByRoleId(new SysUserRoleEnum[]{ORGAN_MANAGER}, studentPaymentOrder.getOrganId());
+					eduMap = new HashMap<>(integers.size());
+					if (!CollectionUtils.isEmpty(integers)) {
+						for (Integer integer : integers) {
+							eduMap.put(integer, integer.toString());
+						}
+					}
+				}
+				if (!CollectionUtils.isEmpty(eduMap)) {
+					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_SYSTEM_ACTIVITY_COURSE,
+							eduMap, null, 0, null, "SYSTEM", username, activityName);
+				}
+			}
 		}
 	}
 }

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

@@ -2335,7 +2335,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 sysCouponCodeService.quit(order.getCouponCodeId());
             } else {
                 //活动赠送
-                Integer activityUserMapperId = studentPaymentOrderService.activityGive(vipGroup.getVipGroupActivityId(), order,
+                studentPaymentOrderService.activityGive(vipGroup.getVipGroupActivityId(), order,
                         vipGroup.getId().toString(), null);
 
                 //生成班级学员关联

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

@@ -62,8 +62,6 @@
         <result property="balance" column="balance_"/>
         <result property="serviceTag" column="service_tag_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="operatingTag" column="operating_tag_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result property="teacherName" column="teacher_name_"/>
-        <result property="teacherId" column="teacher_id_"/>
         <result property="subjectIdList" column="subject_id_list_"/>
         <result property="isNewUser" column="is_new_user_"/>
         <result property="isSignedContract" column="is_signed_contract_"/>
@@ -151,7 +149,7 @@
         SELECT o.`name_` organ_name_,o.grade_type_,s.`user_id_`,s.repair_flag_ ,su.`username_` ,su.`phone_` parents_phone_,s.ext_subject_ids_,
         sut.name_ real_name_,su.`gender_` , su.organ_id_,su.avatar_,CASE s.service_tag_ WHEN 2 THEN 0 ELSE s.service_tag_ END service_tag_ ,s.`operating_tag_` ,
         s.care_package_, s.come_on_package_, suca.`course_balance_` ,suca.balance_,
-		sub.`name_` music_group_subject_ ,su.birthdate_,s.subject_id_list_,s.teacher_id_,s.current_grade_num_,s.current_class_,s.member_rank_setting_id_,
+		sub.`name_` music_group_subject_ ,su.birthdate_,s.subject_id_list_,s.current_grade_num_,s.current_class_,s.member_rank_setting_id_,
         CASE WHEN su.password_ IS NULL THEN FALSE ELSE TRUE END isActive_,s.is_new_user_,
         s.membership_end_time_,CASE WHEN sut.user_id_ IS NULL THEN 0 ELSE 1 END is_signed_contract_,
         s.cooperation_organ_id_,co.name_ cooperation_organ_name_,s.activity_course_detail_,s.experience_membership_end_time_,