add 小程序 签到和获取签到页面

This commit is contained in:
lijiarao
2021-10-11 17:55:58 +08:00
parent 19d493a4e4
commit 04e3b47361
12 changed files with 132 additions and 104 deletions
@@ -313,17 +313,5 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
return Result.OK("合并开票成功!");
}
/**
* 签到
*/
@AutoLog(value = "签到")
@ApiOperation(value = "签到")
@PostMapping(value = "/signIn")
public Result<?> signIn(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
payMeetingSituationService.signIn(signInVO);
return Result.OK("签到成功!");
}
}
@@ -311,17 +311,5 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
return Result.OK("合并开票成功!");
}
/**
* 签到
*/
@AutoLog(value = "签到")
@ApiOperation(value = "签到")
@PostMapping(value = "/signIn")
public Result<?> signIn(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
payMeetingSituationService.signIn(signInVO);
return Result.OK("签到成功!");
}
}
@@ -313,17 +313,5 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
return Result.OK("合并开票成功!");
}
/**
* 签到
*/
@AutoLog(value = "签到")
@ApiOperation(value = "签到")
@PostMapping(value = "/signIn")
public Result<?> signIn(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
payMeetingSituationService.signIn(signInVO);
return Result.OK("签到成功!");
}
}
@@ -27,6 +27,7 @@ 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.valid.group.SignIn;
import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.project.common.PayProjectCommon;
@@ -308,43 +309,6 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
return super.exportListXls(exportList, classToExport, "参会人员信息");
}
/**
* 设置对接人
*/
@RequiresPermissions("otherMeeting:batchSetDocker")
@AutoLog(value = "设置对接人")
@ApiOperation(value = "设置对接人", notes = "设置对接人")
@PostMapping(value = "/addDock")
public Result<?> addDock(@RequestBody AddDockVO addDockVO) {
payMeetingSituationService.addDock(addDockVO);
return Result.OK("设置对接人成功!");
}
/**
* 审核付款凭证
*/
@RequiresPermissions("otherMeeting:auditCredentials")
@AutoLog(value = "审核付款凭证")
@ApiOperation(value = "审核付款凭证")
@PostMapping(value = "/check")
public Result<?> check(@RequestBody CheckVO checkVO) {
payMeetingSituationService.check(checkVO);
return Result.OK("审核成功!");
}
/**
* 审核报名信息
*/
@AutoLog(value = "审核报名信息")
@RequiresPermissions("otherMeeting:auditSignUp")
@ApiOperation(value = "审核报名信息")
@PostMapping(value = "/checkRegister")
public Result<?> checkRegister(@RequestBody CheckVO checkVO) {
payMeetingSituationService.checkRegister(checkVO);
return Result.OK("审核成功!");
}
/**
* 合并开票
*/
@@ -357,6 +321,17 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
return Result.OK("合并开票成功!");
}
/**
* 获得签到页面
*/
@ApiOperation(value = "获得签到页面")
@GetMapping(value = "/getSignInPage")
public Result<?> getSignInPage(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
SignInPageVO signInPageVO = payMeetingSituationService.signIn(signInVO);
return Result.OK(signInPageVO);
}
/**
* 签到
*/
@@ -364,7 +339,7 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
@ApiOperation(value = "签到")
@PostMapping(value = "/signIn")
public Result<?> signIn(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
ValidUtil.validate(signInVO, SignIn.class);
payMeetingSituationService.signIn(signInVO);
return Result.OK("签到成功!");
}
@@ -313,17 +313,4 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
return Result.OK("合并开票成功!");
}
/**
* 签到
*/
@AutoLog(value = "签到")
@ApiOperation(value = "签到")
@PostMapping(value = "/signIn")
public Result<?> signIn(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
payMeetingSituationService.signIn(signInVO);
return Result.OK("签到成功!");
}
}
@@ -313,17 +313,5 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
return Result.OK("合并开票成功!");
}
/**
* 签到
*/
@AutoLog(value = "签到")
@ApiOperation(value = "签到")
@PostMapping(value = "/signIn")
public Result<?> signIn(@RequestBody SignInVO signInVO) {
ValidUtil.validate(signInVO);
payMeetingSituationService.signIn(signInVO);
return Result.OK("签到成功!");
}
}
@@ -243,6 +243,10 @@ public class PayMeetingSituation implements Serializable {
@Dict(dicCode = "yn")
private Integer checkIn;
/**签到文件*/
@ApiModelProperty(value = "签到文件")
private String checkFile;
/**邮寄联系人*/
@Excel(name = "邮寄联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
@ApiModelProperty(value = "邮寄联系人")
@@ -59,7 +59,7 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
Page<MeetingSituationContractVO> contractPage(Page<MeetingSituationContractVO> page, MeetingSituationContractVO meetingSituationContractVO);
void signIn(SignInVO signInVO);
SignInPageVO signIn(SignInVO signInVO);
String getMeetingType(PayMeetingSituation payMeetingSituation);
@@ -544,13 +544,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
}
@Override
public void signIn(SignInVO signInVO) {
public SignInPageVO signIn(SignInVO signInVO) {
String meetingId = signInVO.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
if (payMeeting == null) {
throw new JeroBootException("会议不存在");
}
if (!belongCalendar(new Date(), payMeeting.getStartSignInTime(), payMeeting.getEndSignInTime())) {
throw new JeroBootException("不在会议可签到时间内,无法签到");
}
@@ -566,7 +567,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
wrapper.eq(PayMeetingSituation::getCompanyContactId, companyContactId);
PayMeetingSituation meetingSituation = getOne(wrapper);
if (meetingSituation == null) {
throw new JeroBootException("会议不存在此参会人");
throw new JeroBootException("很抱歉,未查询到您的报名信息");
}
//如果是线上缴费并且缴费凭证为空
Integer payMode = meetingSituation.getPayMode();
@@ -574,8 +575,33 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
throw new JeroBootException("请上传缴费凭证后再签到");
}
meetingSituation.setCheckIn(PayProjectCommon.YES);
saveOrUpdate(meetingSituation);
if (StringUtils.isNotBlank(signInVO.getFileId())){
Integer checkIn = meetingSituation.getCheckIn();
if (checkIn.equals(PayProjectCommon.YES)){
throw new JeroBootException("已经签到,请勿重复签到");
}
meetingSituation.setCheckIn(PayProjectCommon.YES);
meetingSituation.setCheckFile(signInVO.getFileId());
saveOrUpdate(meetingSituation);
}
return putDate(payMeeting,meetingSituation);
}
private SignInPageVO putDate(PayMeeting payMeeting, PayMeetingSituation meetingSituation) {
SignInPageVO signInPageVO = new SignInPageVO();
signInPageVO.setMeetingId(payMeeting.getId());
signInPageVO.setMeetingName(payMeeting.getMeetingName());
signInPageVO.setMeetingType(payMeeting.getMeetingType());
signInPageVO.setTbMeetingType(payMeeting.getTbMeetingType());
signInPageVO.setStartTime(payMeeting.getStartTime());
signInPageVO.setEndTime(payMeeting.getEndTime());
signInPageVO.setCompanyId(meetingSituation.getCompanyId());
signInPageVO.setCompanyName(meetingSituation.getCompanyName());
signInPageVO.setCompanyContactId(meetingSituation.getCompanyContactId());
signInPageVO.setCompanyContactName(meetingSituation.getCompanyContactName());
signInPageVO.setCheckIn(meetingSituation.getCheckIn());
signInPageVO.setCheckFile(meetingSituation.getCheckFile());
return signInPageVO;
}
@Override
@@ -0,0 +1,9 @@
package com.jero.meeting.valid.group;
/**
* 签到分组
* @author liJiaRao
* @date 2021-10-11 17:10
*/
public @interface SignIn {
}
@@ -0,0 +1,71 @@
package com.jero.meeting.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author liJiaRao
* @date 2021-10-11 17:41
*/
@Data
public class SignInPageVO {
/**会议id*/
@ApiModelProperty(value = "会议id")
private String meetingId;
/**会议名称*/
@ApiModelProperty(value = "会议名称")
private String meetingName;
/**会议类型*/
@ApiModelProperty(value = "会议类型")
private Integer meetingType;
/**标协会议类型*/
@ApiModelProperty(value = "标协会议类型")
private Integer tbMeetingType;
/**开始时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "会议开始时间")
private Date startTime;
/**结束时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "会议结束时间")
private Date endTime;
/**企业id*/
@ApiModelProperty(value = "企业id")
private String companyId;
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
private String companyName;
/**企业联系人id*/
@ApiModelProperty(value = "企业联系人id")
private String companyContactId;
/**企业联系人姓名*/
@Excel(name = "企业联系人姓名", width = 15)
@ApiModelProperty(value = "企业联系人姓名")
private String companyContactName;
/**是否签到*/
@ApiModelProperty(value = "是否签到")
@Dict(dicCode = "yn")
private Integer checkIn;
/**签到文件*/
@ApiModelProperty(value = "签到文件")
private String checkFile;
}
@@ -1,5 +1,6 @@
package com.jero.meeting.vo;
import com.jero.meeting.valid.group.SignIn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;
@@ -19,4 +20,7 @@ public class SignInVO {
@ApiModelProperty(value = "会议id")
@NotBlank(message = "会议id不能为空")
private String meetingId;
@ApiModelProperty(value = "签到图片")
@NotBlank(message = "签到图片",groups = SignIn.class)
private String fileId;
}