|
|
@ -2,47 +2,53 @@ |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
|
import com.epmet.commons.tools.enums.OrgLevelEnum; |
|
|
|
import com.epmet.commons.tools.utils.DateUtils; |
|
|
|
import com.epmet.dataaggre.constant.DataSourceConstant; |
|
|
|
import com.epmet.dataaggre.constant.OrgConstant; |
|
|
|
import com.epmet.dataaggre.dao.datastats.DataStatsDao; |
|
|
|
import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao; |
|
|
|
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; |
|
|
|
import com.epmet.dataaggre.dto.datastats.form.*; |
|
|
|
import com.epmet.dataaggre.dto.datastats.result.*; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.utils.DateUtils; |
|
|
|
import com.epmet.commons.tools.utils.ExcelUtils; |
|
|
|
import com.epmet.dataaggre.constant.DataSourceConstant; |
|
|
|
import com.epmet.dataaggre.constant.OrgConstant; |
|
|
|
import com.epmet.dataaggre.dao.datastats.DataStatsDao; |
|
|
|
import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao; |
|
|
|
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; |
|
|
|
import com.epmet.dataaggre.dto.datastats.form.*; |
|
|
|
import com.epmet.dataaggre.dto.datastats.result.*; |
|
|
|
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; |
|
|
|
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; |
|
|
|
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; |
|
|
|
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; |
|
|
|
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; |
|
|
|
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; |
|
|
|
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; |
|
|
|
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity; |
|
|
|
import com.epmet.dataaggre.service.datastats.DataStatsService; |
|
|
|
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; |
|
|
|
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; |
|
|
|
import com.epmet.dataaggre.service.opercrm.CustomerRelation; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.RoundingMode; |
|
|
|
import java.text.NumberFormat; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; |
|
|
|
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; |
|
|
|
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; |
|
|
|
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; |
|
|
|
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; |
|
|
|
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity; |
|
|
|
import com.epmet.dataaggre.excel.CustomerDataManageExcel; |
|
|
|
import com.epmet.dataaggre.service.datastats.DataStatsService; |
|
|
|
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; |
|
|
|
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; |
|
|
|
import com.epmet.dataaggre.service.opercrm.CustomerRelation; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.RoundingMode; |
|
|
|
import java.text.NumberFormat; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author sun |
|
|
@ -1841,4 +1847,258 @@ public class DataStatsServiceImpl implements DataStatsService { |
|
|
|
return dataStatsDao.selectGirdMemberPatrol(formDTO); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 客户数据管理导出 |
|
|
|
* @Param formDTO |
|
|
|
* @Param response |
|
|
|
* @author zxc |
|
|
|
* @date 2021/9/10 3:52 下午 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void CustomerDataManage(CustomerDataManageFormDTO formDTO, HttpServletResponse response) throws Exception { |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> result = operateExport(formDTO).getList(); |
|
|
|
if (!CollectionUtils.isEmpty(result)){ |
|
|
|
CustomerDataManageResultDTO.CustomerDataManage c = new CustomerDataManageResultDTO.CustomerDataManage(); |
|
|
|
c.setOrgName("合计"); |
|
|
|
c.setUserCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getUserCount))); |
|
|
|
c.setResidentCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getResidentCount))); |
|
|
|
c.setPartyMemberCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPartyMemberCount))); |
|
|
|
c.setGroupCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getGroupCount))); |
|
|
|
c.setTopicCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getTopicCount))); |
|
|
|
c.setIssueCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getIssueCount))); |
|
|
|
c.setProjectCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getProjectCount))); |
|
|
|
c.setClosedProjectCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getClosedProjectCount))); |
|
|
|
c.setPatrolPeopleCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolPeopleCount))); |
|
|
|
c.setPatrolCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolCount))); |
|
|
|
c.setPatrolDurationInteger(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolDurationInteger))); |
|
|
|
c.setPatrolDuration(getHm(c.getPatrolDurationInteger())); |
|
|
|
result.add(c); |
|
|
|
} |
|
|
|
String fileName = excelName(formDTO); |
|
|
|
ExcelUtils.exportExcelToTargetDisposeAll(response,fileName,result, CustomerDataManageExcel.class); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 秒转换时分 |
|
|
|
* @Param seconds |
|
|
|
* @author zxc |
|
|
|
* @date 2021/9/13 10:03 上午 |
|
|
|
*/ |
|
|
|
public String getHm(Integer seconds){ |
|
|
|
String result = "0分钟"; |
|
|
|
if (seconds >= NumConstant.SIXTY) { |
|
|
|
Integer hours = seconds / 3600; |
|
|
|
Integer minutes = seconds % 3600 / 60; |
|
|
|
result = (hours < NumConstant.ONE ? "" : hours + "小时") + (minutes < NumConstant.ONE ? "" : minutes + "分钟"); |
|
|
|
}else if (seconds < NumConstant.SIXTY && seconds > NumConstant.ZERO){ |
|
|
|
result = "1分钟"; |
|
|
|
} |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 表头获取 |
|
|
|
* @Param formDTO |
|
|
|
* @author zxc |
|
|
|
* @date 2021/9/13 10:02 上午 |
|
|
|
*/ |
|
|
|
public String excelName(CustomerDataManageFormDTO formDTO){ |
|
|
|
StringBuffer s = new StringBuffer(); |
|
|
|
String agencyName = indexService.selectAgencyNameByAgencyId(formDTO.getAgencyId()); |
|
|
|
s.append(agencyName); |
|
|
|
if (StringUtils.isNotBlank(formDTO.getStartTime())){ |
|
|
|
String startTime = formDTO.getStartTime(); |
|
|
|
String sYear = startTime.substring(0, 4); |
|
|
|
String sMonth = startTime.substring(4, 6); |
|
|
|
String sDay = startTime.substring(6, 8); |
|
|
|
String endTime = formDTO.getEndTime(); |
|
|
|
String eYear = endTime.substring(0, 4); |
|
|
|
String eMonth = endTime.substring(4, 6); |
|
|
|
String eDay = endTime.substring(6, 8); |
|
|
|
s.append(sYear).append("年").append(sMonth).append("月").append(sDay).append("日-") |
|
|
|
.append(eYear).append("年").append(eMonth).append("月").append(eDay).append("日区间新增值"); |
|
|
|
}else { |
|
|
|
String endTime = formDTO.getEndTime(); |
|
|
|
String eYear = endTime.substring(0, 4); |
|
|
|
String eMonth = endTime.substring(4, 6); |
|
|
|
String eDay = endTime.substring(6, 8); |
|
|
|
s.append(eYear).append("年").append(eMonth).append("月").append(eDay).append("日截止累计值"); |
|
|
|
} |
|
|
|
return s.toString(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Param formDTO |
|
|
|
* @Description 运营情况数据查询 |
|
|
|
* @author sun |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public CustomerDataManageResultDTO operateExport(CustomerDataManageFormDTO formDTO) throws ParseException { |
|
|
|
CustomerDataManageResultDTO resultDTO = new CustomerDataManageResultDTO(); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> dataManageList = new ArrayList<>(); |
|
|
|
//1.必要参数校验及处理
|
|
|
|
if ("Interval".equals(formDTO.getType()) && StringUtils.isEmpty(formDTO.getStartTime())) { |
|
|
|
throw new RenException("请选择开始时间或查询累计值"); |
|
|
|
} |
|
|
|
//入参有开始时间的则需要减去一天
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getStartTime())) { |
|
|
|
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD); |
|
|
|
Date date = format.parse(formDTO.getStartTime()); |
|
|
|
Date yesterday = DateUtils.addDateDays(date, -1); |
|
|
|
formDTO.setStartTime(format.format(yesterday)); |
|
|
|
} |
|
|
|
|
|
|
|
//2.查询组织信息,判断查询下级组织还是网格数据
|
|
|
|
ScreenAgencyOrGridListDTO agencyGrid = indexService.getSubAgencyOrGridList(formDTO.getAgencyId()); |
|
|
|
if (null == agencyGrid) { |
|
|
|
return new CustomerDataManageResultDTO(); |
|
|
|
} |
|
|
|
//组织或网格Id集合
|
|
|
|
List<String> idList = agencyGrid.getAgencyGridList().stream().map(ScreenAgencyOrGridListDTO.AgencyGrid::getOrgId).collect(Collectors.toList()); |
|
|
|
formDTO.setDataType(!"community".equals(agencyGrid.getLevel()) ? "agency" : "grid"); |
|
|
|
formDTO.setIdList(idList); |
|
|
|
resultDTO.setTotal(idList.size()); |
|
|
|
|
|
|
|
//3.查询截止日期用户、群组、话题、议题、项目、巡查数据
|
|
|
|
formDTO.setSourceType("end"); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> userEnd = dataStatsDao.regUserList(formDTO); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uEndMap = new HashMap<>(); |
|
|
|
userEnd.stream().forEach(u->uEndMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> groupEnd = dataStatsDao.groupList(formDTO); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gEndMap = new HashMap<>(); |
|
|
|
groupEnd.stream().forEach(u->gEndMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> topicEnd = dataStatsDao.topicList(formDTO); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> tEndMap = new HashMap<>(); |
|
|
|
topicEnd.stream().forEach(u->tEndMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> issueEnd = dataStatsDao.issueList(formDTO); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> iEndMap = new HashMap<>(); |
|
|
|
issueEnd.stream().forEach(u->iEndMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> projectEnd = dataStatsDao.projectList(formDTO); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> pEndMap = new HashMap<>(); |
|
|
|
projectEnd.stream().forEach(u->pEndMap.put(u.getOrgId(),u)); |
|
|
|
//巡查数据不区分区间差值,只计算累计值,人员做去重处理且是有巡查记录的人员
|
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> patrolEnd = statsStaffPatrolRecordDailyService.patrolList(formDTO); |
|
|
|
|
|
|
|
//4.判断是否需要查询起始日期用户、群组、话题、议题、项目、巡查数据
|
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uStartMap = new HashMap<>(); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gStartMap = new HashMap<>(); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> tStartMap = new HashMap<>(); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> iStartMap = new HashMap<>(); |
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> pStartMap = new HashMap<>(); |
|
|
|
if ("Interval".equals(formDTO.getType())) { |
|
|
|
formDTO.setSourceType("start"); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> userStart = dataStatsDao.regUserList(formDTO); |
|
|
|
userStart.stream().forEach(u->uStartMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> groupStart = dataStatsDao.groupList(formDTO); |
|
|
|
groupStart.stream().forEach(u->gStartMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> topicStart = dataStatsDao.topicList(formDTO); |
|
|
|
topicStart.stream().forEach(u->tStartMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> issueStart = dataStatsDao.issueList(formDTO); |
|
|
|
issueStart.stream().forEach(u->iStartMap.put(u.getOrgId(),u)); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> projectStart = dataStatsDao.projectList(formDTO); |
|
|
|
projectStart.stream().forEach(u->pStartMap.put(u.getOrgId(),u)); |
|
|
|
} |
|
|
|
|
|
|
|
//5.封装数据
|
|
|
|
agencyGrid.getAgencyGridList().forEach(org -> { |
|
|
|
CustomerDataManageResultDTO.CustomerDataManage dto = new CustomerDataManageResultDTO.CustomerDataManage(); |
|
|
|
dto.setOrgId(org.getOrgId()); |
|
|
|
dto.setOrgName(org.getOrgName()); |
|
|
|
int user = 0; |
|
|
|
int resi = 0; |
|
|
|
int part = 0; |
|
|
|
if(uEndMap.containsKey(org.getOrgId())){ |
|
|
|
user = uEndMap.get(org.getOrgId()).getUserCount(); |
|
|
|
resi = uEndMap.get(org.getOrgId()).getResidentCount(); |
|
|
|
part = uEndMap.get(org.getOrgId()).getPartyMemberCount(); |
|
|
|
if ("Interval".equals(formDTO.getType())&&uStartMap.containsKey(org.getOrgId())) { |
|
|
|
user = user - uStartMap.get(org.getOrgId()).getUserCount(); |
|
|
|
resi = resi - uStartMap.get(org.getOrgId()).getResidentCount(); |
|
|
|
part = part - uStartMap.get(org.getOrgId()).getPartyMemberCount(); |
|
|
|
} |
|
|
|
} |
|
|
|
int group = 0; |
|
|
|
if(gEndMap.containsKey(org.getOrgId())){ |
|
|
|
group = gEndMap.get(org.getOrgId()).getGroupCount(); |
|
|
|
if ("Interval".equals(formDTO.getType())&&gStartMap.containsKey(org.getOrgId())) { |
|
|
|
group = group - gStartMap.get(org.getOrgId()).getGroupCount(); |
|
|
|
} |
|
|
|
} |
|
|
|
int topic = 0; |
|
|
|
if(tEndMap.containsKey(org.getOrgId())){ |
|
|
|
topic = tEndMap.get(org.getOrgId()).getTopicCount(); |
|
|
|
if ("Interval".equals(formDTO.getType())&&tStartMap.containsKey(org.getOrgId())) { |
|
|
|
topic = topic - tStartMap.get(org.getOrgId()).getTopicCount(); |
|
|
|
} |
|
|
|
} |
|
|
|
int issue = 0; |
|
|
|
if(iEndMap.containsKey(org.getOrgId())){ |
|
|
|
issue = iEndMap.get(org.getOrgId()).getIssueCount(); |
|
|
|
if ("Interval".equals(formDTO.getType())&&iStartMap.containsKey(org.getOrgId())) { |
|
|
|
issue = issue - iStartMap.get(org.getOrgId()).getIssueCount(); |
|
|
|
} |
|
|
|
} |
|
|
|
int project = 0; |
|
|
|
int closed = 0; |
|
|
|
if(pEndMap.containsKey(org.getOrgId())){ |
|
|
|
project = pEndMap.get(org.getOrgId()).getProjectCount(); |
|
|
|
closed = pEndMap.get(org.getOrgId()).getClosedProjectCount(); |
|
|
|
if ("Interval".equals(formDTO.getType())&&pStartMap.containsKey(org.getOrgId())) { |
|
|
|
project = project - pStartMap.get(org.getOrgId()).getProjectCount(); |
|
|
|
closed = closed - pStartMap.get(org.getOrgId()).getClosedProjectCount(); |
|
|
|
} |
|
|
|
} |
|
|
|
int patro = 0; |
|
|
|
int patroCount = 0; |
|
|
|
String patrolDuration = ""; |
|
|
|
int patrolDurationInteger = 0; |
|
|
|
HashSet set = new HashSet(); |
|
|
|
for (CustomerDataManageResultDTO.CustomerDataManage u : patrolEnd) { |
|
|
|
if (org.getOrgId().equals(u.getOrgId())) { |
|
|
|
patroCount += u.getPatrolCount(); |
|
|
|
patrolDurationInteger += u.getPatrolDurationInteger(); |
|
|
|
set.add(u.getStaffId()); |
|
|
|
} |
|
|
|
} |
|
|
|
patro = set.size(); |
|
|
|
Integer minutes = patrolDurationInteger / 60; |
|
|
|
patrolDuration = (minutes / 60 > 0 ? minutes / 60 + "小时" : "") + (minutes % 60 > 0 ? minutes % 60 + "分钟" : "0分钟"); |
|
|
|
|
|
|
|
dto.setUserCount(user); |
|
|
|
dto.setResidentCount(resi); |
|
|
|
dto.setPartyMemberCount(part); |
|
|
|
dto.setGroupCount(group); |
|
|
|
dto.setTopicCount(topic); |
|
|
|
dto.setIssueCount(issue); |
|
|
|
dto.setProjectCount(project); |
|
|
|
dto.setClosedProjectCount(closed); |
|
|
|
dto.setPatrolPeopleCount(patro); |
|
|
|
dto.setPatrolCount(patroCount); |
|
|
|
dto.setPatrolDuration(patrolDuration); |
|
|
|
dto.setPatrolDurationInteger(patrolDurationInteger); |
|
|
|
|
|
|
|
dataManageList.add(dto); |
|
|
|
}); |
|
|
|
|
|
|
|
//6.默认按用户总数降序
|
|
|
|
Collections.sort(dataManageList, new Comparator<CustomerDataManageResultDTO.CustomerDataManage>() { |
|
|
|
@Override |
|
|
|
public int compare(CustomerDataManageResultDTO.CustomerDataManage o1, CustomerDataManageResultDTO.CustomerDataManage o2) { |
|
|
|
return o2.getUserCount().compareTo(o1.getUserCount()); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
//7.物理分页并返回
|
|
|
|
if (formDTO.getIsPage()) { |
|
|
|
int firstIndex = (formDTO.getPageNo() - 1) * formDTO.getPageSize(); |
|
|
|
int lastIndex = formDTO.getPageNo() * formDTO.getPageSize(); |
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> list = dataManageList.subList((firstIndex > dataManageList.size() ? dataManageList.size() : firstIndex), (lastIndex > dataManageList.size() ? dataManageList.size() : lastIndex)); |
|
|
|
resultDTO.setList(list); |
|
|
|
return resultDTO; |
|
|
|
} |
|
|
|
resultDTO.setList(dataManageList); |
|
|
|
return resultDTO; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|