From aa2885980b4b6aeb309aab9762a6220e903b498a Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sat, 24 Sep 2022 15:16:12 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 4 + src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java | 52 ++++++++++++++--- src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 22 +++++++ src/main/resources/templates/febs/views/modules/order/orderList.html | 47 +++++++++++++-- src/main/resources/static/febs/index.js | 2 5 files changed, 109 insertions(+), 18 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java index c019b2e..9efa5ee 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java +++ b/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); diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java index 540ec89..bccbe07 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java +++ b/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); } diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml index 9babf59..9657848 100644 --- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml +++ b/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> \ No newline at end of file diff --git a/src/main/resources/static/febs/index.js b/src/main/resources/static/febs/index.js index cf90796..3c5332a 100644 --- a/src/main/resources/static/febs/index.js +++ b/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', {}); }); \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html index b921561..4db20d2 100644 --- a/src/main/resources/templates/febs/views/modules/order/orderList.html +++ b/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') { -- Gitblit v1.9.1