|  |  |  | 
|---|
|  |  |  | package cc.mrbird.febs.mall.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cc.mrbird.febs.common.enumerates.AgentLevelEnum; | 
|---|
|  |  |  | import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; | 
|---|
|  |  |  | import cc.mrbird.febs.common.enumerates.OrderRefundStatusEnum; | 
|---|
|  |  |  | import cc.mrbird.febs.common.enumerates.OrderStatusEnum; | 
|---|
|  |  |  | import cc.mrbird.febs.common.enumerates.*; | 
|---|
|  |  |  | import cc.mrbird.febs.common.exception.FebsException; | 
|---|
|  |  |  | import cc.mrbird.febs.common.utils.AppContants; | 
|---|
|  |  |  | import cc.mrbird.febs.common.utils.LoginUserUtil; | 
|---|
|  |  |  | 
|---|
|  |  |  | payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | orderInfo.setPayOrderNo(orderInfo.getOrderNo()); | 
|---|
|  |  |  | orderInfo.setPayMethod("积分支付"); | 
|---|
|  |  |  | orderInfo.setPayMethod("余额支付"); | 
|---|
|  |  |  | orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); | 
|---|
|  |  |  | orderInfo.setPayTime(new Date()); | 
|---|
|  |  |  | orderInfo.setPayResult("1"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallMember mallMember = memberMapper.selectById(member.getId()); | 
|---|
|  |  |  | if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { | 
|---|
|  |  |  | mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); | 
|---|
|  |  |  | memberMapper.updateById(mallMember); | 
|---|
|  |  |  | //                MallMember mallMember = memberMapper.selectById(member.getId()); | 
|---|
|  |  |  | //                if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { | 
|---|
|  |  |  | //                    mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); | 
|---|
|  |  |  | //                    memberMapper.updateById(mallMember); | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 静态倍数 | 
|---|
|  |  |  | List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId()); | 
|---|
|  |  |  | if (CollUtil.isNotEmpty(orderItems)) { | 
|---|
|  |  |  | for (MallOrderItem orderItem : orderItems) { | 
|---|
|  |  |  | MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId()); | 
|---|
|  |  |  | BigDecimal score = sku.getOriginalPrice().multiply(mallGoods.getStaticMultiple()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | memberWalletService.add(score, member.getId(), "score"); | 
|---|
|  |  |  | memberService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), null, null, null, null, FlowTypeEnum.SCORE.getValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | memberService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null); | 
|---|
|  |  |  | memberService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null, FlowTypeEnum.BALANCE.getValue()); | 
|---|
|  |  |  | //                agentProducer.sendAutoLevelUpMsg(member.getId()); | 
|---|
|  |  |  | //                agentProducer.sendReturnMoneyMsg(orderInfo.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | agentProducer.sendAutoLevelUpMsg(member.getId()); | 
|---|
|  |  |  | agentProducer.sendReturnMoneyMsg(orderInfo.getId()); | 
|---|
|  |  |  | default: | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | throw new FebsException("支付密码错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId()); | 
|---|
|  |  |  | memberWalletService.reduce(orderInfo.getAmount(), mallMember.getId(), "balance"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return orderInfo.getOrderNo(); | 
|---|
|  |  |  | } | 
|---|