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