xiaoyong931011
2022-08-29 e8e47505ddbb1aaf0b3575f8d8ec569c37268c4a
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -180,7 +180,11 @@
            }
            mallOrderItemMapper.insert(orderItem);
        }
        //配送费
        BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
        if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){
            total = total.add(delivaryAmount);
        }
        orderInfo.setAmount(total);
        orderInfo.setCarriage(carriage);
@@ -373,20 +377,20 @@
        OrderStateDto orderStateDto = new OrderStateDto();
        orderStateDto.setOrderNo(orderInfo.getOrderNo());
        String productNames = getProductNames(orderInfo.getMemberId(), orderInfo.getId());
        orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
        orderStateDto.setOrderState("已送达自提点");
        orderStateDto.setTakeCode(orderInfo.getTakeCode());
        String takeUniqueCode = orderInfo.getTakeUniqueCode();
        MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
        orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
        orderStateDto.setOpenId(mallMemberMapper.selectById(orderInfo.getMemberId()).getOpenId());
        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode());
        orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
//            iXcxPayService.pushOrderToAddress(orderStateDto);
        iXcxPayService.uniformMessageSend(orderStateDto);
//        OrderStateDto orderStateDto = new OrderStateDto();
//        orderStateDto.setOrderNo(orderInfo.getOrderNo());
//        String productNames = getProductNames(orderInfo.getMemberId(), orderInfo.getId());
//        orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
//        orderStateDto.setOrderState("已送达自提点");
//        orderStateDto.setTakeCode(orderInfo.getTakeCode());
//        String takeUniqueCode = orderInfo.getTakeUniqueCode();
//        MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
//        orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
//        orderStateDto.setOpenId(mallMemberMapper.selectById(orderInfo.getMemberId()).getOpenId());
//        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode());
//        orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
////            iXcxPayService.pushOrderToAddress(orderStateDto);
//        iXcxPayService.uniformMessageSend(orderStateDto);
        Map<String, Object> map = new HashMap<>();
        map.put("orderInfo", payResultStr);
        map.put("orderNo", orderInfo.getOrderNo());
@@ -664,22 +668,23 @@
            mallRefundEntity.setState(3);
            mallRefundEntity.setAmount(mallOrderInfo.getAmount());
            mallRefundMapper.insert(mallRefundEntity);
        }
        if(mallRefund.getState() == 1){
            return new FebsResponse().fail().message("订单已退款");
        }
        if(mallRefund.getState() == 3){
            return new FebsResponse().fail().message("订单退款中");
        }
        if(mallRefund.getState() == 2){
            mallRefundEntity.setId(mallRefund.getId());
            mallRefundEntity.setRefundNo(mallRefund.getRefundNo());
            mallRefundEntity.setMemberId(mallRefund.getMemberId());
            mallRefundEntity.setOrderId(mallRefund.getOrderId());
            mallRefundEntity.setType(mallRefund.getType());
            mallRefundEntity.setState(3);
            mallRefundEntity.setAmount(mallRefund.getAmount());
            mallRefundMapper.updateById(mallRefundEntity);
        }else{
            if(mallRefund.getState() == 1){
                return new FebsResponse().fail().message("订单已退款");
            }
            if(mallRefund.getState() == 3){
                return new FebsResponse().fail().message("订单退款中");
            }
            if(mallRefund.getState() == 2){
                mallRefundEntity.setId(mallRefund.getId());
                mallRefundEntity.setRefundNo(mallRefund.getRefundNo());
                mallRefundEntity.setMemberId(mallRefund.getMemberId());
                mallRefundEntity.setOrderId(mallRefund.getOrderId());
                mallRefundEntity.setType(mallRefund.getType());
                mallRefundEntity.setState(3);
                mallRefundEntity.setAmount(mallRefund.getAmount());
                mallRefundMapper.updateById(mallRefundEntity);
            }
        }
        //退款订单编号
@@ -719,6 +724,7 @@
            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());
        }else{
            mallRefundOld.setState(2);
            mallRefundMapper.updateById(mallRefundOld);
@@ -727,4 +733,36 @@
        return new FebsResponse().success().message("退款成功");
    }
    @Override
    public FebsResponse applyRefundOrder(ApplyRefundOrderDto applyRefundOrderDto) {
        Long orderId = applyRefundOrderDto.getOrderId();
        Long itemId = applyRefundOrderDto.getItemId();
        MallMember member = LoginUserUtil.getLoginUser();
        MallOrderInfo mallOrderInfo = this.baseMapper.selectById(orderId);
        if(ObjectUtil.isEmpty(mallOrderInfo)){
            return new FebsResponse().fail().message("订单不存在");
        }
        List<MallRefundEntity> mallRefundEntitieSuccess = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId,orderId,1);
        List<MallRefundEntity> mallRefundEntitiesIng = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId,orderId,3);
        if(CollUtil.isNotEmpty(mallRefundEntitieSuccess) || CollUtil.isNotEmpty(mallRefundEntitiesIng)){
            return new FebsResponse().fail().message("该订单无法申请退款");
        }
        MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId);
        MallRefundEntity mallRefundEntity = new MallRefundEntity();
        mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+itemId);
        mallRefundEntity.setRefundReason(applyRefundOrderDto.getRefundReason());
        mallRefundEntity.setRefundRemark(applyRefundOrderDto.getRefundRemark());
        mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic());
        mallRefundEntity.setMemberId(member.getId());
        mallRefundEntity.setState(3);
        mallRefundEntity.setType(1);
        mallRefundEntity.setOrderId(orderId);
        mallRefundEntity.setItemId(itemId);
        mallRefundEntity.setAmount(mallOrderItem.getAmount());
        mallRefundMapper.insert(mallRefundEntity);
        return new FebsResponse().success().message("已申请");
    }
}