diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index f51827083..ff4a729c4 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -456,20 +456,6 @@ public class WxOrderController extends BaseController { wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); final PageInfo page = wxOrderService.listGoodsCAsPage(wxOrder, pageNum, pageSize); - Date now = new Date(); - page.getList().stream().forEach(oc->{ - if (oc.getValidStartDate() != null && oc.getValidEndDate() != null ) { - if (oc.getValidStartDate().getTime() > now.getTime()) { - oc.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode()); - } else if (oc.getValidEndDate().getTime() < now.getTime()) { - oc.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode()); - } else { - oc.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode()); - } - } - }); - - return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java index 976255e97..a7a5c30f3 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java @@ -22,6 +22,11 @@ public class WxOrderCouponVo extends TenantEntity { @TableField(exist = false) private Integer validStatus; + @TableField(exist = false) + private Integer level; + @TableField(exist = false) + private List orderCouponVoList; + /** 基础购买到的券信息 */ @io.swagger.annotations.ApiModelProperty(value="订单码;正反向交易保持一致。",name="orderNumber") private Long orderNumber; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java b/mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java index 0e0c0b12f..0e35883cf 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java @@ -10,7 +10,8 @@ public enum EnumComposeOrder { SINGLE(0, "单个订单类型,如拼团,砍价"), ONE_NUMBER_ORDER_BATCH(1, "购物车式组合下单,1个数量1个订单(针对同样产品)"), MULITY_NUMBER_ORDER_BATCH(2,"购物车式组合下单,多个数量1个订单(针对同样产品)"), - PACKAGECOUPON(3,"券包订单类型") + PACKAGECOUPON(3,"券包订单类型"), + PACKAGECOUPON_SUB(4,"券包子订单类型") ; public static EnumComposeOrder getEnum(Integer code) { 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 eeea75c16..1c0a6ad95 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -2522,7 +2522,16 @@ public class WxOrderServiceImpl implements WxOrderService { @Override public PageInfo listGoodsCAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.listGoodsCAsPage(record)); + PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.listGoodsCAsPage(record)); + page.getList().stream().forEach(oc->{ + if(oc.getLevel().equals(1)){ + record.setComposeOrderId(oc.getComposeOrderId()); + record.setOrderStatus(oc.getOrderStatus()); + oc.setOrderCouponVoList(wxOrderMapper.findListOfCUser(record)); + } + }); + + return page; } private WxCoupon singleOrderCheck(OrderSaveDto orderSaveDto,int productCount,WxCUserBasicInfo wxCUserBasicInfo,EnumPayWay payWay,TenantEntity tenantEntity,int curindex,boolean singleProduct) { diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 865cde0ee..aca495e0b 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -299,9 +299,12 @@ - + + + + @@ -348,6 +351,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + order by ${sortColumns} - + select * from( + + select 0 level,o.compose_order_type,o.compose_order_id,o.order_status,o.create_date, + o.id,o.order_number,o.tenant_id,o.parent_tenant_id,o.c_user_id,o.coupon_channel_id,o.product_id,o.payment_type,o.payment,o.payment_time,o.update_date, + c.type,c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.tail_price,c.orig_price,c.unit,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date, + o.`freight_price`,o.`shipping_type`,o.`shipping_address` from wx_coupon c,wx_order o - left join wx_coupon_order co on co.order_id = o.id - where o.product_id = c.id and o.order_status in (0,1,2,3,4,5) + where o.product_id = c.id and o.order_status in (0,2) + and o.compose_order_type in (0,3) + and o.compose_order_id = 0 and o.c_user_id = #{cUserId} @@ -409,13 +468,58 @@ and o.`parent_tenant_id` = #{parentTenantId} - - and o.`compose_order_id` = #{composeOrderId} + + AND o.order_status = #{orderStatus} + + + union all + + select 0 level, o.compose_order_type,o.compose_order_id,o.order_status,o.create_date, + o.id,o.order_number,o.tenant_id,o.parent_tenant_id,o.c_user_id,o.coupon_channel_id,o.product_id,o.payment_type,o.payment,o.payment_time,o.update_date, + c.type,c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.tail_price,c.orig_price,c.unit,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date, + o.`freight_price`,o.`shipping_type`,o.`shipping_address` + from wx_coupon c,wx_order o + where o.product_id = c.id and o.order_status in (1,3,4,5) + and o.compose_order_type in (0,1,2,3) + + and o.c_user_id = #{cUserId} + + + and o.`tenant_id` = #{tenantId} + + + and o.`parent_tenant_id` = #{parentTenantId} AND o.order_status = #{orderStatus} - order by ${sortColumns} + + union all + + select 1 level,o.compose_order_type,o.compose_order_id,o.order_status,min(create_date) create_date, + null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null , + null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null , + null ,null ,null + from wx_order o + where o.order_status in (0,2) + and o.compose_order_type in (1,2) + and o.compose_order_id > 0 + + and o.c_user_id = #{cUserId} + + + and o.`tenant_id` = #{tenantId} + + + and o.`parent_tenant_id` = #{parentTenantId} + + + AND o.order_status = #{orderStatus} + + group by o.compose_order_type,o.compose_order_id + + ) a + order by a.create_date desc