|
@@ -72,6 +72,24 @@ public class WdInfoServiceImpl implements WdInfoService {
|
|
|
return vos;
|
|
|
}
|
|
|
|
|
|
+ public Integer timeUtil(String time){
|
|
|
+ String[] split = time.split(":");
|
|
|
+ int hour = Integer.parseInt(split[0]);
|
|
|
+ int min = Integer.parseInt(split[1]);
|
|
|
+ return hour*100+min;
|
|
|
+ }
|
|
|
+
|
|
|
+ public int compareTime(String time1, String time2){
|
|
|
+ int result = timeUtil(time1).compareTo(timeUtil(time2));
|
|
|
+// if (result > 0)
|
|
|
+// System.out.println(time1 + " > " + time2);
|
|
|
+// if (result == 0)
|
|
|
+// System.out.println(time1 + " = " + time2);
|
|
|
+// if (result < 0)
|
|
|
+// System.out.println(time1 + " < " + time2);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<OpcloseTimeVo> searchOpenTimes(List<String> addrCodes, List<String> typeCodeBys) {
|
|
|
List<String> addrs = new ArrayList<>();
|
|
@@ -97,7 +115,22 @@ public class WdInfoServiceImpl implements WdInfoService {
|
|
|
}else
|
|
|
types = null;
|
|
|
List<OpcloseTimeVo> vos = storeWdOpcloseDao.selectWdOpenTimes(addrs, types);
|
|
|
- return vos;
|
|
|
+ List<OpcloseTimeVo> rvos = new ArrayList<>();
|
|
|
+ for (int i = 0;i < 24; i+=2){
|
|
|
+ OpcloseTimeVo vo = new OpcloseTimeVo();
|
|
|
+ vo.setTime(i+":00~"+(i+2)+":00");
|
|
|
+ vo.setCount(0);
|
|
|
+ rvos.add(vo);
|
|
|
+ }
|
|
|
+ for (OpcloseTimeVo vo : vos){
|
|
|
+ for (OpcloseTimeVo rvo : rvos){
|
|
|
+ String[] times = rvo.getTime().split("~");
|
|
|
+ if (compareTime(vo.getTime(),times[0]) < 0 || compareTime(times[1],vo.getTime()) < 0)
|
|
|
+ continue;
|
|
|
+ rvo.setCount(rvo.getCount() + vo.getCount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rvos;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -125,7 +158,22 @@ public class WdInfoServiceImpl implements WdInfoService {
|
|
|
}else
|
|
|
types = null;
|
|
|
List<OpcloseTimeVo> vos = storeWdOpcloseDao.selectWdCloseTimes(addrs, types);
|
|
|
- return vos;
|
|
|
+ List<OpcloseTimeVo> rvos = new ArrayList<>();
|
|
|
+ for (int i = 0;i < 24; i+=2){
|
|
|
+ OpcloseTimeVo vo = new OpcloseTimeVo();
|
|
|
+ vo.setTime(i+":00~"+(i+2)+":00");
|
|
|
+ vo.setCount(0);
|
|
|
+ rvos.add(vo);
|
|
|
+ }
|
|
|
+ for (OpcloseTimeVo vo : vos){
|
|
|
+ for (OpcloseTimeVo rvo : rvos){
|
|
|
+ String[] times = rvo.getTime().split("~");
|
|
|
+ if (compareTime(vo.getTime(),times[0]) < 0 || compareTime(times[1],vo.getTime()) < 0)
|
|
|
+ continue;
|
|
|
+ rvo.setCount(rvo.getCount() + vo.getCount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rvos;
|
|
|
}
|
|
|
|
|
|
// @Override
|