From 0d1f0b96cfb550d6a1e209bd874528dc0c2b48e6 Mon Sep 17 00:00:00 2001 From: xhxu Date: Sat, 9 Oct 2021 19:01:32 +0800 Subject: [PATCH] update gift --- .../controller/WxOrderController.java | 77 +++++++++++++++++++ .../iformall/domain/vo/WxOrderCouponVo.java | 8 ++ .../service/impl/WxOrderServiceImpl.java | 10 ++- .../main/resources/mapper/WxOrderMapper.xml | 3 +- 4 files changed, 96 insertions(+), 2 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index ff4a729c4..82cfd40ee 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -271,6 +271,83 @@ public class WxOrderController extends BaseController { return new ResultData(wxOrderCVo); } + @ApiOperation("订单详情接口") + @GetMapping("detail_v1") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderId", value = "订单id", dataType = "String", paramType = "query", required = true) + }) + public ResultData detail_v1(String orderId) { + if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + // c端用户应该只能看到自己的订单细节 + WxOrder wxOrder = new WxOrder(); + Long id = 0L; + try { + id = Long.valueOf(orderId); + } catch (NumberFormatException e) { + logger.error("parse orderId failed"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常:"+orderId); + } + wxOrder.setId(id); + Long memberId; + try { + memberId = getMemberId(); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + wxOrder.setCUserId(memberId); + WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); + if (wxOrderCVo == null){ + wxOrderCVo = new WxOrderCouponVo(); + wxOrderCVo.setLevel(1); + + wxOrder.setComposeOrderId(wxOrder.getId()); + wxOrder.setId(null); + List wxOrders = wxOrderService.goodsDetailCUserVo(wxOrder); + if(wxOrders != null && wxOrders.size() > 0){ + wxOrderCVo.setOrderCouponVoList(wxOrders); + + WxOrderCouponVo wxOrderCouponVo = wxOrders.get(0); + wxOrderCVo.setComposeOrderType(wxOrderCouponVo.getComposeOrderType()); + wxOrderCVo.setComposeOrderId(wxOrderCouponVo.getCouponOrderId()); + wxOrderCVo.setOrderStatus(wxOrderCouponVo.getOrderStatus()); + wxOrderCVo.setCreateDate(wxOrderCouponVo.getCreateDate()); + wxOrderCVo.setPayment(wxOrders.stream().mapToInt(o -> o.getPayment()).sum()); + + }else{ + return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); + } + }else{ + wxOrderCVo.setLevel(0); + Date now = new Date(); + if (wxOrderCVo.getValidStartDate() != null && wxOrderCVo.getValidEndDate() != null + && !wxOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())) { + if (wxOrderCVo.getValidStartDate().getTime() > now.getTime()) { + wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode()); + } else if (wxOrderCVo.getValidEndDate().getTime() < now.getTime()) { + wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode()); + } else { + wxOrderCVo.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode()); + } + } + if(wxOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode()) + && wxOrderCVo.getPickStartDate() != null && wxOrderCVo.getPickEndDate() != null){ +// wxOrderCVo.setValidStartDate(wxOrderCVo.getPickStartDate()); +// wxOrderCVo.setValidEndDate(wxOrderCVo.getPickEndDate()); + if (wxOrderCVo.getPickStartDate().getTime() > now.getTime()) { + wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode()); + } else if (wxOrderCVo.getPickEndDate().getTime() < now.getTime()) { + wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode()); + } else { + wxOrderCVo.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode()); + } + } + } + + return new ResultData(wxOrderCVo); + } + @ApiOperation(value = "根据orderId查询接口", notes = "{\"orderId\":\"string\"}") @GetMapping("/findById") @ApiImplicitParams({ 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 5862cff37..f9a12c6ae 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java @@ -3,6 +3,7 @@ package com.iformall.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.iformall.common.SortColumn; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -146,4 +147,11 @@ public class WxOrderCouponVo extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="配送信息",name="deliveryInfo") private String deliveryInfo; + + @io.swagger.annotations.ApiModelProperty(value="卷包内容",name="giftList") + private String giftList; + + @TableField(exist = false) + private List giftCouponList; + } 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 749e30343..d42afd661 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -1748,7 +1748,15 @@ public class WxOrderServiceImpl implements WxOrderService { public WxOrderCouponVo detailCUserVo(WxOrder record) { List list = wxOrderMapper.selectDetailOfCUser(record); if (list.size() > 0) { - return list.get(0); + WxOrderCouponVo wxOrderCouponVo = list.get(0); + if(EnumCouponType.COUPON_GIFT.getCode().equals(wxOrderCouponVo.getType())){ + WxCoupon coupon = new WxCoupon(); + coupon.updateTenantInfo(wxOrderCouponVo); + List longs = JSON.parseArray(wxOrderCouponVo.getGiftList(), Long.class); + coupon.setIds(longs); + wxOrderCouponVo.setGiftCouponList(wxCouponMapper.findList(coupon)); + } + return wxOrderCouponVo; } return null; } diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 35e7db09c..a690802ac 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -264,7 +264,7 @@ 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.order_status,o.create_date,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.detail,c.remark,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_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.detail,c.remark,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date,c.gift_list, co.id as coupon_order_id,co.coupon_order_status,c.support_transfer,c.subsidy_num,o.compose_order_type,o.compose_order_id, o.`coupon_number`,o.`freight_price`,o.`shipping_type`,o.`shipping_address`,co.`shipping_status`,co.`delivery_info` @@ -390,6 +390,7 @@ +