pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
@@ -47,6 +47,17 @@ */ VoUnclosedParam getUncloseParam(@Param("onLineMap") String onLineMap, @Param("intakeId")Long intakeId); //获取命令历史记录 /** * 根据指定条件获取命令日志历史记录总数 * @param params * @return */ Long getCommandHistoriesCount(Map<?, ?> params); /** * 根据指定条件获取命令日志历史记录 * @param params * @return */ List<VoCommand> getCommandHistories(Map<?, ?> params); } pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java
@@ -1,5 +1,7 @@ package com.dy.pipIrrGlobal.voSe; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -20,8 +22,14 @@ public class VoRecharge implements BaseEntity { private static final long serialVersionUID = 1L; @Schema(title = "ID") private String id; //@Schema(title = "ID") //private String id; @JSONField(serializeUsing= ObjectWriterImplToString.class) private Long opeId; @JSONField(serializeUsing= ObjectWriterImplToString.class) private Long cardId; @Schema(title = "农户姓名") private String clientName; @@ -33,6 +41,8 @@ @Schema(title = "农户编号") private String clientNum; private String address; /** * 水卡余额 */ pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -246,8 +246,29 @@ LIMIT 0,1 </select> <select id="getCommandHistories" resultType="com.dy.pipIrrGlobal.voRm.VoCommand"> <!--根据指定条件获取命令日志历史记录总数--> <select id="getCommandHistoriesCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM rm_command_history his INNER JOIN pr_intake inta ON inta.id = his.intake_id LEFT JOIN se_client cli ON cli.id = his.operator LEFT JOIN ba_user user ON user.id = his.operator <where> <if test = "commandName != null and commandName !=''"> AND his.command_name LIKE CONCAT('%',#{commandName},'%') </if> <if test = "result != null"> AND his.result = #{result} </if> <if test = "timeStart != null and timeStop != null"> AND his.send_time BETWEEN #{timeStart} AND #{timeStop} </if> </where> </select> <!--根据指定条件获取命令日志历史记录--> <select id="getCommandHistories" resultType="com.dy.pipIrrGlobal.voRm.VoCommand"> SELECT his.id, his.command_name AS commandName, @@ -263,10 +284,27 @@ his.result_text, IFNULL(cli.name, user.name) AS userName FROM rm_command_history his INNER JOIN pr_intake inta ON inta.id = his.intake_id LEFT JOIN se_client cli ON cli.id = his.operator LEFT JOIN ba_user user ON user.id = his.operator WHERE his.command_name LIKE '%关阀%' AND his.result =1 AND his.send_time BETWEEN '2024-06-01 00:00:00' AND '2024-07-31 23:59:59' INNER JOIN pr_intake inta ON inta.id = his.intake_id LEFT JOIN se_client cli ON cli.id = his.operator LEFT JOIN ba_user user ON user.id = his.operator <where> <if test = "commandName != null and commandName !=''"> AND his.command_name LIKE CONCAT('%',#{commandName},'%') </if> <if test = "result != null"> AND his.result = #{result} </if> <if test = "timeStart != null and timeStop != null"> AND his.send_time BETWEEN #{timeStart} AND #{timeStop} </if> </where> ORDER BY his.send_time DESC <trim prefix="limit " > <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} </if> </trim> </select> </mapper> pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -266,11 +266,14 @@ <!--根据指定条件获取充值记录--> <select id="getRecharges" resultType="com.dy.pipIrrGlobal.voSe.VoRecharge"> SELECT CAST(ope.id AS char) AS id, <!-- CAST(ope.id AS char) AS id,--> ope.id AS opeId, card.id AS cardId, cli.name AS clientName, cli.phone, cli.idCard, cli.clientNum, cli.address, card.money, CAST(card.cardNum AS char) AS cardNum, IFNULL(ope.trade_amount, 0) AS amount, pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandCtrl.java
New file @@ -0,0 +1,43 @@ package com.dy.pipIrrRemote.common; 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.pipIrrGlobal.voRm.VoCommand; import com.dy.pipIrrRemote.common.qo.QoCommand; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author ZhuBaoMin * @date 2024-07-03 9:48 * @LastEditTime 2024-07-03 9:48 * @Description */ @Slf4j @RestController @RequestMapping(path="get") @RequiredArgsConstructor public class CommandCtrl { private final CommandSv commandSv; @GetMapping(path = "/command_history") @SsoAop() public BaseResponse<QueryResultVo<List<VoCommand>>> get(QoCommand vo){ try { QueryResultVo<List<VoCommand>> res = commandSv.getCommandHistories(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/common/CommandSv.java
@@ -15,13 +15,17 @@ import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; import com.dy.pipIrrGlobal.voRm.VoCommand; import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; import com.dy.pipIrrRemote.common.qo.QoCommand; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.stereotype.Service; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -179,4 +183,36 @@ public SeClientCard geClientCardByCardId(Long cardId) { return seClientCardMapper.selectByPrimaryKey(cardId); } /** * 根据指定条件获取命令日志历史记录 * @param query * @return */ public QueryResultVo<List<VoCommand>> getCommandHistories(QoCommand query) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 完善查询起止时间 String timeStart = query.getTimeStart(); String timeStop = query.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; query.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; query.setTimeStop(timeStop); } Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(query); Long itemTotal = rmCommandHistoryMapper.getCommandHistoriesCount(params); QueryResultVo<List<VoCommand>> rsVo = new QueryResultVo<>() ; rsVo.pageSize = query.pageSize ; rsVo.pageCurr = query.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmCommandHistoryMapper.getCommandHistories(params); return rsVo ; } } pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/qo/QoCommand.java
New file @@ -0,0 +1,40 @@ package com.dy.pipIrrRemote.common.qo; import com.dy.common.webUtil.QueryConditionVo; import lombok.*; /** * @author ZhuBaoMin * @date 2024-07-03 9:25 * @LastEditTime 2024-07-03 9:25 * @Description 命令日志历史记录查询视图 */ @Data @EqualsAndHashCode(callSuper = false) @ToString(callSuper = true) @NoArgsConstructor @AllArgsConstructor @Builder public class QoCommand extends QueryConditionVo { /** * 命令名称 */ private String commandName; /** * 命令结果,0-失败,1-成功 */ private Integer result; /** * 查询起始时间 */ private String timeStart; /** * 查询截止时间 */ private String timeStop; }