add 工作组会议发布提醒

This commit is contained in:
lijiarao
2021-09-13 16:03:12 +08:00
parent e4c25e47c2
commit 5100a83c96
8 changed files with 106 additions and 15 deletions
@@ -18,6 +18,12 @@ public class MeetingCommon {
* 国际研讨会
*/
public final static String INTERNATIONAL_MEETING = "3";
/**
* 未提醒
*/
public static final Integer REMIND_0 = 0;
/**
* 已提醒
*/
public static final Integer REMIND_1 = 1;
}
@@ -27,6 +27,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.vo.PayMeetingVO;
import com.jero.meeting.vo.PublishReminderVO;
import com.jero.meeting.vo.UploadFileVO;
import com.jero.meeting.vo.WorkingGroupMeetingExel;
import com.jero.modules.system.volid.group.UpdateGroup;
@@ -324,4 +325,15 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
payMeetingService.update(wrapper);
return Result.OK("上传资料成功!");
}
/**
* 发布提醒
*/
@ApiOperation(value="发布提醒", notes="发布提醒")
@PostMapping(value = "/publishReminder")
public Result<?> publishReminder(@RequestBody PublishReminderVO publishReminderVO) {
payMeetingService.publishReminder(publishReminderVO.getMeetingId(),publishReminderVO.getSubitemIds());
return Result.OK();
}
}
@@ -190,18 +190,7 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
@PostMapping(value = "/check")
public Result<?> check(@RequestBody CheckVO checkVO) {
payMeetingSituationService.check(checkVO);
return Result.OK("设置对接人成功!");
}
/**
* 导入参会人
*/
@AutoLog(value = "导入参会人")
@ApiOperation(value="导入参会人", notes="导入参会人")
@PostMapping(value = "/importSituations")
public Result<?> importSituations(@RequestBody ImportSituationsVO importSituationsVO) {
//payMeetingSituationService.importSituations(importSituationsVO);
return Result.OK("设置对接人成功!");
return Result.OK("审核成功!");
}
}
@@ -230,5 +230,6 @@ public class PayMeeting implements Serializable {
/**是否提醒*/
@ApiModelProperty(value = "是否提醒")
@Dict(dicCode = "yn")
private Integer remind;
}
@@ -2,6 +2,7 @@ package com.jero.meeting.service;
import com.jero.meeting.entity.PayMeeting;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.vo.PayMeetingVO;
import java.util.List;
@@ -43,4 +44,11 @@ public interface IPayMeetingService extends IService<PayMeeting> {
* 列表查询
*/
List<PayMeeting> queryList();
/**
* 发布提醒
* @param meetingId
* @param subitemIds
*/
void publishReminder(String meetingId, List<String> subitemIds);
}
@@ -2,6 +2,7 @@ package com.jero.meeting.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
@@ -9,16 +10,22 @@ import com.jero.common.util.ValidUtil;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingMapper;
import com.jero.meeting.service.IPayMeetingHotelContactsService;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.valid.group.InternationalMeeting;
import com.jero.meeting.valid.group.StandardMeeting;
import com.jero.meeting.valid.group.WorkingGroupMeeting;
import com.jero.meeting.vo.PayMeetingVO;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.standards.xuanguan.stablecrosstraining.service.IStableCrossTrainingService;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.apache.shiro.util.CollectionUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.BeanUtils;
@@ -26,7 +33,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -47,9 +54,15 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
@Resource
private IPayMeetingHotelContactsService meetingHotelContactsService;
@Resource
private IPayMeetingSituationService payMeetingSituationService;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
@Resource
private IStableCrossTrainingService stableCrossTrainingService;
@Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
/**
* 新增会议
*/
@@ -141,6 +154,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
if (workingGroup == null){
throw new JeroBootException("工作组项目不存在");
}
payMeetingVO.setRemind(MeetingCommon.REMIND_0);
break;
case MeetingCommon.STANDARD_MEETING:
ValidUtil.validate(payMeetingVO, StandardMeeting.class);
@@ -239,4 +253,40 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
public List<PayMeeting> queryList() {
return list();
}
@Override
public void publishReminder(String meetingId, List<String> subitemIds) {
PayMeeting payMeeting = getById(meetingId);
List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds);
List<String> userIds = new ArrayList<>();
//把单位会员中所有的联系人和有机联系人取出
for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) {
String contactsTemporaryIdOne = payWorkingGroupSubItem.getContactsTemporaryIdOne();
if (StrUtil.isNotBlank(contactsTemporaryIdOne)){
userIds.add(contactsTemporaryIdOne);
}
String contactsTemporaryIdTwo = payWorkingGroupSubItem.getContactsTemporaryIdTwo();
if (StrUtil.isNotBlank(contactsTemporaryIdTwo)){
userIds.add(contactsTemporaryIdTwo);
}
String contactsTemporaryIdThree = payWorkingGroupSubItem.getContactsTemporaryIdThree();
if (StrUtil.isNotBlank(contactsTemporaryIdThree)){
userIds.add(contactsTemporaryIdThree);
}
String mailContactsTemporaryId = payWorkingGroupSubItem.getMailContactsTemporaryId();
if (StrUtil.isNotBlank(mailContactsTemporaryId)){
userIds.add(mailContactsTemporaryId);
}
}
//去重
userIds = userIds.stream().distinct().collect(Collectors.toList());
LambdaQueryWrapper<PayContactsManagementTemporary> wrapper = new LambdaQueryWrapper<>();
wrapper.in(PayContactsManagementTemporary::getId,userIds);
List<PayContactsManagementTemporary> list = payContactsManagementTemporaryService.list(wrapper);
for (PayContactsManagementTemporary payContactsManagementTemporary : list) {
//TODO 发送消息
}
payMeeting.setRemind(MeetingCommon.REMIND_1);
saveOrUpdate(payMeeting);
}
}
@@ -396,6 +396,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
List<String> meetingSituationIds = addDockVO.getMeetingSituationIds();
for (String meetingSituationId : meetingSituationIds) {
PayMeetingSituation payMeetingSituation = getById(meetingSituationId);
String meetingId = payMeetingSituation.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
Integer meetingType = payMeeting.getMeetingType();
//只有国际研讨会议可以设置对接人
if (!meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING))){
throw new JeroBootException("只有国际研讨会议可以设置对接人");
}
payMeetingSituation.setDockId(dockId);
payMeetingSituation.setDockName(username);
saveOrUpdate(payMeetingSituation);
@@ -0,0 +1,18 @@
package com.jero.meeting.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-13 16:00
*/
@Data
public class PublishReminderVO {
@ApiModelProperty(value = "会议id")
private String meetingId;
@ApiModelProperty(value = "成员id列表")
private List<String> subitemIds;
}