Merge remote-tracking branch 'origin/master'

master
wany 2024-01-30 19:18:31 +08:00
commit 4432bb56ba
7 changed files with 144 additions and 39 deletions

View File

@ -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
}

View File

@ -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);
}

View File

@ -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 &gt;= #{so.dateTimeRangeSo.start}
AND r.RECEIVE_TM &lt;= #{so.dateTimeRangeSo.end}
</if>
</script>
""")
Page<RcvLogUpRVo> page(@Param("page") Page page, @Param("so") RcvLogUpRSo so);
}

View File

@ -25,7 +25,7 @@ public class RcvLogUpR {
@TableField("PROTOCOL_ID")
@Schema(description = "协议ID")
private Long protocolId;
private String protocolId;
@TableField("ORIGINAL_MSG")
@Schema(description = "原始报文")

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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;
}