Administrator
2025-05-27 3b76729ac45f9c9e604e201099799ed8093ba4ac
src/main/java/cc/mrbird/febs/mall/controller/order/AdminMallOrderController.java
@@ -353,6 +353,12 @@
        ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
        return null;
    }
    @GetMapping("refundOrder")
    @ControllerEndpoint(operation = "后台退货", exceptionMessage = "操作失败")
    public FebsResponse confirmOrder(AdminRefundOrderDto dto){
        return adminMallOrderService.confirmOrder(dto);
    }
    @GetMapping("confirmOrder")
    @ControllerEndpoint(operation = "确认货到达自提点", exceptionMessage = "操作失败")
@@ -373,6 +379,44 @@
                return new FebsResponse().fail().message("配送状态不是配送中状态");
            }
            mallOrderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_FINISH.getValue());
            mallOrderInfoMapper.updateById(mallOrderInfo);
//            OrderStateDto orderStateDto = new OrderStateDto();
//            String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
//            orderStateDto.setGoodsName(StrUtil.sub(productNames,0,15)+"...");
//            String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
//            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
//            orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
//            orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),0,20)+"...");
//            orderStateDto.setRemark("果蔬等生鲜,请尽快取货");
//            orderStateDto.setLeaderPhone(mallTeamLeader.getPhone());
//            orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId());
//            DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_THREE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_THREE.getCode());
//            orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
//            iXcxPayService.pushOrderToAddress(orderStateDto);
//            iXcxPayService.uniformMessageSend(orderStateDto);
        }
        return new FebsResponse().success();
    }
    @GetMapping("confirmLeaderOrder")
    @ControllerEndpoint(operation = "确认货到达自提点", exceptionMessage = "操作失败")
    public FebsResponse confirmLeaderOrder(MallOrderInfo mallOrderInfoDto){
        String orderIds = mallOrderInfoDto.getOrderIds();
        List<String> ids = StrUtil.splitTrim(orderIds, ",");
        for(String id : ids){
            long orderId = Long.parseLong(id);
            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
            if(ObjectUtil.isEmpty(mallOrderInfo)){
//                continue;
                return new FebsResponse().fail().message("订单不存在");
            }
            Integer status = mallOrderInfo.getStatus() == null ? 0 : mallOrderInfo.getStatus();
            if(OrderStatusEnum.WAIT_SHIPPING.getValue() != status){
//                continue;
                return new FebsResponse().fail().message("订单不是待发货状态");
            }
            mallOrderInfo.setStatus(OrderStatusEnum.WAIT_FINISH.getValue());
            mallOrderInfoMapper.updateById(mallOrderInfo);
//            OrderStateDto orderStateDto = new OrderStateDto();
@@ -469,7 +513,7 @@
        orderSheet.setTitle(title);
//        String[] header = {"订单编号", "订单详情(商品*数量)", "订单金额", "用户提货码", "配送方式", "用户姓名", "用户电话","用户地址", "团长名称", "团长手机号码", "自提点名称"};
        String[] header = {"订单编号", "订单详情(商品*数量)", "订单金额", "用户提货码", "用户姓名", "用户电话","用户地址", "团长名称", "团长手机号码", "自提点名称"};
        String[] header = {"订单编号", "订单详情(商品*数量)", "订单金额", "用户提货码", "用户姓名", "用户电话","用户地址", "联系人", "联系号码", "自提点名称"};
        orderSheet.setHeaders(header);
        QueryRequest request = new QueryRequest();
@@ -478,13 +522,17 @@
        List<MallOrderInfo> dataList = new ArrayList<>();
                String orderIds = mallOrderInfo.getOrderIds();
        List<String> ids = StrUtil.splitTrim(orderIds, ",");
        String takeUniqueCode = "";
        for(String id : ids){
            long orderId = Long.parseLong(id);
            MallOrderInfo mallOrderInfo1 = mallOrderInfoMapper.selectAllOrderInfoByIdAndTakeUniqueCode(orderId,mallOrderInfo.getTakeUniqueCode());
            if(ObjectUtil.isNotEmpty(mallOrderInfo1)){
                dataList.add(mallOrderInfo1);
                takeUniqueCode = mallOrderInfo1.getTakeUniqueCode();
            }
        }
        MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
//        List<MallOrderInfo> dataList = adminMallOrderService.findOrderListInPage(mallOrderInfo, request).getRecords();
        List<List<Object>> list = new ArrayList<>();
        if (CollUtil.isNotEmpty(dataList)) {
@@ -512,9 +560,9 @@
                temp.add(item.getPhone());
                temp.add(item.getAddress());
                temp.add(item.getLeaderName());
                temp.add(item.getLeaderPhone());
                temp.add(item.getAddressArea());
                temp.add(mallTeamLeader.getName());
                temp.add(mallTeamLeader.getPhone());
                temp.add(mallTeamLeader.getAddressArea());
                list.add(temp);
//                adminMallOrderService.updateOrderStateAndDeliveryState(item.getId(), OrderStatusEnum.WAIT_FINISH.getValue(), OrderDeliveryStateEnum.DELIVERY_ING.getValue());
            }
@@ -522,7 +570,6 @@
        orderSheet.setDataList(list);
        res.add(orderSheet);
        response = ResponseHeadUtil.setExcelHead(response);
        MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(mallOrderInfo.getTakeUniqueCode());
        String name = mallTeamLeader.getName();
        response.setHeader("Content-Disposition",
                "attachment;filename=" + URLEncoder.encode(name+"-"+title + DateUtil.format(new Date(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8"));