xiaoyong931011
2022-09-05 75e5b1458b320b048f84093d481adaf82cec2cdb
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -187,9 +187,9 @@
        BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
        if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){
            total = total.add(delivaryAmount);
            orderInfo.setCarriage(delivaryAmount);
        }
        orderInfo.setAmount(total);
        orderInfo.setCarriage(carriage);
        MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
        orderInfo.setName(address.getName());
@@ -295,7 +295,7 @@
                wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
                payResultStr = brandWCPayRequestData.getPrepay_id();
                orderInfo.setPayMethod("微信支付");
                agentProducer.sendOrderReturn(orderInfo.getId());
//                agentProducer.sendOrderReturn(orderInfo.getId());
                break;
            case "2":
                if (StrUtil.isNotBlank(orderInfo.getPayOrderNo())) {
@@ -316,6 +316,7 @@
                orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
                orderInfo.setPayTime(new Date());
                orderInfo.setPayResult("1");
                orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
//                boolean hasTc = false;
//                // 静态倍数
@@ -490,7 +491,8 @@
        MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
        mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
        mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
        mallLeaderAchieve.setAmount(orderInfo.getAmount());
        BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
        mallLeaderAchieve.setAmount(subtract);
        mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
        mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
        mallLeaderAchieveMapper.insert(mallLeaderAchieve);
@@ -713,6 +715,21 @@
        BigDecimal bb = new BigDecimal(100);
        int refundMoney = refundAmount.multiply(bb).intValue();
        Long refundId = mallRefundEntity.getId();
        MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId);
        MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo);
        //余额支付退款
        if(OrderPayMethodEnum.BALANCE.getName().equals(mallOrderInfo.getPayMethod())){
            mallRefundOld.setState(1);
            mallRefundMapper.updateById(mallRefundOld);
            mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue());
            this.baseMapper.updateById(mallOrderInfoOld);
            mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
            memberWalletService.add(refundAmount, member.getId(), "balance");
            mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId());
            return new FebsResponse().success().message("退款成功");
        }
        Boolean flag = false;
        Boolean debug = xcxProperties.getDebug();
        if (debug) {
@@ -728,14 +745,12 @@
         * 更新退款表
         * 更新订单表
         */
        Long refundId = mallRefundEntity.getId();
        MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId);
        MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo);
        if(flag){
            mallRefundOld.setState(1);
            mallRefundMapper.updateById(mallRefundOld);
            mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue());
            this.baseMapper.updateById(mallOrderInfoOld);
            mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId());
            mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
        }else{
            mallRefundOld.setState(2);
@@ -777,7 +792,7 @@
        mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic());
        mallRefundEntity.setMemberId(member.getId());
        mallRefundEntity.setState(3);
        mallRefundEntity.setType(1);
        mallRefundEntity.setType(applyRefundOrderDto.getType());
        mallRefundEntity.setOrderId(orderId);
        mallRefundEntity.setAmount(mallOrderItem.getAmount());
        mallRefundMapper.insert(mallRefundEntity);