diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java index 28ffb7ae..75c15168 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java @@ -57,6 +57,8 @@ public class AuthenticationUtils { * @return */ public void check(String token,String publicKey) { + token = token.replace(" ","+"); + publicKey = publicKey.replace(" ","+"); //从redis拿到私钥 String privateKey = String.valueOf(redisUtil.get(publicKey)); RSA rsa = new RSA(privateKey,null); diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index 4134d40c..89338d0a 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -92,6 +92,10 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");//pdf预览 filterChainDefinitionMap.put("/generic/**", "anon");//pdf预览需要文件 filterChainDefinitionMap.put("/paymentRecord/payPaymentRecord/standardsAddAR", "anon");//标协会员添加来款 + //和会员系统交互的接口 + filterChainDefinitionMap.put("/meeting/payMeeting/addStandards","anon");//会员系统推送会议 + filterChainDefinitionMap.put("/meeting/payMeeting/addStandardsFile","anon");//会员系统推送文件 + filterChainDefinitionMap.put("/meeting/payMeetingSituation/page2","anon");//查询参会人 filterChainDefinitionMap.put("/", "anon"); filterChainDefinitionMap.put("/doc.html", "anon"); @@ -136,6 +140,8 @@ public class ShiroConfig { //性能监控 TODO 存在安全漏洞泄露TOEKN(durid连接池也有) filterChainDefinitionMap.put("/actuator/**", "anon"); + + // 添加自己的过滤器并且取名为jwt Map filterMap = new HashMap(1); //如果cloudServer为空 则说明是单体 需要加载跨域配置 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index cdadec19..3829064c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -13,6 +13,7 @@ import com.jero.common.api.vo.Result; 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.AuthenticationUtils; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.util.oConvertUtils; @@ -28,6 +29,8 @@ import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; import com.jero.meeting.vo.WorkingGroupMeetingExel; +import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.system.volid.group.UpdateGroup; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.service.IPayWorkingGroupService; @@ -62,7 +65,10 @@ public class PayMeetingController extends JeroController addStandards(@RequestBody PayMeeting payMeeting, HttpServletRequest request) { + String publicKey = request.getParameter("publicKey"); + String token = request.getParameter("token"); + authenticationUtils.check(token,publicKey); + + payMeetingService.addStandards(payMeeting); + return Result.OK("合并开票成功!"); + } + + /** + * 新增会议文件 + */ + @ApiOperation(value = "新增会议文件", notes = "新增会议文件") + @PostMapping(value = "/addStandardsFile") + public Result addStandardsFile(@RequestBody List ossFileList, HttpServletRequest request) { + String publicKey = request.getParameter("publicKey"); + String token = request.getParameter("token"); + authenticationUtils.check(token,publicKey); + for (OSSFile ossFile : ossFileList) { + iossFileService.save(ossFile); + } + 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 d2d4367e..e7dbcbee 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 @@ -7,8 +7,10 @@ import javax.servlet.http.HttpServletRequest; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.ValidUtil; import com.jero.meeting.common.MeetingSubitemCommon; +import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.service.IPayMeetingSituationService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -24,176 +26,196 @@ import io.swagger.annotations.ApiOperation; import com.jero.common.aspect.annotation.AutoLog; - /** +/** * @description: 参会人员信息 * @author: jero-boot - * @date: 2021-09-02 + * @date: 2021-09-02 * @version: V1.0 */ -@Api(tags="参会人员信息") +@Api(tags = "参会人员信息") @RestController @RequestMapping("/meeting/payMeetingSituation") @Slf4j public class PayMeetingSituationController extends JeroController { - @Resource - private IPayMeetingSituationService payMeetingSituationService; - - /** - * 分页列表查询 - */ - @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 queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage 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 queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); - queryWrapper.ne("status",MeetingSubitemCommon.STATUS_3); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.page(page, queryWrapper); - return Result.OK(pageList); - } + @Resource + private IPayMeetingSituationService payMeetingSituationService; + @Resource + private AuthenticationUtils authenticationUtils; + /** + * 分页列表查询 + */ + @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 queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingSituationService.page(page, queryWrapper); + return Result.OK(pageList); + } /** - * 列表查询 - */ - @AutoLog(value = "参会人员信息-列表查询") - @ApiOperation(value="参会人员信息-列表查询", notes="参会人员信息-列表查询") - @GetMapping(value = "/list") - public Result> queryList() { + * 分页列表查询 + */ + @AutoLog(value = "参会人员信息-分页列表查询") + @ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询") + @GetMapping(value = "/page2") + public Result queryPageList2(PayMeetingSituation payMeetingSituation, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + String publicKey = req.getParameter("publicKey"); + String token = req.getParameter("token"); + authenticationUtils.check(token,publicKey); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage 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 queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + queryWrapper.ne("status", MeetingSubitemCommon.STATUS_3); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingSituationService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + */ + @AutoLog(value = "参会人员信息-列表查询") + @ApiOperation(value = "参会人员信息-列表查询", notes = "参会人员信息-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { List list = payMeetingSituationService.queryList(); return Result.OK(list); - } - - /** - * 添加参会人 - */ - @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="参会人员信息-编辑") - @PostMapping(value = "/edit") - public Result edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { - payMeetingSituationService.editById(payMeetingSituationVO); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - */ - @AutoLog(value = "参会人员信息-通过id删除") - @ApiOperation(value="参会人员信息-通过id删除", notes="参会人员信息-通过id删除") - @GetMapping(value = "/delete") - public Result delete(@RequestParam(name="id") String id) { - payMeetingSituationService.deleteById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - */ - @AutoLog(value = "参会人员信息-批量删除") - @ApiOperation(value="参会人员信息-批量删除", notes="参会人员信息-批量删除") - @GetMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids") String ids) { - this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过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); - if(payMeetingSituation==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(payMeetingSituation); - } + } /** - * 导出excel - */ + * 添加参会人 + */ + @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 = "参会人员信息-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { + payMeetingSituationService.editById(payMeetingSituationVO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + */ + @AutoLog(value = "参会人员信息-通过id删除") + @ApiOperation(value = "参会人员信息-通过id删除", notes = "参会人员信息-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name = "id") String id) { + payMeetingSituationService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ + @AutoLog(value = "参会人员信息-批量删除") + @ApiOperation(value = "参会人员信息-批量删除", notes = "参会人员信息-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过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); + if (payMeetingSituation == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(payMeetingSituation); + } + + /** + * 导出excel + */ @GetMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) { return super.exportXls(request, payMeetingSituation, PayMeetingSituation.class, "参会人员信息"); } - /** - * 设置对接人 - */ - @AutoLog(value = "设置对接人") - @ApiOperation(value="设置对接人", notes="设置对接人") - @PostMapping(value = "/addDock") - public Result addDock(@RequestBody AddDockVO addDockVO) { - payMeetingSituationService.addDock(addDockVO); - return Result.OK("设置对接人成功!"); - } + /** + * 设置对接人 + */ + @AutoLog(value = "设置对接人") + @ApiOperation(value = "设置对接人", notes = "设置对接人") + @PostMapping(value = "/addDock") + public Result addDock(@RequestBody AddDockVO addDockVO) { + payMeetingSituationService.addDock(addDockVO); + 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 = "/check") + public Result check(@RequestBody CheckVO checkVO) { + payMeetingSituationService.check(checkVO); + return Result.OK("审核成功!"); + } - /** - * 合并开票 - */ - @AutoLog(value = "合并开票") - @ApiOperation(value="合并开票", notes="合并开票") - @PostMapping(value = "/batchPayBill") - public Result mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) { - ValidUtil.validate(mergePayBillVO); - payMeetingSituationService.mergePayBill(mergePayBillVO); - return Result.OK("合并开票成功!"); - } + /** + * 合并开票 + */ + @AutoLog(value = "合并开票") + @ApiOperation(value = "合并开票", notes = "合并开票") + @PostMapping(value = "/batchPayBill") + public Result mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) { + ValidUtil.validate(mergePayBillVO); + payMeetingSituationService.mergePayBill(mergePayBillVO); + return Result.OK("合并开票成功!"); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java index 8631e402..34882e2b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java @@ -21,7 +21,13 @@ public interface IPayMeetingService extends IService { void add(PayMeetingVO payMeetingVO); /** - * 新增会议 + * 新增标协会议 + * @param payMeeting + */ + void addStandards(PayMeeting payMeeting); + + /** + * 编辑会议 */ void editById(PayMeetingVO payMeeting); @@ -47,8 +53,10 @@ public interface IPayMeetingService extends IService { /** * 发布提醒 - * @param meetingId + * @param meetingIds * @param subitemIds */ void publishReminder(List meetingIds, List subitemIds); + + } 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 d799c5c5..b72de6f5 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 @@ -19,6 +19,7 @@ import com.jero.meeting.valid.group.InternationalMeeting; import com.jero.meeting.valid.group.StandardMeeting; import com.jero.meeting.valid.group.WorkingGroupMeeting; import com.jero.meeting.vo.PayMeetingVO; +import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.service.IPayWorkingGroupService; @@ -86,6 +87,24 @@ public class PayMeetingServiceImpl extends ServiceImpl hotelContactsList = payMeeting.getHotelContactsList(); + //如果酒店联系人列表不为空,就新增 + if (!CollectionUtils.isEmpty(hotelContactsList)){ + String meetingId = payMeeting.getId(); + //先删除原先的酒店联系人,在添加新的 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayMeetingHotelContacts::getMeetingId,meetingId); + meetingHotelContactsService.remove(queryWrapper); + hotelContactsList.forEach(hotelContacts -> + hotelContacts.setMeetingId(meetingId) + ); + meetingHotelContactsService.saveBatch(hotelContactsList); + } + } + /** * 更新 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java index b21e33ac..9d78c3d9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java @@ -60,7 +60,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl 50) { - throw new JeroBootException("会议名称输入超过限定长度!"); - } - } - if (StringUtils.isBlank(stableCrossTraining.getMeetingApply())) { - throw new JeroBootException("请核实会议报名是否存在!"); - } else { - if (stableCrossTraining.getMeetingApply().length() > 500) { - throw new JeroBootException("会议报名输入超过限定长度!"); - } - if (!Assert.iswebsit(stableCrossTraining.getMeetingApply())) { - throw new JeroBootException("报名链接请输入网址格式"); - } - } - if (null == stableCrossTraining.getMeetingType()) { - throw new JeroBootException("请核实培训类型是否存在!"); - } - if (StringUtils.isBlank(stableCrossTraining.getYear())) { - throw new JeroBootException("请核实年份是否存在!"); - } - if (StringUtils.isBlank(stableCrossTraining.getConvokeTime())) { - throw new JeroBootException("请核实培训召开时间是否存在!"); - } - if (StringUtils.isBlank(stableCrossTraining.getConvokeLocale())) { - throw new JeroBootException("请核实培训召开地点是否存在!"); - } - if (StringUtils.isBlank(stableCrossTraining.getPlaceName())) { - throw new JeroBootException("请核实省市名称是否存在!"); - } - if (StringUtils.isNotBlank(stableCrossTraining.getRemark())) { - if (stableCrossTraining.getRemark().length() > 500) { - throw new JeroBootException("备注输入超过限定长度!"); - } - } - if (StringUtils.isBlank(stableCrossTraining.getSignInTime())) { - throw new JeroBootException("请核实注册签到是否存在!"); - } else { - if (stableCrossTraining.getSignInTime().length() > 50) { - throw new JeroBootException("注册签到输入超过限定长度!"); - } - } - if (StringUtils.isNotBlank(stableCrossTraining.getMeetingFiles())) { - List newsReportList = Arrays.asList(stableCrossTraining.getMeetingFiles().split(",")); - if (newsReportList.size() > 10) { - throw new JeroBootException("会议文件最多为10个"); - } - } - if (StringUtils.isNotBlank(stableCrossTraining.getMeetingNotifyFiles())) { - List newsReportList = Arrays.asList(stableCrossTraining.getMeetingNotifyFiles().split(",")); - if (newsReportList.size() > 10) { - throw new JeroBootException("会议通知文件最多为10个"); - } - } - } - //判断培训状态 public StableCrossTraining isTrainingState(StableCrossTraining stableCrossTraining) {