add 嘉宾修改报名信息

This commit is contained in:
lijiarao
2022-05-17 13:48:47 +08:00
parent ffa8957fca
commit 8d20f8569d
3 changed files with 71 additions and 0 deletions
@@ -348,4 +348,15 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
Boolean aBoolean = payMeetingSituationService.checkMember(meetingId, meetingType);
return Result.OK(aBoolean);
}
/**
* 嘉宾修改报名信息
*/
@AutoLog(value = "嘉宾修改报名信息")
@ApiOperation(value = "企业端-嘉宾修改报名信息")
@PostMapping(value = "/editGuestInfo")
public Result<?> editGuestInfo(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.editGuestInfo(payMeetingSituation);
return Result.OK("修改成功");
}
}
@@ -88,4 +88,6 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
Integer standardsCheckPhone(String meetingId, String phone);
Boolean checkMember(String meetingId, Integer meetingType);
void editGuestInfo(PayMeetingSituation payMeetingSituation);
}
@@ -1611,4 +1611,62 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
}
return false;
}
@Override
public void editGuestInfo(PayMeetingSituation payMeetingSituation) {
String id = payMeetingSituation.getId();
PayMeetingSituation old = getById(id);
String meetingId = old.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
Integer meetingType = payMeeting.getMeetingType();
//只有待签到并且国际研讨会嘉宾可以修改
if (!Objects.equals(old.getCheckIn(), PayProjectCommon.NO)
|| old.getGuestType() == null
|| meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING)) ) {
throw new JeroBootException("只有待签到的国际研讨会嘉宾可以修改");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
InternationalGuestVO internationalGuestVO = new InternationalGuestVO();
BeanUtils.copyProperties(payMeetingSituation, internationalGuestVO);
Integer guestType = payMeetingSituation.getGuestType();
//合作伙伴嘉宾只有最基础的参数所以不需要校验,只需要校验VIP,演讲嘉宾,特邀嘉宾
if (!guestType.equals(MeetingSubitemCommon.COOPERATIVE)) {
//先校验VIP,演讲嘉宾,特邀嘉宾的公共字段
List<String> validateReturnList = ValidUtil.validateReturnList(internationalGuestVO);
//用餐
Integer haveMeals = internationalGuestVO.getHaveMeals();
if (haveMeals.equals(MeetingSubitemCommon.HAVE_MEALS)) {
validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, HaveMeals.class));
}
//接站
Integer pickUp = internationalGuestVO.getPickUp();
if (pickUp.equals(MeetingSubitemCommon.PICK_UP)) {
validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, PickUp.class));
}
//送站
Integer deliveryStation = internationalGuestVO.getDeliveryStation();
if (deliveryStation.equals(MeetingSubitemCommon.DELIVERY_STATION)) {
validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, DeliveryStation.class));
}
//校验VIP,演讲嘉宾的公共字段
if (!guestType.equals(MeetingSubitemCommon.GUEST)) {
validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, Guest.class));
//校验VIP
if (guestType.equals(MeetingSubitemCommon.VIP)) {
validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, VIP.class));
Integer checkInHotel = internationalGuestVO.getCheckInHotel();
if (checkInHotel.equals(MeetingSubitemCommon.CHECK_IN_HOTEL)) {
validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, CheckInHotel.class));
}
}
}
if (!validateReturnList.isEmpty()) {
throw new JeroBootException(StringUtils.join(validateReturnList, ""));
}
}
PayMeetingSituation update = new PayMeetingSituation();
update.setId(id);
BeanUtils.copyProperties(internationalGuestVO, update);
updateById(update);
}
}