| @@ -271,6 +271,83 @@ public class WxOrderController extends BaseController { | |||||
| return new ResultData(wxOrderCVo); | 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<WxOrderCouponVo> 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\"}") | @ApiOperation(value = "根据orderId查询接口", notes = "{\"orderId\":\"string\"}") | ||||
| @GetMapping("/findById") | @GetMapping("/findById") | ||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @@ -3,6 +3,7 @@ package com.iformall.domain.vo; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.iformall.common.SortColumn; | import com.iformall.common.SortColumn; | ||||
| import com.iformall.domain.po.WxCoupon; | |||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| @@ -146,4 +147,11 @@ public class WxOrderCouponVo extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="配送信息",name="deliveryInfo") | @io.swagger.annotations.ApiModelProperty(value="配送信息",name="deliveryInfo") | ||||
| private String deliveryInfo; | private String deliveryInfo; | ||||
| @io.swagger.annotations.ApiModelProperty(value="卷包内容",name="giftList") | |||||
| private String giftList; | |||||
| @TableField(exist = false) | |||||
| private List<WxCoupon> giftCouponList; | |||||
| } | } | ||||
| @@ -1748,7 +1748,15 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| public WxOrderCouponVo detailCUserVo(WxOrder record) { | public WxOrderCouponVo detailCUserVo(WxOrder record) { | ||||
| List<WxOrderCouponVo> list = wxOrderMapper.selectDetailOfCUser(record); | List<WxOrderCouponVo> list = wxOrderMapper.selectDetailOfCUser(record); | ||||
| if (list.size() > 0) { | 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<Long> longs = JSON.parseArray(wxOrderCouponVo.getGiftList(), Long.class); | |||||
| coupon.setIds(longs); | |||||
| wxOrderCouponVo.setGiftCouponList(wxCouponMapper.findList(coupon)); | |||||
| } | |||||
| return wxOrderCouponVo; | |||||
| } | } | ||||
| return null; | return null; | ||||
| } | } | ||||
| @@ -264,7 +264,7 @@ | |||||
| <sql id="allCUserOrderDetailColumns"> | <sql id="allCUserOrderDetailColumns"> | ||||
| 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, | 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, | 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` | o.`coupon_number`,o.`freight_price`,o.`shipping_type`,o.`shipping_address`,co.`shipping_status`,co.`delivery_info` | ||||
| </sql> | </sql> | ||||
| @@ -390,6 +390,7 @@ | |||||
| <result column="remark" jdbcType="VARCHAR" property="remark"/> | <result column="remark" jdbcType="VARCHAR" property="remark"/> | ||||
| <result column="valid_start_date" jdbcType="TIMESTAMP" property="validStartDate"/> | <result column="valid_start_date" jdbcType="TIMESTAMP" property="validStartDate"/> | ||||
| <result column="valid_end_date" jdbcType="TIMESTAMP" property="validEndDate"/> | <result column="valid_end_date" jdbcType="TIMESTAMP" property="validEndDate"/> | ||||
| <result column="gift_list" jdbcType="VARCHAR" property="giftList"></result> | |||||
| <result column="subsidy_num" jdbcType="INTEGER" property="subsidyNum"></result> | <result column="subsidy_num" jdbcType="INTEGER" property="subsidyNum"></result> | ||||
| <result column="pick_start_date" jdbcType="TIMESTAMP" property="pickStartDate"/> | <result column="pick_start_date" jdbcType="TIMESTAMP" property="pickStartDate"/> | ||||