报文日志建表建模增删改查,定时任务生成模拟数据
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.extension.plugins.pagination.Page;
|
||||
import com.gunshi.core.result.R;
|
||||
import com.gunshi.project.xyt.model.StPptnR;
|
||||
import com.gunshi.project.xyt.model.StPptnRAutoDao;
|
||||
import com.gunshi.project.xyt.model.StStbprpB;
|
||||
import com.gunshi.project.xyt.mapper.RcvLogUpRMapper;
|
||||
import com.gunshi.project.xyt.model.*;
|
||||
import com.gunshi.project.xyt.model.RcvLogUpRAutoDao;
|
||||
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.vo.RcvLogUpRVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
@ -21,26 +23,26 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 雨量数据接口
|
||||
* 报文日志数据接口
|
||||
*
|
||||
* @author lyf
|
||||
* @version 1.0.0
|
||||
* @since 2024-01-26
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/rcv/logupr")
|
||||
@Tag(name = "统一接收-雨量数据")
|
||||
@RequestMapping("/rcv/log")
|
||||
@Tag(name = "统一接收-报文日志")
|
||||
public class RcvLogUpRController {
|
||||
|
||||
@Autowired
|
||||
private StPptnRAutoDao dao;
|
||||
private RcvLogUpRMapper mapper;
|
||||
|
||||
@Autowired
|
||||
private StStbprpBAutoMapper stbprpDao;
|
||||
|
||||
@Operation(summary = "分页查询")
|
||||
@PostMapping("/page")
|
||||
public R<Page<StPptnR>> page(@RequestBody RtuDataSo so) {
|
||||
@PostMapping("/up/page")
|
||||
public R<Page<RcvLogUpRVo>> page(@RequestBody RcvLogUpRSo so) {
|
||||
List<String> stcds = new ArrayList<>();
|
||||
if (StringUtils.isNotEmpty(so.getStcd())) {
|
||||
stcds.add(so.getStcd());
|
||||
|
|
@ -50,13 +52,7 @@ public class RcvLogUpRController {
|
|||
).stream().map(StStbprpB::getStcd).toList());
|
||||
}
|
||||
|
||||
Page<StPptnR> page;
|
||||
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());
|
||||
}
|
||||
Page<RcvLogUpRVo> page = mapper.page(so.getPageSo().toPage(), so);
|
||||
|
||||
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")
|
||||
@Schema(description = "协议ID")
|
||||
private Long protocolId;
|
||||
private String protocolId;
|
||||
|
||||
@TableField("ORIGINAL_MSG")
|
||||
@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