Commit 98c47237 authored by zhoushiguang's avatar zhoushiguang Committed by duanruiming

研判

parent 45c84690
package net.wanji.opt.config;
/**
* @author fengyi
* @date 2025/3/10
* @description
*/
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface EasyBaseMapper<T> extends BaseMapper<T> {
/**
* 批量插入 仅适用于MysqL
* @param entityList 实体列表
* @return 影响行数
*/
Integer insertBatchSomeColumn(List<T> entityList);
}
package net.wanji.opt.config;
/**
* @author fengyi
* @date 2025/3/10
* @description
*/
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
import java.util.List;
public class EasysqlInjector extends DefaultSqlInjector {
@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.UPDATE));
return methodList;
}
}
package net.wanji.opt.config; package net.wanji.opt.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
...@@ -16,6 +18,12 @@ public class MybatisPlusConfig { ...@@ -16,6 +18,12 @@ public class MybatisPlusConfig {
public MybatisPlusInterceptor mybatisPlusInterceptor() { public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
//添加分页插件
//interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//添加乐观锁插件
//interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor; return interceptor;
} }
} }
package net.wanji.opt.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.CrossStatusEnum;
import net.wanji.common.framework.Constants;
import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper;
import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.opt.kafka.ConsumerHandler;
import net.wanji.opt.service.CrossOptimizeService;
import net.wanji.opt.service.impl.LaneInfoServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Profile;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* 路口、干线事件问题趋势统计
*/
@Component
@Configurable
@EnableScheduling
@Slf4j
@Profile("!dev")
public class ProblemTrendMonitorTask {
@Scheduled(cron = "0 1/5 * * * * ")
public void task(){
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.opt.dao.mapper.judgeanalysis.AnalysisProblemCrossDayMapper">
<!-- 通用设置 -->
<!-- 通用查询映射结果 -->
<resultMap id="AnalysisProblemCrossDayMap" type="net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay">
<id column="id" property="id"/>
<result column="area_id" property="areaId"/>
<result column="event_category" property="eventCategory"/>
<result column="event_type" property="eventType"/>
<result column="event_number" property="eventNumber"/>
<result column="event_total_time" property="eventTotalTime"/>
<result column="window_start_time" property="windowStartTime"/>
<result column="window_end_time" property="windowEndTime"/>
<result column="cross_id" property="crossId"/>
<result column="dt" property="dt"/>
<result column="insert_time" property="insertTime"/>
</resultMap>
<!-- 查询表t_analysis_problem_cross_day所有信息 -->
<select id="findAllAnalysisProblemCrossDay" resultMap="AnalysisProblemCrossDayMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_analysis_problem_cross_day
</select>
<!-- 根据主键id查询表t_analysis_problem_cross_day信息 -->
<select id="findAnalysisProblemCrossDayByid" resultMap="AnalysisProblemCrossDayMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_analysis_problem_cross_day
WHERE id=#{id}
</select>
<!-- 根据条件查询表t_analysis_problem_cross_day信息 -->
<select id="findAnalysisProblemCrossDayByCondition" resultMap="AnalysisProblemCrossDayMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_analysis_problem_cross_day
WHERE 1=1
<include refid="AnalysisProblemCrossDayByCondition" />
</select>
<!-- 根据主键id删除表t_analysis_problem_cross_day信息 -->
<delete id="deleteAnalysisProblemCrossDayByid">
DELETE FROM
t_analysis_problem_cross_day
WHERE id=#{id}
</delete>
<!-- 根据主键id更新表t_analysis_problem_cross_day信息 -->
<update id="updateAnalysisProblemCrossDayByid" parameterType="net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay">
UPDATE t_analysis_problem_cross_day
<set>
<include refid="AnalysisProblemCrossDaySetColumns"/>
</set>
WHERE
id=#{id}
</update>
<!-- 新增表t_analysis_problem_cross_day信息 -->
<insert id="addAnalysisProblemCrossDay">
INSERT INTO t_analysis_problem_cross_day (
id
,area_id
,event_category
,event_type
,event_number
,event_total_time
,window_start_time
,window_end_time
,cross_id
,dt
,insert_time
) VALUES (
#{id}
,#{areaId}
,#{eventCategory}
,#{eventType}
,#{eventNumber}
,#{eventTotalTime}
,#{windowStartTime}
,#{windowEndTime}
,#{crossId}
,#{dt}
,#{insertTime}
)
</insert>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment