Commit 556070c0 authored by hanbing's avatar hanbing

代码优化

parent 939eeba7
......@@ -35,7 +35,7 @@ public class HttpRequest {
/**
* Discription:[封装请求头]
* @author: hfx
* @author: wanji
* @date 2019/4/24 15:23
*/
private Map<String, String> buildHeader() {
......
......@@ -38,7 +38,7 @@ public class StaticInfoController {
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = CrossInfoPO.class)
})
public JsonViewObject crossInfo(@RequestBody CrossInfoDTO crossInfoDTO) {
public JsonViewObject crossInfo(@RequestBody CrossInfoDTO crossInfoDTO) throws Exception {
List<CrossInfoPO> crossInfoPOList = staticInfoService.crossBasicInfo(crossInfoDTO);
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
......
......@@ -9,5 +9,5 @@ import java.util.List;
* @date 2022/11/15 13:18
*/
public interface HkCrossInfoService {
List<CrossInfoPO> hkCrossBasicInfo();
List<CrossInfoPO> hkCrossBasicInfo() throws Exception;
}
......@@ -13,7 +13,7 @@ import java.util.List;
public interface StaticInfoService {
List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO);
List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) throws Exception;
void schemePhaseLights(SchemePhaseLightsDTO schemePhaseLightsDTO) throws Exception;
......
......@@ -29,42 +29,30 @@ import java.util.Map;
@Service
@RequiredArgsConstructor
public class HkCrossInfoServiceImpl implements HkCrossInfoService {
private final ArtemisConfig artemisConfig;
private final CrossInfoMapper crossInfoMapper;
private final ManufacturerInfoMapper manufacturerInfoMapper;
private final List<CrossInfoPO> res = new ArrayList<>();
@Override
public List<CrossInfoPO> hkCrossBasicInfo() {
List<CrossInfoPO> res = new ArrayList<>();
try{
// key如"http://",value如"/artemis/api/itscms-scms/v1/crossinfo/hkCrossBasicInfo"
Map<String, String> path = PathUtil.getPathMapByApiCode("crossBasicInfo");
JSONObject requestContent = new JSONObject();
// 海康固定入参字段名
requestContent.put("pageNo", 1);
requestContent.put("pageSize", 9999);
requestContent.put("searchObj", new JSONObject());
String body = requestContent.toJSONString();
// 请求参数
String responseStr = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, body, null,
null, "application/json", null);
JSONObject responseObj = JSON.parseObject(responseStr);
if(Constants.HK_SUCCESS_CODE.equals(responseObj.getInteger(Constants.HK_CODE_KEY))) {
public List<CrossInfoPO> hkCrossBasicInfo() throws Exception {
String apiName = "crossBasicInfo";
JSONObject responseObj = getHkJsonObjectByPage(apiName);
if(!Constants.HK_SUCCESS_CODE.equals(responseObj.getInteger(Constants.HK_CODE_KEY))) {
return res;
}
JSONObject data = responseObj.getJSONObject("data");
JSONArray list = data.getJSONArray("list");
for(int i = 0; i < list.size(); i++){
JSONObject signalObj = list.getJSONObject(i);
list.stream()
.map(signalObj -> (JSONObject)signalObj)
.forEach(this::consumeSignalObj);
return res;
}
private void consumeSignalObj(JSONObject signalObj) {
String crossCode = signalObj.getString("crossCode");
String crossName = signalObj.getString("crossName");
// t_cross_info表的主键ID 例如"18c8db5a7772428eb91be749fb3004c8"
CrossInfoPO crossInfoPO = crossInfoMapper.selectByPrimaryKey(crossCode);
// 如果数据库中已经有记录,则跳过
if (null != crossInfoPO) {
continue;
}
crossInfoPO = new CrossInfoPO();
CrossInfoPO crossInfoPO = new CrossInfoPO();
// 32位随机ID
crossInfoPO.setId(IdUtil.simpleUUID());
crossInfoPO.setName(crossName);
......@@ -85,10 +73,20 @@ public class HkCrossInfoServiceImpl implements HkCrossInfoService {
res.add(crossInfoPO);
}
}
} catch(Exception e) {
log.error("服务器端内部错误!", e);
}
return res;
private JSONObject getHkJsonObjectByPage(String apiName) throws Exception {
// key-"http://",value-"/artemis/api/itscms-scms/v1/crossinfo/hkCrossBasicInfo"
Map<String, String> path = PathUtil.getPathMapByApiCode(apiName);
JSONObject requestContent = new JSONObject();
// 海康固定入参字段名
requestContent.put("pageNo", 1);
requestContent.put("pageSize", 9999);
requestContent.put("searchObj", new JSONObject());
String body = requestContent.toJSONString();
// 请求参数
String responseStr = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, body, null,
null, "application/json", null);
JSONObject responseObj = JSON.parseObject(responseStr);
return responseObj;
}
}
......@@ -38,7 +38,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
private final CrossSchedulesMapper crossSchedulesMapper;
@Override
public List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) {
public List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) throws Exception {
List<CrossInfoPO> crossInfoPOList = new ArrayList<>();
if (Objects.equals(BasicEnum.ManufacturerEnum.HK.getCode(), crossInfoDTO.getManufacturerCode())) {
crossInfoPOList = hkCrossInfoService.hkCrossBasicInfo();
......
......@@ -801,7 +801,7 @@ public class DateUtils {
* @param endTime 结束时间10:30
* @return 返回开始时间到结束的时间段值
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static String splitTime(String startTime, String endTime ) {
Date startDate = DateUtils.stringToDate(startTime, DateStyle.HH_MM_SS);
......@@ -815,7 +815,7 @@ public class DateUtils {
* @return 数值解析后的真实时间 -- 会议开始时间
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Date numberByStartTime(int number) {
int i = (number - 1) % 2;
......@@ -834,7 +834,7 @@ public class DateUtils {
* @return 数值解析后的真实时间 -- 会议结束时间
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Date numberByEndTime(int number) {
return addMinute(numberByStartTime(number), 30);
......@@ -847,7 +847,7 @@ public class DateUtils {
* @return boolean 相等true
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static boolean isSameDate(Date d1, Date d2) {
if(null == d1 || null == d2)
......@@ -867,7 +867,7 @@ public class DateUtils {
* @return 时间一 减 时间二 的值
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static int dayDiff(Date date1, Date date2, int type) {
long diff = date1.getTime() - date2.getTime();
......@@ -902,7 +902,7 @@ public class DateUtils {
* @return 列2017-11-22 17:13返回17:00;列2017-11-22 17:59返回17:30
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Date wholeHour(Date date){
int hour = DateUtils.getHour(date);
......@@ -924,7 +924,7 @@ public class DateUtils {
* @param endDate 结束时间
* @return 相差的月数0.5的倍数
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static double getMonths(Date startDate, Date endDate) {
int startYear = DateUtils.getYear(startDate);
......@@ -1007,7 +1007,7 @@ public class DateUtils {
*
* @return 拆分时间段Integer值
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Integer getSplitTimeByNow() {
return getSplitTime(new Date());
......@@ -1018,7 +1018,7 @@ public class DateUtils {
*
* @return 拆分时间段Integer值
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Integer getSplitTime(Date date) {
int hour = DateUtils.getHour(date);
......@@ -1038,7 +1038,7 @@ public class DateUtils {
* @return 当前月第一天
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Date getfirstDate(){
Calendar c = Calendar.getInstance();
......@@ -1052,7 +1052,7 @@ public class DateUtils {
* @return 当前月的最后一天
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Date getlastDate(){
Calendar c = Calendar.getInstance();
......@@ -1066,7 +1066,7 @@ public class DateUtils {
* @return 指定的最后一天
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static int getLastDay(Date date){
Calendar c = Calendar.getInstance();
......@@ -1080,7 +1080,7 @@ public class DateUtils {
* @return 指定的第一天
*
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static int getFirstDay(Date date){
Calendar c = Calendar.getInstance();
......@@ -1091,7 +1091,7 @@ public class DateUtils {
/**
* <p>Description:[获取当前日期字符串]</p>
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static String getCurrentDateString() {
return dateToString(new Date(), DateStyle.YYYY_MM_DD);
......@@ -1100,7 +1100,7 @@ public class DateUtils {
/**
* <p>Description:[获取当前日期]</p>
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Date getCurrentDate() {
return stringToDate(getCurrentDateString(), DateStyle.YYYY_MM_DD);
......@@ -1110,7 +1110,7 @@ public class DateUtils {
/**
* <p>Description:[获取某月最大日期]</p>
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static int getMonthMaxDay(Date date) {
Calendar calendar = Calendar.getInstance();
......@@ -1124,7 +1124,7 @@ public class DateUtils {
* @param dateNext date类型的时间2
* @return Double 返回保留一位小数的绝对值
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static Double calculateHour(Date dateLast, Date dateNext) {
long millisLast = dateLast.getTime();
......@@ -1142,7 +1142,7 @@ public class DateUtils {
* @param endDate 为结束时间
* @return true or false
* Created on 2019/4/17
* @author: hfx
* @author: wanji
*/
public static boolean getInDate(String date,String startDate,String endDate) {
boolean flag =false;
......@@ -1161,7 +1161,7 @@ public class DateUtils {
* @param startTime 开始时间
* @param endTime 结束时间
* @return java.lang.String 时段名称
* @author hfx
* @author wanji
* @date 2019/5/5 20:12
*/
public static String getSectimeName(String startTime, String endTime){
......
......@@ -134,7 +134,7 @@ public class ListUtil {
* @param property 排序字段名
* @param sortType 正序 (SORT_ASC)、倒序 (SORT_DESC)
* @param isCN 是否按中文排序
* @author: hfx
* @author: wanji
*/
public static <T> void sortList(List<T> list, final String property, final String sortType, final boolean isCN) {
Collections.sort(list, new Comparator<T>() {
......@@ -189,7 +189,7 @@ public class ListUtil {
* @param list 目标集合
* @param property 排序字段名
* @param sortType 正序 (SORT_ASC)、倒序 (SORT_DESC)
* @author: hfx
* @author: wanji
*/
public static <T> void sortList(List<T> list, final String property, final String sortType) {
sortList(list, property, sortType, false);
......@@ -201,7 +201,7 @@ public class ListUtil {
* @param property 排序字段名
* @param sortType 正序 (SORT_ASC)、倒序 (SORT_DESC)
* @param isCN 是否按中文排序
* @author: hfx
* @author: wanji
*/
public static <T> void sortObjectArray(T[] array, final String property, final String sortType, final boolean isCN) {
Arrays.sort(array, new Comparator<T>() {
......@@ -255,7 +255,7 @@ public class ListUtil {
* @param array 对象数组
* @param property 排序字段名
* @param sortType 正序 (SORT_ASC)、倒序 (SORT_DESC)
* @author: hfx
* @author: wanji
*/
public static <T> void sortObjectArray(T[] array, final String property, final String sortType) {
sortObjectArray(array, property, sortType, false);
......@@ -266,7 +266,7 @@ public class ListUtil {
* @param array 字符串数组
* @param sortType 正序 (SORT_ASC)、倒序 (SORT_DESC)
* @param isCN 是否按中文排序
* @author: hfx
* @author: wanji
*/
public static <T> void sortArray(T[] array, final String sortType, final boolean isCN) {
if (sortType != null && sortType.equals(SORT_DESC)) {
......@@ -288,7 +288,7 @@ public class ListUtil {
* <p>Description:[字符串数组排序(默认不按照中文排序)]</p>
* @param array 字符串数组
* @param sortType 正序 (SORT_ASC)、倒序 (SORT_DESC)
* @author: hfx
* @author: wanji
*/
public static <T> void sortArray(T[] array, final String sortType) {
sortArray(array, sortType, false);
......@@ -298,7 +298,7 @@ public class ListUtil {
* <p>Description:[获取list的toString(值以逗号分隔,无中括号)]</p>
* @param list
* @return
* @author: hfx
* @author: wanji
*/
public static <T> String getString(List<T> list) {
Iterator<T> it = list.iterator();
......@@ -341,7 +341,7 @@ public class ListUtil {
* <p>Description:[获取数组的toString(值以逗号分隔,无中括号)]</p>
* @param arr
* @return
* @author: hfx
* @author: wanji
*/
public static <T> String getString(T[] arr) {
List<T> list = Arrays.asList(arr);
......@@ -352,7 +352,7 @@ public class ListUtil {
* @Description: [验证集合是否为空:null或size==0 返回false] <br/>
* @param collection 集合
* @return 空或size==0 返回false
* @author: hfx
* @author: wanji
*/
public static boolean isNotEmpty(Collection collection) {
if (collection == null || collection.size() < 1) {
......@@ -366,7 +366,7 @@ public class ListUtil {
* @Description: [验证集合是否为空:null或size==0 返回true] <br/>
* @param collection 集合
* @return 空或size==0 返回true
* @author: hfx
* @author: wanji
*/
public static boolean isEmpty(Collection collection) {
return !isNotEmpty(collection);
......
......@@ -253,7 +253,7 @@ public class RedisUtil {
* @description: 根据类型生成版本号
* @param type 类型key区分
* @return 版本号
* @author hfx
* @author wanji
* @date 2019/5/5 19:26
*/
public String getVersion(String type) {
......
......@@ -7,7 +7,7 @@ import lombok.Data;
import java.util.List;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [路口时段方案实体]
* Created on 2019/4/22 16:20
......
......@@ -6,7 +6,7 @@ import net.wanji.utc.common.baseentity.BaseCrossInfo;
import java.util.List;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [路口时段方案Vo]
* Created on 2019/4/22 16:17
......
......@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [时段数据实体]
* Created on 2019/4/22 16:22
......
......@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @author wanji
* @version 1.0
* Created on 2019/7/15 10:28
* @description: [固定灯色灯组方案下发]
......
......@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [行人方向]
* Created on 2019/4/19 17:20
......
......@@ -7,7 +7,7 @@ import lombok.Data;
import java.util.List;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [相位数据实体]
* Created on 2019/4/19 16:56
......
......@@ -5,7 +5,7 @@ import lombok.Data;
import java.util.List;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [环数据对象]
* Created on 2019/4/22 15:54
......
......@@ -3,7 +3,7 @@ package net.wanji.utc.vo.timeplan;
import lombok.Data;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [步数据对象]
* Created on 2019/4/22 15:56
......
......@@ -8,7 +8,7 @@ import net.wanji.utc.common.baseentity.BaseCrossInfo;
import java.util.List;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [配时方案实体类]
* Created on 2019/4/22 15:40
......
......@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author hfx
* @author wanji
* @version 1.0
* @Description: [机动车方向]
* Created on 2019/4/19 17:20
......
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