From 300ac3920dc894c0f16df71d2cc6b0bb06fc5b78 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 18 Jan 2022 12:36:38 +0800 Subject: [PATCH 01/10] =?UTF-8?q?fix=20=E5=88=B8=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/WxCouponMerchantMapper.java | 4 +- .../com/iformall/service/WxCouponService.java | 2 +- .../impl/WxCouponChannelServiceImpl.java | 4 +- .../impl/WxCouponOrderServiceImpl.java | 53 +++++++++++-------- .../service/impl/WxCouponSendServiceImpl.java | 10 ++-- .../service/impl/WxCouponServiceImpl.java | 22 ++++++-- .../mapper/WxCouponMerchantMapper.xml | 48 ++++++++++------- 7 files changed, 88 insertions(+), 55 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java index 932c659f0..60cdf389e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java @@ -19,8 +19,8 @@ public interface WxCouponMerchantMapper extends CommonMapper findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); + List findOnlyMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); List findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList,@Param("status")Integer status); - List findOneMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantId")Long merchantId); List findMerchantByProductIds(@Param("tenantId")String tenantId,@Param("productIds")List productIds); - List findMerchantByProductId(@Param("tenantId")String tenantId,@Param("productId")Long productId); + List findOnlyMerchantByProductIds(@Param("tenantId")String tenantId,@Param("productIds")List productIds); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index a25ae114d..5968764e4 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -259,7 +259,7 @@ public interface WxCouponService { * 获取券商户map * */ - Map getCouponMerchantMap(List couponIds,TenantEntity tenantEntity); + Map getCouponMerchantMap(List couponIds,TenantEntity tenantEntity,boolean onlyOneMerchantCoupons); Map getCouponMap(List couponIds, TenantEntity tenantEntity); } 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 c41218955..e10e20c6e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -317,7 +317,9 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { return; } if(wxCouponChannel.getMerchantId() != null){ - List mcids = wxCouponMerchantMapper.findOneMerchantProductIds(wxCouponChannel.getTenantId(), wxCouponChannel.getMerchantId()); + List merchantIds = new ArrayList(); + merchantIds.add(wxCouponChannel.getMerchantId()); + List mcids = wxCouponMerchantMapper.findMerchantProductIds(wxCouponChannel.getTenantId(), merchantIds,0); if(mcids == null || mcids.isEmpty()){ wxCouponChannel.setId(-999L); return; 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 28696ee95..205bbc78b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -291,22 +291,25 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { dateMap.put("endDateTimes", endDate.getTime()); List merchantIdList = new ArrayList(); merchantIdList.add(wxMerchant.getId()); - List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(wxMerchant.getTenantId(), merchantIdList); - if (null != merchantProductVos) { + List merchantProductVos = wxCouponMerchantMapper.findOnlyMerchantProduct(wxMerchant.getTenantId(), merchantIdList); + if (null != merchantProductVos && merchantProductVos.size() > 0 ){ List couponIds = new ArrayList(); for (int i = 0 ; i < merchantProductVos.size(); i ++) { WxMerchantProductVo mp = merchantProductVos.get(i); - if (mp.getMc() == 1) { - if (!couponIds.contains(mp.getProductId())) { - couponIds.add(mp.getProductId()); - } - } + if (!couponIds.contains(mp.getProductId())) { + couponIds.add(mp.getProductId()); + } } if (couponIds.size() > 0 ) { dateMap.put("couponIds", couponIds); + list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); + }else { + list = new ArrayList(); } + }else { + list = new ArrayList(); } - list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); + } //logger.info("find " + list.size() + " coupon order from " + /startDate + " to " + new Date()); resultMap.put("amount", list.stream().mapToInt(p -> p.getCouponPrice()).sum()); @@ -350,29 +353,35 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { dateMap.put("endDateTimes", endDate.getTime()); List merchantIdList = new ArrayList(); merchantIdList.add(merchantId); - List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIdList); - if (null != merchantProductVos) { + List merchantProductVos = wxCouponMerchantMapper.findOnlyMerchantProduct(tenantEntity.getTenantId(), merchantIdList); + PageInfo couponOrderPage = null; + if (null != merchantProductVos && merchantProductVos.size() > 0 ) { List couponIds = new ArrayList(); for (int i = 0 ; i < merchantProductVos.size(); i ++) { WxMerchantProductVo mp = merchantProductVos.get(i); - if (mp.getMc() == 1) { - if (!couponIds.contains(mp.getProductId())) { - couponIds.add(mp.getProductId()); - } - } + if (!couponIds.contains(mp.getProductId())) { + couponIds.add(mp.getProductId()); + } } if (couponIds.size() > 0 ) { dateMap.put("couponIds", couponIds); + couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfOrderedByDateForBUser(dateMap)); } } - - PageInfo couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfOrderedByDateForBUser(dateMap)); PageInfo pageInfo = new PageInfo(); - pageInfo.setList(handleToCouponOrderBVoList(tenantEntity,couponOrderPage.getList(),false,false)); - pageInfo.setPageNum(couponOrderPage.getPageNum()); - pageInfo.setPageSize(couponOrderPage.getPageSize()); - pageInfo.setPages(couponOrderPage.getPages()); - pageInfo.setTotal(couponOrderPage.getTotal()); + if (null != couponOrderPage) { + pageInfo.setList(handleToCouponOrderBVoList(tenantEntity,couponOrderPage.getList(),false,false)); + pageInfo.setPageNum(couponOrderPage.getPageNum()); + pageInfo.setPageSize(couponOrderPage.getPageSize()); + pageInfo.setPages(couponOrderPage.getPages()); + pageInfo.setTotal(couponOrderPage.getTotal()); + }else { + pageInfo.setList(null); + pageInfo.setPageNum(pageIndex); + pageInfo.setPageSize(pageSize); + pageInfo.setPages(0); + pageInfo.setTotal(0); + } return pageInfo; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index 1d3c16b01..a594d15fe 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -129,7 +129,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { pageInfo.setPageSize(sendPageInfo.getPageSize()); pageInfo.setPages(sendPageInfo.getPages()); pageInfo.setTotal(sendPageInfo.getTotal()); - pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),true,false)); + pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),true,false,true)); } else { record.setStatus(EnumCouponSendStatus.VALID.getCode()); record.setSortColumns(BaseEntity.SortField.CreateDate_DESC); @@ -139,7 +139,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { pageInfo.setPageSize(sendPageInfo.getPageSize()); pageInfo.setPages(sendPageInfo.getPages()); pageInfo.setTotal(sendPageInfo.getTotal()); - pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),false,true)); + pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),false,true,true)); } return pageInfo; } @@ -147,10 +147,10 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override public List findListVo(WxCouponSend record) { List couponSendList = wxCouponSendMapper.findList(record); - return couponSendToVoList(record,couponSendList,false,false); + return couponSendToVoList(record,couponSendList,false,false,false); } - private List couponSendToVoList(TenantEntity tenantEntity,List couponSendList,boolean setInventoryAndExpired,boolean setMerchantNameAndSendCount) { + private List couponSendToVoList(TenantEntity tenantEntity,List couponSendList,boolean setInventoryAndExpired,boolean setMerchantNameAndSendCount,boolean onlyOneMerchantCoupons) { if (null != couponSendList) { List couponIdList = new ArrayList<>(); List mallUserInfoIdList = new ArrayList(); @@ -199,7 +199,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { //couponMerchant Map couponMerchantMap = null; if (setMerchantNameAndSendCount) { - couponMerchantMap = wxCouponService.getCouponMerchantMap(couponIdList,tenantEntity); + couponMerchantMap = wxCouponService.getCouponMerchantMap(couponIdList,tenantEntity,onlyOneMerchantCoupons); } List retList = new ArrayList(); for (int i = 0 ; i getCouponMerchantMap(List couponIds, TenantEntity tenantEntity) { + public Map getCouponMerchantMap(List couponIds, TenantEntity tenantEntity,boolean onlyOneMerchantCoupons) { Map couponMerchantMap = new HashMap(); if(null != couponIds && couponIds.size() > 0){ - List merchantIds = wxCouponMerchantMapper.findMerchantByProductIds(tenantEntity.getTenantId(),couponIds); - + List merchantIds = null; + if (onlyOneMerchantCoupons) { + merchantIds = wxCouponMerchantMapper.findOnlyMerchantByProductIds(tenantEntity.getTenantId(),couponIds); + }else { + merchantIds = wxCouponMerchantMapper.findMerchantByProductIds(tenantEntity.getTenantId(),couponIds); + } + if (null == merchantIds) { + return couponMerchantMap; + } WxMerchant merchantQ = new WxMerchant(); merchantQ.updateTenantInfo(tenantEntity); merchantQ.setIds(merchantIds); @@ -979,8 +986,13 @@ public class WxCouponServiceImpl implements WxCouponService { } } - List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIds); - if (null != merchantProductVos) { + List merchantProductVos = null; + if (onlyOneMerchantCoupons) { + merchantProductVos = wxCouponMerchantMapper.findOnlyMerchantProduct(tenantEntity.getTenantId(), merchantIds); + }else { + merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIds); + } + if (null != merchantProductVos && merchantProductVos.size() > 0 ) { for (int i = 0 ; i < merchantProductVos.size(); i ++) { WxMerchantProductVo mp = merchantProductVos.get(i); if(couponIds.contains(mp.getProductId())){ diff --git a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml index 62403a5bf..47f64516d 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml @@ -186,26 +186,48 @@ - + SELECT distinct wcm.merchant_id FROM wx_coupon_merchant wcm WHERE wcm.STATUS = 0 and wcm.`tenant_id` = #{tenantId} - - - and wcm.merchant_id = #{merchantId} + + and wcm.product_id in + + #{productIdItem} + - - + SELECT wcm.product_id,wcm.merchant_id,COUNT(1) AS mc + FROM wx_coupon_merchant wcm + WHERE wcm.STATUS = 0 + + and wcm.`tenant_id` = #{tenantId} + + GROUP BY product_id + HAVING mc = 1 + + and wcm.merchant_id in + + #{merchantIdItem} + + + + + + - - From 9f306448cd29f1878a099e8e113405115d7d9622 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 18 Jan 2022 12:53:35 +0800 Subject: [PATCH 02/10] fix bug --- .../java/com/iformall/service/impl/WxCouponServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b45538d55..3c28739ad 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -971,7 +971,7 @@ public class WxCouponServiceImpl implements WxCouponService { }else { merchantIds = wxCouponMerchantMapper.findMerchantByProductIds(tenantEntity.getTenantId(),couponIds); } - if (null == merchantIds) { + if (null == merchantIds || merchantIds.size() <= 0) { return couponMerchantMap; } WxMerchant merchantQ = new WxMerchant(); From adba804f499484027e5d6025b6e8813cfc960e0b Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 18 Jan 2022 13:03:35 +0800 Subject: [PATCH 03/10] fix bug --- .../com/iformall/service/impl/WxCouponSendServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index a594d15fe..8476fc91c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -129,7 +129,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { pageInfo.setPageSize(sendPageInfo.getPageSize()); pageInfo.setPages(sendPageInfo.getPages()); pageInfo.setTotal(sendPageInfo.getTotal()); - pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),true,false,true)); + pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),true,false,false)); } else { record.setStatus(EnumCouponSendStatus.VALID.getCode()); record.setSortColumns(BaseEntity.SortField.CreateDate_DESC); @@ -139,7 +139,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { pageInfo.setPageSize(sendPageInfo.getPageSize()); pageInfo.setPages(sendPageInfo.getPages()); pageInfo.setTotal(sendPageInfo.getTotal()); - pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),false,true,true)); + pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),false,true,false)); } return pageInfo; } From 274a82108dd64dbe131dee7d4bd6263598d26bbc Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 18 Jan 2022 13:41:17 +0800 Subject: [PATCH 04/10] =?UTF-8?q?/=E3=80=81..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxCouponChannelController.java | 7 +++++++ .../src/main/resources/mapper/WxCouponChannelMapper.xml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index a8bbb0fef..6f6c710fe 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -71,6 +71,13 @@ public class WxCouponChannelController extends BaseController { } wxCouponChannel.setShowBeginTime(new Date()); + if(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.equals(wxCouponChannel.getTargetAd()) + || EnumCouponChannelType.COUPON_CHANNEL_ID_CREDIT.equals(wxCouponChannel.getTargetAd())){ + PageInfo page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); + filterTimed(wxCouponChannel, page); + return new ResultData(page); + } + String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() + wxCouponChannel.getTenantId() + "_" + wxCouponChannel.getTargetAd() + "_" diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml index 1828c3e55..c69c11dbf 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml @@ -511,6 +511,6 @@ #{targetAdsItem} - order by ${sortColumns} + From be0cae7cdb3afc461fc0cb4f4d849799713bba9a Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 18 Jan 2022 13:52:56 +0800 Subject: [PATCH 05/10] =?UTF-8?q?/=E3=80=81order=20by?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponChannelController.java | 11 ++++++----- .../main/resources/mapper/WxCouponChannelMapper.xml | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 6f6c710fe..725fd4f8f 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -64,11 +64,12 @@ public class WxCouponChannelController extends BaseController { wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); wxCouponChannel.setCouponStatus(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()); - if(StringUtils.isNotBlank(wxCouponChannel.getSortColumn())){ - - }else{ - wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); - } +// if(StringUtils.isNotBlank(wxCouponChannel.getSortColumn())){ +// +// }else{ +// wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); +// } + wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); wxCouponChannel.setShowBeginTime(new Date()); if(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.equals(wxCouponChannel.getTargetAd()) diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml index c69c11dbf..1828c3e55 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml @@ -511,6 +511,6 @@ #{targetAdsItem} - + order by ${sortColumns} From 55df65e8514e94086d0b2bbebab3425481fcf635 Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 18 Jan 2022 14:10:33 +0800 Subject: [PATCH 06/10] =?UTF-8?q?/=E3=80=81order=20by?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxCouponChannelController.java | 1 + .../com/iformall/service/impl/WxCouponChannelServiceImpl.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 725fd4f8f..7ec8fd571 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -69,6 +69,7 @@ public class WxCouponChannelController extends BaseController { // }else{ // wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); // } + wxCouponChannel.setSortColumn(null); wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); wxCouponChannel.setShowBeginTime(new Date()); 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 e10e20c6e..be1154754 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -306,6 +306,9 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { if(wxCouponChannel.getSourceType() != null){ couponQ.setSourceType(wxCouponChannel.getSourceType()); } + if(wxCouponChannel.getSupportTransfer() != null){ + couponQ.setSupportTransfer(wxCouponChannel.getSupportTransfer()); + } List cids = wxCouponMapper.findIdList(couponQ); return cids; } From 1310a0857b7339605b1f7d0a2e0be2eb07ea7478 Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 18 Jan 2022 14:17:59 +0800 Subject: [PATCH 07/10] =?UTF-8?q?/=E3=80=81card=20credit=20redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxCouponChannelController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 7ec8fd571..80b3fe640 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -73,8 +73,8 @@ public class WxCouponChannelController extends BaseController { wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); wxCouponChannel.setShowBeginTime(new Date()); - if(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.equals(wxCouponChannel.getTargetAd()) - || EnumCouponChannelType.COUPON_CHANNEL_ID_CREDIT.equals(wxCouponChannel.getTargetAd())){ + if(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.getCode().equals(wxCouponChannel.getTargetAd()) + || EnumCouponChannelType.COUPON_CHANNEL_ID_CREDIT.getCode().equals(wxCouponChannel.getTargetAd())){ PageInfo page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); filterTimed(wxCouponChannel, page); return new ResultData(page); From d7003807de89c4e7b3119881a7975f36a3e5e108 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 18 Jan 2022 14:25:13 +0800 Subject: [PATCH 08/10] =?UTF-8?q?fix=20b=E7=AB=AF=E6=A0=B8=E9=94=80?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=80=BB=E6=95=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/controller/WxCouponOrderController.java | 2 -- .../main/java/com/iformall/schedule/DaliyAmountSchedule.java | 2 +- .../com/iformall/service/impl/WxCouponOrderServiceImpl.java | 2 +- .../src/main/resources/mapper/WxCouponOrderMapper.xml | 4 ++-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index f4a4088cc..037b100e9 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -131,7 +131,6 @@ public class WxCouponOrderController extends BaseController { } - @RedisCache @ApiOperation("某日期交易总流水") @GetMapping("getUnverifiedAmountOnDate") @ApiImplicitParams({ @@ -140,7 +139,6 @@ public class WxCouponOrderController extends BaseController { return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, false); } - @RedisCache @ApiOperation("某日期核销总流水") @GetMapping("getVerifiedAmountOnDate") @ApiImplicitParams({ diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java index 46ffae331..e7a5871b7 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java @@ -54,7 +54,7 @@ public class DaliyAmountSchedule { merchantBUserQ.updateTenantInfo(merchant); merchantBUserQ.setMerchantId(merchant.getId()); List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); - dateMap.put("bUserIds", bUserIds); + dateMap.put("bUserIdList", bUserIds); List list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); logger.info("find " + list.size() + " coupon order from " + startDate + " to " + endDate); 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 205bbc78b..df3282835 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -284,7 +284,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { merchantBUserQ.updateTenantInfo(wxMerchant); merchantBUserQ.setMerchantId(wxMerchant.getId()); List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); - dateMap.put("bUserIds", bUserIds); + dateMap.put("bUserIdList", bUserIds); list = wxCouponOrderMapper.findListOfVerifiedByDate(dateMap); }else { dateMap.put("startDateTimes", startDate.getTime()); diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 5e8774166..e62176a4c 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -160,9 +160,9 @@ from wx_coupon_order co where co.tenant_id = #{tenantId} AND co.coupon_order_status = '1' - + and co.b_user_id in - + #{bUserIdItem} From 72f676a5fcc25842d09da6ea46c454ae0de6edbf Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 18 Jan 2022 15:37:46 +0800 Subject: [PATCH 09/10] fix dataAmount bug --- .../schedule/DaliyAmountSchedule.java | 51 ++++++++++++++----- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java index e7a5871b7..f4fc4aabe 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java @@ -2,6 +2,7 @@ package com.iformall.schedule; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; +import com.iformall.domain.vo.WxMerchantProductVo; import com.iformall.enums.EnumDateAmtType; import com.iformall.enums.EnumMerchantStatus; import com.iformall.mapper.*; @@ -41,22 +42,38 @@ public class DaliyAmountSchedule { @Autowired WxMerchantBUserMapper wxMerchantBUserMapper; + + @Autowired + WxCouponMerchantMapper wxCouponMerchantMapper; @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void daliyAmountMerchant(Date startDate,Date endDate,Calendar cal,WxMerchant merchant){ - Map dateMap = new HashMap(); - dateMap.put("startDate", startDate); - dateMap.put("endDate", endDate); - dateMap.put("merchantId", merchant.getId()); - dateMap.put("tenantId", merchant.getTenantId()); - WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); - merchantBUserQ.updateTenantInfo(merchant); - merchantBUserQ.setMerchantId(merchant.getId()); - List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); - dateMap.put("bUserIdList", bUserIds); - - List list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); + + Map orderdateMap = new HashMap(); + orderdateMap.put("startDateTimes", startDate.getTime()); + orderdateMap.put("endDateTimes", endDate.getTime()); + orderdateMap.put("merchantId", merchant.getId()); + orderdateMap.put("tenantId", merchant.getTenantId()); + List merchantIdList = new ArrayList(); + merchantIdList.add(merchant.getId()); + List merchantProductVos = wxCouponMerchantMapper.findOnlyMerchantProduct(merchant.getTenantId(), merchantIdList); + boolean hasCoupons = true; + if (null != merchantProductVos && merchantProductVos.size() > 0 ){ + List couponIds = new ArrayList(); + for (int i = 0 ; i < merchantProductVos.size(); i ++) { + WxMerchantProductVo mp = merchantProductVos.get(i); + if (!couponIds.contains(mp.getProductId())) { + couponIds.add(mp.getProductId()); + } + } + if (couponIds.size() > 0 ) { + orderdateMap.put("couponIds", couponIds); + }else { + return; + } + } + List list = wxCouponOrderMapper.findListOfOrderedByDate(orderdateMap); logger.info("find " + list.size() + " coupon order from " + startDate + " to " + endDate); int total_price = list.stream().mapToInt(p -> p.getCouponPrice()).sum(); @@ -77,6 +94,16 @@ public class DaliyAmountSchedule { wxDateAmountRecordService.saveAmount(dateAmountRecord); + Map dateMap = new HashMap(); + dateMap.put("startDate", startDate); + dateMap.put("endDate", endDate); + dateMap.put("merchantId", merchant.getId()); + dateMap.put("tenantId", merchant.getTenantId()); + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(merchant); + merchantBUserQ.setMerchantId(merchant.getId()); + List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); + dateMap.put("bUserIdList", bUserIds); list = wxCouponOrderMapper.findListOfVerifiedByDate(dateMap); if (null != list && list.size() > 0) { logger.info("\nfind " + list.size() + " coupon order from " + startDate + " to " + endDate); From 517e10a0c352a30b9eb0c98bfd1c8b5b8800e8ee Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 18 Jan 2022 16:56:42 +0800 Subject: [PATCH 10/10] fix bug --- .../com/iformall/service/impl/WxCouponOrderServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 df3282835..a92a39a04 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -334,7 +334,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { merchantBUserQ.updateTenantInfo(tenantEntity); merchantBUserQ.setMerchantId(merchantId); List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); - dateMap.put("bUserIds", bUserIds); + dateMap.put("bUserIdList", bUserIds); PageInfo couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfVerifiedByDateForBUser(dateMap)); PageInfo pageInfo = new PageInfo();