报文日志建表建模增删改查,定时任务生成模拟数据
parent
35baafdfb2
commit
b009683be0
|
|
@ -1,22 +0,0 @@
|
||||||
package com.gunshi.project.xyt.controller;
|
|
||||||
|
|
||||||
import com.gunshi.project.xyt.model.RcvLogUpR;
|
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 报文日志数据接口
|
|
||||||
*
|
|
||||||
* @author lyf
|
|
||||||
* @version 1.0.0
|
|
||||||
* @since 2024-01-26
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/rcv/log")
|
|
||||||
@Tag(name = "统一接收-报文日志数据")
|
|
||||||
public class RcvLogController {
|
|
||||||
|
|
||||||
//page - page,time,stcd,stnm,protocol
|
|
||||||
}
|
|
||||||
|
|
@ -3,11 +3,13 @@ package com.gunshi.project.xyt.controller;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.gunshi.core.result.R;
|
import com.gunshi.core.result.R;
|
||||||
import com.gunshi.project.xyt.model.StPptnR;
|
import com.gunshi.project.xyt.mapper.RcvLogUpRMapper;
|
||||||
import com.gunshi.project.xyt.model.StPptnRAutoDao;
|
import com.gunshi.project.xyt.model.*;
|
||||||
import com.gunshi.project.xyt.model.StStbprpB;
|
import com.gunshi.project.xyt.model.RcvLogUpRAutoDao;
|
||||||
import com.gunshi.project.xyt.model.StStbprpBAutoMapper;
|
import com.gunshi.project.xyt.model.StStbprpBAutoMapper;
|
||||||
|
import com.gunshi.project.xyt.so.RcvLogUpRSo;
|
||||||
import com.gunshi.project.xyt.so.RtuDataSo;
|
import com.gunshi.project.xyt.so.RtuDataSo;
|
||||||
|
import com.gunshi.project.xyt.vo.RcvLogUpRVo;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
@ -21,26 +23,26 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 雨量数据接口
|
* 报文日志数据接口
|
||||||
*
|
*
|
||||||
* @author lyf
|
* @author lyf
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @since 2024-01-26
|
* @since 2024-01-26
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/rcv/logupr")
|
@RequestMapping("/rcv/log")
|
||||||
@Tag(name = "统一接收-雨量数据")
|
@Tag(name = "统一接收-报文日志")
|
||||||
public class RcvLogUpRController {
|
public class RcvLogUpRController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private StPptnRAutoDao dao;
|
private RcvLogUpRMapper mapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private StStbprpBAutoMapper stbprpDao;
|
private StStbprpBAutoMapper stbprpDao;
|
||||||
|
|
||||||
@Operation(summary = "分页查询")
|
@Operation(summary = "分页查询")
|
||||||
@PostMapping("/page")
|
@PostMapping("/up/page")
|
||||||
public R<Page<StPptnR>> page(@RequestBody RtuDataSo so) {
|
public R<Page<RcvLogUpRVo>> page(@RequestBody RcvLogUpRSo so) {
|
||||||
List<String> stcds = new ArrayList<>();
|
List<String> stcds = new ArrayList<>();
|
||||||
if (StringUtils.isNotEmpty(so.getStcd())) {
|
if (StringUtils.isNotEmpty(so.getStcd())) {
|
||||||
stcds.add(so.getStcd());
|
stcds.add(so.getStcd());
|
||||||
|
|
@ -50,13 +52,7 @@ public class RcvLogUpRController {
|
||||||
).stream().map(StStbprpB::getStcd).toList());
|
).stream().map(StStbprpB::getStcd).toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
Page<StPptnR> page;
|
Page<RcvLogUpRVo> page = mapper.page(so.getPageSo().toPage(), so);
|
||||||
if (!stcds.isEmpty()) {
|
|
||||||
LambdaQueryWrapper<StPptnR> query = new LambdaQueryWrapper<StPptnR>().in(StPptnR::getStcd, stcds);
|
|
||||||
page = dao.page(so.getPageSo().toPage(), query);
|
|
||||||
} else {
|
|
||||||
page = dao.page(so.getPageSo().toPage());
|
|
||||||
}
|
|
||||||
|
|
||||||
return R.ok(page);
|
return R.ok(page);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.gunshi.project.xyt.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.gunshi.project.xyt.so.RcvLogUpRSo;
|
||||||
|
import com.gunshi.project.xyt.vo.RcvLogUpRVo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类描述
|
||||||
|
*
|
||||||
|
* @author lyf
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2024-01-30
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface RcvLogUpRMapper {
|
||||||
|
|
||||||
|
@Select("""
|
||||||
|
<script>
|
||||||
|
SELECT r.*,p.name protocolName,b.stnm FROM RCV_LOG_UP_R r
|
||||||
|
LEFT JOIN BZ_PROTOCOL_INFO p ON r.PROTOCOL_ID = p.ID
|
||||||
|
LEFT JOIN ST_STBPRP_B b ON r.STCD = b.STCD
|
||||||
|
WHERE 1=1
|
||||||
|
<if test="so.protocolId != null">
|
||||||
|
AND r.PROTOCOL_ID = #{so.protocolId}
|
||||||
|
</if>
|
||||||
|
<if test="so.stcd != null">
|
||||||
|
AND r.STCD = #{so.stcd}
|
||||||
|
</if>
|
||||||
|
<if test="so.stnm != null">
|
||||||
|
AND r.STCD IN (SELECT STCD FROM ST_STBPRP_B WHERE STNM LIKE CONCAT('%', #{so.stnm}, '%'))
|
||||||
|
</if>
|
||||||
|
<if test="so.dateTimeRangeSo != null">
|
||||||
|
AND r.RECEIVE_TM >= #{so.dateTimeRangeSo.start}
|
||||||
|
AND r.RECEIVE_TM <= #{so.dateTimeRangeSo.end}
|
||||||
|
</if>
|
||||||
|
</script>
|
||||||
|
""")
|
||||||
|
Page<RcvLogUpRVo> page(@Param("page") Page page, @Param("so") RcvLogUpRSo so);
|
||||||
|
}
|
||||||
|
|
@ -25,7 +25,7 @@ public class RcvLogUpR {
|
||||||
|
|
||||||
@TableField("PROTOCOL_ID")
|
@TableField("PROTOCOL_ID")
|
||||||
@Schema(description = "协议ID")
|
@Schema(description = "协议ID")
|
||||||
private Long protocolId;
|
private String protocolId;
|
||||||
|
|
||||||
@TableField("ORIGINAL_MSG")
|
@TableField("ORIGINAL_MSG")
|
||||||
@Schema(description = "原始报文")
|
@Schema(description = "原始报文")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.gunshi.project.xyt.scheduled;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.gunshi.project.xyt.model.RcvLogUpR;
|
||||||
|
import com.gunshi.project.xyt.model.RcvLogUpRAutoDao;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类描述
|
||||||
|
*
|
||||||
|
* @author lyf
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2024-01-30
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class RcvLogUpMockJob {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RcvLogUpRAutoDao dao;
|
||||||
|
|
||||||
|
@Scheduled(cron = "0 */1 * * * ?")
|
||||||
|
public void mock() {
|
||||||
|
RcvLogUpR one = dao.page(new Page<RcvLogUpR>(1,1,1).addOrder(OrderItem.desc("RECEIVE_TM"))).getRecords().getFirst();
|
||||||
|
one.setId(IdWorker.getId());
|
||||||
|
one.setReceiveTm(new Date());
|
||||||
|
one.setDecodedTm(new Date());
|
||||||
|
one.setObserveTm(new Date());
|
||||||
|
dao.save(one);
|
||||||
|
log.info("{}", one);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.gunshi.project.xyt.so;
|
||||||
|
|
||||||
|
import com.gunshi.db.dto.DateTimeRangeSo;
|
||||||
|
import com.gunshi.db.dto.PageSo;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报文日志查询参数
|
||||||
|
*
|
||||||
|
* @author lyf
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2024-01-30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RcvLogUpRSo {
|
||||||
|
private PageSo pageSo;
|
||||||
|
private DateTimeRangeSo dateTimeRangeSo;
|
||||||
|
private String protocolId;
|
||||||
|
private String stcd;
|
||||||
|
private String stnm;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.gunshi.project.xyt.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.gunshi.project.xyt.model.RcvLogUpR;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类描述
|
||||||
|
*
|
||||||
|
* @author lyf
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2024-01-30
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class RcvLogUpRVo extends RcvLogUpR {
|
||||||
|
@TableField("protocolName")
|
||||||
|
@Schema(description = "协议名称")
|
||||||
|
private String protocolName;
|
||||||
|
|
||||||
|
@TableField("stnm")
|
||||||
|
@Schema(description = "测站名称")
|
||||||
|
private String stnm;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue