From bfe515d73dbf014805471afa2527e66814f3234b Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 28 Oct 2021 16:43:12 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix=20bug=20=E4=BC=9A=E8=AE=AE=E5=92=8C?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E9=A1=B9=E7=9B=AE=E7=9A=84=E6=B0=B4=E5=B9=B3?= =?UTF-8?q?=E8=B6=8A=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommitteeMeetingController.java | 4 +- .../CommitteeMeetingSituationController.java | 42 +----- .../controller/InternalMeetingController.java | 4 +- .../InternalMeetingSituationController.java | 120 +++------------- .../controller/OtherMeetingController.java | 4 +- .../OtherMeetingSituationController.java | 20 +-- .../PayMeetingSituationController.java | 80 +++++------ .../StandardsMeetingController.java | 4 +- .../StandardsMeetingSituationController.java | 20 +-- .../WorkGroupMeetingController.java | 4 +- .../WorkGroupMeetingSituationController.java | 20 +-- .../mapper/PayMeetingSituationMapper.java | 1 - .../service/IPayMeetingSituationService.java | 14 +- .../service/impl/PayMeetingServiceImpl.java | 21 ++- .../impl/PayMeetingSituationServiceImpl.java | 128 ++++++++++++++++-- .../com/jero/meeting/vo/CommonPeopleVO.java | 1 - .../PayMemberProjectController.java | 6 +- .../java/com/jero/util/ObjRecordUtil.java | 6 + 18 files changed, 243 insertions(+), 256 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java index 18afad05..4eae05fd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java @@ -217,8 +217,8 @@ public class CommitteeMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); - List pageList = payMeetingService.list(queryWrapper); + IPage queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); + List pageList = queryPageList.getRecords(); List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java index 3fd89d39..fb2746fe 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java @@ -90,13 +90,9 @@ public class CommitteeMeetingSituationController extends JeroController page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); + IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); @@ -118,27 +114,11 @@ public class CommitteeMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { - String meetingId = payMeetingSituation.getMeetingId(); - PayMeeting payMeeting = meetingService.getById(meetingId); - if (!Objects.equals(payMeeting.getMeetingType(),MEETING_TYPE)){ - throw new JeroBootException("数据权限不足"); - } - payMeetingSituationService.add(payMeetingSituation); + + payMeetingSituationService.add(payMeetingSituation,MEETING_TYPE); return Result.OK("添加成功!"); } - /** - * 报名 - */ - @AutoLog(value = "报名信息-报名") - @ApiOperation(value = "报名信息-报名", notes = "报名信息-报名") - @PostMapping(value = "/signUp") - public Result signUp(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.signUp(payMeetingSituation); - return Result.OK("添加成功!"); - } - - /** * 编辑 */ @@ -147,8 +127,7 @@ public class CommitteeMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.checkCan(payMeetingSituationVO.getId(),MEETING_TYPE); - payMeetingSituationService.editById(payMeetingSituationVO); + payMeetingSituationService.editById(payMeetingSituationVO,MEETING_TYPE); return Result.OK("编辑成功!"); } @@ -160,7 +139,6 @@ public class CommitteeMeetingSituationController extends JeroController delete(@RequestParam(name = "id") String id) { - payMeetingSituationService.checkCan(id,MEETING_TYPE); payMeetingSituationService.deleteById(id); return Result.OK("删除成功!"); } @@ -174,9 +152,6 @@ public class CommitteeMeetingSituationController extends JeroController deleteBatch(@RequestParam(name = "ids") String ids) { List stringList = Arrays.asList(ids.split(",")); - for (String id : stringList) { - payMeetingSituationService.checkCan(id,MEETING_TYPE); - } this.payMeetingSituationService.deleteByIds(stringList); return Result.OK("批量删除成功!"); } @@ -189,7 +164,6 @@ public class CommitteeMeetingSituationController extends JeroController queryById(@RequestParam(name = "id") String id) { - payMeetingSituationService.checkCan(id,MEETING_TYPE); PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id); if (payMeetingSituation == null) { return Result.error("未找到对应数据"); @@ -312,10 +286,6 @@ public class CommitteeMeetingSituationController extends JeroController addDock(@RequestBody AddDockVO addDockVO) { - List meetingSituationIds = addDockVO.getMeetingSituationIds(); - for (String id : meetingSituationIds) { - payMeetingSituationService.checkCan(id,MEETING_TYPE); - } payMeetingSituationService.addDock(addDockVO); return Result.OK("设置对接人成功!"); } @@ -328,7 +298,6 @@ public class CommitteeMeetingSituationController extends JeroController check(@RequestBody CheckVO checkVO) { - payMeetingSituationService.checkCan(checkVO.getId(),MEETING_TYPE); payMeetingSituationService.check(checkVO); return Result.OK("审核成功!"); } @@ -341,7 +310,6 @@ public class CommitteeMeetingSituationController extends JeroController checkRegister(@RequestBody CheckVO checkVO) { - payMeetingSituationService.checkCan(checkVO.getId(),MEETING_TYPE); payMeetingSituationService.checkRegister(checkVO); return Result.OK("审核成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java index 7f6a6ce1..247dd5d8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java @@ -216,8 +216,8 @@ public class InternalMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); - List pageList = payMeetingService.list(queryWrapper); + IPage queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); + List pageList = queryPageList.getRecords(); List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingSituationController.java index 8513275f..55015c61 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingSituationController.java @@ -8,38 +8,32 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.DictPoint; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.RolePermissionService; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.AuthenticationUtils; -import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; -import com.jero.common.util.oConvertUtils; -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.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.vo.*; -import com.jero.meeting.vo.excel.*; import com.jero.project.common.PayProjectCommon; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** @@ -61,6 +55,10 @@ public class InternalMeetingSituationController extends JeroController queryPageList(PayMeetingSituation payMeetingSituation, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); - String particularYear = req.getParameter("particularYear"); + HttpServletRequest request) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap()); + String particularYear = request.getParameter("particularYear"); if (StringUtils.isNotBlank(particularYear)){ queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); } Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); + IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); @@ -100,22 +98,10 @@ public class InternalMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.add(payMeetingSituation); + payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE); return Result.OK("添加成功!"); } - /** - * 报名 - */ - @AutoLog(value = "报名信息-报名") - @ApiOperation(value = "报名信息-报名", notes = "报名信息-报名") - @PostMapping(value = "/signUp") - public Result signUp(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.signUp(payMeetingSituation); - return Result.OK("添加成功!"); - } - - /** * 编辑 */ @@ -124,7 +110,7 @@ public class InternalMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.editById(payMeetingSituationVO); + payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE); return Result.OK("编辑成功!"); } @@ -186,87 +172,15 @@ public class InternalMeetingSituationController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap()); - List pageList = payMeetingSituationService.list(queryWrapper); - // 过滤选中数据 - String selections = request.getParameter("selections"); - if (oConvertUtils.isNotEmpty(selections)) { - List selectionList = Arrays.asList(selections.split(",")); - pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); - } - if (pageList.isEmpty()) { - throw new JeroBootException("没有数据"); - } - String meetingType = payMeetingSituationService.getMeetingType(payMeetingSituation); - List exportList = new ArrayList<>(); - for (PayMeetingSituation meetingSituation : pageList) { - String companyContactId = meetingSituation.getCompanyContactId(); - PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId); - meetingSituation.setCompanyContactName(contactsManagement.getName()); - meetingSituation.setPost(contactsManagement.getPost()); - meetingSituation.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone())); - meetingSituation.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail())); - PayCompanyManagement companyManagement = companyManagementService.getById(contactsManagement.getCompanyId()); - meetingSituation.setCompanyName(companyManagement.getCompanyName()); - switch (meetingType) { - case MeetingCommon.STANDARD_MEETING: - //保存数据 - StandardsSituationExcel standardsSituationExcel = new StandardsSituationExcel(); - BeanUtils.copyProperties(meetingSituation, standardsSituationExcel); - exportList.add(standardsSituationExcel); - // 工作组项目查询工作组项目名 - break; - case MeetingCommon.WORKING_GROUP_MEETING: - //保存数据 - WorkingGroupSituationExcel workingGroupSituationExcel = new WorkingGroupSituationExcel(); - BeanUtils.copyProperties(meetingSituation, workingGroupSituationExcel); - exportList.add(workingGroupSituationExcel); - break; - case MeetingCommon.INTERNATIONAL_MEETING: - //保存数据 - InternationalSituationExcel internationalSituationExcel = new InternationalSituationExcel(); - BeanUtils.copyProperties(meetingSituation, internationalSituationExcel); - exportList.add(internationalSituationExcel); - break; - case MeetingCommon.OTHER_MEETING: - //保存数据 - SituationExcel situationExcel = new SituationExcel(); - BeanUtils.copyProperties(meetingSituation, situationExcel); - exportList.add(situationExcel); - break; - case MeetingCommon.COMMITTEE_MEETING: - //保存数据 - CommitteeSituationExcel committeeSituationExcel = new CommitteeSituationExcel(); - BeanUtils.copyProperties(meetingSituation, committeeSituationExcel); - exportList.add(committeeSituationExcel); - break; - } - } - - - Class classToExport = null; - switch (meetingType) { - case MeetingCommon.WORKING_GROUP_MEETING: - classToExport = WorkingGroupSituationExcel.class; - break; - case MeetingCommon.STANDARD_MEETING: - classToExport = StandardsSituationExcel.class; - break; - case MeetingCommon.INTERNATIONAL_MEETING: - classToExport = InternationalSituationExcel.class; - break; - case MeetingCommon.OTHER_MEETING: - classToExport = SituationExcel.class; - break; - case MeetingCommon.COMMITTEE_MEETING: - classToExport = CommitteeSituationExcel.class; - break; - } - return super.exportListXls(exportList, classToExport, "参会人员信息"); + List objects = payMeetingSituationService.MeetingSituationGetModelAndView(request, payMeetingSituation,MEETING_TYPE); + Class aClass = payMeetingSituationService.getaClass(MEETING_TYPE); + return super.exportListXls(objects, aClass, "参会人员信息"); } + + /** * 设置对接人 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java index 08030528..8ce52b56 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java @@ -216,8 +216,8 @@ public class OtherMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); - List pageList = payMeetingService.list(queryWrapper); + IPage queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); + List pageList = queryPageList.getRecords(); List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingSituationController.java index 27ebcef9..9c217660 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingSituationController.java @@ -61,6 +61,8 @@ public class OtherMeetingSituationController extends JeroController page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); + IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); @@ -100,22 +102,10 @@ public class OtherMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.add(payMeetingSituation); + payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE); return Result.OK("添加成功!"); } - /** - * 报名 - */ - @AutoLog(value = "报名信息-报名") - @ApiOperation(value = "报名信息-报名", notes = "报名信息-报名") - @PostMapping(value = "/signUp") - public Result signUp(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.signUp(payMeetingSituation); - return Result.OK("添加成功!"); - } - - /** * 编辑 */ @@ -124,7 +114,7 @@ public class OtherMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.editById(payMeetingSituationVO); + payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE); return Result.OK("编辑成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java index 2b2820fc..a76339cf 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java @@ -62,36 +62,38 @@ public class PayMeetingSituationController extends JeroController queryPageList(PayMeetingSituation payMeetingSituation, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); - String particularYear = req.getParameter("particularYear"); - if (StringUtils.isNotBlank(particularYear)){ - queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); - } - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); - List situationList = pageList.getRecords(); - for (PayMeetingSituation meetingSituation : situationList) { - Integer payMode = meetingSituation.getPayMode(); - //汇款并且缴费凭证为空 - if (Objects.equals(payMode,1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())){ - meetingSituation.setIdentification(PayProjectCommon.YES); - }else { - meetingSituation.setIdentification(PayProjectCommon.NO); - } - } - return Result.OK(pageList); - } + //@CompanyNameTranslate + //@RequiresPermissions("meetingSituation:search") + //@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 queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + // String particularYear = req.getParameter("particularYear"); + // if (StringUtils.isNotBlank(particularYear)){ + // queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); + // } + // Page page = new Page<>(pageNo, pageSize); + // IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); + // List situationList = pageList.getRecords(); + // for (PayMeetingSituation meetingSituation : situationList) { + // Integer payMode = meetingSituation.getPayMode(); + // //汇款并且缴费凭证为空 + // if (Objects.equals(payMode,1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())){ + // meetingSituation.setIdentification(PayProjectCommon.YES); + // }else { + // meetingSituation.setIdentification(PayProjectCommon.NO); + // } + // } + // return Result.OK(pageList); + //} /** * 合同查询未关联参会人列表 @@ -136,7 +138,7 @@ public class PayMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.add(payMeetingSituation); + payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE); return Result.OK("添加成功!"); } @@ -152,17 +154,17 @@ public class PayMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.editById(payMeetingSituationVO); - return Result.OK("编辑成功!"); - } + ///** + // * 编辑 + // */ + //@AutoLog(value = "参会人员信息-编辑") + //@RequiresPermissions("meetingSituation:edit") + //@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑") + //@PostMapping(value = "/edit") + //public Result edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { + // payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE); + // return Result.OK("编辑成功!"); + //} /** * 企业端上传缴费凭证 编辑 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java index a1720918..c75a9cc8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java @@ -243,8 +243,8 @@ public class StandardsMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); - List pageList = payMeetingService.list(queryWrapper); + IPage queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); + List pageList = queryPageList.getRecords(); List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java index daf31a43..f2a04e73 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java @@ -61,6 +61,8 @@ public class StandardsMeetingSituationController extends JeroController page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); + IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); @@ -100,22 +102,10 @@ public class StandardsMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.add(payMeetingSituation); + payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE); return Result.OK("添加成功!"); } - /** - * 报名 - */ - @AutoLog(value = "报名信息-报名") - @ApiOperation(value = "报名信息-报名", notes = "报名信息-报名") - @PostMapping(value = "/signUp") - public Result signUp(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.signUp(payMeetingSituation); - return Result.OK("添加成功!"); - } - - /** * 编辑 */ @@ -124,7 +114,7 @@ public class StandardsMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.editById(payMeetingSituationVO); + payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE); return Result.OK("编辑成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java index e59941c0..ad2614b2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java @@ -218,8 +218,8 @@ public class WorkGroupMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); - List pageList = payMeetingService.list(queryWrapper); + IPage queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); + List pageList = queryPageList.getRecords(); List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingSituationController.java index 7f3941d7..6e630bf5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingSituationController.java @@ -61,6 +61,8 @@ public class WorkGroupMeetingSituationController extends JeroController page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); + IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); @@ -100,22 +102,10 @@ public class WorkGroupMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.add(payMeetingSituation); + payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE); return Result.OK("添加成功!"); } - /** - * 报名 - */ - @AutoLog(value = "报名信息-报名") - @ApiOperation(value = "报名信息-报名", notes = "报名信息-报名") - @PostMapping(value = "/signUp") - public Result signUp(@RequestBody PayMeetingSituation payMeetingSituation) { - payMeetingSituationService.signUp(payMeetingSituation); - return Result.OK("添加成功!"); - } - - /** * 编辑 */ @@ -124,7 +114,7 @@ public class WorkGroupMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.editById(payMeetingSituationVO); + payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE); return Result.OK("编辑成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java index 23984217..27ffb792 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java @@ -22,5 +22,4 @@ public interface PayMeetingSituationMapper extends BaseMapper pageListContract(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); - } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java index 5d437106..094dd5bb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java @@ -4,11 +4,12 @@ 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.common.api.vo.Result; -import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeetingSituation; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.meeting.vo.*; +import org.jetbrains.annotations.Nullable; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -22,12 +23,12 @@ public interface IPayMeetingSituationService extends IService pageListContract(Page page, QueryWrapper queryWrapper); + IPage pageListContract(Page page, QueryWrapper queryWrapper,Integer meetingType); - void checkCan(String situationId, Integer meetingCommon); + List MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType); + + @Nullable + Class getaClass(Integer meetingType); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index f0c68529..b4558af2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -45,6 +45,7 @@ import com.jero.meeting.valid.group.WorkingGroupMeeting; import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; +import com.jero.meeting.vo.excel.*; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.entity.PayWorkingGroup; @@ -562,9 +563,23 @@ public class PayMeetingServiceImpl extends ServiceImpl page = new Page<>(pageNo, pageSize); IPage pageList; - if (!rolePermissionService.getRolePermission("generalProject:search")) { - if (!payMeeting.getMeetingType().equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) { - payMeeting.setDirectorId(sysUser.getId()); + String permission = null; + Integer meetingType = payMeeting.getMeetingType(); + if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){ + permission = "workGroupMeeting:search"; + }else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){ + permission = "standardMeeting:search"; + }else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){ + permission = "internalMeeting:search"; + }else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){ + permission = "otherMeeting:search"; + }else if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)){ + permission = "committeeMeeting:search"; + } + + if (!Objects.equals(permission,"standardMeeting:search") && !rolePermissionService.getRolePermission(permission)) { + if (!meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) { + queryWrapper.eq("director_id", sysUser.getId()); pageList = page(page, queryWrapper); }else { queryWrapper.and( diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 410a11ad..98c36db8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -19,9 +19,11 @@ import com.jero.common.service.RolePermissionService; import com.jero.common.service.SendMessageService; import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; +import com.jero.common.util.oConvertUtils; import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayCompanyManagementService; @@ -44,6 +46,7 @@ import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.valid.group.*; import com.jero.meeting.vo.*; +import com.jero.meeting.vo.excel.*; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.payment.entity.PayPaymentRecord; @@ -59,15 +62,18 @@ import com.jero.util.module.ObjRecordUtilModule; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.springframework.transaction.annotation.Transactional; @@ -123,9 +129,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl pageListContract(Page page, QueryWrapper queryWrapper) { + public IPage pageListContract(Page page, QueryWrapper queryWrapper,Integer meetingType) { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (!rolePermissionService.getRolePermission("committeeMeetingSituation:search")) { + if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){ + queryWrapper.and( + a -> a.eq("pms.dock_id",loginUser.getId()) + .or() + .eq("pm.director_id",loginUser.getId()) + ); + }else { + queryWrapper.eq("pm.director_id", loginUser.getId()); + } + } + queryWrapper.eq("pm.meeting_type",meetingType); return baseMapper.pageListContract(page,queryWrapper); } @@ -714,12 +737,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("meetingName", payMeeting.getMeetingName()); - map.put("userName1", sysUser.getUsername()); - map.put("userName2", payMeetingSituation1.getCompanyContactName()); + map.put("username1", sysUser.getRealname()); + map.put("username2", payMeetingSituation1.getCompanyContactName()); map.put("record", record); sendMessageDTO.setFromUser(sysUser.getUsername()); sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG8.getCode()); @@ -1176,13 +1204,91 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap()); + String particularYear = request.getParameter("particularYear"); + if (StringUtils.isNotBlank(particularYear)){ + queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); } + IPage pageListContract = pageListContract(new Page<>(-1, -1), queryWrapper,meetingType); + List pageList = pageListContract.getRecords(); + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); + } + if (pageList.isEmpty()) { + throw new JeroBootException("没有数据"); + } + String meetingType1 = getMeetingType(payMeetingSituation); + List exportList = new ArrayList<>(); + for (PayMeetingSituation meetingSituation : pageList) { + + String companyContactId = meetingSituation.getCompanyContactId(); + PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId); + meetingSituation.setCompanyContactName(contactsManagement.getName()); + meetingSituation.setPost(contactsManagement.getPost()); + meetingSituation.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone())); + meetingSituation.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail())); + PayCompanyManagement companyManagement = companyManagementService.getById(contactsManagement.getCompanyId()); + meetingSituation.setCompanyName(companyManagement.getCompanyName()); + switch (meetingType1) { + case MeetingCommon.STANDARD_MEETING: + //保存数据 + StandardsSituationExcel standardsSituationExcel = new StandardsSituationExcel(); + BeanUtils.copyProperties(meetingSituation, standardsSituationExcel); + exportList.add(standardsSituationExcel); + // 工作组项目查询工作组项目名 + break; + case MeetingCommon.WORKING_GROUP_MEETING: + //保存数据 + WorkingGroupSituationExcel workingGroupSituationExcel = new WorkingGroupSituationExcel(); + BeanUtils.copyProperties(meetingSituation, workingGroupSituationExcel); + exportList.add(workingGroupSituationExcel); + break; + case MeetingCommon.INTERNATIONAL_MEETING: + //保存数据 + InternationalSituationExcel internationalSituationExcel = new InternationalSituationExcel(); + BeanUtils.copyProperties(meetingSituation, internationalSituationExcel); + exportList.add(internationalSituationExcel); + break; + case MeetingCommon.OTHER_MEETING: + //保存数据 + SituationExcel situationExcel = new SituationExcel(); + BeanUtils.copyProperties(meetingSituation, situationExcel); + exportList.add(situationExcel); + break; + case MeetingCommon.COMMITTEE_MEETING: + //保存数据 + CommitteeSituationExcel committeeSituationExcel = new CommitteeSituationExcel(); + BeanUtils.copyProperties(meetingSituation, committeeSituationExcel); + exportList.add(committeeSituationExcel); + break; + } + } + + return exportList; + } + + @Nullable + @Override + public Class getaClass(Integer meetingType) { + Class classToExport = null; + if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){ + classToExport = WorkingGroupSituationExcel.class; + }else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){ + classToExport = StandardsSituationExcel.class; + }else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){ + classToExport = InternationalSituationExcel.class; + }else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){ + classToExport = SituationExcel.class; + }else if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)){ + classToExport = CommitteeSituationExcel.class; + } + return classToExport; } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/CommonPeopleVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/CommonPeopleVO.java index 3bddcb37..4029a5c4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/CommonPeopleVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/CommonPeopleVO.java @@ -35,7 +35,6 @@ public class CommonPeopleVO{ /**邮寄联系人地址*/ @Excel(name = "地址", width = 15) @ApiModelProperty(value = "邮寄联系人地址") - @NotBlank(message = "地址不能为空",groups = NotPack.class) private String postContactAddress; /**缴费方式*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectController.java index 48b7ee94..4af63b3b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectController.java @@ -82,7 +82,7 @@ public class PayMemberProjectController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMemberProject, req.getParameterMap()); @@ -257,6 +257,10 @@ public class PayMemberProjectController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMemberProject, request.getParameterMap()); List pageList = memberProjectService.list(queryWrapper); // 过滤选中数据 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/util/ObjRecordUtil.java b/jero-boot-incoming-payment/src/main/java/com/jero/util/ObjRecordUtil.java index baaca0e8..5c345244 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/util/ObjRecordUtil.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/util/ObjRecordUtil.java @@ -59,7 +59,13 @@ public class ObjRecordUtil { Dict dict = field1.getAnnotation(Dict.class); if (pn != null) { Object old = field1.get(oldObj); + if (Objects.isNull(old)) { + old = ""; + } Object newo = field2.get(newObj); + if (Objects.isNull(newo)) { + newo = ""; + } if (pn.value().contains("id")) { break; } else if (pn.value().contains("文件")) { From 6d4463b2a587dd2d2c426bfe49e987ef08046553 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 28 Oct 2021 17:46:59 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix=20bug=2041652=20=E9=97=A8=E6=88=B7?= =?UTF-8?q?=E7=AB=AF-=E4=BC=9A=E8=AE=AE=E8=AF=A6=E6=83=85=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2-=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=A7=93=E5=90=8D=EF=BC=8C=E4=BD=86=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=88=90=E4=BA=86=E7=94=A8=E6=88=B7=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 610173ef..bf5af226 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -494,6 +494,19 @@ public class SysUserController { } return result; } + + @RequestMapping(value = "/queryByIdStandards", method = RequestMethod.GET) + public Result queryByIdStandards(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + SysUser sysUser = sysUserService.getById(id); + if (sysUser == null) { + return result.error500("未找到对应实体"); + } else { + sysUser.setPhone(PasswordUtil.decrypt(sysUser.getPhone())); + return Result.OK(sysUser); + } + } + @RequiresPermissions("sys:user:list") @RequestMapping(value = "/queryUserRole", method = RequestMethod.GET) public Result> queryUserRole(@RequestParam(name = "userid", required = true) String userid) { From ca00bf1995a7b074d66bc3c2e176c2b715f53c04 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 28 Oct 2021 18:20:47 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix=20bug=2041534=20=E6=94=B6=E5=85=A5?= =?UTF-8?q?=E5=90=88=E5=90=8C-=E5=85=B3=E8=81=94=E9=A1=B9=E7=9B=AE-?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E4=BC=9A=E8=AE=AE-=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E6=96=B0=E5=A2=9E-=E7=82=B9=E5=87=BB=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E9=A1=B5=E9=9D=A2---=E8=BF=99=E5=9D=97?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=9A=84=E4=BC=9A=E8=AE=AE=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE,?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayMeetingServiceImpl.java | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index b4558af2..720decd9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -565,35 +565,38 @@ public class PayMeetingServiceImpl extends ServiceImpl pageList; String permission = null; Integer meetingType = payMeeting.getMeetingType(); - if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){ - permission = "workGroupMeeting:search"; - }else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){ - permission = "standardMeeting:search"; - }else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){ - permission = "internalMeeting:search"; - }else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){ - permission = "otherMeeting:search"; - }else if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)){ - permission = "committeeMeeting:search"; + if (meetingType != null) { + if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){ + permission = "workGroupMeeting:search"; + }else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){ + permission = "standardMeeting:search"; + }else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){ + permission = "internalMeeting:search"; + }else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){ + permission = "otherMeeting:search"; + }else if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)){ + permission = "committeeMeeting:search"; + } } - - if (!Objects.equals(permission,"standardMeeting:search") && !rolePermissionService.getRolePermission(permission)) { - if (!meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) { - queryWrapper.eq("director_id", sysUser.getId()); - pageList = page(page, queryWrapper); + if (StringUtils.isNotBlank(permission)) { + if (!Objects.equals(permission,"standardMeeting:search") && !rolePermissionService.getRolePermission(permission)) { + if (!meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) { + queryWrapper.eq("director_id", sysUser.getId()); + pageList = page(page, queryWrapper); + }else { + queryWrapper.and( + a -> a.eq("director_id", sysUser.getId()) + .or() + .eq("dock_id", sysUser.getId()) + ); + pageList = baseMapper.internelPage(page,queryWrapper); + } }else { - queryWrapper.and( - a -> a.eq("director_id", sysUser.getId()) - .or() - .eq("dock_id", sysUser.getId()) - ); - pageList = baseMapper.internelPage(page,queryWrapper); + pageList = page(page, queryWrapper); } }else { pageList = page(page, queryWrapper); } - - for (PayMeeting meeting : pageList.getRecords()) { //查询会议负责人 LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId()); From 5310c6dbe7c86e47e25a1d52d372b80d6642c9a9 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 28 Oct 2021 20:25:23 +0800 Subject: [PATCH 4/5] =?UTF-8?q?add=20=E6=96=B0=E5=A2=9E=E9=9C=80=E8=A6=81t?= =?UTF-8?q?oken=E7=9A=84=E4=B8=8B=E8=BD=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xml/PayFileDownloadRecordMapper.xml | 2 +- .../oss/entity/FileDownloadRecord.java | 59 +++++++++ .../oss/mapper/FileDownloadRecordMapper.java | 16 +++ .../modules/oss/mapper/OSSFileMapper.java | 6 +- .../mapper/xml/FileDownloadRecordMapper.xml | 5 + .../modules/oss/mapper/xml/OSSFileMapper.xml | 3 + .../modules/oss/service/IOSSFileService.java | 4 + .../oss/service/impl/OSSFileServiceImpl.java | 23 +++- .../system/controller/CommonController.java | 114 ++++++++++++++++++ 9 files changed, 229 insertions(+), 3 deletions(-) create mode 100644 jero-boot-module-system/src/main/java/com/jero/modules/oss/entity/FileDownloadRecord.java create mode 100644 jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/FileDownloadRecordMapper.java create mode 100644 jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/FileDownloadRecordMapper.xml diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayFileDownloadRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayFileDownloadRecordMapper.xml index cdc2f0d7..a97a1be6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayFileDownloadRecordMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayFileDownloadRecordMapper.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/entity/FileDownloadRecord.java b/jero-boot-module-system/src/main/java/com/jero/modules/oss/entity/FileDownloadRecord.java new file mode 100644 index 00000000..89070446 --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/entity/FileDownloadRecord.java @@ -0,0 +1,59 @@ +package com.jero.modules.oss.entity; + +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 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 java.io.Serializable; + +/** + * @Description: pay_file_download_record + * @Author: jeecg-boot + * @Date: 2021-08-30 + * @Version: V1.0 + */ +@Data +@TableName("pay_file_download_record") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="pay_file_download_record对象", description="pay_file_download_record") +public class FileDownloadRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "文件id") + private String fileId; + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private String userId; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @Excel(name = "下载时间", width = 15,exportFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/FileDownloadRecordMapper.java b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/FileDownloadRecordMapper.java new file mode 100644 index 00000000..7ccd850e --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/FileDownloadRecordMapper.java @@ -0,0 +1,16 @@ +package com.jero.modules.oss.mapper; + + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.oss.entity.FileDownloadRecord; + +/** + * @Description: pay_file_download_record + * @Author: jeecg-boot + * @Date: 2021-08-30 + * @Version: V1.0 + */ +public interface FileDownloadRecordMapper extends BaseMapper { + +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/OSSFileMapper.java b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/OSSFileMapper.java index c4f84697..c7ec86a4 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/OSSFileMapper.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/OSSFileMapper.java @@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jero.modules.oss.entity.OSSFile; import org.apache.ibatis.annotations.Param; +import java.util.Date; + public interface OSSFileMapper extends BaseMapper { /** * 根据文件id获取文件名称 */ - String findFileNameByFileId(@Param("fileId")String fileId); + String findFileNameByFileId(@Param("fileId") String fileId); + + void saveDownloadTimes(@Param("userId") String userId, @Param("fileId") String fileId, @Param("date") Date date); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/FileDownloadRecordMapper.xml b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/FileDownloadRecordMapper.xml new file mode 100644 index 00000000..b5dc6534 --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/FileDownloadRecordMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/OSSFileMapper.xml b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/OSSFileMapper.xml index c2663f90..7ee2a132 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/OSSFileMapper.xml +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/mapper/xml/OSSFileMapper.xml @@ -12,4 +12,7 @@ a.id = #{fileId} + + insert into pay_file_download_record(id, file_id, file_name, file_path, company_name, download_name, meeting_name, create_by, create_time, update_by, update_time) + diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/IOSSFileService.java b/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/IOSSFileService.java index cadfb73d..4ba97bb5 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/IOSSFileService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/IOSSFileService.java @@ -17,4 +17,8 @@ public interface IOSSFileService extends IService { * @param ossFile */ void updateAndPush(OSSFile ossFile); + + void saveDownloadTimes(String fileId,String userId); + + Integer searchDownloadTimes(String fileId, String userId); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java index 63e6d3f5..0f4f1bb5 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java @@ -1,20 +1,25 @@ package com.jero.modules.oss.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.CommonUtils; import com.jero.common.util.oss.OssBootUtil; +import com.jero.modules.oss.entity.FileDownloadRecord; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.mapper.OSSFileMapper; +import com.jero.modules.oss.mapper.FileDownloadRecordMapper; import com.jero.modules.oss.service.IOSSFileService; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.io.IOException; @Service("ossFileService") public class OSSFileServiceImpl extends ServiceImpl implements IOSSFileService { - + @Resource + private FileDownloadRecordMapper fileDownloadRecordMapper; @Override public void upload(MultipartFile multipartFile) throws IOException { String fileName = multipartFile.getOriginalFilename(); @@ -47,4 +52,20 @@ public class OSSFileServiceImpl extends ServiceImpl impl AuthenticationUtils.post("/oss/file/updateAndPush",null,ossFile); } + @Override + public void saveDownloadTimes(String fileId,String userId) { + FileDownloadRecord fileDownloadRecord = new FileDownloadRecord(); + fileDownloadRecord.setFileId(fileId); + fileDownloadRecord.setUserId(userId); + fileDownloadRecordMapper.insert(fileDownloadRecord); + } + + @Override + public Integer searchDownloadTimes(String fileId, String userId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_id",userId); + wrapper.eq("file_id",fileId); + return fileDownloadRecordMapper.selectCount(wrapper); + } + } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java index 68e41505..d7ad456a 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java @@ -169,6 +169,11 @@ public class CommonController { } response.addHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"),"iso-8859-1")); response.setContentType("application/force-download");// 设置强制下载不打开 + if (type == null) { + if (fileName.contains(".jpg") || fileName.contains(".png") || fileName.contains(".gif") || fileName.contains(".jpeg")) { + response.setContentType("image/png;image/jpg;image/gif;image/jpeg"); + } + } outputStream = response.getOutputStream(); byte[] buf = new byte[1024]; int len; @@ -217,6 +222,115 @@ public class CommonController { } + /** + * 预览图片&下载文件 + * + * @param id 传入文件id + * @param request + * @param response + */ + @GetMapping(value = "/userDownload/{id}") + public void download(@PathVariable String id,HttpServletRequest request, HttpServletResponse response,String type) { + // 查询数据表数据是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OSSFile::getId,id); + OSSFile ossFile = ossFileService.getOne(queryWrapper); + if( null == ossFile){ + throw new JeroBootException("文件不存在.."); + } + String fileUrl = ossFile.getUrl(); + InputStream inputStream = null; + OutputStream outputStream = null; + try { + String fileName = ""; + if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){ + //本地下载 + String filePath = uploadpath + File.separator + fileUrl; + File file = new File(filePath); + if(!file.exists()){ + response.setStatus(404); + throw new RuntimeException("文件不存在.."); + } + // 文件名称 + fileName = file.getName(); + inputStream = new BufferedInputStream(new FileInputStream(filePath)); + }else if(CommonConstant.UPLOAD_TYPE_MINIO.equals(uploadType)){ + // minio 下载 + // 通过MinioUtil查询时 只需要桶后面的路径 + String minioUrl = MinioUtil.getMinioUrl(); + // Linux/unix 系统下文件路径分隔符为"/" 获取minio与存储桶的路径 + minioUrl = minioUrl + MinioUtil.getBucketName() + "/"; + String url = fileUrl.replace(minioUrl, ""); + // 文件名称 + fileName = ossFile.getFileName(); + inputStream = MinioUtil.getMinioFile(MinioUtil.getBucketName(), url); + } + + ossFileService.updateById(ossFile); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (loginUser.getIsCompanyUser()) { + Integer integer = ossFileService.searchDownloadTimes(ossFile.getId(), loginUser.getId()); + if (integer >= 5) { + throw new JeroBootException("超出下载次数限制"); + } + } + ossFileService.saveDownloadTimes(ossFile.getId(), loginUser.getId()); + + response.addHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"),"iso-8859-1")); + response.setContentType("application/force-download");// 设置强制下载不打开 + if (type == null) { + if (fileName.contains(".jpg") || fileName.contains(".png") || fileName.contains(".gif") || fileName.contains(".jpeg")) { + response.setContentType("image/png;image/jpg;image/gif;image/jpeg"); + } + } + outputStream = response.getOutputStream(); + byte[] buf = new byte[1024]; + int len; + while ((len = inputStream.read(buf)) > 0) { + outputStream.write(buf, 0, len); + } + response.flushBuffer(); + //统计下载和上传次数 + //if ("download".equals(type)) { + Integer downloadNumber = ossFile.getDownloadNumber(); + if (downloadNumber == null) { + ossFile.setDownloadNumber(0); + } else { + ossFile.setDownloadNumber(downloadNumber + 1); + } + + //} else if ("view".equals(type)) { + // Integer viewNumber = ossFile.getViewNumber(); + // if (viewNumber == null) { + // ossFile.setViewNumber(0); + // } else { + // ossFile.setViewNumber(viewNumber + 1); + // } + // ossFileService.updateAndPush(ossFile); + //} + } catch (IOException e) { + log.error("预览文件失败" + e.getMessage()); + response.setStatus(404); + e.printStackTrace(); + } finally { + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } + if (outputStream != null) { + try { + outputStream.close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } + } + + } + /** * @功能:pdf预览Iframe * @param modelAndView From e0c97b1beea14f510e19943f714ff6f27bbb4349 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 29 Oct 2021 09:09:36 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix=20=E6=8A=A5=E5=90=8D=E6=88=AA=E6=AD=A2?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=B2=BE=E7=A1=AE=E5=88=B0=E6=97=B6=E5=88=86?= =?UTF-8?q?=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/service/impl/PayMeetingSituationServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 98c36db8..c46a29f8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -273,7 +273,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl 0)) { throw new JeroBootException("报名截止时间为:" + DateUtil.formatDate(registerDeadline)); }