|
@@ -2,6 +2,8 @@ package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
@@ -15,6 +17,7 @@ import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
|
|
|
import com.ym.mec.biz.dal.page.MusicMemberQueryInfo;
|
|
|
import com.ym.mec.biz.dal.vo.MusicGroupDeliveryVo;
|
|
|
+import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
|
|
|
import com.ym.mec.biz.event.source.GroupEventSource;
|
|
|
import com.ym.mec.biz.event.source.SendSeoMessageSource;
|
|
|
import com.ym.mec.biz.service.*;
|
|
@@ -32,6 +35,7 @@ import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
import com.ym.mec.util.http.HttpUtil;
|
|
|
import com.ym.mec.util.json.JsonUtil;
|
|
|
+import com.ym.mec.util.string.MessageFormatter;
|
|
|
import com.ym.mec.util.validator.CommonValidator;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -206,6 +210,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
@Autowired
|
|
|
private MusicGroupPaymentCalenderRepairDao musicGroupPaymentCalenderRepairDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SchoolStaffService schoolStaffService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysMessageConfigDao sysMessageConfigDao;
|
|
|
+
|
|
|
private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
private SimpleDateFormat sdf_hms = new SimpleDateFormat("HH:mm:ss");
|
|
@@ -1995,6 +2005,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean applyQuitMusicGroup(List<SysUserRoleEnum> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit) {
|
|
|
+ return applyQuitMusicGroup(currentOperatorRoleIds, reqMusicGroupQuit, null);
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public boolean applyQuitMusicGroup(List<SysUserRoleEnum> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit, String client) {
|
|
|
Integer userId = reqMusicGroupQuit.getUserId();
|
|
|
String musicGroupId = reqMusicGroupQuit.getMusicGroupId();
|
|
|
String reason = reqMusicGroupQuit.getReason();
|
|
@@ -2086,6 +2101,36 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
musicGroupQuitDao.insert(musicGroupQuit);
|
|
|
|
|
|
+
|
|
|
+ // 学生端提交退团申请推送
|
|
|
+ // 推送异常考勤消息
|
|
|
+ if("STUDENT".equals(client)){
|
|
|
+
|
|
|
+ // 乐团信息
|
|
|
+ SysUser student = sysUserFeignService.queryUserById(musicGroupQuit.getUserId());
|
|
|
+
|
|
|
+ IPage<SchoolStaffWrapper.SchoolStaff> page = schoolStaffService.selectPage(new Page<>(1, -1),
|
|
|
+ SchoolStaffWrapper.SchoolStaffQuery.builder().schoolId(musicGroup.getCooperationOrganId().longValue()).build());
|
|
|
+ List<SchoolStaffWrapper.SchoolStaff> records = page.getRecords();
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
+ records.forEach(o -> {
|
|
|
+ userMap.put(o.getUserId().intValue(), o.getUserId().toString());
|
|
|
+ });
|
|
|
+
|
|
|
+ SysMessageConfig sysMessageConfig = sysMessageConfigDao.queryByType(MessageTypeEnum.JIGUANG_STUDENT_QUIT_GROUP_APPLY.getCode());
|
|
|
+ String url = sysMessageConfig.getUrl();
|
|
|
+
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_STUDENT_QUIT_GROUP_APPLY,
|
|
|
+ userMap, null, 0, url,
|
|
|
+ "SCHOOL",musicGroup.getName(),student.getUsername());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 后台通过退团申请推送
|
|
|
+
|
|
|
+
|
|
|
if (reqMusicGroupQuit.getStatus() == PROCESSING) {
|
|
|
SysUser sysUser = sysUserFeignService.queryUserById(userId);
|
|
|
|
|
@@ -2451,6 +2496,22 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
// PlatformCashAccountDetailTypeEnum.REFUNDS, null, SUCCESS, "退出乐团", null);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 推送退团消息
|
|
|
+ IPage<SchoolStaffWrapper.SchoolStaff> page = schoolStaffService.selectPage(new Page<>(1, -1),
|
|
|
+ SchoolStaffWrapper.SchoolStaffQuery.builder().schoolId(musicGroup.getCooperationOrganId().longValue()).build());
|
|
|
+ List<SchoolStaffWrapper.SchoolStaff> records = page.getRecords();
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserById(userId);
|
|
|
+
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
+ records.forEach(o -> userMap.put(o.getUserId().intValue(), o.getUserId().toString()));
|
|
|
+
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_STUDENT_QUIT_GROUP,
|
|
|
+ userMap, null, 0, null,
|
|
|
+ "SCHOOL",musicGroup.getName(),sysUser.getUsername());
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -3908,4 +3969,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
return musicGroupByIds.stream().collect(Collectors.toMap(o -> Long.parseLong(o.getId()), Function.identity()));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取乐团信息
|
|
|
+ *
|
|
|
+ * @param musicGroupId 乐团id
|
|
|
+ * @param coopId 合作单位id
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Subject> getSubjectListByIdAndCoopId(String musicGroupId, Integer coopId) {
|
|
|
+ return subjectDao.getSubjectListByIdAndCoopId(musicGroupId,coopId);
|
|
|
+ }
|
|
|
}
|