pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayLastMapper.java
@@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast; import com.dy.pipIrrGlobal.voRm.VoClientAmountDay; import org.apache.ibatis.annotations.Mapper; import java.util.List; import java.util.Map; /** * @Author: liurunyu @@ -62,4 +64,19 @@ * @return update count */ int updateByPrimaryKey(RmClientAmountDayLast record); /** * 根据指定条件获取记录总数 * @param params * @return */ Long getRecordCount(Map<?, ?> params); /** * 根据指定条件获取记录 * @param params * @return */ List<VoClientAmountDay> getClientAmountDayLast(Map<?, ?> params); } pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayMapper.java
@@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoRm.RmClientAmountDay; import com.dy.pipIrrGlobal.voRm.VoClientAmountDay; import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; import java.util.Map; /** * @Author: liurunyu @@ -71,4 +74,18 @@ * @return update count */ int updateByPrimaryKey(RmClientAmountDay record); /** * 根据指定条件获取记录总数 * @param params * @return */ Long getRecordCount(Map<?, ?> params); /** * 根据指定条件获取记录 * @param params * @return */ List<VoClientAmountDay> getClientAmountDayHistory(Map<?, ?> params); } pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoClientAmountDay.java
New file @@ -0,0 +1,62 @@ package com.dy.pipIrrGlobal.voRm; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.sql.Date; /** * @author :WuZeYu * @Date :2024/7/23 16:21 * @LastEditTime :2024/7/23 16:21 * @Description */ @Data @Schema(title = "农户日用水量统计视图对象") public class VoClientAmountDay implements BaseEntity { private static final long serialVersionUID = 202407231622001L; @Schema(description = "农户ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String clientId; @Schema(description = "日取水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Double amount; @Schema(description = "日花费金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Double money; @Schema(description = "统计日期(yyyy-mm-dd)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private java.sql.Date dt; @Schema(description = "统计日最后一次开阀日期时间(yyyy-mm-dd HH:MM:SS)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private java.util.Date openDtLast; @Schema(description = "统计日最后一次关阀日期时间(yyyy-mm-dd HH:MM:SS)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private java.util.Date closeDtLast; @Schema(description = "统计日最后一次开阀取水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Double thisAmountLast; @Schema(description = "统计日最后一次开阀花费金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Double thisMoneyLast; @Schema(description = "统计日最后一次开阀取水时长(分钟)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Long thisTimeLast; @Schema(description = "统计日最后一次关阀上报控制器时钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private java.util.Date rtuDtLast; @Schema(description = "农户姓名", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String clientName; } pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoControllerAlarmState.java
@@ -1,5 +1,6 @@ package com.dy.pipIrrGlobal.voRm; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -15,7 +16,7 @@ */ @Data @Schema(title = "控制器报警与状态视图对象") public class VoControllerAlarmState { public class VoControllerAlarmState implements BaseEntity { private static final long serialVersionUID = 202407230842001L; pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
@@ -5,9 +5,9 @@ #name: ym type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver # url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull # url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull # url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull username: root password: dysql,;.abc!@# druid: pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -353,7 +353,7 @@ <select id="getRecordCount" resultType="java.lang.Long"> select count(*) from rm_alarm_state_history rash Left join pr_intake pint on intake_id = pint.id Left join pr_intake pint on rash.intake_id = pint.id <where> <if test="alarmState == 1"> and ( @@ -434,7 +434,7 @@ rash.alarm_valve as alarmValve, rash.power_type as powerType from rm_alarm_state_history rash Left join pr_intake pint on intake_id = pint.id Left join pr_intake pint on rash.intake_id = pint.id <where> <if test="alarmState == 1"> and ( pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml
@@ -188,4 +188,53 @@ rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} </update> <!--根据指定条件获取记录总数--> <select id="getRecordCount" resultType="java.lang.Long"> select count(*) from rm_client_amount_day_last rcadl Left join se_client sc on sc.id = rcadl.client_id <where> <if test="clientName != null"> and sc.name = #{clientName,jdbcType=VARCHAR} </if> <if test="startDt != null"> and rash.dt >= #{startDt,jdbcType=TIMESTAMP} </if> <if test="endDt != null"> and rash.dt <= #{endDt,jdbcType=TIMESTAMP} </if> </where> </select> <!--根据指定条件获取记录--> <select id="getClientAmountDayLast" resultType="com.dy.pipIrrGlobal.voRm.VoClientAmountDay"> select CAST(rcadl.client_id AS char)AS clientId, rcadl.amount as amount, rcadl.money as money, rcadl.dt as dt, rcadl.open_dt_last as openDtLast, rcadl.close_dt_last as closeDtLast, rcadl.this_amount_last as thisAmountLast, rcadl.this_money_last as thisMoneyLast, rcadl.this_time_last as thisTimeLast, rcadl.rtu_dt_last as rtuDtLast, sc.name as clientName from rm_client_amount_day_last rcadl Left join se_client sc on sc.id = rcadl.client_id <where> <if test="clientName != null"> and sc.name = #{clientName,jdbcType=VARCHAR} </if> <if test="startDt != null"> and rash.dt >= #{startDt,jdbcType=TIMESTAMP} </if> <if test="endDt != null"> and rash.dt <= #{endDt,jdbcType=TIMESTAMP} </if> </where> ORDER BY rcadl.dt DESC <if test="pageCurr != null and pageSize != null"> LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} </if> </select> </mapper> pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
@@ -178,4 +178,53 @@ rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} </update> <!--根据指定条件获取记录总数--> <select id="getRecordCount" resultType="java.lang.Long"> select count(*) from rm_client_amount_day rcad Left join se_client sc on sc.id = rcad.client_id <where> <if test="clientName != null"> and sc.name = #{clientName,jdbcType=VARCHAR} </if> <if test="startDt != null"> and rash.dt >= #{startDt,jdbcType=TIMESTAMP} </if> <if test="endDt != null"> and rash.dt <= #{endDt,jdbcType=TIMESTAMP} </if> </where> </select> <!--根据指定条件获取记录--> <select id="getClientAmountDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoClientAmountDay"> select CAST(rcad.client_id AS char)AS clientId, rcad.amount as amount, rcad.money as money, rcad.dt as dt, rcad.open_dt_last as openDtLast, rcad.close_dt_last as closeDtLast, rcad.this_amount_last as thisAmountLast, rcad.this_money_last as thisMoneyLast, rcad.this_time_last as thisTimeLast, rcad.rtu_dt_last as rtuDtLast, sc.name as clientName from rm_client_amount_day rcad Left join se_client sc on sc.id = rcad.client_id <where> <if test="clientName != null"> and sc.name = #{clientName,jdbcType=VARCHAR} </if> <if test="startDt != null"> and rash.dt >= #{startDt,jdbcType=TIMESTAMP} </if> <if test="endDt != null"> and rash.dt <= #{endDt,jdbcType=TIMESTAMP} </if> </where> ORDER BY rcad.dt DESC <if test="pageCurr != null and pageSize != null"> LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} </if> </select> </mapper> pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/controllerAlarmState/ControllerAlarmStateCtrl.java
File was deleted pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/controllerAlarmState/ControllerAlarmStateSv.java
File was deleted pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ClientAmountDayQueryVo.java
New file @@ -0,0 +1,38 @@ package com.dy.pipIrrRemote.records; import com.dy.common.webUtil.QueryConditionVo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; /** * @author :WuZeYu * @Date :2024/7/23 15:55 * @LastEditTime :2024/7/23 15:55 * @Description */ @Data @EqualsAndHashCode(callSuper = false) @ToString(callSuper = true) @NoArgsConstructor @AllArgsConstructor @Builder @Schema(name = "农户日用水量统计查询条件") public class ClientAmountDayQueryVo extends QueryConditionVo { @Schema(description = "农户姓名", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String clientName; @Schema(description = "统计开始日期", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date startDt; @Schema(description = "统计结束日期", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date endDt; } pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ControllerAlarmStateQueryVo.java
File was renamed from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/controllerAlarmState/QueryVo.java @@ -1,4 +1,4 @@ package com.dy.pipIrrRemote.controllerAlarmState; package com.dy.pipIrrRemote.records; import com.dy.common.webUtil.QueryConditionVo; import com.fasterxml.jackson.annotation.JsonFormat; @@ -21,7 +21,7 @@ @AllArgsConstructor @Builder @Schema(name = "控制器报警与状态查询条件") public class QueryVo extends QueryConditionVo { public class ControllerAlarmStateQueryVo extends QueryConditionVo { @Schema(description = "取水口名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String intakeName; pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsCtrl.java
New file @@ -0,0 +1,153 @@ package com.dy.pipIrrRemote.records; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.voRm.VoClientAmountDay; import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState; import com.dy.pipIrrGlobal.voSe.VoActiveCard; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author :WuZeYu * @Date :2024/7/22 20:00 * @LastEditTime :2024/7/22 20:00 * @Description */ @Slf4j @Tag(name = "检测控制查询", description = "检测控制查询") @RestController @RequestMapping(path = "remoteRecords") public class RecordsCtrl { @Autowired private RecordsSv recordsSv; /** * 根据指定条件获取控制器报警与状态列表(历史) * * @param vo 查询条件 * @return 符合条件的控制器报警与状态列表(历史) */ @Operation(summary = "获得一页控制器报警与状态记录", description = "返回一页控制器报警与状态数据") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "返回一页控制器报警与状态数据(BaseResponse.content:QueryResultVo[{}])", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = VoActiveCard.class))} ) }) @GetMapping(path = "/getControllerAlarmStateHistory") @SsoAop() public BaseResponse<QueryResultVo<List<VoControllerAlarmState>>> getControllerAlarmStateHistory(@RequestBody ControllerAlarmStateQueryVo vo) { try { QueryResultVo<List<VoControllerAlarmState>> res = recordsSv.getControllerAlarmStateHistory(vo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取控制器报警与状态记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 根据指定条件获取控制器报警与状态列表(最新) * * @param vo 查询条件 * @return 符合条件的控制器报警与状态列表(最新) */ @Operation(summary = "获得一页控制器报警与状态记录", description = "返回一页控制器报警与状态数据") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "返回一页控制器报警与状态数据(BaseResponse.content:QueryResultVo[{}])", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = VoActiveCard.class))} ) }) @GetMapping(path = "/getControllerAlarmStateLast") @SsoAop() public BaseResponse<QueryResultVo<List<VoControllerAlarmState>>> getControllerAlarmStateLast(@RequestBody ControllerAlarmStateQueryVo vo) { try { QueryResultVo<List<VoControllerAlarmState>> res = recordsSv.getControllerAlarmStateLast(vo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取控制器记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 根据指定条件获取农户日用水量统计列表(历史) * * @param vo 查询条件 * @return 符合条件的农户日用水量统计列表(历史) */ @Operation(summary = "获得一页农户日用水量统计记录", description = "返回一页农户日用水量统计数据") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "返回一页控制器报警与状态数据(BaseResponse.content:QueryResultVo[{}])", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = VoActiveCard.class))} ) }) @GetMapping(path = "/getClientAmountDayHistory") @SsoAop() public BaseResponse<QueryResultVo<List<VoClientAmountDay>>> getClientAmountDayHistory(@RequestBody ClientAmountDayQueryVo vo) { try { QueryResultVo<List<VoClientAmountDay>> res = recordsSv.getClientAmountDayHistory(vo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取农户日用水量统计记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 根据指定条件获取农户日用水量统计列表(最新) * * @param vo 查询条件 * @return 符合条件的农户日用水量统计列表(最新) */ @Operation(summary = "获得一页农户日用水量统计记录", description = "返回一页农户日用水量统计数据") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "返回一页控制器报警与状态数据(BaseResponse.content:QueryResultVo[{}])", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = VoActiveCard.class))} ) }) @GetMapping(path = "/getClientAmountDayLast") @SsoAop() public BaseResponse<QueryResultVo<List<VoClientAmountDay>>> getClientAmountDayLast(@RequestBody ClientAmountDayQueryVo vo) { try { QueryResultVo<List<VoClientAmountDay>> res = recordsSv.getClientAmountDayLast(vo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取农户日用水量统计记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } } pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsSv.java
New file @@ -0,0 +1,121 @@ package com.dy.pipIrrRemote.records; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoRm.RmAlarmStateHistoryMapper; import com.dy.pipIrrGlobal.daoRm.RmAlarmStateLastMapper; import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayLastMapper; import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayMapper; import com.dy.pipIrrGlobal.voRm.VoClientAmountDay; import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** * @author :WuZeYu * @Date :2024/7/22 20:01 * @LastEditTime :2024/7/22 20:01 * @Description */ @Slf4j @Service public class RecordsSv { @Autowired private RmAlarmStateHistoryMapper rmAlarmStateHistoryMapper; @Autowired private RmAlarmStateLastMapper rmAlarmStateLastMapper; @Autowired private RmClientAmountDayLastMapper rmClientAmountDayLastMapper; @Autowired private RmClientAmountDayMapper rmClientAmountDayMapper; /** * 获得一页控制器报警与状态记录(历史) * @param vo * @return */ public QueryResultVo<List<VoControllerAlarmState>> getControllerAlarmStateHistory(ControllerAlarmStateQueryVo vo) { Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo); Long itemTotal = rmAlarmStateHistoryMapper.getRecordCount(params); QueryResultVo<List<VoControllerAlarmState>> rsVo = new QueryResultVo<>(); rsVo.pageSize = vo.pageSize; rsVo.pageCurr = vo.pageCurr; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmAlarmStateHistoryMapper.getControllerAlarmStateHistory(params); return rsVo; } /** * 获得一页控制器报警与状态记录(最新) * @param vo * @return */ public QueryResultVo<List<VoControllerAlarmState>> getControllerAlarmStateLast(ControllerAlarmStateQueryVo vo) { Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo); Long itemTotal = rmAlarmStateLastMapper.getRecordCount(params); QueryResultVo<List<VoControllerAlarmState>> rsVo = new QueryResultVo<>(); rsVo.pageSize = vo.pageSize; rsVo.pageCurr = vo.pageCurr; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmAlarmStateLastMapper.getControllerAlarmStateLast(params); return rsVo; } /** * 获得一页农户日用水量统计记录(历史) * @param vo * @return */ public QueryResultVo<List<VoClientAmountDay>> getClientAmountDayHistory(ClientAmountDayQueryVo vo) { Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo); Long itemTotal = rmClientAmountDayMapper.getRecordCount(params); QueryResultVo<List<VoClientAmountDay>> rsVo = new QueryResultVo<>(); rsVo.pageSize = vo.pageSize; rsVo.pageCurr = vo.pageCurr; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmClientAmountDayMapper.getClientAmountDayHistory(params); return rsVo; } /** * 获得一页农户日用水量统计记录(最新) * @param vo * @return */ public QueryResultVo<List<VoClientAmountDay>> getClientAmountDayLast(ClientAmountDayQueryVo vo) { Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo); Long itemTotal = rmClientAmountDayLastMapper.getRecordCount(params); QueryResultVo<List<VoClientAmountDay>> rsVo = new QueryResultVo<>(); rsVo.pageSize = vo.pageSize; rsVo.pageCurr = vo.pageCurr; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmClientAmountDayLastMapper.getClientAmountDayLast(params); return rsVo; } }