diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 480a6262b..752e177eb 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -80,13 +80,14 @@ public class WxCouponOrderController extends BaseController { } if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCVo(); wxCouponOrder.setCUserId(memberId); - if (wxCouponOrder.getCouponOrderStatus() == null) + wxCouponOrder.updateTenantInfo(getTenantInfo()); + if (wxCouponOrder.getCouponOrderStatus() == null) { wxCouponOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC, BaseEntity.SortField.Id_DESC); - else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) + }else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) { wxCouponOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC, BaseEntity.SortField.Id_DESC); - else + }else { wxCouponOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC, BaseEntity.SortField.Id_DESC); - + } PageInfo page = wxCouponOrderService.listCUserVoAsPageOptimize(wxCouponOrder, pageNum, pageSize); Date now = new Date(); @@ -431,92 +432,4 @@ public class WxCouponOrderController extends BaseController { memCouponFromDspService.couponOrderFromDsp(tenantEntity, member.getPhone()); return new ResultData(); } - - @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}") - @PostMapping("verify") - public ResultData verify(@RequestBody Map paramMap) { - logger.info("couponOrderController.verify:" + paramMap.toString()); - String couponOrderIdStr = paramMap.get("couponOrderId"); - if (StringUtils.isBlank(couponOrderIdStr)) { - logger.error("couponOrderId不能为空: " + paramMap.toString()); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); - } - Long couponOrderId = 0L; - try { - couponOrderId = Long.valueOf(couponOrderIdStr); - } catch (NumberFormatException e) { - couponOrderId = 0L; - logger.error("couponOrderId参数不正确: " + paramMap.toString()); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); - } - - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.detailCUserVo(couponOrderIdStr,getTenantInfo()); - - if (wxCouponOrderCVo == null) - return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - - WxCUserBasicInfo member; - try { - member = getCacheMember(); - } catch (Exception e) { - return new ResultData(Result.ERROR,e.getMessage()); - } - - Date now = new Date(); - if (wxCouponOrderCVo.getValidType().equals(EnumCouponValidType.BETWEEN_TWO_TIME.getCode())){ -// && !wxCouponOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())) { - if(wxCouponOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())){ - if (wxCouponOrderCVo.getPickStartDate().after(now)) { - logger.error("此券有效期未开始:" + couponOrderIdStr); - return new ResultData(ErrorCode.COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE); - } - if (wxCouponOrderCVo.getPickEndDate().before(now)) { - logger.error("此券有效期已结束:" + couponOrderIdStr); - return new ResultData(ErrorCode.COUPON_ORDER_IS_LATER_THAN_VALIDDATE); - } - }else{ - if (wxCouponOrderCVo.getValidStartDate().after(now)) { - logger.error("此券有效期未开始:" + couponOrderIdStr); - return new ResultData(ErrorCode.COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE); - } - if (wxCouponOrderCVo.getValidEndDate().before(now)) { - logger.error("此券有效期已结束:" + couponOrderIdStr); - return new ResultData(ErrorCode.COUPON_ORDER_IS_LATER_THAN_VALIDDATE); - } - } - - } else { - if (wxCouponOrderCVo.getExpiredTime().before(now)) { - logger.error("此券已过期:" + couponOrderIdStr); - return new ResultData(ErrorCode.COUPON_IS_EXPIRED); - } - } - - WxCouponOrder wxCouponOrder = wxCouponOrderService.getById(couponOrderId,getTenantInfo().getTenantId()); - if (wxCouponOrder == null) { - logger.error("券ID不存在:" + couponOrderId); - return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - } - if(!member.getId().equals(wxCouponOrder.getCUserId())){ - logger.error("此券不属于此人:" + member.getId()); - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); - } - WxCouponOrder couponOrder = null; - try { - couponOrder = wxCouponOrderService.verify(wxCouponOrder,null,EnumCouponVerifyType.VERIFY_C); - } catch (MallinkException e) { - logger.error("核销异常: " + e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); - } catch (Exception e) { - logger.error("核销异常: " + e.getMessage()); - return new ResultData(ErrorCode.VERIFY_ERROR, e.getMessage()); - } - - if (couponOrder != null && couponOrder.getMerchantId() != null) { - wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId()); - } - - return new ResultData(couponOrder); - } - } diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index 9a69ab192..6be694119 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -342,7 +342,7 @@ public class PosServiceImpl implements PosService { } coQ.put("cUserId", user.getId()); coQ.put("merchantId", merchantId); - List avaCoList = couponOrderMapper.findAvailCouponOrder(coQ); + List avaCoList = couponOrderService.findAvailCouponOrder(tenantEntity,user.getId(),merchantId,null); JSONArray selCoArr = JSONObject.parseArray(coListStr); if (config.getCoupon().equals(EnumPosCouponEnableType.SingleEnable.getCode())) { @@ -947,7 +947,7 @@ public class PosServiceImpl implements PosService { } coQ.put("cUserId", user.getId()); coQ.put("merchantId", merchantId); - List avaCoList = couponOrderMapper.findAvailCouponOrder(coQ); + List avaCoList = couponOrderService.findAvailCouponOrder(tenantEntity,user.getId(),merchantId,null); JSONArray selCoArr = JSONObject.parseArray(coListStr); if (config.getCoupon().equals(EnumPosCouponEnableType.SingleEnable.getCode())) { if (selCoArr.size() > 1) { 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 1cc8afe3f..1e184dd86 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -142,6 +142,8 @@ public class WxCoupon extends TenantEntity { private String remark; @io.swagger.annotations.ApiModelProperty(value="状态(-1:全部,0:草稿/待生效,1:已生效,2:已失效,3:已作废)",name="status") private Integer status; + @TableField(exist = false) + private List statusList; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") private Date createDate; @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java index c7fe80b5e..1e0e13ebc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java @@ -38,6 +38,8 @@ public class WxCouponOrderCVo extends WxCouponOrder { /** 基础购买到的券信息 */ @io.swagger.annotations.ApiModelProperty(value = "单张券ID", name = "couponId") private Long couponId; + @TableField(exist = false) + private List couponIds; @io.swagger.annotations.ApiModelProperty(value = "用户订单ID", name = "orderId") private Long orderId; @io.swagger.annotations.ApiModelProperty(value = "该订单对应券的实际过期时间 ", name = "expiredTime") diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 70f8d5c5a..395d9abaa 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -18,6 +18,9 @@ public interface WxCouponMapper extends CommonMapper { List findTenantSimpleList(WxCoupon wxCoupon); + WxCoupon findSimpleDetail(WxCoupon wxCoupon); + List findSimpleDetailList(WxCoupon wxCoupon); + List findIdList(WxCoupon wxCoupon); List findCouponList(WxCoupon wxCoupon); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index c28f8642a..f4e76458b 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -46,12 +46,9 @@ public interface WxCouponOrderMapper extends CommonMapper { List findListOfOrderedByDateForBUser(Map dateMap); List findListOfVerifiedByDateForBUser(Map dateMap); - //@Deprecated - //List findListOfCUser(WxCouponOrder wxCouponOrder); - List findListOfCUserOptimize(WxCouponOrder wxCouponOrder); + List findListOfCUserOptimize(WxCouponOrder wxCouponOrder); - WxCouponOrderCVo findDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); - WxCouponOrderCVo findSimpleDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); + WxCouponOrder findDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); List findListOfAdmin(WxCouponOrderBVo wxCouponOrder); WxCouponOrder findDetailOfAdmin(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("finalTenantId")String finalTenantId); @@ -91,7 +88,7 @@ public interface WxCouponOrderMapper extends CommonMapper { /// POS接口 - List findAvailCouponOrder(Map params); + List findCouponOrderForPos(Map params); //卡延期,将过期的状态变为使用中 void cardDefer(@Param("couponId")Long couponId,@Param("tenantId")String tenantId,@Param("expireTime")Date expireTime); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 650cac523..fedff01db 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -148,14 +148,6 @@ public interface WxCouponOrderService { List carListCUserVo(WxCouponOrder record); - - /** - * B用户查券详情 - * - * @param bUserId B端用户 - */ - ResultData detailBUserVo(Long bUserId, String couponOrderId); - /** * A端查询分页列表 * @@ -227,4 +219,7 @@ public interface WxCouponOrderService { PageInfo goodsListAsPage(WxCouponOrderBVo couponOrderBvo, Integer pageNum, Integer pageSize); List couponDataMap(TenantEntity tenantEntity,Date startTime,Date endTime); + + /// POS接口 + List findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId); } 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 c23206436..b198e2818 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -523,14 +523,134 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public PageInfo listCUserVoAsPageOptimize(WxCouponOrder record, Integer pageIndex, Integer pageSize) { - - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfCUserOptimize(record)); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfCUserOptimize(record)); + PageInfo cvoPageInfo = new PageInfo(); + cvoPageInfo.setList(couponOrderListToCVoList(record,pageInfo.getList())); + cvoPageInfo.setPageNum(pageInfo.getPageNum()); + cvoPageInfo.setPageSize(pageInfo.getPageSize()); + cvoPageInfo.setPages(pageInfo.getPages()); + return cvoPageInfo; } - + + private List couponOrderListToCVoList(TenantEntity tenantEntity,List couponOrderList) { + if (null != couponOrderList) { + //查询coupon + List couponIds = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + Long couponId = co.getCouponId(); + if (null != couponId && (!couponIds.contains(couponId))) { + couponIds.add(couponId); + } + } + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + if (couponIds.size() > 0 ) { + couponQ.setIds(couponIds); + } + List couponList = wxCouponMapper.findTenantSimpleList(couponQ); + Map couponMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size(); i++ ) { + WxCoupon c = couponList.get(i); + if (null != c) { + couponMap.put(c.getId(), c); + } + } + } + + List volist = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + WxCouponOrderCVo cvo = getCouponOrderCVo(co,couponMap); + if (null != cvo) { + volist.add(cvo); + } + + } + return volist; + } + return null; + } + + private WxCouponOrderCVo getCouponOrderCVo(WxCouponOrder co,Map couponMap) { + if (null == co) { + return null; + } + try { + WxCouponOrderCVo cvo = new WxCouponOrderCVo(); + BeanUtils.copyProperties(cvo, co); + WxCoupon coupon = couponMap.get(cvo.getCouponId()); + if (null != coupon) { + cvo.setType(coupon.getType()); + cvo.setCoverImg(coupon.getCoverImg()); + cvo.setTitle(coupon.getTitle()); + cvo.setSubTitle(coupon.getSubTitle()); + cvo.setSalePrice(coupon.getSalePrice()); + cvo.setUsePrice(coupon.getUsePrice()); + cvo.setPrice(coupon.getPrice()); + cvo.setUnit(coupon.getUnit()); + cvo.setValidType(coupon.getValidType()); + cvo.setValidStartDate(coupon.getValidStartDate()); + cvo.setValidEndDate(coupon.getValidEndDate()); + cvo.setAutoRefund(coupon.getAutoRefund()); + } + return cvo; + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("getCouponOrderCVo error.",e); + } + return null; + } + + private WxCouponOrderCVo getCouponOrderCDetailVo(WxCouponOrder co) { + if (null == co || null == co.getCouponId()) { + return null; + } + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(co); + couponQ.setId(co.getCouponId()); + WxCoupon coupon = wxCouponMapper.findSimpleDetail(couponQ); + return getCouponOrderCDetailVo(co,coupon); + } + + private WxCouponOrderCVo getCouponOrderCDetailVo(WxCouponOrder co,WxCoupon coupon) { + try { + WxCouponOrderCVo cvo = new WxCouponOrderCVo(); + BeanUtils.copyProperties(cvo, co); + if (null != coupon) { + cvo.setType(coupon.getType()); + cvo.setCoverImg(coupon.getCoverImg()); + cvo.setTitle(coupon.getTitle()); + cvo.setSubTitle(coupon.getSubTitle()); + cvo.setSalePrice(coupon.getSalePrice()); + cvo.setUsePrice(coupon.getUsePrice()); + cvo.setPrice(coupon.getPrice()); + cvo.setTailPrice(coupon.getTailPrice()); + cvo.setOrigPrice(coupon.getOrigPrice()); + cvo.setUnit(coupon.getUnit()); + cvo.setDetail(coupon.getDetail()); + cvo.setRemark(coupon.getRemark()); + cvo.setValidType(coupon.getValidType()); + cvo.setValidStartDate(coupon.getValidStartDate()); + cvo.setValidEndDate(coupon.getValidEndDate()); + cvo.setPickStartDate(coupon.getPickStartDate()); + cvo.setPickEndDate(coupon.getPickEndDate()); + cvo.setAutoRefund(coupon.getAutoRefund()); + } + return cvo; + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("getCouponOrderCVo error.",e); + } + return null; + } + @Override public WxCouponOrderCVo detailCUserVo(String couponOrderId,TenantEntity tenantinfo) { - - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); + WxCouponOrder couponOrder = wxCouponOrderMapper.findDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); + if (null == couponOrder) { + throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); + } + WxCouponOrderCVo wxCouponOrderCVo = getCouponOrderCDetailVo(couponOrder); if (wxCouponOrderCVo == null) throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); return wxCouponOrderCVo; @@ -538,10 +658,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public WxCouponOrderCVo simpleDetailCUserVo(String couponOrderId,TenantEntity tenantinfo) { - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findSimpleDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); - if (wxCouponOrderCVo == null) - throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); - return wxCouponOrderCVo; + return detailCUserVo(couponOrderId,tenantinfo); } @@ -555,30 +672,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { return wxCouponOrderMapper.findCarListOfCUser(record); } - @Override - public ResultData detailBUserVo(Long bUserId, String couponOrderId) { - WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(bUserId); - if (wxMerchantBUser == null) { - logger.error("用户不存在:" + bUserId); - throw new MallinkException(ErrorCode.USER_IS_EMPTY); - } - - WxMerchant wxMerchant = wxMerchantMapper.selectById(wxMerchantBUser.getMerchantId()); - if (wxMerchant == null) { - logger.error("商户不存在:" + bUserId); - throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); - } - WxCouponOrderCVo wxCouponOrderCVo = null; - try { - wxCouponOrderCVo = wxCouponOrderMapper.findDetailOfCUser(Long.valueOf(couponOrderId),wxMerchantBUser.getTenantId()); - } catch (Exception e) { - return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - } - if (wxCouponOrderCVo == null) - return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - return new ResultData(wxCouponOrderCVo); - } - @Override public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { handleWxCouponOrderBVoQueryParam(wxCouponOrderBVo); @@ -2051,7 +2144,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } coQ.put("cUserId", cUser.getId()); coQ.put("merchantId", user.getMerchantId()); - List avaCoList = wxCouponOrderMapper.findAvailCouponOrder(coQ); + List avaCoList = this.findAvailCouponOrder(user,cUser.getId(),user.getMerchantId(),null); JSONArray couponList = new JSONArray(); for(int i=0;i findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId) { + + Map param = posCouponOrderQueryParam(tenantEntity,cUserId,merchantId); + List realCouponIds = (List) param.get("couponIds"); + if (realCouponIds.size() <= 0 ) { + return null; + } + param.put("status", 0); + List couponOrderList = wxCouponOrderMapper.findCouponOrderForPos(param); + + List couponOrderList1 = null; + if (null != posOrderId) { + param.put("status", 100); + PosCouponOrderVerify posCouponOrderVerifyQ = new PosCouponOrderVerify(); + posCouponOrderVerifyQ.setPosOrderId(posOrderId); + List posList = posCouponOrderVerifyMapper.findList(posCouponOrderVerifyQ); + if (null != posList && posList.size() > 0 ) { + List ids = new ArrayList(); + for (int i = 0 ; i < posList.size() ; i ++) { + PosCouponOrderVerify pos = posList.get(i); + if (null != pos && null != pos.getCouponOrderId()) { + if (!ids.contains(pos.getCouponOrderId())) { + ids.add(pos.getCouponOrderId()); + } + } + } + if (ids.size() > 0) { + param.put("ids",ids); + couponOrderList1 = wxCouponOrderMapper.findCouponOrderForPos(param); + } + } + } + + + WxCoupon couponQ1 = new WxCoupon(); + couponQ1.updateTenantInfo(tenantEntity); + couponQ1.setIds(realCouponIds); + List couponList = wxCouponMapper.findSimpleDetailList(couponQ1); + Map couponMap = new HashMap(); + List retList = new ArrayList(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ; i ++) { + WxCoupon c = couponList.get(i); + if (null != c) { + couponMap.put(c.getId(), c); + } + } + } + + + if (null != couponOrderList) { + for (int i = 0 ; i < couponOrderList.size() ; i ++) { + WxCouponOrderCVo cvo = getPosVo(couponOrderList.get(i),couponMap); + if (null != cvo) { + retList.add(cvo); + } + } + + } + if (null != couponOrderList1) { + for (int i = 0 ; i < couponOrderList1.size() ; i ++) { + WxCouponOrderCVo cvo = getPosVo(couponOrderList1.get(i),couponMap); + if (null != cvo) { + retList.add(cvo); + } + } + + } + if (retList.size() <= 0 ) { + return null; + } + return retList; + } + private Map posCouponOrderQueryParam(TenantEntity tenantEntity,Long cUserId,Long merchantId) { + Map param = new HashMap(); + param.put("cUserId", cUserId); + param.put("tenantId", tenantEntity.getTenantId()); + param.put("parentTenantId", tenantEntity.getParentTenantId()); + List merchantIds = new ArrayList(); + merchantIds.add(merchantId); + List merchantCouponIds = wxCouponMerchantMapper.findMerchantProductIds(tenantEntity.getTenantId(), merchantIds, null); + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + List statusList = new ArrayList(); + statusList.add(1); + statusList.add(2); + statusList.add(6); + couponQ.setStatusList(statusList); + List couponIds = wxCouponMapper.findIdList(couponQ); + List realCouponIds = new ArrayList(); + if (null != merchantCouponIds) { + realCouponIds.addAll(merchantCouponIds); + } + if (null != couponIds) { + realCouponIds.retainAll(couponIds); + } + param.put("couponIds", realCouponIds); + return param; + } + + private WxCouponOrderCVo getPosVo(WxCouponOrder co,Map couponMap) { + WxCouponOrderCVo cvo = null; + Long couponId = co.getCouponId(); + if (null != couponId) { + cvo = getCouponOrderCDetailVo(co,couponMap.get(couponId)); + }else { + cvo = getCouponOrderCDetailVo(co,null); + } + return cvo; + } + } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index d2be058be..0aeb866cf 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -307,6 +307,13 @@ #{typeItem} + + + and status in + + #{statusItem} + + order by ${sortColumns} @@ -317,7 +324,7 @@ + + + + - - - - 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, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, - 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_type,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date,c.auto_refund - - - - 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, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - select - from wx_coupon c,wx_coupon_order co - - where 1=1 - and co.coupon_id = c.id + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` + from wx_coupon_order co + where co.c_user_id = #{cUserId} and co.`tenant_id` = #{tenantId} and co.coupon_type = #{couponType} @@ -1082,15 +931,9 @@ - - and co.c_user_id = #{cUserId} - and co.owner_id = #{ownerId} - - and co.`tenant_id` = #{tenantId} - and co.`parent_tenant_id` = #{parentTenantId} @@ -1100,63 +943,51 @@ AND co.coupon_order_status = #{couponOrderStatus} + + and co.coupon_id in + + #{couponIdItem} + + order by ${sortColumns} - - - - - - + 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, + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, from wx_coupon_order co where co.id = #{id} and co.tenant_id = #{tenantId} - + 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, + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` from wx_coupon_order co - inner join wx_coupon c on c.id = co.coupon_id - inner join wx_coupon_merchant cm on cm.product_id = co.coupon_id where co.c_user_id = #{cUserId} - and co.coupon_order_status = 0 + and co.coupon_order_status = #{status} and co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId} - and cm.merchant_id = #{merchantId} and co.expired_time > now() - and c.type in (1, 2, 6) - union - select - from wx_coupon_order co - inner join wx_coupon c on c.id = co.coupon_id - inner join wx_coupon_merchant cm on cm.product_id = co.coupon_id - inner join pos_coupon_order_verify pco on pco.coupon_order_id = co.id - where co.c_user_id = #{cUserId} - and co.coupon_order_status = 100 - - and co.`tenant_id` = #{tenantId} - - - and co.`parent_tenant_id` = #{parentTenantId} + + and co.coupon_id in + + #{couponIdItem} + - and cm.merchant_id = #{merchantId} - and co.expired_time > now() - and c.type in (1, 2, 6) - - and pco.pos_order_id = #{posOrderId} + + and id in + + #{idItem} + - + co.id,co.tenant_id,co.parent_tenant_id,co.coupon_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, c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit,