add 新增查询报名信息,报名,审核接口

This commit is contained in:
lijiarao
2021-09-10 15:42:25 +08:00
parent bb81b4b7af
commit dea46c9dcd
7 changed files with 309 additions and 43 deletions
@@ -55,4 +55,28 @@ public class MeetingSubitemCommon {
* 入住酒店
*/
public static final Integer CHECK_IN_HOTEL = 1;
/**
* 1未导入
*/
public static final Integer STATUS_1 = 1;
/**
* 2已导入
*/
public static final Integer STATUS_2 = 2;
/**
* 3参会人
*/
public static final Integer STATUS_3 = 3;
/**
* 未审核
*/
public static final Integer SIGNUP_STATUS_0 = 0;
/**
* 已审核
*/
public static final Integer SIGNUP_STATUS_1 = 1;
/**
* 已驳回
*/
public static final Integer SIGNUP_STATUS_2 = 2;
}
@@ -14,12 +14,15 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.meeting.common.MeetingSubitemCommon;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
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.AddDockVO;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.ImportSituationsVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
@@ -32,12 +35,12 @@ import com.jero.common.aspect.annotation.AutoLog;
/**
* @description: 会议报名信息
* @description: 参会人员信息
* @author: jero-boot
* @date: 2021-09-02
* @version: V1.0
*/
@Api(tags="会议报名信息")
@Api(tags="参会人员信息")
@RestController
@RequestMapping("/meeting/payMeetingSituation")
@Slf4j
@@ -48,24 +51,42 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 分页列表查询
*/
@AutoLog(value = "会议报名信息-分页列表查询")
@ApiOperation(value="会议报名信息-分页列表查询", notes="会议报名信息-分页列表查询")
@AutoLog(value = "参会人员信息-分页列表查询")
@ApiOperation(value="参会人员信息-分页列表查询", notes="参会人员信息-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
queryWrapper.ne("status", MeetingSubitemCommon.STATUS_1);
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*/
@AutoLog(value = "报名信息-分页列表查询")
@ApiOperation(value="报名信息-分页列表查询", notes="报名信息-分页列表查询")
@GetMapping(value = "/signUpPage")
public Result<?> signUpPage(PayMeetingSituation payMeetingSituation,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
queryWrapper.ne("status",MeetingSubitemCommon.STATUS_3);
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@AutoLog(value = "会议报名信息-列表查询")
@ApiOperation(value="会议报名信息-列表查询", notes="会议报名信息-列表查询")
@AutoLog(value = "参会人员信息-列表查询")
@ApiOperation(value="参会人员信息-列表查询", notes="参会人员信息-列表查询")
@GetMapping(value = "/list")
public Result<List<PayMeetingSituation>> queryList() {
List<PayMeetingSituation> list = payMeetingSituationService.queryList();
@@ -73,21 +94,33 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
}
/**
* 添加
* 添加参会人
*/
@AutoLog(value = "会议报名信息-添加")
@ApiOperation(value="会议报名信息-添加", notes="会议报名信息-添加")
@AutoLog(value = "参会人员信息-添加参会人")
@ApiOperation(value="参会人员信息-添加参会人", notes="参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value="报名信息-报名", notes="报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@AutoLog(value = "会议报名信息-编辑")
@ApiOperation(value="会议报名信息-编辑", notes="会议报名信息-编辑")
@AutoLog(value = "参会人员信息-编辑")
@ApiOperation(value="参会人员信息-编辑", notes="参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
@@ -97,8 +130,8 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 通过id删除
*/
@AutoLog(value = "会议报名信息-通过id删除")
@ApiOperation(value="会议报名信息-通过id删除", notes="会议报名信息-通过id删除")
@AutoLog(value = "参会人员信息-通过id删除")
@ApiOperation(value="参会人员信息-通过id删除", notes="参会人员信息-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id") String id) {
payMeetingSituationService.deleteById(id);
@@ -108,8 +141,8 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 批量删除
*/
@AutoLog(value = "会议报名信息-批量删除")
@ApiOperation(value="会议报名信息-批量删除", notes="会议报名信息-批量删除")
@AutoLog(value = "参会人员信息-批量删除")
@ApiOperation(value="参会人员信息-批量删除", notes="参会人员信息-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
@@ -119,8 +152,8 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 通过id查询
*/
@AutoLog(value = "会议报名信息-通过id查询")
@ApiOperation(value="会议报名信息-通过id查询", notes="会议报名信息-通过id查询")
@AutoLog(value = "参会人员信息-通过id查询")
@ApiOperation(value="参会人员信息-通过id查询", notes="参会人员信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id") String id) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
@@ -135,8 +168,19 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
*/
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
return super.exportXls(request, payMeetingSituation, PayMeetingSituation.class, "会议报名信息");
return super.exportXls(request, payMeetingSituation, PayMeetingSituation.class, "参会人员信息");
}
/**
* 上传资料
*/
@AutoLog(value = "上传资料")
@ApiOperation(value="上传资料", notes="上传资料")
@PostMapping(value = "/uploadFile")
public Result<?> uploadFile(@RequestBody AddDockVO addDockVO) {
payMeetingSituationService.addDock(addDockVO);
return Result.OK("上传资料成功!");
}
/**
* 设置对接人
@@ -149,4 +193,26 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
return Result.OK("设置对接人成功!");
}
/**
* 审核
*/
@AutoLog(value = "审核")
@ApiOperation(value="审核", notes="审核")
@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("设置对接人成功!");
}
}
@@ -289,15 +289,20 @@ public class PayMeetingSituation implements Serializable {
@ApiModelProperty(value = "付款凭证")
private String paymentRecord;
/**状态(导入、未导入*/
@Excel(name = "状态(导入、未导入", width = 15)
@ApiModelProperty(value = "状态(导入、未导入")
/**状态(1未导入、2已导入、3参会人*/
@Excel(name = "状态(1未导入、2已导入、3参会人", width = 15)
@ApiModelProperty(value = "状态(1未导入、2已导入、3参会人")
private Integer status;
/**是否为新增*/
@Excel(name = "是否为新增", width = 15)
@ApiModelProperty(value = "是否为新增")
private Integer isNew;
/**是否为新增企业*/
@Excel(name = "是否为新增企业", width = 15)
@ApiModelProperty(value = "是否为新增企业")
private Integer newCompany;
/**是否为新增联系人*/
@Excel(name = "是否为新增联系人", width = 15)
@ApiModelProperty(value = "是否为新增联系人")
private Integer newContact;
/**
* 应收金额
@@ -357,4 +362,8 @@ public class PayMeetingSituation implements Serializable {
@ApiModelProperty(value = "审核备注")
@TableField(exist = false)
private String checkRemark;
@ApiModelProperty(value = "邀请码")
@TableField(exist = false)
private String invitationCode;
}
@@ -3,6 +3,7 @@ package com.jero.meeting.service;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.meeting.vo.AddDockVO;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import java.util.List;
@@ -46,4 +47,8 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
List<PayMeetingSituation> queryList();
void addDock(AddDockVO addDockVO);
void signUp(PayMeetingSituation payMeetingSituation);
void check(CheckVO checkVO);
}
@@ -1,13 +1,15 @@
package com.jero.meeting.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.common.MeetingSubitemCommon;
@@ -46,6 +48,8 @@ import javax.annotation.Resource;
@Service
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituationMapper, PayMeetingSituation> implements IPayMeetingSituationService {
@Resource
private IPayCompanyManagementService companyManagementService;
@Resource
private IPayContactsManagementService contactsManagementService;
@Resource
@@ -63,12 +67,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
*/
@Override
public void add(PayMeetingSituation payMeetingSituation) {
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_3);
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
payMeetingSituation1.setStatus(PayProjectCommon.NO);
saveMeetingSituation(payMeetingSituation1);
}
private void saveMeetingSituation(PayMeetingSituation payMeetingSituation1) {
payMeetingSituation1.setCheckIn(PayProjectCommon.NO);
payMeetingSituation1.setCheckResult(PayProjectCommon.NO);
payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
payMeetingSituation1.setPaidAmount(new BigDecimal("0"));
//到账
payMeetingSituation1.setInAccount(PayProjectCommon.IN_ACCOUNT0);
//开票
@@ -78,6 +87,58 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
save(payMeetingSituation1);
}
/**
* 报名
* @param payMeetingSituation
*/
@Override
public void signUp(PayMeetingSituation payMeetingSituation) {
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_1);
String meetingId = payMeetingSituation.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
//会议类型
Integer meetingType = payMeeting.getMeetingType();
//如果是国际研讨会会议并且邀请码不为空就进行比对嘉宾身份
String invitationCode = payMeetingSituation.getInvitationCode();
if (meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING)) &&
StrUtil.isNotBlank(invitationCode)) {
String vipInvitationCode = payMeeting.getVipInvitationCode();
String speakerInvitationCode = payMeeting.getSpeakerInvitationCode();
String guestInvitationCode = payMeeting.getGuestInvitationCode();
String cooperativeInvitationCode = payMeeting.getCooperativeInvitationCode();
if (invitationCode.equals(vipInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.VIP);
}else if (invitationCode.equals(speakerInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.SPEAKER);
}else if (invitationCode.equals(guestInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.GUEST);
}else if (invitationCode.equals(cooperativeInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.COOPERATIVE);
}else {
throw new JeroBootException("邀请码无效");
}
payMeetingSituation.setIdentity(MeetingSubitemCommon.JIA_BIN);
}
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
saveMeetingSituation(payMeetingSituation1);
}
/**
* 审核
* @param checkVO
*/
@Override
public void check(CheckVO checkVO) {
String id = checkVO.getId();
PayMeetingSituation meetingSituation = getById(id);
Integer checkResult = checkVO.getCheckResult();
if (checkResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_2)){
//TODO 提示信息
}
meetingSituation.setCheckResult(checkResult);
saveOrUpdate(meetingSituation);
}
/**
* 更新
*/
@@ -96,6 +157,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
@NotNull
private PayMeetingSituation getPayMeetingSituation(PayMeetingSituation payMeetingSituation) {
Integer status = payMeetingSituation.getStatus();
String meetingId = payMeetingSituation.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
//会议类型
@@ -111,22 +173,23 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
BeanUtils.copyProperties(meetingEntity, payMeetingSituation1);
//校验企业
String companyId = meetingEntity.getCompanyId();
PayCompanyManagementTemporary companyManagementTemporary = companyManagementTemporaryService.insertCompanyManagementTemporary(companyId);
payMeetingSituation.setCompanyTemporaryId(companyManagementTemporary.getId());
payMeetingSituation.setCompanyName(companyManagementTemporary.getCompanyName());
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
//
if (status.equals(MeetingSubitemCommon.STATUS_1)) {
//处理报名时公司信息
baoMingCompany(payMeetingSituation, companyId, companyManagement);
}else {
canHuiRenCompany(payMeetingSituation, companyManagement);
}
//校验企业联系人
String companyContactId = meetingEntity.getCompanyContactId();
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
//校验是否是选择的企业的联系人
String companyId1 = contactsManagement.getCompanyId();
if (companyId1.equals(companyId)) {
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(companyContactId);
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
payMeetingSituation.setCompanyContactName(contactsManagementTemporary.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
if (status.equals(MeetingSubitemCommon.STATUS_1)){
baoMingContact(payMeetingSituation, companyId, companyContactId, contactsManagement);
}else {
canHuiContact(payMeetingSituation, companyId, contactsManagement);
}
//判断身份
Integer identity = payMeetingSituation.getIdentity();
//国际研讨会会议的嘉宾和其他类型不同
@@ -208,9 +271,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
//校验是否是选择的企业的联系人
String companyId2 = postContact.getCompanyId();
if (companyId2.equals(companyId)) {
PayContactsManagementTemporary contactsManagementTemporary1 = contactsManagementTemporaryService.insertContactsManagementTemporary(postContactId);
payMeetingSituation1.setPostContactTemporaryId(contactsManagementTemporary1.getId());
payMeetingSituation1.setPostContactName(contactsManagementTemporary1.getName());
if (status.equals(MeetingSubitemCommon.STATUS_1)){
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(postContactId);
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
payMeetingSituation.setCompanyContactName(contactsManagementTemporary.getName());
}else {
payMeetingSituation.setCompanyContactTemporaryId(postContact.getId());
payMeetingSituation.setCompanyContactName(postContact.getName());
}
} else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
@@ -225,6 +293,68 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
return payMeetingSituation1;
}
private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement) {
if (contactsManagement == null) {
throw new JeroBootException("联系人不存在");
}
String companyId1 = contactsManagement.getCompanyId();
//校验是否是选择的企业的联系人
if (companyId1.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(contactsManagement.getId());
payMeetingSituation.setCompanyContactName(contactsManagement.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
}
private void baoMingContact(PayMeetingSituation payMeetingSituation, String companyId, String companyContactId, PayContactsManagement contactsManagement) {
if (contactsManagement == null) {
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(companyContactId);
if (contactsManagementTemporary == null) {
throw new JeroBootException("联系人不存在");
}
String companyId1 = contactsManagementTemporary.getCompanyId();
if (companyId1.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
payMeetingSituation.setCompanyContactName(contactsManagementTemporary.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
}else {
String companyId1 = contactsManagement.getCompanyId();
//校验是否是选择的企业的联系人
if (companyId1.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(contactsManagement.getId());
payMeetingSituation.setCompanyContactName(contactsManagement.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
}
}
private void canHuiRenCompany(PayMeetingSituation payMeetingSituation, PayCompanyManagement companyManagement) {
if (companyManagement == null) {
throw new JeroBootException("企业不存在");
}
payMeetingSituation.setCompanyTemporaryId(companyManagement.getId());
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
}
private void baoMingCompany(PayMeetingSituation payMeetingSituation, String companyId, PayCompanyManagement companyManagement) {
if (companyManagement == null) {
PayCompanyManagementTemporary companyManagementTemporary = companyManagementTemporaryService.getById(companyId);
if (companyManagementTemporary == null) {
throw new JeroBootException("企业不存在");
}
payMeetingSituation.setCompanyTemporaryId(companyManagementTemporary.getId());
payMeetingSituation.setCompanyName(companyManagementTemporary.getCompanyName());
payMeetingSituation.setNewCompany(1);
}else {
payMeetingSituation.setCompanyTemporaryId(companyManagement.getId());
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
}
payMeetingSituation.setNewCompany(0);
}
/**
@@ -275,4 +405,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
saveOrUpdate(payMeetingSituation);
}
}
}
@@ -0,0 +1,16 @@
package com.jero.meeting.vo;
import lombok.Data;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-10 15:11
*/
@Data
public class CheckVO {
private Integer checkResult;
private String checkRemark;
private String id;
}
@@ -0,0 +1,14 @@
package com.jero.meeting.vo;
import lombok.Data;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-10 15:29
*/
@Data
public class ImportSituationsVO {
private List<String> ids;
}