kongdeqiang
2022-09-19 a9862e81851bbe037edc6bb1c7f562c1e55c0d7f
src/main/java/com/boying/controller/OutParkController.java
@@ -12,6 +12,7 @@
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -26,6 +27,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import static com.boying.common.util.DateUtil.getMinute;
@@ -46,6 +48,10 @@
    @Autowired
    private CostRuleService costRuleService;
    @Autowired
    private ParkService parkService;
    @Autowired
    private StringRedisTemplate redisTemplate;
    @PostMapping("findPage")
    public Object findPage(int page,int pageSize) {
@@ -188,7 +194,20 @@
        Barrier barrier1 = findBarrier(code2);
        barrierId = barrier1.getId();
        parkId = barrier1.getParkId();
        Park park = (Park)parkService.findById(parkId);
        int num = 0;
        String s = redisTemplate.opsForValue().get("car_park_" + parkId);
        if(park != null){
            num = park.getNum();
            if(s !=null){
                if(Integer.parseInt(s) > num){
                    return "null";
                }
            }else {
                s= "0";
                redisTemplate.opsForValue().set("car_park_" + parkId,s,30, TimeUnit.DAYS);
            }
        }
        enterParkService.deleteByCarNo(carNo,parkId);
        EnterPark enterPark = new EnterPark();
        enterPark.setCreateTime(new Date());
@@ -212,6 +231,9 @@
//            enterPark.setStatus(1);//发现有违章
//        }
        enterParkService.save(enterPark);
        int i = Integer.parseInt(s);
        i++;
        redisTemplate.opsForValue().set("car_park_" + parkId,Integer.toString(i),30, TimeUnit.DAYS);
        Barrier barrier = (Barrier) barrierService.findById(barrierId);
        barrier.setType2(1);
@@ -233,6 +255,7 @@
        outPark.setCode(System.currentTimeMillis()+"");
        EnterPark enterPark = enterParkService.findByCarNo(carNo).get(0);
        if(enterPark==null){
           s += "未发现入场车辆:"+carNo+"\n";
            writeTxt(s);
@@ -241,6 +264,7 @@
            s += "发现入场车辆: "+enterPark.getCarNo()+",道闸id为:"+enterPark.getBarrierId()+",停车场id:"+enterPark.getParkId()+",违章标识:"+enterPark.getStatus()+"\n";
            outPark.setEnterTime(enterPark.getCreateTime());
        }
        String redis = redisTemplate.opsForValue().get("car_park_" + parkId);
        long l = outPark.getCreateTime().getTime() - enterPark.getCreateTime().getTime();
        s+= "场内时长为:"+l+"毫秒,合计为: "+l/(1000*60)+"秒\n";
        outPark.setTime(l/(1000*60));
@@ -255,6 +279,13 @@
        //outPark.setStatus3(findTicket(carNo));
        outParkService.save(outPark);
        int i = Integer.parseInt(redis);
        i--;
        if(i<0){
            redisTemplate.opsForValue().set("car_park_" + parkId,"0",30, TimeUnit.DAYS);
        }else {
            redisTemplate.opsForValue().set("car_park_" + parkId,Integer.toString(i),30, TimeUnit.DAYS);
        }
        Barrier barrier = (Barrier) barrierService.findById(barrierId);
        barrier.setCarNo(carNo);