diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java index 77480650..786bc2bc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java @@ -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; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index d629516f..4846c58a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -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 publishReminder(@RequestBody PublishReminderVO publishReminderVO) { + payMeetingService.publishReminder(publishReminderVO.getMeetingId(),publishReminderVO.getSubitemIds()); + return Result.OK(); + } + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java index f193f430..44bef947 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java @@ -190,18 +190,7 @@ public class PayMeetingSituationController extends JeroController 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("审核成功!"); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java index ced68267..16c4bdc8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java @@ -230,5 +230,6 @@ public class PayMeeting implements Serializable { /**是否提醒*/ @ApiModelProperty(value = "是否提醒") + @Dict(dicCode = "yn") private Integer remind; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java index 9e275ace..809852fd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java @@ -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 { * 列表查询 */ List queryList(); + + /** + * 发布提醒 + * @param meetingId + * @param subitemIds + */ + void publishReminder(String meetingId, List subitemIds); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index 05c6531a..ec83d0e7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -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 queryList() { return list(); } + + @Override + public void publishReminder(String meetingId, List subitemIds) { + PayMeeting payMeeting = getById(meetingId); + List payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds); + List 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 wrapper = new LambdaQueryWrapper<>(); + wrapper.in(PayContactsManagementTemporary::getId,userIds); + List list = payContactsManagementTemporaryService.list(wrapper); + for (PayContactsManagementTemporary payContactsManagementTemporary : list) { + //TODO 发送消息 + } + payMeeting.setRemind(MeetingCommon.REMIND_1); + saveOrUpdate(payMeeting); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index e5fc4f45..b5777bdb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -396,6 +396,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl 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); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java new file mode 100644 index 00000000..b40862bf --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java @@ -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 subitemIds; +}