From 2ceb4a7d27d2df266ee67ae8d6c590643f0fc769 Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 28 Sep 2021 17:57:08 +0800 Subject: [PATCH] update couponOrder --- .../controller/WxCouponOrderController.java | 25 +++++++++--- .../controller/WxOrderController.java | 39 +++++++++++++++++++ .../com/iformall/domain/po/WxCouponOrder.java | 4 ++ .../enums/EnumOrderShopingStatus.java | 5 +++ .../iformall/mapper/WxCouponOrderMapper.java | 2 +- .../com/iformall/mapper/WxOrderMapper.java | 3 +- .../service/WxCouponOrderService.java | 2 +- .../com/iformall/service/WxOrderService.java | 1 + .../impl/WxCouponOrderServiceImpl.java | 2 +- .../service/impl/WxOrderServiceImpl.java | 7 +++- .../resources/mapper/WxCouponOrderMapper.xml | 8 +++- .../main/resources/mapper/WxOrderMapper.xml | 24 ++++++++++++ 12 files changed, 111 insertions(+), 11 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 5041bc3fe..def9e4020 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -25,7 +25,9 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -74,11 +76,24 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData goodsList(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { - if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder(); - wxCouponOrder.setMerchantId(getLoginBUser().getMerchantId()); - wxCouponOrder.setCouponType(EnumCouponType.COUPON_DISTRIBUTION.getCode()); - final PageInfo page = wxCouponOrderService.goodsListAsPage(wxCouponOrder, pageNum, pageSize); + public ResultData goodsList(@ModelAttribute WxCouponOrderBVo wxCouponOrderBvo, Integer pageNum, Integer pageSize) { + if (null == wxCouponOrderBvo) wxCouponOrderBvo = new WxCouponOrderBVo(); + wxCouponOrderBvo.setMerchantId(getLoginBUser().getMerchantId()); + wxCouponOrderBvo.setCouponType(EnumCouponType.COUPON_DISTRIBUTION.getCode()); + List shippingStatuss = new ArrayList<>(); + if(EnumOrderShopingStatus.WAIT_SENG_GOODS.getCode().equals(wxCouponOrderBvo.getShippingStatus())){ + shippingStatuss.add(EnumOrderShopingStatus.READY_SELF_MENTION.getCode()); + shippingStatuss.add(EnumOrderShopingStatus.READY_DISTRIBUTION.getCode()); + }else if(EnumOrderShopingStatus.SENG_GOODS.getCode().equals(wxCouponOrderBvo.getShippingStatus())){ + shippingStatuss.add(EnumOrderShopingStatus.WAIT_SELF_MENTION.getCode()); + shippingStatuss.add(EnumOrderShopingStatus.WAIT_DISTRIBUTION.getCode()); + }else if(EnumOrderShopingStatus.FINISH_SENG_GOODS.getCode().equals(wxCouponOrderBvo.getShippingStatus())){ + wxCouponOrderBvo.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); + } + if(shippingStatuss.size() > 0){ + wxCouponOrderBvo.setShippingStatuss(shippingStatuss); + } + final PageInfo page = wxCouponOrderService.goodsListAsPage(wxCouponOrderBvo, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index f5359105a..f51827083 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -435,4 +435,43 @@ public class WxOrderController extends BaseController { } + @ApiOperation("分页订单列表接口") + @GetMapping("listGoods") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData listGoods(@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); + 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/po/WxCouponOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java index ef959274b..7ab4c659e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java @@ -12,6 +12,7 @@ import lombok.ToString; import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.Date; +import java.util.List; @TableName(value = "wx_coupon_order") @Data @@ -156,4 +157,7 @@ public class WxCouponOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="配送信息",name="deliveryInfo") private String deliveryInfo; + @TableField(exist = false) + private List shippingStatuss; + } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumOrderShopingStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumOrderShopingStatus.java index 71b1ce46c..59e9c74da 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumOrderShopingStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumOrderShopingStatus.java @@ -9,6 +9,11 @@ public enum EnumOrderShopingStatus { ONLINE_PURCHASE(0,"线上购买"),//不需要发货 + WAIT_SENG_GOODS(1,"待发货(查询用)"), + SENG_GOODS(2,"已发货(查询用)"), + FINISH_SENG_GOODS(3,"已完成(查询用)"), + + READY_SELF_MENTION(10,"自提商品准备中"), WAIT_SELF_MENTION(14,"已备货,待自提"), ALREADY_SELF_MENTION(15,"已自提"), diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index e5c04634c..1fe5eba52 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -95,5 +95,5 @@ public interface WxCouponOrderMapper extends CommonMapper { Integer findWriteOffCount(WxCouponOrder wxCouponOrder); - WxCouponOrderBVo findGoodsList(WxCouponOrder record); + List findGoodsList(WxCouponOrderBVo record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index face8ae1f..6d14bab25 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -66,5 +66,6 @@ public interface WxOrderMapper extends CommonMapper { void updateOrderStatusForGroup(@Param("tenantId")String tenantId); void updateCUserId(WxOrder updateOrder); - + + List listGoodsCAsPage(WxOrder record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 669610531..eeec70312 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -229,5 +229,5 @@ public interface WxCouponOrderService { Integer findCount(WxCouponOrder wxCouponOrder); - PageInfo goodsListAsPage(WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize); + PageInfo goodsListAsPage(WxCouponOrderBVo couponOrderBvo, Integer pageNum, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 48df81196..9842d0848 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -244,4 +244,5 @@ public interface WxOrderService { ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List composeOrderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); + PageInfo listGoodsCAsPage(WxOrder wxOrder, Integer pageNum, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 4c989b0fa..3f4eaa437 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1743,7 +1743,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } @Override - public PageInfo goodsListAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { + public PageInfo goodsListAsPage(WxCouponOrderBVo record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findGoodsList(record)); } 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 fd4294b38..eeea75c16 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -2519,7 +2519,12 @@ public class WxOrderServiceImpl implements WxOrderService { } - + + @Override + public PageInfo listGoodsCAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.listGoodsCAsPage(record)); + } + private WxCoupon singleOrderCheck(OrderSaveDto orderSaveDto,int productCount,WxCUserBasicInfo wxCUserBasicInfo,EnumPayWay payWay,TenantEntity tenantEntity,int curindex,boolean singleProduct) { logger.info("OrderSave: " + orderSaveDto); String premsg = ""; diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index d0f4b2031..a0e07c4c7 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -993,7 +993,7 @@ - select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, @@ -1026,6 +1026,12 @@ and co.coupon_order_status = #{couponOrderStatus} + + and co.`shipping_status` in + + #{idItem} + + AND co.create_date > #{startDate,jdbcType=TIMESTAMP} diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 02bd0dacc..ac33b8d66 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -394,6 +394,30 @@ order by ${sortColumns} + +