Pārlūkot izejas kodu

Merge branch 'zx_2022-11-14' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 gadi atpakaļ
vecāks
revīzija
68c2822b1d

+ 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

+ 89 - 44
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,53 +843,95 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		}
 	}
 
-    private void sendSuccessMsg(StudentPaymentOrder studentPaymentOrder){
-		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)) {
+    private void sendSuccessMsg(StudentPaymentOrder studentPaymentOrder,ActivityUserMapper activityUserMapper){
+		try {
+			Integer userId = studentPaymentOrder.getUserId();
+			String[] split = studentPaymentOrder.getActivityId().split(",");
+			for (String activityId : split) {
+				VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(Integer.parseInt(activityId));
+				String activityName = vipGroupActivity.getName();
 				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_ACTIVITY, map, null, 0, null, "STUDENT",
-						activityName);
-				//获取乐团主管
-				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());
+				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;
 						}
 					}
-				}
-				if (!CollectionUtils.isEmpty(eduMap)) {
-					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);
+					//获取乐团主管
+					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);
+					}
+				}else {
+					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",
+							activityName);
+					if(!tenantConfigService.autoActivationFlag(user.getTenantId())){
+						//获取乐团主管
+						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_MEMBER,
+									eduMap, null, 0, null, "SYSTEM", 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",
-						activityName);
-				if(!tenantConfigService.autoActivationFlag(user.getTenantId())){
+				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)) {
@@ -901,11 +944,13 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 						}
 					}
 					if (!CollectionUtils.isEmpty(eduMap)) {
-						sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_SYSTEM_ACTIVITY_MEMBER,
+						sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_SYSTEM_ACTIVITY_COURSE,
 								eduMap, null, 0, null, "SYSTEM", username, activityName);
 					}
 				}
 			}
+		}catch (Exception e){
+			e.printStackTrace();
 		}
 	}
 }

+ 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_,