parent
e9adc154d9
commit
f6e9cbd9c7
@ -0,0 +1,101 @@
|
|||||||
|
package com.ykMap.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ykMap.base.controller.BaseController;
|
||||||
|
import com.ykMap.base.domain.AjaxResult;
|
||||||
|
import com.ykMap.entity.TaskMission;
|
||||||
|
import com.ykMap.service.TaskMissionService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'task_mission(TaskMission)表控制层
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024-09-19 13:15:12
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/ykmap/taskMission")
|
||||||
|
@Api(tags = "'task_mission")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public class TaskMissionController extends BaseController {
|
||||||
|
/**
|
||||||
|
* 服务对象
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private TaskMissionService taskMissionService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页条件查询所有数据
|
||||||
|
*
|
||||||
|
* @param page 分页条件
|
||||||
|
* @param taskMission 查询条件
|
||||||
|
* @return 所有数据
|
||||||
|
*/
|
||||||
|
@GetMapping
|
||||||
|
@ApiOperation(value = "分页条件查询'task_mission", response = TaskMission.class)
|
||||||
|
public AjaxResult page(Page<TaskMission> page, TaskMission taskMission) {
|
||||||
|
return success(taskMissionService.page(page, new QueryWrapper<>(taskMission)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条件查询所有数据
|
||||||
|
*
|
||||||
|
* @param taskMission 查询条件
|
||||||
|
* @return 所有数据
|
||||||
|
*/
|
||||||
|
@GetMapping("/findAll")
|
||||||
|
@ApiOperation(value = "条件查询'task_mission", response = TaskMission.class)
|
||||||
|
public AjaxResult page(TaskMission taskMission) {
|
||||||
|
return success(taskMissionService.list(new QueryWrapper<>(taskMission)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 单条数据
|
||||||
|
*/
|
||||||
|
@GetMapping("{id}")
|
||||||
|
@ApiOperation(value = "通过主键查询单条'task_mission", response = TaskMission.class)
|
||||||
|
public AjaxResult getById(@PathVariable Serializable id) {
|
||||||
|
return success(taskMissionService.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据车牌号查询
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
@GetMapping("findByPlateNum")
|
||||||
|
@ApiOperation(value = "根据车牌号查询task_mission", response = TaskMission.class)
|
||||||
|
public AjaxResult findByPlateNum(String plateNum) {
|
||||||
|
return success(taskMissionService.findByPlateNum(plateNum));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据多个车牌号查询task_mission
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
@GetMapping("findByPlateNums")
|
||||||
|
@ApiOperation(value = "根据多个车牌号查询task_mission", response = TaskMission.class)
|
||||||
|
public AjaxResult findByPlateNums(String plateNum) {
|
||||||
|
return success(taskMissionService.findByPlateNums(plateNum));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
package com.ykMap.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.ykMap.entity.TaskMission;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'task_mission(TaskMission)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024-09-19 13:15:13
|
||||||
|
*/
|
||||||
|
public interface TaskMissionMapper extends BaseMapper<TaskMission> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据车牌号查询
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
TaskMission findByPlateNum(@Param("plateNum") String plateNum);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据多个车牌号查询task_mission
|
||||||
|
*
|
||||||
|
* @param arr 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
List<TaskMission> findByPlateNums(@Param("array") String[] arr);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
package com.ykMap.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.ykMap.entity.TaskMission;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'task_mission(TaskMission)表服务接口
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024-09-19 13:15:13
|
||||||
|
*/
|
||||||
|
public interface TaskMissionService extends IService<TaskMission> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据车牌号查询
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
TaskMission findByPlateNum(String plateNum);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据多个车牌号查询task_mission
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
List<TaskMission> findByPlateNums(String plateNum);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
|||||||
|
package com.ykMap.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.ykMap.entity.TaskMission;
|
||||||
|
import com.ykMap.mapper.TaskMissionMapper;
|
||||||
|
import com.ykMap.service.TaskMissionService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'task_mission(TaskMission)表服务实现类
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024-09-19 13:15:13
|
||||||
|
*/
|
||||||
|
@Service("taskMissionService")
|
||||||
|
public class TaskMissionServiceImpl extends ServiceImpl<TaskMissionMapper, TaskMission> implements TaskMissionService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据车牌号查询
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TaskMission findByPlateNum(String plateNum) {
|
||||||
|
return baseMapper.findByPlateNum(plateNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据多个车牌号查询task_mission
|
||||||
|
*
|
||||||
|
* @param plateNum 车牌号
|
||||||
|
* @return 响应类
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<TaskMission> findByPlateNums(String plateNum) {
|
||||||
|
String[] split = plateNum.split(",");
|
||||||
|
if (split.length > 0) {
|
||||||
|
return baseMapper.findByPlateNums(split);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,64 @@
|
|||||||
|
# 数据源配置
|
||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
druid:
|
||||||
|
# 主库数据源
|
||||||
|
master:
|
||||||
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
|
url: jdbc:mysql://39.101.188.84:3307/yk_map?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
|
username: root
|
||||||
|
password: Admin123@
|
||||||
|
# 从库数据源
|
||||||
|
slave:
|
||||||
|
# 从数据源开关/默认关闭
|
||||||
|
driverClassName: org.postgresql.Driver
|
||||||
|
enabled: true
|
||||||
|
url: jdbc:postgresql://39.101.188.84:5432/yk_map
|
||||||
|
username: postgres
|
||||||
|
password: adminadmin
|
||||||
|
# 配置检测连接是否有效
|
||||||
|
validationQuery: SELECT 1
|
||||||
|
# 初始连接数
|
||||||
|
initialSize: 5
|
||||||
|
# 最小连接池数量
|
||||||
|
minIdle: 10
|
||||||
|
# 最大连接池数量
|
||||||
|
maxActive: 20
|
||||||
|
# 配置获取连接等待超时的时间
|
||||||
|
maxWait: 60000
|
||||||
|
# 配置连接超时时间
|
||||||
|
connectTimeout: 30000
|
||||||
|
# 配置网络超时时间
|
||||||
|
socketTimeout: 60000
|
||||||
|
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||||
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
|
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||||
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
# 配置一个连接在池中最大生存的时间,单位是毫秒
|
||||||
|
maxEvictableIdleTimeMillis: 900000
|
||||||
|
# 配置检测连接是否有效
|
||||||
|
validationQuery: SELECT 1 FROM DUAL
|
||||||
|
testWhileIdle: true
|
||||||
|
testOnBorrow: false
|
||||||
|
testOnReturn: false
|
||||||
|
webStatFilter:
|
||||||
|
enabled: true
|
||||||
|
statViewServlet:
|
||||||
|
enabled: true
|
||||||
|
# 设置白名单,不填则允许所有访问
|
||||||
|
allow:
|
||||||
|
url-pattern: /druid/*
|
||||||
|
# 控制台管理用户名和密码
|
||||||
|
login-username: ruoyi
|
||||||
|
login-password: 123456
|
||||||
|
filter:
|
||||||
|
stat:
|
||||||
|
enabled: true
|
||||||
|
# 慢SQL记录
|
||||||
|
log-slow-sql: true
|
||||||
|
slow-sql-millis: 1000
|
||||||
|
merge-sql: true
|
||||||
|
wall:
|
||||||
|
config:
|
||||||
|
multi-statement-allow: true
|
@ -0,0 +1,35 @@
|
|||||||
|
<?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="com.ykMap.mapper.TaskMissionMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="findByPlateNum" resultType="com.ykMap.entity.TaskMission">
|
||||||
|
select tm.*
|
||||||
|
from vehicle_info vi
|
||||||
|
left join task_mission tm on vi.id = tm.original_vehicle_id
|
||||||
|
where vi.plate_num = #{plateNum}
|
||||||
|
and tm.id is not null
|
||||||
|
order by tm.update_time desc
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findByPlateNums" resultType="com.ykMap.entity.TaskMission">
|
||||||
|
SELECT tm.*,vi.plate_num
|
||||||
|
FROM vehicle_info vi
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT original_vehicle_id, MAX(update_time) AS latest_update_time
|
||||||
|
FROM task_mission
|
||||||
|
WHERE update_time IS NOT NULL
|
||||||
|
GROUP BY original_vehicle_id
|
||||||
|
) AS latest_tasks ON vi.id = latest_tasks.original_vehicle_id
|
||||||
|
INNER JOIN task_mission tm ON latest_tasks.original_vehicle_id = tm.original_vehicle_id
|
||||||
|
AND latest_tasks.latest_update_time = tm.update_time
|
||||||
|
WHERE vi.plate_num IN
|
||||||
|
<foreach item="plateNum" collection="array" open="(" separator="," close=")">
|
||||||
|
#{plateNum}
|
||||||
|
</foreach>
|
||||||
|
ORDER BY tm.update_time DESC;
|
||||||
|
</select>
|
||||||
|
</mapper>
|
Loading…
Reference in new issue