|  |  |  | 
|---|
|  |  |  | if(amount.compareTo(BigDecimal.ZERO) < 0){ | 
|---|
|  |  |  | throw new FebsException("支付金额错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | DateTime failTime = DateUtil.offsetMinute(new Date(), StateUpDownEnum.ORDER_OVERTIME.getCode()); | 
|---|
|  |  |  | HappyActivityOrder happyActivityOrder = new HappyActivityOrder(); | 
|---|
|  |  |  | happyActivityOrder.setOrderNo(MallUtils.getOrderNum()); | 
|---|
|  |  |  | happyActivityOrder.setMemberId(memberId); | 
|---|
|  |  |  | 
|---|
|  |  |  | happyActivityOrder.setNumCnt(dto.getNumCnt()); | 
|---|
|  |  |  | happyActivityOrder.setAmount(amount); | 
|---|
|  |  |  | happyActivityOrder.setPayState(StateUpDownEnum.PAY_STATE_NOT_PAY.getCode()); | 
|---|
|  |  |  | happyActivityOrder.setFailTime(failTime); | 
|---|
|  |  |  | happyActivityOrderMapper.insert(happyActivityOrder); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for(Long connectId : connectIds){ | 
|---|
|  |  |  | 
|---|
|  |  |  | HashMap<String, Object> stringObjectHashMap = new HashMap<>(); | 
|---|
|  |  |  | stringObjectHashMap.put("orderId",happyActivityOrder.getId()); | 
|---|
|  |  |  | stringObjectHashMap.put("amount",amount); | 
|---|
|  |  |  | stringObjectHashMap.put("failTime",failTime); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new FebsResponse().success().data(stringObjectHashMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | log.error("支付失败,订单ID:{},支付类型:{}", orderId, payType, e); | 
|---|
|  |  |  | throw new FebsException("支付失败:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // todo 支付失败要把对应的人数加回来 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造返回结果,包含支付相关信息 | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | 
|---|
|  |  |  | List<HappyActivityOrder> happyActivityOrders = happyActivityOrderMapper.selectList( | 
|---|
|  |  |  | new LambdaQueryWrapper<HappyActivityOrder>() | 
|---|
|  |  |  | .eq(HappyActivityOrder::getState, StateUpDownEnum.ORDER_STATE_WAIT_PAY.getCode()) | 
|---|
|  |  |  | .lt(HappyActivityOrder::getCreatedTime, DateUtil.offsetMinute(new Date(), -10)) | 
|---|
|  |  |  | .lt(HappyActivityOrder::getFailTime, new Date()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(happyActivityOrders)){ | 
|---|
|  |  |  | happyActivityOrders.forEach(happyActivityOrder -> { | 
|---|
|  |  |  | 
|---|
|  |  |  | Integer numCnt = happyActivityOrder.getNumCnt(); | 
|---|
|  |  |  | this.baseMapper.updateHappyActivitySurplusCnt(activityId,numCnt); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | happyActivityOrder.setDeleteFlag(StateUpDownEnum.UP.getCode()); | 
|---|
|  |  |  | happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_OVERTIME.getCode()); | 
|---|
|  |  |  | happyActivityOrderMapper.updateById(happyActivityOrder); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|