src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -362,6 +362,32 @@ return new FebsResponse().success(); } @GetMapping("deliverOrder") @ControllerEndpoint(operation = "导出订单列表,系统自动发货", exceptionMessage = "操作失败") public FebsResponse deliverOrder(MallOrderInfo mallOrderInfoDto){ String orderIds = mallOrderInfoDto.getOrderIds(); List<String> ids = StrUtil.splitTrim(orderIds, ","); for(String id : ids){ long orderId = Long.parseLong(id); MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByIdAndTakeUniqueCode(orderId,mallOrderInfoDto.getTakeUniqueCode()); if(ObjectUtil.isEmpty(mallOrderInfo)){ return new FebsResponse().fail().message("订单不存在"); } Integer status = mallOrderInfo.getStatus() == null ? 0 : mallOrderInfo.getStatus(); Integer deliveryState = mallOrderInfo.getDeliveryState() == null ? 0 : mallOrderInfo.getDeliveryState(); if(OrderStatusEnum.WAIT_SHIPPING.getValue() != status){ // continue; return new FebsResponse().fail().message("状态不是待发货"); } if(1 != deliveryState){ // continue; return new FebsResponse().fail().message("配送状态不是待配送"); } adminMallOrderService.updateOrderStateAndDeliveryState(mallOrderInfo.getId(), OrderStatusEnum.WAIT_FINISH.getValue(), OrderDeliveryStateEnum.DELIVERY_ING.getValue()); } return new FebsResponse().success(); } /** * 根据用户ID和订单ID获取所购买商品名称 * @return 所含商品名称(多个以","隔开) @@ -409,23 +435,26 @@ String title = "订单列表"; orderSheet.setSheetName(title); orderSheet.setTitle(title); String[] header = {"订单编号", "订单金额", "下单时间", "配送方式", "收货姓名", "收货电话", "商品名称", "团长名称", "团长手机号码", "自提点名称","详细地址"}; String[] header = {"订单编号", "商品名称", "订单金额", "提货码", "配送方式", "收货姓名", "收货电话", "团长名称", "团长手机号码", "自提点名称","详细地址"}; orderSheet.setHeaders(header); QueryRequest request = new QueryRequest(); request.setPageNum(1); request.setPageSize(9999); List<MallOrderInfo> dataList = adminMallOrderService.findOrderListInPage(mallOrderInfo, request).getRecords(); List<MallOrderInfo> dataList = new ArrayList<>(); String orderIds = mallOrderInfo.getOrderIds(); List<String> ids = StrUtil.splitTrim(orderIds, ","); for(String id : ids){ long orderId = Long.parseLong(id); MallOrderInfo mallOrderInfo1 = mallOrderInfoMapper.selectAllOrderInfoByIdAndTakeUniqueCode(orderId,mallOrderInfo.getTakeUniqueCode()); dataList.add(mallOrderInfo1); } // List<MallOrderInfo> dataList = adminMallOrderService.findOrderListInPage(mallOrderInfo, request).getRecords(); List<List<Object>> list = new ArrayList<>(); if (dataList.size() > 0) { for (MallOrderInfo item : dataList) { List<Object> temp = new ArrayList<>(); temp.add(item.getOrderNo()); temp.add(item.getAmount()); temp.add(DateUtil.format(item.getOrderTime(), "yyyy-MM-dd HH:mm:ss")); temp.add("自提"); temp.add(item.getName()); temp.add(item.getPhone()); if (CollUtil.isNotEmpty(item.getItems())) { StringBuilder sb = new StringBuilder(); @@ -440,13 +469,18 @@ } else { temp.add(""); } temp.add(item.getAmount()); temp.add(item.getTakeCode()); temp.add("自提"); temp.add(item.getName()); temp.add(item.getPhone()); temp.add(item.getLeaderName()); temp.add(item.getLeaderPhone()); temp.add(item.getAddressArea()); temp.add(item.getDetailAddress()); list.add(temp); adminMallOrderService.updateOrderStateAndDeliveryState(item.getId(), OrderStatusEnum.WAIT_FINISH.getValue(), OrderDeliveryStateEnum.DELIVERY_ING.getValue()); // adminMallOrderService.updateOrderStateAndDeliveryState(item.getId(), OrderStatusEnum.WAIT_FINISH.getValue(), OrderDeliveryStateEnum.DELIVERY_ING.getValue()); } } orderSheet.setDataList(list); src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -72,4 +72,8 @@ List<MallOrderInfo> selectOrderByStatusAndPayTime(@Param("status")Integer i, @Param("paytime")DateTime offsetDay); IPage<MallOrderInfo> selectNewApiOrderListInPage(IPage<MallOrderInfo> page, @Param("record") OrderListDto orderListDto); MallOrderInfo selectByIdAndTakeUniqueCode(@Param("orderId")long orderId,@Param("takeUniqueCode") String takeUniqueCode); MallOrderInfo selectAllOrderInfoByIdAndTakeUniqueCode(@Param("orderId")long orderId,@Param("takeUniqueCode") String takeUniqueCode); } src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -442,4 +442,26 @@ </where> order by a.created_time desc </select> <select id="selectByIdAndTakeUniqueCode" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo"> select * from mall_order_info where id = #{orderId} and take_unique_code = #{takeUniqueCode} </select> <select id="selectAllOrderInfoByIdAndTakeUniqueCode" resultMap="OrderInfoMap"> select a.*, b.goods_name, b.cnt, b.price, b.amount, c.name leader_name, c.phone leader_phone, c.address_area, c.detail_address from mall_order_info a inner join mall_order_item b on a.id=b.order_id inner join mall_team_leader c on a.take_unique_code=c.unique_code where a.del_flag=2 and a.id = #{orderId} and a.take_unique_code = #{takeUniqueCode} order by a.created_time desc </select> </mapper> src/main/resources/static/febs/index.js
@@ -3,6 +3,6 @@ validate: 'lay/modules/validate' }).define(['febs', 'conf'], function (exports) { layui.febs.initPage(); console.log("\n %c FEBS-Shiro 2.0 %c https://github.com/wuyouzhuguli/FEBS-Shiro %c 如果该项目对您有帮助的话,还请点个star给予精神支持!🐤", "color: #fff; font-size: .84rem;background: #366ed8; padding:5px 0;", "font-size: .84rem;background: #fff; border: 2px solid #b0e0a8;border-left: none; padding:3px 0;"," font-size: .84rem;background: #fcf9ec; padding:5px 0;margin-left: 8px"); // console.log("\n %c FEBS-Shiro 2.0 %c https://github.com/wuyouzhuguli/FEBS-Shiro %c 如果该项目对您有帮助的话,还请点个star给予精神支持!🐤", "color: #fff; font-size: .84rem;background: #366ed8; padding:5px 0;", "font-size: .84rem;background: #fff; border: 2px solid #b0e0a8;border-left: none; padding:3px 0;"," font-size: .84rem;background: #fcf9ec; padding:5px 0;margin-left: 8px"); exports('index', {}); }); src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -171,20 +171,28 @@ var id = obj.config.id; var checkStatus = table.checkStatus(id); if(event === 'confirmOrder'){ let uniqueCodeValue = $searchForm.find("select[name='uniqueCode']").val(); if(uniqueCodeValue == '' || uniqueCodeValue == null){ febs.alert.warn('请选择团长'); return; } var data = checkStatus.data; let ids = ""; for(let i = 0;i < data.length;i++){ ids = ids + data[i].id+"," if(data[i].status != 3){ febs.alert.warn('请选择待收货的订单'); return; }else if(data[i].deliveryState != 2){ febs.alert.warn('请选择配送中的订单'); return; }else{ ids = ids + data[i].id+","; } } // layer.alert(layui.util.escape(JSON.stringify(data))); console.log(ids); if(ids == null || ids == ""){ febs.alert.warn('请选择确认到货的订单'); return; } let uniqueCodeValue = $searchForm.find("select[name='uniqueCode']").val(); if(uniqueCodeValue == '' || uniqueCodeValue == null){ febs.alert.warn('请选择团长'); return; } febs.get(ctx + 'admin/order/confirmOrder?takeUniqueCode='+uniqueCodeValue+'&orderIds='+ids, null, function () { @@ -199,8 +207,31 @@ febs.alert.warn('请选择团长'); return; } window.location.href = ctx + "admin/order/exportOrderListOne?orderType=1&status=2&deliveryType=1&takeUniqueCode="+uniqueCodeValue; $query.click(); var data = checkStatus.data; let ids = ""; for(let i = 0;i < data.length;i++){ if(data[i].status != 2){ febs.alert.warn('请选择待发货的订单'); return; }else if(data[i].deliveryState != 1){ febs.alert.warn('请选择待配送的订单'); return; }else{ ids = ids + data[i].id+","; } } // layer.alert(layui.util.escape(JSON.stringify(data))); console.log(ids); if(ids == null || ids == ""){ febs.alert.warn('请选择待发货的订单'); return; } window.location.href = ctx + "admin/order/exportOrderListOne?orderType=1&status=2&deliveryType=1&takeUniqueCode="+uniqueCodeValue+'&orderIds='+ids; febs.get(ctx + 'admin/order/deliverOrder?takeUniqueCode='+uniqueCodeValue+'&orderIds='+ids, null, function () { febs.alert.success('操作成功'); $query.click(); }); } if (event == 'exportDeliverTwo') {