From 810f97e05c497bf367638f0026815fb069156412 Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 14 Feb 2022 15:58:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?/=E3=80=82=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxOrderController.java | 25 +++++++++++++ .../com/iformall/domain/po/WxBatchOrder.java | 8 +++++ .../java/com/iformall/domain/po/WxOrder.java | 2 ++ .../com/iformall/mapper/WxOrderMapper.java | 2 ++ .../com/iformall/service/WxOrderService.java | 1 + .../service/impl/WxOrderServiceImpl.java | 36 ++++++++++++++++++- .../resources/mapper/WxBatchOrderMapper.xml | 10 ++++-- .../main/resources/mapper/WxOrderMapper.xml | 23 ++++++++++++ 8 files changed, 103 insertions(+), 4 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 5c1c758da..c13a71a87 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -542,5 +542,30 @@ public class WxOrderController extends BaseController { return new ResultData(page); } + @ApiOperation("分页订单列表接口") + @GetMapping("listGoods_v1") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData listGoodsV1(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { + // c端用户应该只能看到自己的订单 + if (wxOrder == null){ + wxOrder = new WxOrder(); + } + Long memberId; + try { + memberId = getMemberId(); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + wxOrder.setCUserId(memberId); + wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + wxOrder.updateTenantInfo(getTenantInfo()); + final PageInfo page = wxOrderService.listBatchOrderAsPage(wxOrder, pageNum, pageSize); + + return new ResultData(page); + } + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java index 0fdfcf4dc..d19117dcd 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java @@ -1,11 +1,14 @@ package com.iformall.domain.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.WxOrderCouponVo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; +import java.util.List; @TableName(value = "wx_batch_order") @Data @@ -32,4 +35,9 @@ public class WxBatchOrder extends TenantEntity { private Integer payVendor; @io.swagger.annotations.ApiModelProperty(value = "组合订单类型EnumComposeOrder", name = "orderType") private Integer orderType; + + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value = "订单集合", name = "orders") + private List orders; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java index 802b5d5c3..e9cfbaf5e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java @@ -104,6 +104,8 @@ public class WxOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="组合订单编号",name="composeOrderId") private Long composeOrderId; + @TableField(exist = false) + protected List composeOrderIds; @io.swagger.annotations.ApiModelProperty(value="商品数量",name="couponNumber") private Integer couponNumber; diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index 923152851..3e66ab294 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -67,4 +67,6 @@ public interface WxOrderMapper extends CommonMapper { void updateOrderStatusForGroup(@Param("tenantId")String tenantId); void updateCUserId(WxOrder updateOrder); + + List getComposeOrderIds(WxOrder wxOrder); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 120d9c722..cc0694147 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -245,4 +245,5 @@ public interface WxOrderService { PageInfo listGoodsCAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize); + PageInfo listBatchOrderAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index e180eb140..b36872de2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -2793,7 +2793,7 @@ public class WxOrderServiceImpl implements WxOrderService { public PageInfo listGoodsCAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { // WxBatchOrder batchOrderQ = new WxBatchOrder(); // batchOrderQ.updateTenantInfo(record); -// batchOrderQ.setPayVendor(record.getPayVendor());; +// batchOrderQ.setPayVendor(record.getPayVendor()); // PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBatchOrderMapper.findCOrderList(batchOrderQ)); // page.getList().stream().forEach(oc->{ // record.setComposeOrderId(oc.getComposeOrderId()); @@ -2808,6 +2808,40 @@ public class WxOrderServiceImpl implements WxOrderService { // return page; return null; } + + @Override + public PageInfo listBatchOrderAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize) { + + WxBatchOrder batchOrderQ = new WxBatchOrder(); + batchOrderQ.updateTenantInfo(wxOrder); + batchOrderQ.setCUserId(wxOrder.getCUserId()); + batchOrderQ.setPayVendor(wxOrder.getPayVendor()); + if(wxOrder.getOrderStatus() != null){ + List composeOrderIds = wxOrderMapper.getComposeOrderIds(wxOrder); + if(composeOrderIds != null && composeOrderIds.size() > 0){ + batchOrderQ.setIds(composeOrderIds); + } + } + PageInfo page = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBatchOrderMapper.findCOrderList(batchOrderQ)); + List batchOrderIds = page.getList().stream().map(WxBatchOrder::getId).collect(Collectors.toList()); + if(batchOrderIds.size() > 0){ + Map> batchOrderMap = getBatchOrderMap(wxOrder,batchOrderIds); + page.getList().stream().forEach(oc->{ + oc.setOrders(batchOrderMap.get(oc.getId())); + }); + } + return page; + } + + private Map> getBatchOrderMap(TenantEntity tenantEntity,List batchOrderIds){ + WxOrder recordQ = new WxOrder(); + recordQ.updateTenantInfo(tenantEntity); + recordQ.setComposeOrderIds(batchOrderIds); + List listOfCUser = wxOrderMapper.findListOfCUser(recordQ); + List wxOrderCouponVos = toOrderCouponVoList(tenantEntity, listOfCUser, false); + Map> map = wxOrderCouponVos.stream().collect(Collectors.groupingBy(WxOrderCouponVo::getComposeOrderId)); + return map; + } // private List batchOderToOrderCouponVoList(List batchOrderList) { // if (null == batchOrderList || batchOrderList.size() <= 0 ) { // return null; diff --git a/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml index 73cec40da..1e91f81a7 100644 --- a/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml @@ -71,12 +71,16 @@ and o.`parent_tenant_id` = #{parentTenantId} - - AND o.order_status = #{orderStatus} - and o.pay_vendor = #{payVendor} + + and o.id in + + #{idItem} + + + order by o.create_date desc @@ -1200,5 +1206,22 @@ + + From bec5b3405e8a813e8fd5fd7bff70d368bc979ac8 Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 14 Feb 2022 16:35:56 +0800 Subject: [PATCH 2/3] =?UTF-8?q?/=E3=80=82=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/service/impl/WxOrderServiceImpl.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index a3d57f190..e39f70caf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -3069,11 +3069,9 @@ public class WxOrderServiceImpl implements WxOrderService { batchOrderQ.updateTenantInfo(wxOrder); batchOrderQ.setCUserId(wxOrder.getCUserId()); batchOrderQ.setPayVendor(wxOrder.getPayVendor()); - if(wxOrder.getOrderStatus() != null){ - List composeOrderIds = wxOrderMapper.getComposeOrderIds(wxOrder); - if(composeOrderIds != null && composeOrderIds.size() > 0){ - batchOrderQ.setIds(composeOrderIds); - } + List composeOrderIds = wxOrderMapper.getComposeOrderIds(wxOrder); + if(composeOrderIds != null && composeOrderIds.size() > 0){ + batchOrderQ.setIds(composeOrderIds); } PageInfo page = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBatchOrderMapper.findCOrderList(batchOrderQ)); List batchOrderIds = page.getList().stream().map(WxBatchOrder::getId).collect(Collectors.toList()); From 89a3142def0470a7becc421af972ac4db13063ff Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 14 Feb 2022 17:08:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?/=E3=80=82=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/service/impl/WxOrderServiceImpl.java | 4 +++- .../src/main/resources/mapper/WxBatchOrderMapper.xml | 3 +++ mallinkService/src/main/resources/mapper/WxOrderMapper.xml | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index e39f70caf..b4bf37699 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -3070,7 +3070,9 @@ public class WxOrderServiceImpl implements WxOrderService { batchOrderQ.setCUserId(wxOrder.getCUserId()); batchOrderQ.setPayVendor(wxOrder.getPayVendor()); List composeOrderIds = wxOrderMapper.getComposeOrderIds(wxOrder); - if(composeOrderIds != null && composeOrderIds.size() > 0){ + if(composeOrderIds == null || composeOrderIds.isEmpty()){ + batchOrderQ.setId(-999L); + }else{ batchOrderQ.setIds(composeOrderIds); } PageInfo page = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBatchOrderMapper.findCOrderList(batchOrderQ)); diff --git a/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml index 1e91f81a7..e5d86842d 100644 --- a/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBatchOrderMapper.xml @@ -71,6 +71,9 @@ and o.`parent_tenant_id` = #{parentTenantId} + + and o.`id` = #{id} + and o.pay_vendor = #{payVendor} diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 9cd7a7348..3e6587806 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -1128,6 +1128,7 @@