From 0fe6e0afc66e1034b60a3eb7d2cf3a9e04851abe Mon Sep 17 00:00:00 2001
From: shankai <shankai1995@qq.com>
Date: Fri, 13 Dec 2024 11:38:22 +0800
Subject: [PATCH] by: 修改selectPage接口返回值

---
 skjcmanager/skjcmanager-service/skjcmanager-by/src/main/java/cn/gistack/by/waterdata/service/impl/DistanceRecordServiceImpl.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-by/src/main/java/cn/gistack/by/waterdata/service/impl/DistanceRecordServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-by/src/main/java/cn/gistack/by/waterdata/service/impl/DistanceRecordServiceImpl.java
index c99bb04..56298f6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-by/src/main/java/cn/gistack/by/waterdata/service/impl/DistanceRecordServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-by/src/main/java/cn/gistack/by/waterdata/service/impl/DistanceRecordServiceImpl.java
@@ -18,11 +18,18 @@
 
 import cn.gistack.by.waterdata.mapper.DistanceRecordMapper;
 import cn.gistack.by.waterdata.pojo.entity.DistanceRecord;
+import cn.gistack.by.waterdata.pojo.entity.SelectPageParam;
 import cn.gistack.by.waterdata.pojo.vo.DistanceRecordVO;
+import cn.gistack.by.waterdata.pojo.wrapper.DistanceRecordWrapper;
 import cn.gistack.by.waterdata.service.api.IDistanceRecordService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 新闻 服务实现类
@@ -33,6 +40,33 @@
 @Service
 public class DistanceRecordServiceImpl extends ServiceImpl<DistanceRecordMapper, DistanceRecord>
 	implements IDistanceRecordService {
+	/**
+	 * 自定义分页逻辑
+	 *
+	 * @param param {@link SelectPageParam}
+	 * @return
+	 */
+	public IPage<DistanceRecordVO> selectPage(SelectPageParam param) {
+		List<DistanceRecord> distanceRecords = this.baseMapper.selectPage(param);
+		int subTableRecordsCount = this.baseMapper.getSubTableCount4Page(param);
+
+		List<DistanceRecordVO> recordVOList = new ArrayList<>(distanceRecords.size());
+		for (DistanceRecord distanceRecord : distanceRecords) {
+			DistanceRecordVO distanceRecordVO = DistanceRecordWrapper.build().entityVO(distanceRecord);
+			distanceRecordVO.setInitDistance(new DecimalFormat("#.##").format(param.getInitDistance()));
+			distanceRecordVO.setDistanceOffset(new DecimalFormat("#.##")
+				.format(distanceRecordVO.getDistance() - param.getInitDistance()));
+			recordVOList.add(distanceRecordVO);
+		}
+
+		Page page = new Page();
+		page.setCurrent(param.getCurrentPageIndex());
+		page.setSize(param.getPageSize());
+		page.setRecords(recordVOList);
+		page.setTotal(subTableRecordsCount);
+		return page;
+	}
+
 	@Override
 	public IPage<DistanceRecordVO> selectDistanceRecordPage(IPage<DistanceRecordVO> page, DistanceRecordVO distanceRecordVO) {
 		return page.setRecords(baseMapper.selectDistanceRecordPage(page, distanceRecordVO));

--
Gitblit v1.9.3