3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
3 days ago | Administrator | ![]() |
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -178,7 +178,7 @@ @Bean public Queue activityOrderCheckQueue() { return new Queue(QueueConstants.ACTIVITY_ORDER_ITEM_CHECK); return new Queue(RabbitQueueEnum.ACTIVITY_ORDER_ITEM_CHECK.getQueue()); } @Bean src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -36,5 +36,6 @@ registration.excludePathPatterns("/api/happyCategory/allCategory"); registration.excludePathPatterns("/api/happyCategory/indexCategory"); registration.excludePathPatterns("/api/happyActivity/activityList"); registration.excludePathPatterns("/api/happyActivity/activityInfo"); } } src/main/java/cc/mrbird/febs/mall/controller/activity/ApiHappyActivityOrderController.java
@@ -120,7 +120,7 @@ return happyActivityService.orderDelete(id); } @ApiOperation(value = "核销门票", notes = "核销门票") @ApiOperation(value = "核销门票-详细信息", notes = "核销门票-详细信息") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiCheckOrderVo.class) }) @@ -130,6 +130,16 @@ return happyActivityService.checkOrder(dto); } @ApiOperation(value = "核销门票-确认核销", notes = "核销门票-确认核销") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiCheckOrderVo.class) }) @PostMapping(value = "/insureOrder") public FebsResponse insureOrder(@RequestBody @Validated ApiCheckOrderDto dto) { return happyActivityService.insureOrder(dto); } @ApiOperation(value = "我的报名-评价", notes = "我的报名-评价") @PostMapping(value = "/addComment") public FebsResponse addComment(@RequestBody @Validated ApiPayOrderAddCommentDto dto) { src/main/java/cc/mrbird/febs/mall/service/HappyActivityService.java
@@ -70,6 +70,8 @@ FebsResponse checkOrder(ApiCheckOrderDto dto); FebsResponse insureOrder(ApiCheckOrderDto dto); void checkActivityItem(Long orderId); void overtimeJob(); src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -795,7 +795,7 @@ List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( new LambdaQueryWrapper<HappyActivityOrderItem>() .eq(HappyActivityOrderItem::getOrderId, happyActivityOrder.getActivityId()) .eq(HappyActivityOrderItem::getOrderId, happyActivityOrder.getId()) .eq(HappyActivityOrderItem::getMemberId, memberId) ); if(CollUtil.isNotEmpty(happyActivityOrderItems)){ @@ -899,31 +899,56 @@ HappyActivityOrderItem happyActivityOrderItem = happyActivityOrderItemMapper.selectOne( new LambdaQueryWrapper<HappyActivityOrderItem>() .eq(HappyActivityOrderItem::getCode, orderItemCode) .eq(HappyActivityOrderItem::getState, StateUpDownEnum.DOWN.getCode()) .last("limit 1") ); if(happyActivityOrderItem == null){ throw new FebsException("票号异常!"); } HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrderItem.getActivityId()); ApiCheckOrderVo apiCheckOrderVo = new ApiCheckOrderVo(); apiCheckOrderVo.setActivityName(happyActivity.getName()); apiCheckOrderVo.setActivityStartTime(happyActivity.getStartTime()); apiCheckOrderVo.setActivityEndTime(happyActivity.getEndTime()); apiCheckOrderVo.setActivityAddress(happyActivity.getAddress()); apiCheckOrderVo.setCode(happyActivityOrderItem.getCode()); apiCheckOrderVo.setName(happyActivityOrderItem.getName()); apiCheckOrderVo.setPhone(happyActivityOrderItem.getPhone()); apiCheckOrderVo.setPrice(happyActivityOrderItem.getPrice()); apiCheckOrderVo.setState(happyActivityOrderItem.getState()); return new FebsResponse().success().data(apiCheckOrderVo); } @Override public FebsResponse insureOrder(ApiCheckOrderDto dto) { // 获取当前登录用户的ID Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember mallMember = mallMemberMapper.selectById(memberId); if(StateUpDownEnum.UP.getCode() != mallMember.getCheckOrder()){ throw new FebsException("您不是核销员!"); } String orderItemCode = dto.getOrderItemCode(); HappyActivityOrderItem happyActivityOrderItem = happyActivityOrderItemMapper.selectOne( new LambdaQueryWrapper<HappyActivityOrderItem>() .eq(HappyActivityOrderItem::getCode, orderItemCode) .last("limit 1") ); if(happyActivityOrderItem != null){ if(StateUpDownEnum.UP.getCode() == happyActivityOrderItem.getState()){ throw new FebsException("票号已核销!"); } happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); happyActivityOrderItem.setTransferItemId(memberId); happyActivityOrderItemMapper.updateById(happyActivityOrderItem); agentProducer.sendCheckActivityItem(happyActivityOrderItem.getOrderId()); HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrderItem.getActivityId()); ApiCheckOrderVo apiCheckOrderVo = new ApiCheckOrderVo(); apiCheckOrderVo.setActivityName(happyActivity.getName()); apiCheckOrderVo.setActivityStartTime(happyActivity.getStartTime()); apiCheckOrderVo.setActivityEndTime(happyActivity.getEndTime()); apiCheckOrderVo.setActivityAddress(happyActivity.getAddress()); apiCheckOrderVo.setCode(happyActivityOrderItem.getCode()); apiCheckOrderVo.setName(happyActivityOrderItem.getName()); apiCheckOrderVo.setPhone(happyActivityOrderItem.getPhone()); apiCheckOrderVo.setPrice(happyActivityOrderItem.getPrice()); return new FebsResponse().success().data(apiCheckOrderVo); } return new FebsResponse().fail().message("核销失败!"); return new FebsResponse().success().message("操作成功"); } /** src/main/java/cc/mrbird/febs/mall/vo/activity/ApiCheckOrderVo.java
@@ -37,5 +37,8 @@ @ApiModelProperty(value = "实付金额") private BigDecimal price; @ApiModelProperty(value = "票据状态 0-待使用 1-已使用") private Integer state; } src/main/resources/templates/febs/views/index.html
@@ -133,76 +133,76 @@ </div> </div> <div class="layui-card-body layui-anim layui-anim-fadein"> <div class="layui-row"> <div class="m-title">订单付款</div> <div class="layui-row layui-col-space15"> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> <p class="name">微信支付</p> <p class="num"><span id="wechatPay"></span></p> </div> </div> </div> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> <p class="name">余额支付</p> <p class="num"><span id="balancePay"></span></p> </div> </div> </div> </div> </div> </div> <!-- <div class="layui-card-body layui-anim layui-anim-fadein">--> <!-- <div class="layui-row">--> <!-- <div class="m-title">订单付款</div>--> <!-- <div class="layui-row layui-col-space15">--> <!-- <div class="layui-col-md3">--> <!-- <div class="layui-panel">--> <!-- <div class="box">--> <!-- <p class="name">微信支付</p>--> <!-- <p class="num"><span id="wechatPay"></span></p>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-col-md3">--> <!-- <div class="layui-panel">--> <!-- <div class="box">--> <!-- <p class="name">余额支付</p>--> <!-- <p class="num"><span id="balancePay"></span></p>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <div class="layui-card-body layui-anim layui-anim-fadein"> <div class="layui-row"> <div class="m-title">会员注册</div> <div class="layui-row layui-col-space15"> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> <p class="name">用户注册总数</p> <p class="num"><span id="totalMember"></span></p> </div> </div> </div> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> <p class="name">本日注册用户数</p> <p class="num"><span id="todayMember"></span></p> </div> </div> </div> </div> </div> </div> <!-- <div class="layui-card-body layui-anim layui-anim-fadein">--> <!-- <div class="layui-row">--> <!-- <div class="m-title">会员注册</div>--> <!-- <div class="layui-row layui-col-space15">--> <!-- <div class="layui-col-md3">--> <!-- <div class="layui-panel">--> <!-- <div class="box">--> <!-- <p class="name">用户注册总数</p>--> <!-- <p class="num"><span id="totalMember"></span></p>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-col-md3">--> <!-- <div class="layui-panel">--> <!-- <div class="box">--> <!-- <p class="name">本日注册用户数</p>--> <!-- <p class="num"><span id="todayMember"></span></p>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <div class="layui-card-body layui-anim layui-anim-fadein"> <div class="layui-row"> <div class="layui-row layui-col-space15"> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> <p class="name">本月注册用户数</p> <p class="num"><span id="thisMonthMember"></span></p> </div> </div> </div> <div class="layui-col-md3"> <div class="layui-panel"> <div class="box"> <p class="name">上月注册用户数</p> <p class="num"><span id="lastMonthMember"></span></p> </div> </div> </div> </div> </div> </div> <!-- <div class="layui-card-body layui-anim layui-anim-fadein">--> <!-- <div class="layui-row">--> <!-- <div class="layui-row layui-col-space15">--> <!-- <div class="layui-col-md3">--> <!-- <div class="layui-panel">--> <!-- <div class="box">--> <!-- <p class="name">本月注册用户数</p>--> <!-- <p class="num"><span id="thisMonthMember"></span></p>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-col-md3">--> <!-- <div class="layui-panel">--> <!-- <div class="box">--> <!-- <p class="name">上月注册用户数</p>--> <!-- <p class="num"><span id="lastMonthMember"></span></p>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> </div> </div>