Commit 587edff5 authored by hanbing's avatar hanbing

静态信息接口-路口数据,添加基础类

parent 6f1cb575
......@@ -41,6 +41,8 @@
<mapper.springboot.version>2.1.5</mapper.springboot.version>
<mybatis.typehandlers.version>1.0.2</mybatis.typehandlers.version>
<druid.version>1.1.5</druid.version>
<swagger.version>2.9.2</swagger.version>
<lombok.version>1.16.18</lombok.version>
</properties>
<!-- 依赖声明 -->
......@@ -83,6 +85,23 @@
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
......
......@@ -62,6 +62,14 @@
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
......
package com.wanji.utc.common.baseentity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Kent HAN
* @date 2022/11/15 10:14
*/
@Data
@ApiModel(value = "BaseCrossInfo", description = "查询信号路口基础信息输出参数")
public class BaseCrossInfo {
@ApiModelProperty(value = "信号机ID")
private String telesemeId;
@ApiModelProperty(value = "厂商ID")
private String manufacturerId;
}
package com.wanji.utc.common.commonentity;
import lombok.Data;
import java.util.List;
@Data
public class Direction {
//方向:0 北 1 东北 2 东 3 东南 4 南 5 西南 6 西 7 西北
private Integer direction;
//道路信息列表
private List<Road> roads;
}
\ No newline at end of file
package com.wanji.utc.common.commonentity;
import lombok.Data;
@Data
public class Road {
//道路编号
private String roadId;
//道路名称
private String roadName;
}
\ No newline at end of file
package com.wanji.utc.common.constant;
public class Constants {
/**
* 系统缩写
*/
public static final String SYSTEM_ABBR = "UTC";
}
\ No newline at end of file
package com.wanji.utc.common.genericentity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class ManufacturerRes<T> {
/**
* 系统简称
*/
private String systemAbbr;
/**
* 厂家ID
*/
private String manufacturerId;
/**
* 记录数量
*/
private Integer datacount;
/**
* 更新时间
*/
private Date updatetime;
/**
* 返回值集合
*/
private List<T> datalist;
}
\ No newline at end of file
package com.wanji.utc.common.genericentity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2022/11/15 10:09
*/
@Data
@ApiModel(value = "OutVO", description = "基本输出参数")
public class OutVO<T> {
/**
* 系统缩写
*/
private String systemAbbr;
/**
* 厂商ID
*/
private String manufacturerId;
/**
* 更新时间
*/
private Date updatetime;
/**
* 请求体数据
*/
private T outVOContent;
}
package com.wanji.utc.common.typeenum;
import lombok.AllArgsConstructor;
import lombok.Getter;
public class BasicEnum {
@Getter
@AllArgsConstructor
public enum ManufacturerEnum {
QS(1, "青松", "QS"),
SCATS(2, "SCATS", "SCATS"),
HS(3, "海信", "Hisense"),
HK(4, "海康", "HK"),
JA(5, "京安", "JA"),
TA(6, "同安", "TA"),
TSC(7, "励安","TSC"),
DT(8, "东土","DT"),
LES(9, "莱斯","LES");
private Integer code;
private String name;
private String id;
public static ManufacturerEnum getNameByCode(int code) {
for (ManufacturerEnum manufacturerEnum : ManufacturerEnum.values()) {
if (manufacturerEnum.getCode() == code) {
return manufacturerEnum;
}
}
return null;
}
public static ManufacturerEnum getNameById(String id) {
for (ManufacturerEnum manufacturerEnum : ManufacturerEnum.values()) {
if (manufacturerEnum.getId().equals(id)) {
return manufacturerEnum;
}
}
return null;
}
}
}
package com.wanji.utc.controller;
import com.wanji.utc.common.constant.Constants;
import com.wanji.utc.service.StaticInfoService;
import com.wanji.utc.common.baseentity.BaseCrossInfo;
import com.wanji.utc.vo.CrossInfoInVO;
import com.wanji.utc.common.genericentity.OutVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
/**
* 静态信息接口
*
* @date 2022/11/15 9:38
*/
@Api(value = "静态信息接口", description = "静态信息接口")
@RequestMapping("/staticInfo")
@RestController
public class StaticInfoController {
@Autowired
StaticInfoService staticInfoService;
@PostMapping("/crossInfo")
@ApiOperation(value = "信号路口基础信息", notes = "信号路口基础信息")
public ResponseEntity crossInfo(HttpServletRequest request, @RequestBody CrossInfoInVO crossInfoInVO) {
OutVO<BaseCrossInfo> outVO = new OutVO<>();
String manufacturerId = crossInfoInVO.getManufacturerId();
outVO.setManufacturerId(manufacturerId);
outVO.setUpdatetime(new Date());
outVO.setSystemAbbr(Constants.SYSTEM_ABBR);
staticInfoService.crossBasicInfo(outVO);
// todo 返回值
return null;
}
}
package com.wanji.utc.po;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2022/11/15 10:48
*/
@Data
public class CrossInfoPO {
@ApiModelProperty(name = "路口ID",notes = "")
private String id ;
/** 路口名称 */
@ApiModelProperty(name = "路口名称",notes = "")
private String name ;
/** 信号机编号 */
@ApiModelProperty(name = "信号机编号",notes = "")
private String code ;
/** 厂商ID */
@ApiModelProperty(name = "厂商ID",notes = "")
private Integer manufacturerId ;
/** 信号机IP */
@ApiModelProperty(name = "信号机IP",notes = "")
private String ip ;
/** 信号机端口 */
@ApiModelProperty(name = "信号机端口",notes = "")
private Integer port ;
/** 经纬度 */
@ApiModelProperty(name = "经纬度",notes = "")
private String location ;
/** 版本号 */
@ApiModelProperty(name = "版本号",notes = "")
private String version ;
/** 型号 */
@ApiModelProperty(name = "型号",notes = "")
private String model ;
/** 安装时间 */
@ApiModelProperty(name = "安装时间",notes = "")
private Date installTime ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(name = "修改时间",notes = "")
private Date gmtModified ;
}
package com.wanji.utc.service;
import com.wanji.utc.common.baseentity.BaseCrossInfo;
import com.wanji.utc.common.genericentity.OutVO;
public interface StaticInfoService {
void crossBasicInfo(OutVO<BaseCrossInfo> outVO);
}
package com.wanji.utc.service.impl;
import com.wanji.utc.common.genericentity.ManufacturerRes;
import com.wanji.utc.common.typeenum.BasicEnum;
import com.wanji.utc.po.CrossInfoPO;
import com.wanji.utc.service.StaticInfoService;
import com.wanji.utc.common.baseentity.BaseCrossInfo;
import com.wanji.utc.common.genericentity.OutVO;
import com.wanji.utc.vo.DetailCrossInfoVO;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @author Kent HAN
* @date 2022/11/15 10:32
*/
@Service
public class StaticInfoServiceImpl implements StaticInfoService {
@Override
public void crossBasicInfo(OutVO<BaseCrossInfo> outVO) {
List<CrossInfoPO> crossInfoPOList = new ArrayList<>();
ManufacturerRes<DetailCrossInfoVO> res = new ManufacturerRes<>();
if (BasicEnum.ManufacturerEnum.HK.getId().equalsIgnoreCase(outVO.getManufacturerId())) {
// todo 海康
} else {
// todo 其他厂商
}
}
}
package com.wanji.utc.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Kent HAN
* @date 2022/11/15 9:57
*/
@Data
@ApiModel(value = "CrossInfoInVO", description = "查询信号路口基础信息输入参数")
public class CrossInfoInVO {
@ApiModelProperty(value = "厂商ID QS/SCATS/HS/HK")
String manufacturerId;
}
package com.wanji.utc.vo;
import com.wanji.utc.common.baseentity.BaseCrossInfo;
import com.wanji.utc.common.commonentity.Direction;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class DetailCrossInfoVO extends BaseCrossInfo {
//路口名称
private String crossName;
//路口类型,2行人过街 3 丁字口 4 十字口 5 五岔口 6 六岔口
private String crossType;
//经度
private Double lon;
//纬度
private Double lat;
//路口进口方向对象列表
private List<Direction> directions;
}
\ No newline at end of file
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