add 会议管理新增
This commit is contained in:
+5
-2
@@ -7,11 +7,13 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -69,8 +71,9 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
@AutoLog(value = "会议管理-添加")
|
||||
@ApiOperation(value="会议管理-添加", notes="会议管理-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@Validated @RequestBody PayMeeting payMeeting) {
|
||||
payMeetingService.add(payMeeting);
|
||||
public Result<?> add(@RequestBody PayMeetingVO payMeetingVO) {
|
||||
ValidUtil.validate(payMeetingVO);
|
||||
payMeetingService.add(payMeetingVO);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @Description: 会议管理
|
||||
* @Author: jero-boot
|
||||
@@ -61,22 +63,21 @@ public class PayMeeting implements Serializable {
|
||||
private String meetingName;
|
||||
|
||||
/**会议类型*/
|
||||
@Excel(name = "会议类型", width = 15)
|
||||
@Excel(name = "会议类型", width = 15,dicCode = "meeting_type")
|
||||
@ApiModelProperty(value = "会议类型")
|
||||
private String meetingType;
|
||||
private Integer meetingType;
|
||||
|
||||
/**标协会议类型*/
|
||||
@Excel(name = "标协会议类型", width = 15)
|
||||
@Excel(name = "标协会议类型", width = 15,dicCode = "standard_meeting_type")
|
||||
@ApiModelProperty(value = "标协会议类型")
|
||||
private String tbMeetingType;
|
||||
private Integer tbMeetingType;
|
||||
|
||||
/**工作组id*/
|
||||
@Excel(name = "工作组id", width = 15)
|
||||
@Excel(name = "工作组名称", width = 15, dictTable = "pay_working_group",dicText = "working_group_project",dicCode = "id")
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
private String workingGroupId;
|
||||
|
||||
/**工作组名称*/
|
||||
@Excel(name = "工作组名称", width = 15)
|
||||
@ApiModelProperty(value = "工作组名称")
|
||||
private String workingGroupName;
|
||||
|
||||
@@ -118,6 +119,11 @@ public class PayMeeting implements Serializable {
|
||||
@ApiModelProperty(value = "召开地点")
|
||||
private String venue;
|
||||
|
||||
//convokeLocale
|
||||
/**召开地点对照码*/
|
||||
@ApiModelProperty(value = "召开地点对照码")
|
||||
private String convokeLocale;
|
||||
|
||||
/**详细地址*/
|
||||
@Excel(name = "详细地址", width = 15)
|
||||
@ApiModelProperty(value = "详细地址")
|
||||
@@ -133,28 +139,54 @@ public class PayMeeting implements Serializable {
|
||||
@ApiModelProperty(value = "会议内容")
|
||||
private String meetingContent;
|
||||
|
||||
/**报名截止时间*/
|
||||
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "报名截止时间")
|
||||
private java.util.Date registerDeadline;
|
||||
|
||||
/**VIP邀请码*/
|
||||
@Excel(name = "VIP邀请码", width = 15)
|
||||
@ApiModelProperty(value = "VIP邀请码")
|
||||
private java.lang.String vipInvitationCode;
|
||||
|
||||
/**演讲嘉宾邀请码*/
|
||||
@Excel(name = "演讲嘉宾邀请码", width = 15)
|
||||
@ApiModelProperty(value = "演讲嘉宾邀请码")
|
||||
private java.lang.String speakerInvitationCode;
|
||||
|
||||
/**特邀嘉宾邀请码*/
|
||||
@Excel(name = "特邀嘉宾邀请码", width = 15)
|
||||
@ApiModelProperty(value = "特邀嘉宾邀请码")
|
||||
private java.lang.String guestInvitationCode;
|
||||
|
||||
/**合作伙伴邀请码*/
|
||||
@Excel(name = "合作伙伴邀请码", width = 15)
|
||||
@ApiModelProperty(value = "合作伙伴邀请码")
|
||||
private java.lang.String cooperativeInvitationCode;
|
||||
|
||||
/**会议费用*/
|
||||
@Excel(name = "会议费用", width = 15)
|
||||
@ApiModelProperty(value = "会议费用")
|
||||
private Integer meetingCosts;
|
||||
|
||||
/**vip会议费用*/
|
||||
@Excel(name = "vip会议费用", width = 15)
|
||||
@ApiModelProperty(value = "vip会议费用")
|
||||
/**会议费用(标协会员)*/
|
||||
@Excel(name = "会议费用(标协会员)", width = 15)
|
||||
@ApiModelProperty(value = "会议费用(标协会员)")
|
||||
private Integer meetingCostsVip;
|
||||
|
||||
/**会议负责人id*/
|
||||
@Excel(name = "会议负责人id", width = 15)
|
||||
@Excel(name = "会议负责人", width = 15,dictTable = "sys_user",dicText = "username",dicCode = "id")
|
||||
@ApiModelProperty(value = "会议负责人id")
|
||||
private String directorId;
|
||||
|
||||
/**会议负责人*/
|
||||
@Excel(name = "会议负责人", width = 15)
|
||||
@ApiModelProperty(value = "会议负责人")
|
||||
private String directorName;
|
||||
|
||||
/**会议负责人手机号*/
|
||||
@Excel(name = "会议负责人手机号", width = 15)
|
||||
@Excel(name = "会议负责人手机号", width = 15,exportConvert = true)
|
||||
@ApiModelProperty(value = "会议负责人手机号")
|
||||
private String directorPhone;
|
||||
|
||||
@@ -168,11 +200,6 @@ public class PayMeeting implements Serializable {
|
||||
@ApiModelProperty(value = "酒店地址")
|
||||
private String hotelAddress;
|
||||
|
||||
/**酒店联系人*/
|
||||
@Excel(name = "酒店联系人", width = 15)
|
||||
@ApiModelProperty(value = "酒店联系人")
|
||||
private String hotelContacts;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
package com.jero.meeting.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* @Description: 会议关联酒店联系人表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2021-09-02
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("pay_meeting_hotel_contacts")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="pay_meeting_hotel_contacts对象", description="会议关联酒店联系人表")
|
||||
public class PayMeetingHotelContacts implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
/**会议id*/
|
||||
@Excel(name = "会议id", width = 15)
|
||||
@ApiModelProperty(value = "会议id")
|
||||
private String meetingId;
|
||||
|
||||
/**酒店联系人*/
|
||||
@Excel(name = "酒店联系人", width = 15)
|
||||
@ApiModelProperty(value = "酒店联系人")
|
||||
@NotNull(message = "酒店联系人不能为空")
|
||||
@Size(max = 50, message = "酒店联系人最多为50个字符")
|
||||
private String hotelContacts;
|
||||
|
||||
/**酒店联系人电话*/
|
||||
@Excel(name = "酒店联系人电话", width = 15)
|
||||
@ApiModelProperty(value = "酒店联系人电话")
|
||||
@NotNull(message = "酒店联系人电话")
|
||||
@Size(max = 50, message = "酒店联系人电话最多为50个字符")
|
||||
private String hotelContactsPhone;
|
||||
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.jero.meeting.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 会议关联酒店联系人表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2021-09-02
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface PayMeetingHotelContactsMapper extends BaseMapper<PayMeetingHotelContacts> {
|
||||
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.meeting.mapper.PayMeetingHotelContactsMapper">
|
||||
<resultMap id="PayMeetingHotelContactsResultMap" type="com.jero.meeting.entity.PayMeetingHotelContacts">
|
||||
<id column="id" property="id" />
|
||||
<result column="meeting_id" property="meetingId" />
|
||||
<result column="hotel_contacts" property="hotelContacts" />
|
||||
<result column="hotel_contacts_phone" property="hotelContactsPhone" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package com.jero.meeting.service;
|
||||
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 会议关联酒店联系人表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2021-09-02
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IPayMeetingHotelContactsService extends IService<PayMeetingHotelContacts> {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
void add(PayMeetingHotelContacts payMeetingHotelContacts);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*/
|
||||
void editById(PayMeetingHotelContacts payMeetingHotelContacts);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
PayMeetingHotelContacts queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
List<PayMeetingHotelContacts> queryList();
|
||||
}
|
||||
+8
-17
@@ -2,6 +2,8 @@ package com.jero.meeting.service;
|
||||
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.meeting.vo.PayMeetingVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -14,48 +16,37 @@ public interface IPayMeetingService extends IService<PayMeeting> {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param payMeeting
|
||||
* @return
|
||||
*/
|
||||
void add(PayMeeting payMeeting);
|
||||
|
||||
/**
|
||||
* 新增会议
|
||||
* @param payMeetingVO
|
||||
*/
|
||||
void add(PayMeetingVO payMeetingVO);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param payMeeting
|
||||
* @return
|
||||
*/
|
||||
void editById(PayMeeting payMeeting);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
PayMeeting queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<PayMeeting> queryList();
|
||||
}
|
||||
|
||||
-17
@@ -14,48 +14,31 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param payMeetingSituation
|
||||
* @return
|
||||
*/
|
||||
void add(PayMeetingSituation payMeetingSituation);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param payMeetingSituation
|
||||
* @return
|
||||
*/
|
||||
void editById(PayMeetingSituation payMeetingSituation);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
PayMeetingSituation queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<PayMeetingSituation> queryList();
|
||||
}
|
||||
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
package com.jero.meeting.service.impl;
|
||||
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.jero.meeting.mapper.PayMeetingHotelContactsMapper;
|
||||
import com.jero.meeting.service.IPayMeetingHotelContactsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 会议关联酒店联系人表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2021-09-02
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class PayMeetingHotelContactsServiceImpl extends ServiceImpl<PayMeetingHotelContactsMapper, PayMeetingHotelContacts> implements IPayMeetingHotelContactsService {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@Override
|
||||
public void add(PayMeetingHotelContacts payMeetingHotelContacts) {
|
||||
save(payMeetingHotelContacts);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*/
|
||||
@Override
|
||||
public void editById(PayMeetingHotelContacts payMeetingHotelContacts) {
|
||||
saveOrUpdate(payMeetingHotelContacts);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@Override
|
||||
public PayMeetingHotelContacts queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
@Override
|
||||
public List<PayMeetingHotelContacts> queryList() {
|
||||
return list();
|
||||
}
|
||||
}
|
||||
+25
@@ -1,9 +1,16 @@
|
||||
package com.jero.meeting.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.vo.PayMeetingVO;
|
||||
import org.apache.commons.beanutils.BeanUtilsBean;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
@@ -21,9 +28,27 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
*/
|
||||
@Override
|
||||
public void add(PayMeeting payMeeting) {
|
||||
|
||||
save(payMeeting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(PayMeetingVO payMeetingVO) {
|
||||
List<String> errorMsgList = new ArrayList<>();
|
||||
String meetingName = payMeetingVO.getMeetingName();
|
||||
LambdaQueryWrapper<PayMeeting> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMeeting::getMeetingName,meetingName);
|
||||
if (count(wrapper)>0){
|
||||
errorMsgList.add("会议名称不能重复");
|
||||
};
|
||||
if (!errorMsgList.isEmpty()){
|
||||
throw new JeroBootException(errorMsgList.toString());
|
||||
}
|
||||
PayMeeting payMeeting = new PayMeeting();
|
||||
BeanUtils.copyProperties(payMeetingVO,payMeeting);
|
||||
save(payMeeting);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*/
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package com.jero.meeting.valid.group;
|
||||
|
||||
/**
|
||||
* 标协会议类型
|
||||
* @author liJiaRao
|
||||
* @date 2021-09-02 16:36
|
||||
*/
|
||||
public @interface StandardMeeting {
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package com.jero.meeting.valid.group;
|
||||
|
||||
/**
|
||||
* 工作组类型
|
||||
* @author liJiaRao
|
||||
* @date 2021-09-02 16:38
|
||||
*/
|
||||
public @interface WorkingGroupProject {
|
||||
}
|
||||
@@ -0,0 +1,228 @@
|
||||
package com.jero.meeting.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.jero.meeting.valid.group.StandardMeeting;
|
||||
import com.jero.meeting.valid.group.WorkingGroupProject;
|
||||
import com.jero.valid.ValidList;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 会议管理VO
|
||||
* @Author: jero-boot
|
||||
* @Date: 2021-09-02
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value="pay_meetingVO对象", description="会议管理")
|
||||
public class PayMeetingVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**会议名称*/
|
||||
@Excel(name = "会议名称", width = 15)
|
||||
@ApiModelProperty(value = "会议名称")
|
||||
@NotBlank(message = "会议名称不能为空")
|
||||
@Size(max = 50,message = "会议名称最长为50字符")
|
||||
private String meetingName;
|
||||
|
||||
/**会议类型*/
|
||||
@Excel(name = "会议类型", width = 15,dicCode = "meeting_type")
|
||||
@ApiModelProperty(value = "会议类型")
|
||||
@NotBlank(message = "会议类型不能为空")
|
||||
private String meetingType;
|
||||
|
||||
/**标协会议类型*/
|
||||
@Excel(name = "标协会议类型", width = 15,dicCode = "standard_meeting_type")
|
||||
@ApiModelProperty(value = "标协会议类型")
|
||||
@NotBlank(message = "会议类型不能为空", groups = StandardMeeting.class)
|
||||
private String tbMeetingType;
|
||||
|
||||
/**工作组项目id*/
|
||||
@Excel(name = "工作组项目名称", width = 15, dictTable = "pay_working_group",dicText = "working_group_project",dicCode = "id")
|
||||
@ApiModelProperty(value = "工作组项目id")
|
||||
@NotBlank(message = "工作组项目名称不能为空", groups = WorkingGroupProject.class)
|
||||
private String workingGroupId;
|
||||
|
||||
/**工作组项目名称*/
|
||||
@ApiModelProperty(value = "工作组项目名称")
|
||||
private String workingGroupName;
|
||||
|
||||
/**开始时间*/
|
||||
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "会议开始时间")
|
||||
@NotNull(message = "会议召开时间不能为空")
|
||||
private java.util.Date startTime;
|
||||
|
||||
/**结束时间*/
|
||||
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "会议结束时间")
|
||||
@NotNull(message = "会议召开时间不能为空")
|
||||
private java.util.Date endTime;
|
||||
|
||||
/**年份*/
|
||||
@Excel(name = "年份", width = 15)
|
||||
@ApiModelProperty(value = "年份")
|
||||
@NotBlank(message = "年份不能为空")
|
||||
private String particularYear;
|
||||
|
||||
/**开始注册签到时间*/
|
||||
@Excel(name = "开始注册签到时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "开始注册签到时间")
|
||||
@NotNull(message = "开始注册签到时间不能为空")
|
||||
private java.util.Date startSignInTime;
|
||||
|
||||
/**结束注册签到时间*/
|
||||
@Excel(name = "结束注册签到时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "结束注册签到时间")
|
||||
@NotNull(message = "结束注册签到时间不能为空")
|
||||
private java.util.Date endSignInTime;
|
||||
|
||||
/**召开地点*/
|
||||
@Excel(name = "召开地点", width = 15)
|
||||
@ApiModelProperty(value = "召开地点")
|
||||
@NotBlank(message = "召开地点不能为空")
|
||||
@Size(max = 50, message = "召开地点最大为50字符")
|
||||
private String venue;
|
||||
|
||||
//convokeLocale
|
||||
/**召开地点对照码*/
|
||||
@ApiModelProperty(value = "召开地点对照码")
|
||||
@NotBlank(message = "召开地点对照码不能为空")
|
||||
private String convokeLocale;
|
||||
|
||||
/**详细地址*/
|
||||
@Excel(name = "详细地址", width = 15)
|
||||
@ApiModelProperty(value = "详细地址")
|
||||
@NotBlank(message = "详细地址不能为空")
|
||||
@Size(max = 100, message = "召开地点最大为100字符")
|
||||
private String address;
|
||||
|
||||
/**预计参加人数*/
|
||||
@Excel(name = "预计参加人数", width = 15)
|
||||
@ApiModelProperty(value = "预计参加人数")
|
||||
private String estimatedNumber;
|
||||
|
||||
/**会议内容*/
|
||||
@Excel(name = "会议内容", width = 15)
|
||||
@ApiModelProperty(value = "会议内容")
|
||||
@NotBlank(message = "会议内容不能为空")
|
||||
@Size(max = 200, message = "会议内容最大为200字符")
|
||||
private String meetingContent;
|
||||
|
||||
/**报名截止时间*/
|
||||
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "报名截止时间")
|
||||
@NotNull(message = "报名截止时间不能为空")
|
||||
private java.util.Date registerDeadline;
|
||||
|
||||
/**VIP邀请码*/
|
||||
@Excel(name = "VIP邀请码", width = 15)
|
||||
@ApiModelProperty(value = "VIP邀请码")
|
||||
@NotNull(message = "VIP邀请码不能为空")
|
||||
@Size(max = 50, message = "VIP邀请码最多为50个字符")
|
||||
private java.lang.String vipInvitationCode;
|
||||
|
||||
/**演讲嘉宾邀请码*/
|
||||
@Excel(name = "演讲嘉宾邀请码", width = 15)
|
||||
@ApiModelProperty(value = "演讲嘉宾邀请码")
|
||||
@NotNull(message = "演讲嘉宾邀请码不能为空")
|
||||
@Size(max = 50, message = "演讲嘉宾邀请码最多为50个字符")
|
||||
private java.lang.String speakerInvitationCode;
|
||||
|
||||
/**特邀嘉宾邀请码*/
|
||||
@Excel(name = "特邀嘉宾邀请码", width = 15)
|
||||
@ApiModelProperty(value = "特邀嘉宾邀请码")
|
||||
@NotNull(message = "特邀嘉宾邀请码不能为空")
|
||||
@Size(max = 50, message = "特邀嘉宾邀请码最多为50个字符")
|
||||
private java.lang.String guestInvitationCode;
|
||||
|
||||
/**合作伙伴邀请码*/
|
||||
@Excel(name = "合作伙伴邀请码", width = 15)
|
||||
@ApiModelProperty(value = "合作伙伴邀请码")
|
||||
@NotNull(message = "合作伙伴邀请码不能为空")
|
||||
@Size(max = 50, message = "合作伙伴邀请码最多为50个字符")
|
||||
private java.lang.String cooperativeInvitationCode;
|
||||
|
||||
/**会议费用*/
|
||||
@Excel(name = "会议费用", width = 15)
|
||||
@ApiModelProperty(value = "会议费用")
|
||||
@NotNull(message = "会议费用不能为空")
|
||||
private Integer meetingCosts;
|
||||
|
||||
/**会议费用(标协会员)*/
|
||||
@Excel(name = "会议费用(标协会员)", width = 15)
|
||||
@ApiModelProperty(value = "会议费用(标协会员)")
|
||||
@NotNull(message = "会议费用(标协会员)不能为空")
|
||||
private Integer meetingCostsVip;
|
||||
|
||||
/**会议负责人id*/
|
||||
@Excel(name = "会议负责人", width = 15,dictTable = "sys_user",dicText = "username",dicCode = "id")
|
||||
@ApiModelProperty(value = "会议负责人id")
|
||||
@NotBlank(message = "会议负责人不能为空")
|
||||
private String directorId;
|
||||
|
||||
/**会议负责人*/
|
||||
@ApiModelProperty(value = "会议负责人")
|
||||
private String directorName;
|
||||
|
||||
/**会议负责人手机号*/
|
||||
@Excel(name = "会议负责人手机号", width = 15,exportConvert = true)
|
||||
@ApiModelProperty(value = "会议负责人手机号")
|
||||
@NotBlank(message = "会议负责人手机号不能为空")
|
||||
private String directorPhone;
|
||||
|
||||
/**酒店名称*/
|
||||
@Excel(name = "酒店名称", width = 15)
|
||||
@ApiModelProperty(value = "酒店名称")
|
||||
@NotBlank(message = "酒店名称不能为空")
|
||||
@Size(max = 100, message = "酒店名称最大为100字符")
|
||||
private String hotelName;
|
||||
|
||||
/**酒店地址*/
|
||||
@Excel(name = "酒店地址", width = 15)
|
||||
@ApiModelProperty(value = "酒店地址")
|
||||
@NotBlank(message = "酒店地址不能为空")
|
||||
@Size(max = 100, message = "酒店地址最大为100字符")
|
||||
private String hotelAddress;
|
||||
|
||||
/**
|
||||
* 会议关联酒店联系人列表
|
||||
*/
|
||||
@Valid
|
||||
@NotNull(message = "酒店联系人不能为空")
|
||||
@Size(max = 5, message = "酒店联系人最多为5个")
|
||||
private ValidList<PayMeetingHotelContacts> payMeetingHotelContactsList;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Size(max = 200, message = "备注最大为200字符")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
package com.jero.valid;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2021-09-02 17:36
|
||||
*/
|
||||
public class ValidList<E> implements List<E> {
|
||||
@Valid
|
||||
private List<E> list;
|
||||
|
||||
public ValidList() {
|
||||
this.list = new ArrayList<>();
|
||||
}
|
||||
|
||||
public ValidList(List<E> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
public List<E> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
public void setList(List<E> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
//重写List方法,可省略
|
||||
@Override
|
||||
public int size() {
|
||||
return list.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return list.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean contains(Object o) {
|
||||
return list.contains(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<E> iterator() {
|
||||
return list.iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] toArray() {
|
||||
return list.toArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T[] toArray(@NotNull T[] a) {
|
||||
return list.toArray(a);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean add(E e) {
|
||||
return list.add(e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean remove(Object o) {
|
||||
return list.remove(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsAll(@NotNull Collection<?> c) {
|
||||
return list.contains(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(@NotNull Collection<? extends E> c) {
|
||||
return list.addAll(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(int index, @NotNull Collection<? extends E> c) {
|
||||
return list.addAll(index, c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeAll(@NotNull Collection<?> c) {
|
||||
return list.removeAll(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean retainAll(@NotNull Collection<?> c) {
|
||||
return list.retainAll(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
list.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E get(int index) {
|
||||
return list.get(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public E set(int index, E element) {
|
||||
return list.set(index, element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(int index, E element) {
|
||||
list.add(index, element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public E remove(int index) {
|
||||
return list.remove(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int indexOf(Object o) {
|
||||
return list.indexOf(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int lastIndexOf(Object o) {
|
||||
return list.lastIndexOf(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListIterator<E> listIterator() {
|
||||
return list.listIterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListIterator<E> listIterator(int index) {
|
||||
return list.listIterator(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<E> subList(int fromIndex, int toIndex) {
|
||||
return list.subList(fromIndex, toIndex);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user