From a7aaa2da0c5aacac0d03fe1c6ce8d1ea1befdd18 Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Sun, 28 Dec 2025 19:09:02 +0800 Subject: [PATCH] fix --- .../controller/WxCouponChannelController.java | 61 +++++++++++-------- .../service/WxCouponChannelService.java | 2 +- .../impl/WxCouponChannelServiceImpl.java | 35 ++++++++--- 3 files changed, 63 insertions(+), 35 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 756ed1a1c..3bf4a5e94 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -60,7 +60,7 @@ public class WxCouponChannelController extends BaseController { wxCouponChannel.updateTenantInfo(getTenantInfo()); wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); wxCouponChannel.setCouponStatus(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()); - logger.info(">>>>>>>:{}",JSON.toJSONString(wxCouponChannel)); + //logger.info(">>>>>>>:{}",JSON.toJSONString(wxCouponChannel)); // if(StringUtils.isNotBlank(wxCouponChannel.getSortColumn())){ // @@ -79,37 +79,44 @@ public class WxCouponChannelController extends BaseController { PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class); //logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page); if (null == page ) { - page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); + page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize,false); + if(page.getList() != null && page.getList().size() > 0){ + filterTimed(wxCouponChannel, page); + RedisCacheUtils.cache(redisTemplate, key, page, 600); + } + } + return new ResultData(page); + } + + //@RedisCache + @ApiOperation("积分商城分页列表接口") + @GetMapping("creditProductList") + @ApiImplicitParams({ + @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), + @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) + public ResultData creditProductList(@ModelAttribute WxCouponChannel wxCouponChannel,Integer pageNum, Integer pageSize) { + if (null == wxCouponChannel) wxCouponChannel = new WxCouponChannel(); + wxCouponChannel.updateTenantInfo(getTenantInfo()); + wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); + wxCouponChannel.setCouponStatus(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()); + logger.info(">>>>>>>:{}",JSON.toJSONString(wxCouponChannel)); + + wxCouponChannel.setShowBeginTime(new Date()); + + String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() + + wxCouponChannel.getTenantId() + "_" + + wxCouponChannel.getTargetAd() + "_" + + wxCouponChannel.getBusiness() + "_" + + pageNum + ":"+ pageNum + ":"; + PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class); + //logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page); + if (null == page ) { + page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize,true); if(page.getList() != null && page.getList().size() > 0){ filterTimed(wxCouponChannel, page); RedisCacheUtils.cache(redisTemplate, key, page, 600); } } -// 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); -// if(page.getList() != null && page.getList().size() > 0){ -// filterTimed(wxCouponChannel, page); -// } -// return new ResultData(page); -// } -// -// String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() -// + wxCouponChannel.getTenantId() + "_" -// + wxCouponChannel.getTargetAd() + "_" -// + wxCouponChannel.getBusiness() + "_" -// + pageNum + ":"+ pageNum + ":"; -// PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class); -// logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page); -// if (null == page ) { -// page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); -// if(page.getList() != null && page.getList().size() > 0){ -// filterTimed(wxCouponChannel, page); -// RedisCacheUtils.cache(redisTemplate, key, page, 100); -// } -// } return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java index 2a0e19b61..5edc7aa80 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java @@ -66,7 +66,7 @@ public interface WxCouponChannelService { List newfindListVo(WxCouponChannel wxCouponChannel); - PageInfo newListPageVo(WxCouponChannel record, Integer pageIndex, Integer pageSize); + PageInfo newListPageVo(WxCouponChannel record, Integer pageIndex, Integer pageSize,boolean isCreditQuery); PageInfo liveHomePage(WxCouponChannel record, Integer pageIndex, Integer pageSize); 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 1f561c37e..b172e1889 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -21,6 +21,7 @@ import com.iformall.service.*; import com.iformall.service.pay.PayServiceFactory; import com.iformall.utils.Constant; import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -450,7 +451,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { * @param wxCouponChannel * @return */ - private List handleCouponParam(WxCouponChannel wxCouponChannel){ + private List handleCouponParam(WxCouponChannel wxCouponChannel,boolean isCreditQuery){ WxCoupon couponQ = new WxCoupon(); couponQ.updateTenantInfo(wxCouponChannel); couponQ.setStatus(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()); @@ -466,12 +467,21 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { if(wxCouponChannel.getSupportTransfer() != null){ couponQ.setSupportTransfer(wxCouponChannel.getSupportTransfer()); } + if (isCreditQuery) { + if (StringUtils.isNotBlank(wxCouponChannel.getSortOrder()) && "asc".equals(wxCouponChannel.getSortOrder())) { + couponQ.setSortColumns(" credit_price asc"); + }else if(StringUtils.isNotBlank(wxCouponChannel.getSortOrder()) && "desc".equals(wxCouponChannel.getSortOrder())){ + couponQ.setSortColumns(" credit_price desc"); + }else { + //do nothing + } + } List cids = wxCouponMapper.findIdList(couponQ); return cids; } - private void handleCouponIds(WxCouponChannel wxCouponChannel){ - List cids =handleCouponParam(wxCouponChannel); + private void handleCouponIds(WxCouponChannel wxCouponChannel,boolean isCreditQuery){ + List cids =handleCouponParam(wxCouponChannel,isCreditQuery); if(cids == null || cids.isEmpty()){ wxCouponChannel.setId(-999L); return; @@ -498,6 +508,17 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { return; } wxCouponChannel.setCouponIds(cids); + if (isCreditQuery) { + StringBuffer sb = new StringBuffer(""); + for (int i = 0 ; i < cids.size(); i++) { + if (i < cids.size()-1) { + sb.append(cids.get(i)).append(","); + }else { + sb.append(cids.get(i)); + } + } + wxCouponChannel.setSortColumns("FIELD(coupon_id,"+sb.toString()+")"); + } } private List handleWxCouponChannelVo(List list, TenantEntity tenantEntity){ @@ -528,7 +549,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { @Override public List newfindListVo(WxCouponChannel wxCouponChannel) { - handleCouponIds(wxCouponChannel); + handleCouponIds(wxCouponChannel,false); if(wxCouponChannel.getId() != null && wxCouponChannel.getId().equals(-999L)){ return new ArrayList<>(); } @@ -544,9 +565,9 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { * @return */ @Override - public PageInfo newListPageVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) { + public PageInfo newListPageVo(WxCouponChannel record, Integer pageIndex, Integer pageSize,boolean isCreditQuery) { - handleCouponIds(record); + handleCouponIds(record,isCreditQuery); if(record.getId() != null && record.getId().equals(-999L)){ return new PageInfo(); } @@ -916,7 +937,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { @Override public PageInfo ttChannelList(TtCouponChannelVo ttChannelVo, Integer pageNum, Integer pageSize) { - handleCouponIds(ttChannelVo); + handleCouponIds(ttChannelVo,false); if(ttChannelVo.getId() != null && ttChannelVo.getId().equals(-999L)){ return new PageInfo(); }