diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index d9bc3a260..e12aa78af 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -62,7 +62,7 @@ public class WxCouponController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) @SystemControllerLog(description = "券投放-列表") - public ResultData list(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize,Integer dataType) { + public ResultData list(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize,Integer dataType,Boolean isList) { logger.debug("[" + getIpAddr() + "] WxCouponController::list"); if (wxCoupon == null) wxCoupon = new WxCoupon(); if(null != dataType && dataType == 1){ @@ -87,7 +87,16 @@ public class WxCouponController extends BaseController { EnumCouponType.COUPON_MULTIMCH.getCode()}; wxCoupon.setTypes(Arrays.asList(typeArray)); + + } + + if(!(isList == null?false:isList)){ + Integer[] sendTypeArray = { + EnumCouponSendType.ACTIVE.getCode(), + EnumCouponSendType.PASSIVE.getCode(),}; + wxCoupon.setSendTypes(Arrays.asList(sendTypeArray)); } + return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index a88626ce3..e61bea376 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -62,12 +62,16 @@ public class WxCouponController extends BaseController { @ApiImplicitParam(name = "couponChannelId", value = "couponChannelId", dataType = "String", paramType = "query", required = true), @ApiImplicitParam(name = "couponId", value = "couponId", dataType = "String", paramType = "query", required = false)}) public ResultData detailC(String couponChannelId, String couponId) { - if (StringUtils.isBlank(couponChannelId) || couponChannelId.equalsIgnoreCase(Constant.UNDEFINED)) { + if ((StringUtils.isBlank(couponChannelId) || couponChannelId.equalsIgnoreCase(Constant.UNDEFINED)) + && (StringUtils.isBlank(couponId) || couponId.equalsIgnoreCase(Constant.UNDEFINED))) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId/couponId为空"); } Long couponChannelIdL = 0L, couponIdL = 0L; + try { - couponChannelIdL = Long.valueOf(couponChannelId); + if (StringUtils.isNotBlank(couponChannelId) && !couponChannelId.equalsIgnoreCase(Constant.UNDEFINED)) { + couponChannelIdL = Long.valueOf(couponChannelId); + } if (StringUtils.isNotBlank(couponId) && !couponId.equalsIgnoreCase(Constant.UNDEFINED)) { couponIdL = Long.valueOf(couponId); } @@ -112,7 +116,7 @@ public class WxCouponController extends BaseController { //WxCouponCVo wxCouponCVo = wxCouponChannelService.findDetailVo(couponChannelIdL); WxCouponCVo wxCouponCVo = null; try { - wxCouponCVo = generateWxCouponCVoex(couponChannelIdL,getTenantInfo().getTenantId()); + wxCouponCVo = generateWxCouponCVoex(couponChannelIdL,couponIdL,getTenantInfo().getTenantId()); } catch (IllegalAccessException e) { logger.error("coupon detail fail,copyproperties error" + couponChannelId,e); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "coupon detail fail,copyproperties error" + couponChannelId); @@ -138,12 +142,16 @@ public class WxCouponController extends BaseController { @ApiImplicitParam(name = "couponChannelId", value = "couponChannelId", dataType = "String", paramType = "query", required = true), @ApiImplicitParam(name = "couponId", value = "couponId", dataType = "String", paramType = "query", required = false)}) public ResultData getHtml(String couponChannelId, String couponId) { - if (StringUtils.isBlank(couponChannelId) || couponChannelId.equalsIgnoreCase(Constant.UNDEFINED)) { + if (StringUtils.isBlank(couponChannelId) || couponChannelId.equalsIgnoreCase(Constant.UNDEFINED) + && (StringUtils.isBlank(couponId) || couponId.equalsIgnoreCase(Constant.UNDEFINED))) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId/couponId为空"); } Long couponChannelIdL = 0L, couponIdL = 0L; + try { - couponChannelIdL = Long.valueOf(couponChannelId); + if (StringUtils.isNotBlank(couponChannelId) && !couponChannelId.equalsIgnoreCase(Constant.UNDEFINED)) { + couponChannelIdL = Long.valueOf(couponChannelId); + } if (StringUtils.isNotBlank(couponId) && !couponId.equalsIgnoreCase(Constant.UNDEFINED)) { couponIdL = Long.valueOf(couponId); } @@ -199,49 +207,57 @@ public class WxCouponController extends BaseController { } private WxCouponCVo generateWxCouponCVoForHtml(Long couponChannelIdL, Long couponIdL,String tenantId) { - WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId); - if (cc == null) { - return null; - } - - WxCoupon c = couponService.getHtmlById(cc.getCouponId(),cc.getTenantId()); - if (c == null) { - return null; + if(couponChannelIdL > 0l){ + WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId); + if(cc == null){ + return null; + } + WxCoupon c = couponService.getHtmlById(cc.getCouponId(),cc.getTenantId()); + if (c == null) { + return null; + } + WxCouponCVo couponCVo = new WxCouponCVo(); + couponCVo.setId(cc.getId()); + couponCVo.setCouponId(cc.getCouponId()); + couponCVo.setHtml(c.getHtml()); + return couponCVo; + }else if(couponIdL > 0l){ + WxCoupon c = couponService.getHtmlById(couponIdL,tenantId); + if (c == null) { + return null; + } + WxCouponCVo couponCVo = new WxCouponCVo(); + couponCVo.setCouponId(c.getId()); + couponCVo.setHtml(c.getHtml()); + return couponCVo; } + return null; - WxCouponCVo couponCVo = new WxCouponCVo(); - couponCVo.setId(cc.getId()); - couponCVo.setCouponId(cc.getCouponId()); - couponCVo.setHtml(c.getHtml()); - return couponCVo; } - private WxCouponCVo generateWxCouponCVoex(Long couponChannelIdL,String tenantId) throws IllegalAccessException, InvocationTargetException { - WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId); - if (cc == null) { - return null; - } - - WxCoupon c = couponService.getById(cc.getCouponId(),cc.getTenantId()); - if (c == null) { - c = new WxCoupon(); - } - - WxCouponCVo wxcv = new WxCouponCVo(); - BeanUtils.copyProperties(wxcv, c); - wxcv.setId(cc.getId()); - wxcv.setCouponId(cc.getCouponId()); - wxcv.setTargetAd(cc.getTargetAd()); - wxcv.setBeginTime(cc.getBeginTime()); - wxcv.setEndTime(cc.getEndTime()); - wxcv.setQrCode(cc.getQrCode()); - - List chantlist = merchantService.findMerchantVoList(cc.getCouponId(),cc.getTenantId()); - if (null != chantlist && chantlist.size()>0) { - wxcv.setMerchantVoList(chantlist); + private WxCouponCVo generateWxCouponCVoex(Long couponChannelIdL,Long couponIdL,String tenantId) throws IllegalAccessException, InvocationTargetException { + if(couponChannelIdL > 0l){ + WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId); + if(cc == null){ + return null; + } + WxCouponCVo wxcv = couponService.getVoById(cc.getCouponId(),tenantId); + if(wxcv == null){ + return null; + } + wxcv.setId(cc.getId()); + wxcv.setCouponId(cc.getCouponId()); + wxcv.setTargetAd(cc.getTargetAd()); + wxcv.setBeginTime(cc.getBeginTime()); + wxcv.setEndTime(cc.getEndTime()); + wxcv.setQrCode(cc.getQrCode()); + return wxcv; + }else if(couponIdL > 0l){ + WxCouponCVo wxcv = couponService.getVoById(couponIdL,tenantId); + return wxcv; } - return wxcv; + return null; } private void updateActivityStatus(WxCouponCVo wxCouponCVo) { 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/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index cc3535096..1a0c2d0fb 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -29,6 +29,9 @@ public class WxCoupon extends TenantEntity { @TableField(exist = false) protected List types; + @TableField(exist = false) + protected List sendTypes; + @TableField(exist = false) protected List notinTypes; 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/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index e0e33a11c..161235503 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -293,7 +293,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { return vo; } - if(!isCouponMerchantValid(wxCoupon.getId(),wxCoupon.getTenantId())) { + if(!EnumCouponType.COUPON_GIFT.getCode().equals(wxCoupon.getType()) + && !isCouponMerchantValid(wxCoupon.getId(),wxCoupon.getTenantId())) { logger.debug(wxCoupon.getId()+couponid+ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage()); vo.toCouponChannnelVo(wxCoupon,channelId); vo.setErrorMsg(ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 76d8efbdb..40789d641 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -227,6 +227,9 @@ public class WxCouponServiceImpl implements WxCouponService { @Override public WxCouponCVo getVoById(Long id,String tenantId) { WxCouponCVo wxCouponCVo = wxCouponMapper.findVoDetail(id,tenantId); + if(wxCouponCVo == null){ + return null; + } List merchantList = wxCouponCVo.getMerchantVoList(); if (merchantList != null) { merchantList = merchantList.stream().filter( @@ -238,8 +241,10 @@ public class WxCouponServiceImpl implements WxCouponService { WxCoupon coupon = new WxCoupon(); coupon.updateTenantInfo(wxCouponCVo); List longs = JSON.parseArray(wxCouponCVo.getGiftList(), Long.class); - coupon.setIds(longs); - wxCouponCVo.setGiftCouponList(wxCouponMapper.findList(coupon)); + if(longs != null && longs.size() > 0){ + coupon.setIds(longs); + wxCouponCVo.setGiftCouponList(wxCouponMapper.findList(coupon)); + } } return wxCouponCVo; @@ -341,7 +346,8 @@ public class WxCouponServiceImpl implements WxCouponService { List merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); //有价券判断商户是否配置了分账账号 - if (record.getSalePrice() != null && record.getSalePrice() > 0) { + if (!EnumCouponType.COUPON_GIFT.getCode().equals(record.getType()) + && record.getSalePrice() != null && record.getSalePrice() > 0) { boolean share = false; WxPayAccount payQ = new WxPayAccount(); payQ.updateTenantInfo(record); @@ -428,7 +434,9 @@ public class WxCouponServiceImpl implements WxCouponService { } } else{ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + if (!EnumCouponType.COUPON_GIFT.getCode().equals(record.getType())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } } if (record.getPasswordSupport() != null && record.getPasswordSupport().equals(EnumCouponPasswordSupport.SUPPORTED.getCode())) { 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 602cec4ce..103e13a82 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -1750,7 +1750,17 @@ 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); + if(longs != null && longs.size() > 0){ + coupon.setIds(longs); + wxOrderCouponVo.setGiftCouponList(wxCouponMapper.findList(coupon)); + } + } + return wxOrderCouponVo; } return null; } diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java index 18c5b5187..7fe52565c 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java @@ -2,19 +2,16 @@ package com.iformall.service.order.impl.batch; import java.util.Date; import java.util.List; -import java.util.Objects; import com.aliyun.openservices.shade.com.alibaba.fastjson.JSON; import com.iformall.common.ErrorCode; -import com.iformall.common.IdWorker; import com.iformall.domain.po.*; -import com.iformall.domain.po.base.TenantEntity; -import com.iformall.domain.vo.WxCouponSendVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -57,6 +54,7 @@ public class CouponPackageOrderAdapterService extends BaseBatchOrderAdapterServi } @Override + @Async @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void doOthersAfterPaySuccess(WxOrder order, WxPayOrder record, WxCouponOrder couponOrder) { WxCoupon wxCoupon = wxCouponMapper.selectById(couponOrder.getCouponId(), couponOrder.getTenantId()); diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index a8da641c5..43475cea0 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -111,7 +111,7 @@ c.`valid_type`,c.`valid_start_date`,c.`valid_end_date`,c.pick_start_date,c.pick_end_date,c.`valid_days`,c.`detail`,c.`price`,c.tail_price,c.orig_price,c.`unit`,c.`remain_inventory`,c.`inventory`, c.`remark`,c.`status`,c.`create_date`,c.`update_date`,c.`business`,c.`sub_business`,c.`support_transfer`,c.`subsidy_num`,c.`subsidy_type`, c.`press_limit_num`, c.`press_limit_hours`, c.`auto_refund`,c.`credit_price`,c.`credit_refund`,c.`put_apply_status`,c.`stock_apply_status`,c.`cancle_apply_status`, - c.`conditions`,c.approval_type,c.content_type,c.source_type,c.password_support + c.`conditions`,c.approval_type,c.content_type,c.source_type,c.password_support,c.gift_list @@ -357,7 +357,8 @@ - and ( c.`type` < 7 or c.`type` = 10 ) + + and c.`type` in (1,2,3,4,5,6,10,11,12) @@ -573,6 +574,13 @@ + + and c.send_type in + + #{typesItem} + + + order by ${sortColumns} @@ -640,6 +648,8 @@ + + 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 @@ + @@ -464,7 +465,7 @@ o.`coupon_number`,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 (0,2) - and o.compose_order_type in (0,3) + and o.compose_order_type = 0 and o.compose_order_id = 0 and o.c_user_id = #{cUserId} @@ -509,7 +510,7 @@ 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_type in (1,2,3) and o.compose_order_id > 0 and o.c_user_id = #{cUserId}