diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java index 62a95efdf..bd57e0f65 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java @@ -41,6 +41,11 @@ public class WxBusiness implements Serializable { @Transient private String tenantId; + @Transient + private Integer limitStart; + @Transient + private Integer limitEnd; + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java index 792bb815d..00a95a37a 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java @@ -3,10 +3,6 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxBusiness; -import org.springframework.web.bind.annotation.ModelAttribute; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.util.List; public interface WxBusinessService { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java index 23cd05cfc..9e5f09641 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java @@ -4,9 +4,11 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxBusiness; +import com.iformall.domain.po.WxCoupon; import com.iformall.enums.EnumBusinessFilter; import com.iformall.mapper.WxBusinessMapper; import com.iformall.service.WxBusinessService; +import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -14,7 +16,9 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; +import java.util.Map; @Service public class WxBusinessServiceImpl implements WxBusinessService { @@ -59,7 +63,35 @@ public class WxBusinessServiceImpl implements WxBusinessService { @Override public ResultData devoteList(WxBusiness wxBusiness, Integer pageNum, Integer pageSize) { - return new ResultData(PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBusinessMapper.devoteList(wxBusiness))); + wxBusiness.setLimitStart(0); + wxBusiness.setLimitEnd(Integer.MAX_VALUE); + List totalList = wxBusinessMapper.devoteList(wxBusiness); + if(CollectionUtils.isEmpty(totalList)){ + PageHelper.startPage(pageNum, pageSize); + PageInfo>> pageInfo = new PageInfo(new ArrayList()); + pageInfo.setPages(0); + pageInfo.setTotal(0); + PageHelper.clearPage(); + return new ResultData(pageInfo); + } + + int total = totalList.size(); + int pages; + if(total % pageSize == 0){ + pages = total / pageSize; + }else{ + pages = total / pageSize +1; + } + wxBusiness.setLimitStart((pageNum -1) * pageSize); + wxBusiness.setLimitEnd(pageSize); + List> list = wxBusinessMapper.devoteList(wxBusiness); + + PageHelper.startPage(pageNum, pageSize); + PageInfo>> pageInfo = new PageInfo(list); + pageInfo.setPages(pages); + pageInfo.setTotal(total); + PageHelper.clearPage(); + return new ResultData(pageInfo); } } diff --git a/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml b/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml index 018315781..a4b80a443 100644 --- a/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml @@ -163,7 +163,7 @@ round( (select if(sum(mtd.trade_amt) is null,0,sum(mtd.trade_amt)) from wx_merchant m - left join wx_merchant_trade_daily mtd on mtd.merchant_id = m.id where m.business_id = 9 and m.tenant_id=#{tenantId} and mtd.create_date between #{startdate} and #{enddate}) + left join wx_merchant_trade_daily mtd on mtd.merchant_id = m.id where m.business_id = #{id} and m.tenant_id=#{tenantId} and mtd.create_date between #{startdate} and #{enddate}) / (select if(sum(ws.operation_area) is null,0,sum(ws.operation_area)) from wx_merchant m @@ -178,7 +178,7 @@ round( (select if(sum(mtd.trade_amt) is null,0,sum(mtd.trade_amt)) from wx_merchant m - left join wx_merchant_trade_daily mtd on mtd.merchant_id = m.id where m.business_id = 9 and m.tenant_id=#{tenantId} and mtd.create_date between #{startdate} and #{enddate}) + left join wx_merchant_trade_daily mtd on mtd.merchant_id = m.id where m.business_id = #{id} and m.tenant_id=#{tenantId} and mtd.create_date between #{startdate} and #{enddate}) / (select if(sum(ws.operation_area) is null,0,sum(ws.operation_area)) from wx_merchant m @@ -198,6 +198,10 @@ and mtd.create_date between #{startdate} and #{enddate} group by m.id order by devoteRate desc + + + limit #{limitStart},#{limitEnd} +