diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index f7facf354..5c1c758da 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -241,6 +241,7 @@ public class WxOrderController extends BaseController { return new ResultData(Result.ERROR,e.getMessage()); } wxOrder.setCUserId(memberId); + wxOrder.updateTenantInfo(getTenantInfo()); WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); if (wxOrderCVo == null) return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); @@ -299,6 +300,7 @@ public class WxOrderController extends BaseController { return new ResultData(Result.ERROR,e.getMessage()); } wxOrder.setCUserId(memberId); + wxOrder.updateTenantInfo(getTenantInfo()); WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); if (wxOrderCVo == null){ wxOrderCVo = new WxOrderCouponVo(); @@ -506,6 +508,7 @@ public class WxOrderController extends BaseController { return new ResultData(Result.ERROR,e.getMessage()); } wxOrder.setCUserId(memberId); + wxOrder.updateTenantInfo(getTenantInfo()); List wxOrders = wxOrderService.goodsDetailCUserVo(wxOrder); if (wxOrders == null) return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); 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 021ead555..fe1c52874 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxOrderCouponVo.java @@ -4,6 +4,7 @@ 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.WxCouponOrder; import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; @@ -181,7 +182,7 @@ public class WxOrderCouponVo extends TenantEntity { this.parentOrderId = o.getParentOrderId(); } - public void initByCoupon(WxCoupon c) { + public void initByCoupon(WxCoupon c,boolean hasDetail) { this.setType(c.getType()); this.setCoverImg(c.getCoverImg()); this.setTitle(c.getTitle()); @@ -196,6 +197,20 @@ public class WxOrderCouponVo extends TenantEntity { this.setValidEndDate(c.getValidEndDate()); this.setPickStartDate(c.getPickStartDate()); this.setPickEndDate(c.getPickEndDate()); + if (hasDetail) { + this.setDetail(c.getDetail()); + this.setRemark(c.getRemark()); + this.setGiftList(c.getGiftList()); + this.setSupportTransfer(c.getSupportTransfer()); + this.setSubsidyNum(c.getSubsidyNum()); + } + } + + public void initByCouponOrder(WxCouponOrder couponOrder) { + this.setCouponOrderId(couponOrder.getId()); + this.setCouponOrderStatus(couponOrder.getCouponOrderStatus()); + this.setShippingStatus(couponOrder.getShippingStatus()); + this.setDeliveryInfo(couponOrder.getDeliveryInfo()); } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index 0a9b2059b..923152851 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -30,7 +30,7 @@ public interface WxOrderMapper extends CommonMapper { List findListOfUnpaidGroupOrderByDate(Map dateMap); List findListOfCUser(WxOrder wxOrder); - List selectDetailOfCUser(WxOrder wxOrder); + List selectDetailOfCUser(WxOrder wxOrder); /** B端收银台(收款码支付) */ Map dayMicroPayAmountList(Map dateMap); 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 cec74796b..5ccaaa1b4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -1925,7 +1925,7 @@ public class WxOrderServiceImpl implements WxOrderService { if (null != o.getProductId()) { WxCoupon c = couponMap.get(o.getProductId()); if (null != c) { - vo.initByCoupon(c); + vo.initByCoupon(c,false); } if (hasMerchant) { vo.setMerchantVoList(wxMerchantService.findMerchantListByProduct(tenantEntity, o.getProductId(), false)); @@ -1942,8 +1942,8 @@ public class WxOrderServiceImpl implements WxOrderService { @Override public WxOrderCouponVo detailCUserVo(WxOrder record) { - List list = wxOrderMapper.selectDetailOfCUser(record); - if (list.size() > 0) { + List list = toWxOrderCouponVoList(record,wxOrderMapper.selectDetailOfCUser(record)); + if (null != list && list.size() > 0) { WxOrderCouponVo wxOrderCouponVo = list.get(0); if(EnumCouponType.COUPON_GIFT.getCode().equals(wxOrderCouponVo.getType())){ WxCoupon coupon = new WxCoupon(); @@ -1961,7 +1961,7 @@ public class WxOrderServiceImpl implements WxOrderService { @Override public List goodsDetailCUserVo(WxOrder record) { - List list = wxOrderMapper.selectDetailOfCUser(record); + List list = toWxOrderCouponVoList(record,wxOrderMapper.selectDetailOfCUser(record)); if(list != null && list.size() > 0){ for (WxOrderCouponVo wxOrderCouponVo:list) { if(EnumCouponType.COUPON_GIFT.getCode().equals(wxOrderCouponVo.getType())){ @@ -1977,6 +1977,36 @@ public class WxOrderServiceImpl implements WxOrderService { } return list; } + + private List toWxOrderCouponVoList(TenantEntity tenantEntity,List orderList) { + if (null == orderList || orderList.size() <= 0 ) { + return null; + } + + List voList = new ArrayList(); + for (int i = 0 ; i < orderList.size();i++) { + WxOrder order = orderList.get(i); + WxOrderCouponVo vo = new WxOrderCouponVo(); + vo.initByOrder(order); + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + couponQ.setId(order.getProductId()); + WxCoupon coupon = wxCouponMapper.findSimpleDetail(couponQ); + if (null != coupon ) { + vo.initByCoupon(coupon, true); + } + WxCouponOrder couponOrderQ = new WxCouponOrder(); + couponOrderQ.updateTenantInfo(tenantEntity); + couponOrderQ.setOrderId(order.getId()); + List couponOrderList = wxCouponOrderMapper.findList(couponOrderQ); + if (null != couponOrderList && couponOrderList.size() > 0 ) { + WxCouponOrder couponOrder = wxCouponOrderMapper.findDetailOfCUser(couponOrderList.get(0).getId(), tenantEntity.getTenantId()); + vo.initByCouponOrder(couponOrder); + } + voList.add(vo); + } + return voList; + } @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 46c8b7b84..e95ce9b8f 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -343,7 +343,7 @@