Browse Source

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

yonge 3 years ago
parent
commit
fb981b56e7

+ 4 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DeductReasonEnum.java

@@ -9,8 +9,10 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum DeductReasonEnum implements BaseEnum<String,DeductReasonEnum> {
     SIGN_IN_TIME_ERR("SIGN_IN_TIME_ERR", "签到时间异常", ""),
     SIGN_OUT_TIME_ERR("SIGN_OUT_TIME_ERR", "签退时间异常", ""),
-    GPS_ERR_IN("GPS_ERR", "签到位置异常", ""),
-    GPS_ERR_OUT("GPS_ERR", "签退位置异常", ""),
+    GPS_ERR_IN("GPS_ERR_IN", "签到位置异常", ""),
+    GPS_ERR_OUT("GPS_ERR_OUT", "签退位置异常", ""),
+    NO_GPS("NO_GPS", "未点名", ""),
+    GPS_ERR("GPS_ERR", "点名位置异常", ""),
     NOT_SETTLEMENT("NOT_SETTLEMENT", "不结算课酬", "特殊老师不结算课酬"),
     TRAIL("TRAIL", "试用期扣减", "试用期老师课酬按系统配置的折扣计算"),
 

+ 4 - 6
mec-biz/src/main/java/com/ym/mec/biz/event/SendSeoMessageChangeEvent.java

@@ -4,8 +4,6 @@ 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;
@@ -14,7 +12,7 @@ public class SendSeoMessageChangeEvent extends ApplicationEvent {
     private SysUserRoleEnum[] roleArr;
 
     //额外参数
-    private Map<String, Long> memo;
+    private String memo;
 
     //其他的目标用户
     private Integer targetId;
@@ -30,7 +28,7 @@ public class SendSeoMessageChangeEvent extends 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,
+    public SendSeoMessageChangeEvent(Object source,Integer organId,SysUserRoleEnum[] roleArr,String memo,
                                      Integer targetId,MessageTypeEnum msgTemplate,Object... args) {
         super(source);
         this.organId = organId;
@@ -73,11 +71,11 @@ public class SendSeoMessageChangeEvent extends ApplicationEvent {
         this.roleArr = roleArr;
     }
 
-    public Map<String, Long> getMemo() {
+    public String getMemo() {
         return memo;
     }
 
-    public void setMemo(Map<String, Long> memo) {
+    public void setMemo(String memo) {
         this.memo = memo;
     }
 

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

@@ -24,10 +24,10 @@ public class SendSeoMessageListener implements ApplicationListener<SendSeoMessag
     @Override
     public void onApplicationEvent(SendSeoMessageChangeEvent event) {
         Set<Integer> targetUserIdList = organizationService.queryUserIdByRoleId(event.getRoleArr(), event.getOrganId());
+        if(event.getTargetId() != null){
+            targetUserIdList.add(event.getTargetId());
+        }
         if(targetUserIdList != null && targetUserIdList.size() > 0){
-            if(event.getTargetId() != null){
-                targetUserIdList.add(event.getTargetId());
-            }
             sysMessageService.batchSeoMessage(targetUserIdList,
                     event.getMsgTemplate(),
                     JSONObject.toJSONString(event.getMemo()),

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/event/source/SendSeoMessageSource.java

@@ -7,14 +7,13 @@ 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,
+    public void sendSeoMessage(Integer organId, SysUserRoleEnum[] roleArr, String memo,
                                Integer targetId, MessageTypeEnum msgTemplate, Object... args){
         applicationContext.publishEvent(new SendSeoMessageChangeEvent(this,organId,roleArr,memo,targetId,msgTemplate,args));
     }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -105,6 +105,15 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
     String OFFLINE_SIGN_OUT_GPS_ERROR_CUT_SALARY = "offline_sign_out_gps_error_cut_salary";
     //线下课签退定位异常扣除金额
     String OFFLINE_SIGN_OUT_GPS_ERROR_CUT_SALARY_UNIT = "offline_sign_out_gps_error_cut_salary_unit";
+    //vip线下课点名定位异常扣除金额
+    String VIP_OFFLINE_GPS_ERROR_CUT_SALARY = "vip_offline_gps_error_cut_salary";
+    //vip线下课点名定位异常扣除金额单位
+    String VIP_OFFLINE_GPS_ERROR_CUT_SALARY_UNIT = "vip_offline_gps_error_cut_salary_unit";
+    //vip线下课未点名扣除金额
+    String VIP_OFFLINE_NO_GPS_ERROR_CUT_SALARY = "vip_offline_no_gps_error_cut_salary";
+    //vip线下课未点名扣除金额单位
+    String VIP_OFFLINE_NO_GPS_ERROR_CUT_SALARY_UNIT = "vip_offline_no_gps_error_cut_salary_unit";
+
     //试用期老师课酬发放百分比
     String PROBATION_TEACHER_SALARY = "probation_teacher_salary";
 

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

@@ -4055,7 +4055,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		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());
+				JSONObject.toJSONString(memo),targetUserId,MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL,courseSchedule.getName(), user.getUsername());
     }
 
     @Override

+ 25 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -411,22 +411,23 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             CourseSchedule courseSchedule = courseScheduleTeacherSalary.getCourseSchedule();
             TeachModeEnum teachMode = courseScheduleTeacherSalary.getCourseSchedule().getTeachMode();
             if(TeachModeEnum.OFFLINE == teachMode){
-                if(teacherAttendance.getSignInStatus() == null || teacherAttendance.getSignInStatus() == YesOrNoEnum.NO){
-                    String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_IN_GPS_ERROR_CUT_SALARY, tenantId);
-                    String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_IN_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
+                //如果没签到也没签退,那么就是未点名
+                if(teacherAttendance.getSignInStatus() == null || teacherAttendance.getSignOutStatus() == null){
+                    String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_NO_GPS_ERROR_CUT_SALARY, tenantId);
+                    String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_NO_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
                     BigDecimal signInGpsCutAmount = getCutAmount(c, c1, expectSalary);
                     if(signInGpsCutAmount.compareTo(BigDecimal.ZERO) > 0){
                         deductCost = deductCost.add(signInGpsCutAmount);
-                        deductReasons.add("签到经纬度异常扣除" + signInGpsCutAmount);
+                        deductReasons.add("VIP线下课未点名扣除" + signInGpsCutAmount);
                     }
                 }
-                if(teacherAttendance.getSignOutStatus() == null || teacherAttendance.getSignOutStatus() == YesOrNoEnum.NO){
-                    String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_OUT_GPS_ERROR_CUT_SALARY, tenantId);
-                    String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_OUT_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
+                if(teacherAttendance.getSignOutStatus() == YesOrNoEnum.NO || teacherAttendance.getSignInStatus() == YesOrNoEnum.NO){
+                    String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_GPS_ERROR_CUT_SALARY, tenantId);
+                    String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
                     BigDecimal signOutGpsCutAmount = getCutAmount(c, c1, expectSalary);
                     if(signOutGpsCutAmount.compareTo(BigDecimal.ZERO) > 0){
                         deductCost = deductCost.add(signOutGpsCutAmount);
-                        deductReasons.add("签退经纬度异常扣除" + signOutGpsCutAmount);
+                        deductReasons.add("VIP线下课点名经纬度异常扣除" + signOutGpsCutAmount);
                     }
                 }
             }else {
@@ -1783,33 +1784,34 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         //扣除费用
         BigDecimal deductCost = BigDecimal.ZERO;
         TeachModeEnum teachMode = courseSchedule.getTeachMode();
+        TeacherAttendance teacherAttendance = null;
+        if(teacherAttendances != null && teacherAttendances.size() > 0){
+            teacherAttendance = teacherAttendances.get(0);
+        }
+        if(teacherAttendance == null){
+            teacherAttendance = new TeacherAttendance();
+        }
         if(TeachModeEnum.OFFLINE == teachMode){
-            if(true){
-                String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_IN_GPS_ERROR_CUT_SALARY, tenantId);
-                String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_IN_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
+            //如果没签到也没签退,那么就是未点名
+            if(teacherAttendance.getSignInStatus() == null || teacherAttendance.getSignOutStatus() == null){
+                String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_NO_GPS_ERROR_CUT_SALARY, tenantId);
+                String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_NO_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
                 BigDecimal signInGpsCutAmount = getCutAmount(c, c1, expectSalary);
                 if(signInGpsCutAmount.compareTo(BigDecimal.ZERO) > 0){
                     deductCost = deductCost.add(signInGpsCutAmount);
-                    deductReasons.add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.GPS_ERR_IN, signInGpsCutAmount));
+                    deductReasons.add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.NO_GPS, signInGpsCutAmount));
                 }
             }
-            if(true){
-                String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_OUT_GPS_ERROR_CUT_SALARY, tenantId);
-                String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.OFFLINE_SIGN_OUT_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
+            if(teacherAttendance.getSignOutStatus() == YesOrNoEnum.NO || teacherAttendance.getSignInStatus() == YesOrNoEnum.NO){
+                String c = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_GPS_ERROR_CUT_SALARY, tenantId);
+                String c1 = sysTenantConfigService.getTenantConfigValue(SysConfigService.VIP_OFFLINE_GPS_ERROR_CUT_SALARY_UNIT, tenantId);
                 BigDecimal signOutGpsCutAmount = getCutAmount(c, c1, expectSalary);
                 if(signOutGpsCutAmount.compareTo(BigDecimal.ZERO) > 0){
                     deductCost = deductCost.add(signOutGpsCutAmount);
-                    deductReasons.add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.GPS_ERR_OUT, signOutGpsCutAmount));
+                    deductReasons.add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.GPS_ERR, signOutGpsCutAmount));
                 }
             }
         }else {
-            TeacherAttendance teacherAttendance = null;
-            if(teacherAttendances != null && teacherAttendances.size() > 0){
-                teacherAttendance = teacherAttendances.get(0);
-            }
-            if(teacherAttendance == null){
-                teacherAttendance = new TeacherAttendance();
-            }
             if(teacherAttendance.getSignInStatus() == null || teacherAttendance.getSignInStatus() == YesOrNoEnum.NO){
                 SalarySettlementSignEnum signInStatus = getSignInStatus(teacherAttendance.getSignInTime(), courseSchedule.getStartClassTime(), teachMode,tenantId);
                 BigDecimal signInDeductCost = getSignInDeduce(expectSalary, signInStatus, teachMode,tenantId);

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

@@ -26,6 +26,7 @@ import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -1345,10 +1346,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
             musicGroupSubjectGoodsGroupDao.batchInsert(subFeeSettingDto.getMusicGroupSubjectGoodsGroups(), musicGroupId);
         }
-        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());
     }
 
     @Override
@@ -1412,11 +1411,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
                     map, null, 0, "1", "TEACHER", musicGroup.getName());
         }
-        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_GROUP, "1", musicGroup.getName());
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                "1",musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,musicGroup.getName());
 
         //统计变更学员数
         groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, null);
@@ -1447,10 +1443,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "提交审核(草稿 -> 审核中)", sysUser.getId(), ""));
         musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
         musicGroupDao.update(musicGroup);
-        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());
     }
 
     @Override
@@ -1511,10 +1505,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         // 添加成员
         imGroupMemberService.join(Long.parseLong(musicGroupId), userRoleMap);
-        Set<Integer> roleIds = new HashSet<>(1);
-        roleIds.add(musicGroup.getEducationalTeacherId());
-        sysMessageService.batchSeoMessage(roleIds,
-                MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS, "", musicGroup.getName());
+        //缴费老师推送消息
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),null,
+                null,musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS, musicGroup.getName());
         Map<Integer, String> map = new HashMap<>(1);
         map.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
         if (map != null && map.size() > 0) {
@@ -1721,11 +1714,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //记录建团日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "取消乐团", sysUser.getId(), ""));
-        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_MUSIC_GROUP_STOP, "1", musicGroup.getName());
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                "1",musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP, musicGroup.getName());
         return true;
     }
 
@@ -1864,11 +1854,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "延长缴费", sysUser.getId(), ""));
-        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_LENGTHEN_PAYMENT, "", musicGroup.getName());
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                null,musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT, musicGroup.getName());
         return true;
     }
 
@@ -2027,17 +2014,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			Map<String, Object> memo = new HashMap<>(2);
 			memo.put("Id", musicGroupQuit.getId());
 			memo.put("type", "MUSICGROUP");
-
 			SysUser sysUser = sysUserFeignService.queryUserById(userId);
-
-			sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo),
-					sysUser.getUsername());
 			Map<Integer, String> receivers = new HashMap<>(integers.size());
 			for (Integer integer : integers) {
 				receivers.put(integer, integer.toString());
 			}
 			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SYSTEM_PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY, receivers, null, 0, null,
 					"SYSTEM", musicGroup.getName(), sysUser.getUsername());
+
+            sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                    JSONObject.toJSONString(memo),null,MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, sysUser.getUsername());
 		} else {
 			musicGroupQuit.setStatus(reqMusicGroupQuit.getStatus());
 			approveQuitMusicGroup(currentOperatorRoleIds, musicGroupQuit);
@@ -3683,11 +3669,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 //                }
 //            }
 //        }
-        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_MUSIC_GROUP_MARKING, "", musicGroup.getName());
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                null,musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, musicGroup.getName());
     }
 
     /**

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

@@ -159,7 +159,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 			throw new BizException("分部信息不存在");
 		}
 		if(roleArr == null || roleArr.length == 0){
-			return null;
+			return new HashSet<>();
 		}
 		StringJoiner stringJoiner = new StringJoiner(",");
 		for (SysUserRoleEnum e : roleArr) {
@@ -176,7 +176,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		if(stringJoiner.length() > 0) {
 			return Arrays.stream(stringJoiner.toString().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toSet());
 		}
-		return null;
+		return new HashSet<>();
 	}
 
     private List<Mapper> getOrganManagerName(Map<Integer, String> nameMap, String organManager){

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -532,7 +532,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                 && !(o.getType() == PRACTICE)
                 && !(o.getType() == MAINTENANCE)
                 && !(o.getType() == CLOUD_TEACHER)
-                && !(o.getType() == CLOUD_TEACHER)
+                && !(o.getType() == CLOUD_TEACHER_PLUS)
                 && !(o.getType() == ACCESSORIES))
                 .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
                 .reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -607,6 +607,10 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 
     @Override
     public List<StudentPaymentOrderDetail> findByOrderId(Long paymentOrderId) {
-        return studentPaymentOrderDetailDao.findByOrderId(paymentOrderId);
+        List<StudentPaymentOrderDetail> paymentOrderDetails = studentPaymentOrderDetailDao.findByOrderId(paymentOrderId);
+        for (StudentPaymentOrderDetail paymentOrderDetail : paymentOrderDetails) {
+            paymentOrderDetail.setGoodsList(goodsService.findGoodsByIds(paymentOrderDetail.getGoodsIdList()));
+        }
+        return paymentOrderDetails;
     }
 }

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

@@ -10,6 +10,7 @@ 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.dal.page.*;
+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.entity.HttpResponseResult;
@@ -44,6 +45,7 @@ import static com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus.NON_P
 import static com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED;
 import static com.ym.mec.biz.dal.enums.OrderDetailTypeEnum.*;
 import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
 
 @Service
 public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, StudentRegistration> implements StudentRegistrationService {
@@ -71,6 +73,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Autowired
     private SysMessageService sysMessageService;
     @Autowired
+    private SendSeoMessageSource sendSeoMessageSource;
+    @Autowired
     private MusicGroupSubjectPlanDao musicGroupSubjectPlanDao;
     @Autowired
     private SubjectDao subjectDao;
@@ -223,11 +227,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             //修改专业已报名人数
             musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, subId, 1);
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-            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_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
+
+            sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                    null,musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, musicGroup.getName());
         }
         return i;
     }
@@ -856,12 +858,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         imFeignService.update(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
         
         //学生报名表
-        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_MUSIC_GROUP_ADD_STUDENT, "", musicGroup.getName(), studentRegistration.getName());
-        
+        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+                null,musicGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT, musicGroup.getName(), studentRegistration.getName());
         return userId;
     }
 

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

@@ -13,6 +13,7 @@ import com.ym.mec.biz.dal.entity.StudentWithdraw;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.StudentWithdrawService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.SysUserCashAccountDetailService;
@@ -32,6 +33,8 @@ import org.springframework.transaction.annotation.Transactional;
 import java.math.BigDecimal;
 import java.util.*;
 
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
+
 @Service
 public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, StudentWithdraw> implements StudentWithdrawService {
 
@@ -57,9 +60,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 	@Autowired
 	private SysUserCashAccountDetailService accountDetailService;
 	@Autowired
-	private SysMessageService sysMessageService;
-	@Autowired
-	private MusicGroupDao musicGroupDao;
+	private SendSeoMessageSource sendSeoMessageSource;
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -192,9 +193,8 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 				cashAccountDetail.setStatus(DealStatusEnum.ING);
 				cashAccountDetail.setAttribute(withdraw.getId()+"");
 				cashAccountDetailService.insert(cashAccountDetail);
-				Set<Integer> roleIds = new HashSet<>(1);
-				roleIds.add(SysUserRole.SECTION_MANAGER);
-				sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId()), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_WITHDRAW,"",sysUser.getUsername());
+				sendSeoMessageSource.sendSeoMessage(sysUser.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+						null,null,MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_WITHDRAW, sysUser.getUsername());
 			} else {
 				throw new BizException("账户余额不足");
 			}

+ 11 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java

@@ -10,6 +10,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import org.apache.commons.lang3.StringUtils;
@@ -44,6 +46,9 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.json.JsonUtil;
 
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATIONAL_TEACHER;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
+
 @Service
 public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, TeacherLeaveRecord> implements TeacherLeaveRecordService {
 
@@ -52,14 +57,11 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 	@Autowired
 	private TeacherDao teacherDao;
 	@Autowired
-	private MusicGroupDao musicGroupDao;
-
-	@Autowired
 	private CourseScheduleService courseScheduleService;
-
 	@Autowired
 	private SysMessageService sysMessageService;
-
+	@Autowired
+	private SendSeoMessageSource sendSeoMessageSource;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 
@@ -109,16 +111,11 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 			}
 		}
 		teacherLeaveRecordDao.insert(teacherLeaveRecord);
-		Set<Integer> roleIds = new HashSet<>(1);
-		roleIds.add(SysUserRole.SECTION_MANAGER);
-		roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 		Teacher teacher = teacherDao.get(sysUser.getId());
-		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,teacher.getTeacherOrganId());
-		if (userIds != null && userIds.size() > 0) {
-			Map<String,Object> memo = new HashMap<>(1);
-			memo.put("leaveRecordId",teacherLeaveRecord.getId());
-			sysMessageService.batchSeoMessage(userIds, MessageTypeEnum.EDUCATION_PUSH_TEACHER_LEAVE_APPLY, JSONObject.toJSONString(memo), sysUser.getRealName());
-		}
+		Map<String,Object> memo = new HashMap<>(1);
+		memo.put("leaveRecordId",teacherLeaveRecord.getId());
+		sendSeoMessageSource.sendSeoMessage(teacher.getTeacherOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER,EDUCATIONAL_TEACHER},
+				JSONObject.toJSONString(memo),null,MessageTypeEnum.EDUCATION_PUSH_TEACHER_LEAVE_APPLY, sysUser.getRealName());
 		return true;
 	}
 

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

@@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.api.entity.SysUserRole;
 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.entity.StudentApplyRefunds.StudentApplyRefundsStatus;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.controller.BaseController;
@@ -26,7 +26,6 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.string.MessageFormatter;
-
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -40,15 +39,14 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
-
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
-
 import static com.ym.mec.biz.dal.enums.GroupType.VIP;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
 import static java.math.BigDecimal.ROUND_DOWN;
 import static java.math.BigDecimal.ZERO;
 
@@ -120,6 +118,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
+	private SendSeoMessageSource sendSeoMessageSource;
+	@Autowired
 	private VipGroupDefaultClassesCycleDao vipGroupDefaultClassesCycleDao;
 	@Autowired
 	private TeacherDao teacherDao;
@@ -724,26 +724,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			createVipGroupCourseScheInfo(vipGroupApplyBaseInfoDto.getId(),classGroup);
 		}
 
-		Set<Integer> roleIds = new HashSet<>(1);
-		roleIds.add(SysUserRole.SECTION_MANAGER);
-		Map<String,Long> memo = new HashMap<>(1);
-		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
-//		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
 		if(Objects.isNull(teacher)){
 			throw new BizException("该用户不存在");
 		}
-		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,teacher.getTeacherOrganId());
-		if(CollectionUtils.isEmpty(userIds)){
-			throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
-		}
-		if(vipGroupApplyBaseInfoDto.getEducationalTeacherId() != null){
-			userIds.add(vipGroupApplyBaseInfoDto.getEducationalTeacherId());
-		}
-//		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
-//			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
-//		}else {
-		sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, JSONObject.toJSONString(memo),teacher.getRealName());
-//		}
+		Map<String,Long> memo = new HashMap<>(1);
+		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
+		sendSeoMessageSource.sendSeoMessage(teacher.getTeacherOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+				JSONObject.toJSONString(memo),vipGroupApplyBaseInfoDto.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, teacher.getRealName());
 		return BaseController.succeed(vipGroupApplyBaseInfoDto.getAuditStatus().getCode());
 	}
 
@@ -3017,14 +3004,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		studentApplyRefunds.setOrigPaymentOrderId(studentPaymentOrder.getId());
 		studentApplyRefunds.setUserId(userId);
 		studentApplyRefundsDao.insert(studentApplyRefunds);
-		Set<Integer> roleIds = new HashSet<>(1);
-		roleIds.add(SysUserRole.SECTION_MANAGER);
-		Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, sysUser.getOrganId());
-		integers.add(vipGroup.getEducationalTeacherId());
 		Map<String,Object> memo = new HashMap<>(2);
 		memo.put("Id",studentApplyRefunds.getId());
 		memo.put("type","VIPGROUP");
-		sysMessageService.batchSeoMessage(integers,MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,JSONObject.toJSONString(memo),sysUser.getUsername());
+		sendSeoMessageSource.sendSeoMessage(sysUser.getOrganId(),new SysUserRoleEnum[]{SECTION_MANAGER},
+				JSONObject.toJSONString(memo),vipGroup.getEducationalTeacherId(),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,sysUser.getUsername());
 	}
 
 	@Override