浏览代码

后台消息推送修改

zouxuan 3 年之前
父节点
当前提交
c593bce921

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

@@ -155,7 +155,7 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @param roleIds
      * @return
      */
-    Set<Integer> queryUserIdByRoleId(@Param("roleIds") Set<Integer> roleIds, @Param("organId") Integer organId);
+    Set<Integer> queryUserIdByRoleId(@Param("roleIds") Set<Integer> roles, @Param("organId") Integer organId);
 
     /**
      * 获取教务老师时当前用户的乐团

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SysUserRoleEnum.java

@@ -0,0 +1,13 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+//分部经理,乐团主管,维修技师
+public enum SysUserRoleEnum implements BaseEnum<String,SysUserRoleEnum> {
+    SECTION_MANAGER,EDUCATIONAL_TEACHER,REPAIR,JOIN_TEACHER;
+
+    @Override
+    public String getCode() {
+        return name();
+    }
+}

+ 91 - 0
mec-biz/src/main/java/com/ym/mec/biz/event/SendSeoMessageChangeEvent.java

@@ -0,0 +1,91 @@
+package com.ym.mec.biz.event;
+
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
+import org.springframework.context.ApplicationEvent;
+
+import java.util.Map;
+
+public class SendSeoMessageChangeEvent extends ApplicationEvent {
+    //分部
+    private Integer organId;
+
+    //角色列表
+    private SysUserRoleEnum[] roleArr;
+
+    //额外参数
+    private Map<String, Long> memo;
+
+    //其他的目标用户
+    private Integer targetId;
+
+    //短信模板
+    private MessageTypeEnum msgTemplate;
+
+    //参数
+    private Object[] args;
+
+    /**
+     * Create a new ApplicationEvent.
+     *
+     * @param source the object on which the event initially occurred (never {@code null})
+     */
+    public SendSeoMessageChangeEvent(Object source,Integer organId,SysUserRoleEnum[] roleArr,Map<String, Long> memo,
+                                     Integer targetId,MessageTypeEnum msgTemplate,Object... args) {
+        super(source);
+        this.organId = organId;
+        this.roleArr = roleArr;
+        this.memo = memo;
+        this.targetId = targetId;
+        this.msgTemplate = msgTemplate;
+        this.args = args;
+    }
+
+    public Object[] getArgs() {
+        return args;
+    }
+
+    public void setArgs(Object[] args) {
+        this.args = args;
+    }
+
+    public MessageTypeEnum getMsgTemplate() {
+        return msgTemplate;
+    }
+
+    public void setMsgTemplate(MessageTypeEnum msgTemplate) {
+        this.msgTemplate = msgTemplate;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public SysUserRoleEnum[] getRoleArr() {
+        return roleArr;
+    }
+
+    public void setRoleArr(SysUserRoleEnum[] roleArr) {
+        this.roleArr = roleArr;
+    }
+
+    public Map<String, Long> getMemo() {
+        return memo;
+    }
+
+    public void setMemo(Map<String, Long> memo) {
+        this.memo = memo;
+    }
+
+    public Integer getTargetId() {
+        return targetId;
+    }
+
+    public void setTargetIdList(Integer targetId) {
+        this.targetId = targetId;
+    }
+}

+ 37 - 0
mec-biz/src/main/java/com/ym/mec/biz/event/listener/SendSeoMessageListener.java

@@ -0,0 +1,37 @@
+package com.ym.mec.biz.event.listener;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ym.mec.biz.event.SendSeoMessageChangeEvent;
+import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.biz.service.SysMessageService;
+import org.springframework.context.ApplicationListener;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Set;
+
+@Component
+public class SendSeoMessageListener implements ApplicationListener<SendSeoMessageChangeEvent> {
+
+    @Resource
+    private SysMessageService sysMessageService;
+    @Resource
+    private OrganizationService organizationService;
+
+    @Async
+    @Override
+    public void onApplicationEvent(SendSeoMessageChangeEvent event) {
+        Set<Integer> targetUserIdList = organizationService.queryUserIdByRoleId(event.getRoleArr(), event.getOrganId());
+        if(targetUserIdList != null && targetUserIdList.size() > 0){
+            if(event.getTargetId() != null){
+                targetUserIdList.add(event.getTargetId());
+            }
+            sysMessageService.batchSeoMessage(targetUserIdList,
+                    event.getMsgTemplate(),
+                    JSONObject.toJSONString(event.getMemo()),
+                    Arrays.stream(event.getArgs()).toArray(Object[]::new));
+        }
+    }
+}

+ 0 - 4
mec-biz/src/main/java/com/ym/mec/biz/event/listener/TeacherAttendanceListener.java

@@ -1,4 +0,0 @@
-package com.ym.mec.biz.event.listener;
-
-public class TeacherAttendanceListener {
-}

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/event/source/SendSeoMessageSource.java

@@ -0,0 +1,21 @@
+package com.ym.mec.biz.event.source;
+
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
+import com.ym.mec.biz.event.SendSeoMessageChangeEvent;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+@Component
+public class SendSeoMessageSource {
+    @Resource
+    private ApplicationContext applicationContext;
+
+    public void sendSeoMessage(Integer organId, SysUserRoleEnum[] roleArr, Map<String, Long> memo,
+                               Integer targetId, MessageTypeEnum msgTemplate, Object... args){
+        applicationContext.publishEvent(new SendSeoMessageChangeEvent(this,organId,roleArr,memo,targetId,msgTemplate,args));
+    }
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.MapDto;
 import com.ym.mec.biz.dal.entity.Organization;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
 import com.ym.mec.biz.dal.page.OrganizationQueryInfo;
 import com.ym.mec.common.entity.Mapper;
 import com.ym.mec.common.page.PageInfo;
@@ -49,4 +50,14 @@ public interface OrganizationService extends BaseService<Integer, Organization>
     Long add(Organization organization);
 
     Map<String,List<Mapper>> getOrganRole(Integer id);
+
+    /**
+    * @description: 获取分部的管理人员
+     * @param roleArr
+     * @param organId
+    * @return java.util.Set<java.lang.Integer>
+    * @author zx
+    * @date 2022/1/4 11:36
+    */
+    Set<Integer> queryUserIdByRoleId(SysUserRoleEnum[] roleArr, Integer organId);
 }

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

@@ -38,7 +38,7 @@ public interface StudentInstrumentService extends BaseService<Long, StudentInstr
      * @param order
      * @return
      */
-    Long addOrderDetail2Instrument(StudentPaymentOrder order, BigDecimal cloudTeacherFee,Integer goodsId);
+    Long addOrderDetail2Instrument(StudentPaymentOrder order,Integer goodsId);
 
 
     /**

+ 7 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -4,6 +4,7 @@ import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
 import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
 import static com.ym.mec.biz.dal.enums.GroupType.VIP;
 import static com.ym.mec.biz.dal.enums.PracticeGroupType.*;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
 
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
@@ -20,6 +21,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -154,7 +156,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     @Autowired
 	private StudentServeService studentServeService;
     @Autowired
-	private EmployeeDao employeeDao;
+	private SendSeoMessageSource sendSeoMessageSource;
     @Autowired
 	private VipGroupActivityDao vipGroupActivityDao;
     @Autowired
@@ -4050,13 +4052,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				targetUserId = coursesGroupDao.get(Long.parseLong(musicGroupId)).getEducationalTeacherId();
 				break;
 		}
-		Set<Integer> roleIds = new HashSet<>(1);
-		roleIds.add(SysUserRole.SECTION_MANAGER);
-		Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, user.getOrganId());
-		integers.add(targetUserId);
-        Map<String, Long> memo = new HashMap<>(1);
-        memo.put("courseScheduleComplaintsId", courseScheduleComplaints.getId());
-        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL, JSONObject.toJSONString(memo), courseSchedule.getName(), user.getUsername());
+		Map<String, Long> memo = new HashMap<>(1);
+		memo.put("courseScheduleComplaintsId", courseScheduleComplaints.getId());
+		sendSeoMessageSource.sendSeoMessage(user.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+				memo,targetUserId,MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL,courseSchedule.getName(), user.getUsername());
     }
 
     @Override

+ 10 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -17,6 +17,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.MusicGroupPaymentCalenderQueryInfo;
 import com.ym.mec.biz.event.source.GroupEventSource;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -48,6 +49,7 @@ import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.ST
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.*;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.*;
 import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
 
 @Service
 public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalender> implements MusicGroupPaymentCalenderService {
@@ -93,6 +95,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
+	private SendSeoMessageSource sendSeoMessageSource;
+	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	private ImGroupMemberService imGroupMemberService;
@@ -493,11 +497,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 		if (status == AUDITING) {
 			// 如果是审核中
-			Set<Integer> roleIds = new HashSet<>(1);
-			roleIds.add(SysUserRole.SECTION_MANAGER);
 			Organization organization = organizationDao.get(musicGroup.getOrganId());
-			sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
-					MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT, "", organization.getName(), musicGroup.getName());
+			sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+					null,null,MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT,organization.getName(), musicGroup.getName());
 		}else {
 			imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.MUSIC);
 		}
@@ -666,11 +668,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		}
 		if (status == AUDITING) {
 			// 如果是审核中
-			Set<Integer> roleIds = new HashSet<>(1);
-			roleIds.add(SysUserRole.SECTION_MANAGER);
 			Organization organization = organizationDao.get(musicGroup.getOrganId());
-			sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
-					MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT, "", organization.getName(), musicGroup.getName());
+			sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+					null,null,MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT,organization.getName(), musicGroup.getName());
 		}
 		return batchNo;
 	}
@@ -1069,11 +1069,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 		if (status == AUDITING) {
 			// 如果是审核中
-			Set<Integer> roleIds = new HashSet<>(1);
-			roleIds.add(SysUserRole.SECTION_MANAGER);
 			Organization organization = organizationDao.get(musicGroup.getOrganId());
-			sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
-					MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT, "", organization.getName(), musicGroup.getName());
+			sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+					null,null,MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT,organization.getName(), musicGroup.getName());
 		}else {
 			if(paymentType == ADD_STUDENT){
 				MusicGroupStudentClassAdjust musicGroupStudentClassAdjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);

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

@@ -7,6 +7,7 @@ import static com.ym.mec.biz.dal.enums.DealStatusEnum.SUCCESS;
 import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.*;
 import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.VIP;
 import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
 
 import java.io.IOException;
 import java.math.BigDecimal;
@@ -29,6 +30,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.tenant.TenantContextHolder;
@@ -198,6 +200,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
     @Autowired
     private SysCouponCodeService sysCouponCodeService;
+    @Autowired
+    private SendSeoMessageSource sendSeoMessageSource;
 
     private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
 
@@ -241,9 +245,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         String event = musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT ? "新建乐团,提交审核" : "保存乐团草稿";
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, event, sysUser.getId(), ""));
         if (musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT) {
-            Set<Integer> roleIds = new HashSet<>(1);
-            roleIds.add(SysUserRole.SECTION_MANAGER);
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getRealName(), musicGroup.getName());
+            sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                    null,null,MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,sysUser.getRealName(), musicGroup.getName());
         }
         // 保存乐团付费主体列表
         //批量新增
@@ -3565,11 +3568,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         map, null, 0, "", "", musicGroup.getName(), studentApplyUrl);
             }
         }
-        Set<Integer> roleIds = new HashSet<>(1);
-        roleIds.add(SysUserRole.SECTION_MANAGER);
-        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
-        integers.add(musicGroup.getEducationalTeacherId());
-        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT, "", musicGroup.getName());
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},null,
+                musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,musicGroup.getName());
         return musicGroup;
     }
 

+ 35 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import com.alibaba.fastjson.JSON;
@@ -11,6 +12,7 @@ import com.ym.mec.biz.dal.dto.MapDto;
 import com.ym.mec.biz.dal.enums.FivePlusGradeEnum;
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
 import com.ym.mec.biz.dal.enums.SixPlusGradeEnum;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
 import com.ym.mec.common.entity.Mapper;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.util.collection.MapUtil;
@@ -27,6 +29,8 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.*;
+
 @Service
 public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organization> implements OrganizationService {
 
@@ -148,7 +152,34 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		return resultMap;
 	}
 
-	private List<Mapper> getOrganManagerName(Map<Integer, String> nameMap, String organManager){
+    @Override
+    public Set<Integer> queryUserIdByRoleId(SysUserRoleEnum[] roleArr, Integer organId) {
+		Organization organization = organizationDao.get(organId);
+		if(organization == null){
+			throw new BizException("分部信息不存在");
+		}
+		if(roleArr == null || roleArr.length == 0){
+			return null;
+		}
+		StringJoiner stringJoiner = new StringJoiner(",");
+		for (SysUserRoleEnum e : roleArr) {
+			if(SECTION_MANAGER.equals(e) && StringUtils.isNotEmpty(organization.getOrganManager())){
+				stringJoiner.add(organization.getOrganManager());
+			}else if (EDUCATIONAL_TEACHER.equals(e) && StringUtils.isNotEmpty(organization.getEducationId())){
+				stringJoiner.add(organization.getEducationId());
+			}else if(REPAIR.equals(e) && StringUtils.isNotEmpty(organization.getRepairId())){
+				stringJoiner.add(organization.getRepairId());
+			}else if(JOIN_TEACHER.equals(e) && StringUtils.isNotEmpty(organization.getJoinTeacherId())){
+				stringJoiner.add(organization.getJoinTeacherId());
+			}
+		}
+		if(stringJoiner.length() > 0) {
+			return Arrays.stream(stringJoiner.toString().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toSet());
+		}
+		return null;
+	}
+
+    private List<Mapper> getOrganManagerName(Map<Integer, String> nameMap, String organManager){
 		List<Mapper> mapperList = new ArrayList<>();
 		if(StringUtils.isNotEmpty(organManager)){
 			List<Integer> organIds = Arrays.stream(organManager.split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
@@ -160,16 +191,13 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	}
 
 	private String concatOrganManager(String... userIds){
-		StringBuffer sb = new StringBuffer();
+		StringJoiner stringJoiner = new StringJoiner(",");
 		for (String userId : userIds) {
 			if(StringUtils.isNotEmpty(userId)){
-				sb.append(userId).append(",");
+				stringJoiner.add(userId);
 			}
 		}
-		if(sb.length() > 0){
-			return sb.substring(0,sb.length() - 1);
-		}
-		return null;
+		return stringJoiner.toString();
 	}
 
 	private Organization initOrganization(Organization organization){

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

@@ -304,7 +304,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
     }
 
     @Override
-    public Long addOrderDetail2Instrument(StudentPaymentOrder order, BigDecimal cloudTeacherFee,Integer goodsId) {
+    public Long addOrderDetail2Instrument(StudentPaymentOrder order,Integer goodsId) {
         StudentInstrument studentInstrument = new StudentInstrument();
         studentInstrument.setStudentId(order.getUserId());
         studentInstrument.setOrganId(order.getOrganId());

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

@@ -586,20 +586,18 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         }
 
         //学生乐器与月保处理
-        if(detailTypeEnums.contains(MAINTENANCE)){
-            StudentPaymentOrderDetail repair = allDetails.stream().filter(o -> o.getType()==MAINTENANCE).findFirst().get();
-            BigDecimal repairFee = allDetails.stream() .filter(o -> o.getType()==MAINTENANCE)
-                    .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+        if(detailTypeEnums.contains(MUSICAL)){
             StudentPaymentOrderDetail musical = allDetails.stream().filter(o -> o.getType()==MUSICAL).findFirst().get();
-            Long studentInstrumentId = studentInstrumentService.addOrderDetail2Instrument(studentPaymentOrder, repairFee, Integer.valueOf(musical.getGoodsIdList()));
-            repair.setStudentInstrumentId(studentInstrumentId);
-            studentPaymentOrderDetailDao.update(repair);
+            Long studentInstrumentId = studentInstrumentService.addOrderDetail2Instrument(studentPaymentOrder, Integer.valueOf(musical.getGoodsIdList()));
+            if(detailTypeEnums.contains(MAINTENANCE)){
+                StudentPaymentOrderDetail repair = allDetails.stream().filter(o -> o.getType()==MAINTENANCE).findFirst().get();
+                repair.setStudentInstrumentId(studentInstrumentId);
+                studentPaymentOrderDetailDao.update(repair);
+            }
         }
 
         //学生云教练处理
         if(detailTypeEnums.contains(CLOUD_TEACHER)){
-            StudentPaymentOrderDetail cloudTeacher = allDetails.stream().filter(o -> o.getType()==CLOUD_TEACHER).findFirst().get();
             BigDecimal cloudTeacherFee = allDetails.stream() .filter(o -> o.getType()==CLOUD_TEACHER)
                     .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
                     .reduce(BigDecimal.ZERO, BigDecimal::add);

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -176,11 +176,12 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	public boolean batchSeoMessage(Set<Integer> userIds, MessageTypeEnum messageType,String memo, Object... args) {
-		/*if(userIds != null){
+		if(userIds != null){
 			userIds.removeAll(Collections.singleton(null));
 		}
 		if (userIds == null || userIds.size() == 0) {
-			throw new BizException("接收地址不能为空");
+			LOGGER.error("接收地址不能为空");
+			return false;
 		}
 		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(messageType);
 		if (messageConfig == null) {
@@ -210,7 +211,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			message.setGroup(messageConfig.getGroup());
 			messages.add(message);
 		}
-		sysMessageDao.batchInsert(messages);*/
+		sysMessageDao.batchInsert(messages);
 		return true;
 	}