add 小程序企业端会议下载资料

This commit is contained in:
lijiarao
2023-08-01 11:06:50 +08:00
parent 3d6270ca56
commit d0878e549e
@@ -666,5 +666,75 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
}
}
/**
* 预览图片&下载文件
*
* @param id 传入文件id
*/
@ApiOperation(value = "小程序企业端会议下载资料", notes = "企业端会议下载资料")
@GetMapping(value = "/userDownloadByApplet/{id}/{meetingId}")
public void userDownloadByApplet(@PathVariable String id, @PathVariable String meetingId, HttpServletResponse response, String type) {
LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal();
String sysUserId = sysUser.getId();
PayMeeting payMeeting = payMeetingService.getById(meetingId);
if(ObjectUtils.isEmpty(payMeeting)){
throw new JeroBootException("会议不存在..");
}
Integer meetingType = payMeeting.getMeetingType();
//如果是分标委会议或理事会会议,判断是否为成员
boolean isSubItem = false;
if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)) {
LambdaQueryWrapper<PayCaseCommitteeSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCaseCommitteeSubitem::getCommitteeId, payMeeting.getCaseCommitteeId());
wrapper.eq(PayCaseCommitteeSubitem::getContactsId, sysUserId);
int count = payCaseCommitteeSubitemService.count(wrapper);
if (count > 0) {
isSubItem = true;
}
} else if (meetingType.equals(MeetingCommon.COUNCIL_MEETING_INT)) {
LambdaQueryWrapper<PayCaseCouncilSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCaseCouncilSubitem::getCouncilId, payMeeting.getCouncilId());
wrapper.eq(PayCaseCouncilSubitem::getContactsId, sysUserId);
int count = payCaseCouncilSubitemService.count(wrapper);
if (count > 0) {
isSubItem = true;
}
}
String meetingMinute = payMeeting.getMeetingMinute();
String meetingData = payMeeting.getMeetingData();
List<String> fileList = new ArrayList<>();
if(StringUtils.isNotBlank(meetingMinute)) {
fileList.addAll(Arrays.asList(meetingMinute.split(",")));
}
if(StringUtils.isNotBlank(meetingData)) {
fileList.addAll(Arrays.asList(meetingData.split(",")));
}
if(!fileList.contains(id)){
throw new JeroBootException("会议无此文件..");
}
BigDecimal meetingCosts = payMeeting.getMeetingCosts();
//先判断非成员
if (!isSubItem){
//会议金额等于0并且是工作组会议(工作组会议金额为0时可以下载)
if (meetingCosts.compareTo(BigDecimal.ZERO) == 0 && meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){
}else
//在判断会议金额是否大于0
if (meetingCosts.compareTo(BigDecimal.ZERO) > 0){
QueryWrapper<PayMeetingSituation> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("meeting_id", meetingId);
queryWrapper1.eq("company_contact_id", sysUserId);
PayMeetingSituation meetingSituation = payMeetingSituationService.getOne(queryWrapper1);
if (ObjectUtils.isEmpty(meetingSituation)) {
throw new JeroBootException("未报名会议。");
}
}
}
}
}