| | |
| | | import com.boying.entity.*; |
| | | import com.boying.service.*; |
| | | import com.boying.util.DateUtilOther; |
| | | import com.boying.util.FileUtil; |
| | | import com.boying.util.StringUtil; |
| | | import com.google.gson.JsonObject; |
| | | import com.google.gson.JsonParser; |
| | |
| | | import java.util.List; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | |
| | | /** |
| | | * Servlet implementation class PlateServlet |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/car") |
| | | @RequestMapping("/ffzf/car") |
| | | @RequiredArgsConstructor |
| | | public class PlateServlet3 extends HttpServlet { |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | private final TicketService ticketService; |
| | | private final CostRuleService costRuleService; |
| | | private final WhiteListService whiteListService; |
| | | private final FileInfoService fileInfoService; |
| | | private final String LEDURL = "http://192.168.31.212:9988/LedShow/IGetResultDataAllLine"; |
| | | |
| | | /** |
| | |
| | | BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),"UTF-8")); |
| | | String str = ""; |
| | | String lineStr = ""; |
| | | FileInfo fileInfo = null; |
| | | while((str = reader.readLine()) != null){ |
| | | lineStr += str; |
| | | } |
| | |
| | | JSONObject result = alarmInfoPlate.getJSONObject("result"); |
| | | JSONObject plateResult = result.getJSONObject("PlateResult"); |
| | | String carNo = plateResult.get("license").toString(); |
| | | // String image = plateResult.get("imageFile").toString(); |
| | | String code = alarmInfoPlate.get("serialno").toString(); |
| | | |
| | | try { |
| | |
| | | break; |
| | | } |
| | | |
| | | System.out.println("编号:"+serialno+"设备识别到了:"+license); |
| | | |
| | | // if(StringUtils.isNotBlank(image)){ |
| | | // fileInfo = FileUtil.generateBase64StringToFile(image, 1,1); |
| | | // fileInfoService.save(fileInfo); |
| | | // } |
| | | |
| | | |
| | | System.out.println("编号:"+serialno+" 设备识别到了:"+license); |
| | | String format = sdf.format(new Date()); |
| | | s+= format+",车牌号为:"+license+",serialno为:"+code+" "; |
| | | |
| | |
| | | easyNoOpen(request,response); |
| | | }else{ |
| | | if(barrier.getType()==0){ |
| | | outPark(license, barrier.getId(), barrier.getParkId(),request,response); |
| | | outPark(license, barrier.getId(), barrier.getParkId(),request,response,fileInfo); |
| | | s+=license+"-保存出场记录\n"; |
| | | }else{ |
| | | String num = redisTemplate.opsForValue().get("car_park_" + barrier.getParkId()); |
| | |
| | | }else { |
| | | //led显示 |
| | | inLedShow(code, license,barrier.getParkId(),request,response); |
| | | enterPark(license,barrier.getId(),barrier.getParkId()); |
| | | enterPark(license,barrier.getId(),barrier.getParkId(),fileInfo); |
| | | s+=license+"-保存入场记录\n"; |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | public void enterPark(String carNo,Integer barrierId,Integer parkId) { |
| | | public void enterPark(String carNo,Integer barrierId,Integer parkId,FileInfo fileInfo) { |
| | | Park park = parkService.getById(parkId); |
| | | // int num = 0; |
| | | // String s = redisTemplate.opsForValue().get("car_park_" + parkId); |
| | |
| | | if(tickets.size()>0){ |
| | | enterPark.setStatus(1);//发现有违章 |
| | | } |
| | | if(fileInfo != null){ |
| | | enterPark.setImgId(fileInfo.getId()); |
| | | } |
| | | enterParkService.saveOrUpdate(enterPark); |
| | | |
| | | // Barrier barrier = barrierService.getById(barrierId); |
| | |
| | | // barrierService.saveOrUpdate(barrier); |
| | | } |
| | | |
| | | public double outPark(String carNo,Integer barrierId,Integer parkId,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
| | | public double outPark(String carNo,Integer barrierId,Integer parkId,HttpServletRequest request, HttpServletResponse response,FileInfo fileInfo) throws ServletException, IOException { |
| | | double money = 0.0; |
| | | EnterPark enterPark = null; |
| | | String toDayHrMinSec = null; |
| | |
| | | //outPark.setPrice(Double.valueOf(String.format("%.1f", money))); |
| | | outPark.setPrice(money); |
| | | outPark.setStatus3(findTicket(carNo)); |
| | | if(fileInfo != null){ |
| | | outPark.setImgId(fileInfo.getId()); |
| | | } |
| | | outParkService.saveOrUpdate(outPark); |
| | | Barrier barrier =barrierService.getById(barrierId); |
| | | barrier.setCarNo(carNo); |
| | |
| | | outParkService.saveOrUpdate(byCarNoAndBarrierId); |
| | | return 0.0; |
| | | }else{ |
| | | if(w.getParkIds()!=null){ |
| | | if(StringUtils.isNotBlank(w.getParkIds())){ |
| | | if(w.getEndTime()!=null){ |
| | | String parkIds = w.getParkIds(); |
| | | String[] split = parkIds.split(","); |
| | |
| | | carType = "月租车"; |
| | | }else { |
| | | //白名单固定停车场车辆 |
| | | if(byCarNo.getParkId().equals(barrier.getParkId())){ |
| | | if(StringUtils.isNotBlank(byCarNo.getParkIds()) && byCarNo.getParkIds().contains(barrier.getParkId()+"")){ |
| | | carType = "月租车"; |
| | | long l = (byCarNo.getEndTime().getTime() - byCarNo.getStartTime().getTime()) / (24 * 3600 * 1000); |
| | | carDay = "有效期还有"+l+"天"; |
| | | }else { |
| | | carType = "临时车"; |
| | | } |
| | | } |
| | | } |
| | |
| | | carType = "月租车"; |
| | | }else { |
| | | //白名单固定停车场车辆 |
| | | if(byCarNo.getParkId().equals(barrier.getParkId())){ |
| | | if(StringUtils.isNotBlank(byCarNo.getParkIds()) && byCarNo.getParkIds().contains(barrier.getParkId()+"")){ |
| | | carType = "月租车"; |
| | | long l = (byCarNo.getEndTime().getTime() - byCarNo.getStartTime().getTime()) / (24 * 3600 * 1000); |
| | | carDay = "有效期还有"+l+"天"; |
| | | }else { |
| | | carType = "临时车"; |
| | | } |
| | | } |
| | | } |