package com.charging.chargingparking; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.annotation.Excel; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.*; import cn.hutool.core.io.resource.ClassPathResource; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.charging.chargingparking.config.ParkingConfig; import com.charging.chargingparking.constant.ParkingConstant; import com.charging.chargingparking.dto.*; import com.charging.chargingparking.entity.*; import com.charging.chargingparking.mapper.ParkingPayMapper; import com.charging.chargingparking.mapper.ParkingRecordMapper; import com.charging.chargingparking.modules.backController.ParkingMemberInfoController; import com.charging.chargingparking.modules.common.dto.Sort; import com.charging.chargingparking.modules.vo.ParkingEnableVo; import com.charging.chargingparking.modules.vo.ProfitVo; import com.charging.chargingparking.modules.vo.TemporaryVo; import com.charging.chargingparking.service.*; import com.charging.chargingparking.sys.entity.User; import com.charging.chargingparking.sys.service.UserService; import com.charging.chargingparking.utils.BetweenTimeUtil; import com.charging.chargingparking.utils.StringUtils; import com.github.pagehelper.Page; import com.sun.org.apache.xpath.internal.operations.Bool; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.ValueOperations; import java.io.File; import java.io.Serializable; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; import java.util.stream.Collectors; import static cn.hutool.core.date.DateUnit.HOUR; @SpringBootTest @Slf4j class ChargingParkingApplicationTests { @Autowired private ValueOperations valueOperations; @Autowired private StringUtils stringUtils; @Autowired private ParkingInfoService parkingInfoService; @Autowired private ParkingConfig parkingConfig; @Autowired private ParkingChannelService parkingChannelService; @Autowired private ParkingPayProfitService parkingPayProfitService; @Autowired private ParkingPayService parkingPayService; @Autowired private ParkingRecordService parkingRecordService; @Autowired private ParkingRecordMapper parkingRecordMapper; @Autowired private ParkingFeeService parkingFeeService; @Autowired private ParkingMemberService parkingMemberService; @Autowired private ParkingWhiteService parkingWhiteService; @Autowired private ParkingPayMapper parkingPayMapper; @Autowired private ParkingChannelVoiceService parkingChannelVoiceService; @Autowired private UserService userService; @Autowired private ParkingShopService parkingShopService; @Autowired private ParkingBetweenMemberService parkingBetweenMemberService; @Autowired private ParkingTimeService parkingTimeService; @Autowired private TimeSetService timeSetService; @Autowired private EcCouponService ecCouponService; @Autowired private ParkingAreaService parkingAreaService; @Test void testService() throws Exception { // ParkingArea parkingArea = new ParkingArea(); // parkingArea.setArea("1"); // parkingArea.setAreaName("121"); // parkingArea.setParkId("11111"); // parkingArea.setSurplusParkingNumber(10); // parkingArea.setTotalParkingNumber(100); // parkingArea.setCreateBy("admin"); // parkingArea.setCreateTime(new Date()); // parkingArea.setUpdateBy("updater"); // parkingArea.setUpdateTime(new Date()); // parkingAreaService.save(parkingArea); // ParkingArea parkingAreaBG = parkingAreaService.getById(1931167050676056066l); // parkingAreaBG.setSurplusParkingNumber(9); // parkingAreaBG.setUpdateTime(new Date()); // parkingAreaService.updateById(parkingAreaBG); QueryWrapper parkingAreaQueryWrapper = new QueryWrapper<>(); parkingAreaQueryWrapper.eq("park_id", "1"); parkingAreaQueryWrapper.eq("area_", "1"); parkingAreaQueryWrapper.last("LIMIT 1"); ParkingArea parkingArea =parkingAreaService.getOne(parkingAreaQueryWrapper); parkingArea.setSurplusParkingNumber(parkingArea.getSurplusParkingNumber()-1); if(parkingArea.getSurplusParkingNumber()<1){ parkingArea.setSurplusParkingNumber(1); } parkingAreaService.updateById(parkingArea); //temporaryCarNumInPark // TemporaryVo temporaryVo = new TemporaryVo(); // temporaryVo.setOpenId("oSruR6X9d6KRfkxT5HJH-lgl1ClY"); // temporaryVo.setChannelId("1699950640833335297"); // temporaryVo.setId("1865260254398353410"); // log.warn(temporaryVo.getOpenId()+"---"+temporaryVo.getChannelId()+"----"+temporaryVo.getCompanyId()+"---"+temporaryVo.getId()+"---"+temporaryVo.getParkId()); ////oSruR6X9d6KRfkxT5HJH-lgl1ClY---1699950640833335297----null---1865260254398353410---null // parkingRecordService.temporaryCarNumInPark(temporaryVo); // ParkingInfo parkingInfo =parkingInfoService.get("1"); // ParkingChannel parkingChannel =parkingChannelService.getById(1699950640833335297l); // String license ="鄂DAC066"; // String dataStr ="2024-10-09 09:35:07"; // if("1".equals(parkingInfo.getId())&&parkingChannel.getChannelName().contains("公寓楼入口")){ // QueryWrapper parkingRecordQueryWrapper1Outer = new QueryWrapper<>(); // parkingRecordQueryWrapper1Outer.eq("park_id", parkingChannel.getParkId()); // parkingRecordQueryWrapper1Outer.eq("car_num", license); // parkingRecordQueryWrapper1Outer.gt("out_parking_time", DateUtil.offsetMinute(DateUtil.parse(dataStr), -2)); // parkingRecordQueryWrapper1Outer.eq("release_status", "1"); // parkingRecordQueryWrapper1Outer.last("LIMIT 1"); // ParkingRecord parkingRecord1Outer =parkingRecordService.getOne(parkingRecordQueryWrapper1Outer); // if (parkingRecord1Outer != null) { // throw new Exception(StrUtil.format("进口道闸异常数据-出场后再在2分钟内进场,道闸:{},车牌:{},记录:{}", parkingChannel.getChannelName(), license, parkingRecord1Outer.getId())); // } // } // QueryWrapper parkingRecordQueryWrapper01 = new QueryWrapper<>(); // parkingRecordQueryWrapper01.eq("park_id", "1"); // parkingRecordQueryWrapper01.eq("car_num", "鄂DAC066"); // parkingRecordQueryWrapper01.ne("release_status", "-1"); // parkingRecordQueryWrapper01.ne("release_status", "2"); // parkingRecordQueryWrapper01.orderByDesc("create_time"); // parkingRecordQueryWrapper01.last("LIMIT 1"); // ParkingRecord parkingRecord01 = parkingRecordService.getOne(parkingRecordQueryWrapper01); // // if (parkingRecord01 != null) { // Date time = null; // //出场后两分钟内不可再次进场 // if (parkingRecord01.getOutParkingTime() != null) { // time = parkingRecord01.getOutParkingTime(); // } // if (time != null) { // //设备传递的时间 // Date recordTime = DateUtil.parse("2024-10-09 11:51:23"); // // int min = 10000; // if ("公寓出口".equals(parkingChannel.getChannelName())) { // min = -2; // } // // Date date = DateUtil.offsetMinute(recordTime, min); // // if (time.compareTo(date) >= 0) { // throw new Exception(StrUtil.format("2分钟内对同一车牌处理1次:{}", "鄂DAC066")); // } // } // } // QueryWrapper parkingRecordQueryWrapper = new QueryWrapper<>(); // parkingRecordQueryWrapper.lt("create_time",DateUtil.offsetDay(new Date(),-30)); // parkingRecordQueryWrapper.eq("release_status","0"); // List parkingRecordList = parkingRecordService.list(parkingRecordQueryWrapper); // if (parkingRecordList.size()>0){ // for (ParkingRecord parkingRecord : parkingRecordList){ // System.out.println("---"+parkingRecord.getCreateTime()); // parkingRecord.setReleaseStatus("1"); // parkingRecord.setDelFlag(true); // parkingRecord.setUpdateBy("system"); // parkingRecord.setUpdateTime(new Date()); // parkingRecord.setRemark(parkingRecord.getRemark()+"系统清理离场"); // parkingRecordService.updateById(parkingRecord); // } // } // EcCoupon ecCoupon = new EcCoupon(); // ecCoupon.setCarNum("1"); // ecCoupon.setParkId("2"); // // ecCouponService.save(ecCoupon); // ParkingChannel parkingChannel = new ParkingChannel(); // parkingChannel.setDelFlag(false); // parkingChannel.setCreateBy("1"); // parkingChannel.setCreateTime(new Date()); // parkingChannel.setCarNumRemark("鄂DF59895"); // boolean affect = parkingChannelService.save(parkingChannel); // parkingChannel.setCarNumRemark("鄂DF59895,鄂DF99999"); // parkingChannelService.updateById(parkingChannel); // ParkingChannel parkingChannel = parkingChannelService.getById(1541608391538962434l); // // String yqll="1541608391538962434"; // if(yqll.equals(parkingChannel.getId())){ // System.out.println("11111"); // }else{ // System.out.println("000000"); // // } } // @Test // void testService() { // QueryWrapper queryWrapper = new QueryWrapper(); // queryWrapper.select("sum(pay_amount) as sumAll"); // queryWrapper.eq("car_num","鄂DD10888"); // //queryWrapper.eq("TO_DAYS(create_time)","TO_DAYS(NOW())"); // queryWrapper.apply("create_time>=DATE_FORMAT(LAST_DAY(NOW()), '%Y-%m-01')"); // queryWrapper.apply("create_time<=LAST_DAY(NOW())"); // ParkingRecord parkingRecord =parkingRecordService.getOne(queryWrapper); // if(parkingRecord==null){ // parkingRecord.setSumAll(BigDecimal.ZERO); // } // System.out.println(parkingRecord.getSumAll()); // } public static List getDatesBetween(String startDateString, String endDateString) { List datesBetween = DateUtil.rangeToList(DateUtil.parseDate(startDateString), DateUtil.parseDate(endDateString), DateField.DAY_OF_MONTH); return datesBetween.stream() .map(p -> DateUtil.format(p, DatePattern.NORM_DATE_PATTERN)) .collect(Collectors.toList()); } public static List Date67() { int year = DateUtil.year(new Date()); List dateList=new ArrayList(); SimpleDateFormat simdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = new GregorianCalendar(year, 0, 1); int i = 1; while (calendar.get(Calendar.YEAR) < year + 1) { calendar.set(Calendar.WEEK_OF_YEAR, i++); calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); if (calendar.get(Calendar.YEAR) == year) { System.out.println("周日:"+simdf.format(calendar.getTime())); dateList.add(simdf.format(calendar.getTime())); } calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); if (calendar.get(Calendar.YEAR) == year) { System.out.println("周六:"+simdf.format(calendar.getTime())); dateList.add(simdf.format(calendar.getTime())); } } return dateList; } @Test void testTimeParkService() { String strEnterDate="2024-01-06"; String parkId="836bb65f-868b-4042-acf7-dcb4c4de1f0f"; Boolean ret = parkingTimeService.enterTimeStatus(strEnterDate,parkId); System.out.println(ret); } @Test void testTimePark() throws Exception { String strEnterDate="2024-01-06"; List listAll =new ArrayList<>(); ParkingInfo parkingInfo = parkingInfoService.getById("836bb65f-868b-4042-acf7-dcb4c4de1f0f"); DateUtil.year(new Date()); if(parkingInfo.getStarTimeFlag()!=null&&parkingInfo.getStarTimeFlag()&&parkingInfo.getStartYear()!=null&&parkingInfo.getEndYear()!=null){ if(parkingInfo.getStartYear()<=DateUtil.year(new Date())){ if(parkingInfo.getEndYear()>=DateUtil.year(new Date())){ //取固定节假日配置 List listParkingTime = parkingTimeService.list(new QueryWrapper().eq("park_id", parkingInfo.getId()).eq("is_custom",false).eq("del_flag",false)); for(ParkingTime parkingTime:listParkingTime){ TimeSet timeSet =timeSetService.getById(parkingTime.getSetId()); if(timeSet.getTsFlag()){ //是周6和周日 System.out.println("周6和周日"); List list =Date67(); for(String ds:list){ System.out.println("周6和周日:"+ds); } listAll.addAll(list); }else{ StringBuilder sbStartStr = new StringBuilder(); StringBuilder sbEndStr = new StringBuilder(); sbStartStr.append(Integer.toString(DateUtil.year(new Date()))).append("-") .append(DateUtil.format(timeSet.getStartTime(), "MM-dd")); sbEndStr.append(Integer.toString(DateUtil.year(new Date()))).append("-") .append(DateUtil.format(timeSet.getEndTime(), "MM-dd")); System.out.println("------:"+sbStartStr.toString()); System.out.println("------:"+sbEndStr.toString()); List list =getDatesBetween(sbStartStr.toString(),sbEndStr.toString()); for(String ds:list){ System.out.println("节假日:"+ds); } if(list!=null&&list.size()>0){ listAll.addAll(list); } } } //取自定义时间配置 List listParkingTimeSingle = parkingTimeService.list(new QueryWrapper().eq("park_id", parkingInfo.getId()).eq("is_custom",true).eq("del_flag",false)); for(ParkingTime parkingTime:listParkingTimeSingle){ if(parkingTime.getStartTime()!=null&&parkingTime.getEndTime()!=null){ DateUtil.parse("1","yyyy-MM-dd"); String stratTime =DateUtil.format(parkingTime.getStartTime(), "yyyy-MM-dd"); System.out.println("kais时间:"+stratTime); List list =getDatesBetween(DateUtil.format(parkingTime.getStartTime(), "yyyy-MM-dd"),DateUtil.format(parkingTime.getEndTime(), "yyyy-MM-dd")); for(String ds:list){ System.out.println("自定义时间:"+ds); } if(list!=null&&list.size()>0){ listAll.addAll(list); } } } } } } for(String str:listAll){ System.out.println("-----所有免费入场时间为:"+str); } if(listAll.contains(strEnterDate)){ System.out.println("------免费入场"); }else{ System.out.println("------禁止入场"); } } @Test void testTimeSet() throws Exception { ParkingInfo parkingInfo = parkingInfoService.getById("1"); parkingInfo.setStarTimeFlag(true); parkingInfo.setStartYear(2023); parkingInfo.setEndYear(2024); parkingInfoService.update(parkingInfo); // List list=timeSetService.list(); // // System.out.println(list.size()); // // ParkingTime parkingTime = new ParkingTime(); // parkingTime.setParkId("1"); // parkingTime.setStartTime(new Date()); // parkingTime.setEndTime(new Date()); // parkingTimeService.save(parkingTime); } /** * 1.模板数据整理 * 2.清除2个表的记录,执行导入程序 * 3.2个表数据迁移到正式环境 * @throws Exception */ @Test void testCarImport() throws Exception { //设置导入参数 ImportParams importParams = new ImportParams(); importParams.setTitleRows(0); //标题占1行,默认0 importParams.setHeadRows(1); //表头占1行,默认1 File file = new File("F:\\文档\\51联盟停车系统\\1车牌号导入模版\\车牌.xlsx"); List List = ExcelImportUtil.importExcel(file,CarDTO.class,importParams); for(CarDTO carDTO:List){ ParkingMember parkingMember = new ParkingMember(); parkingMember.setParkId("12d332ab-fc02-45f7-81f0-62997d462380"); parkingMember.setMemberName(carDTO.getName()); parkingMember.setMemberPhone(carDTO.getPhone()); parkingMember.setMemberCarNum(carDTO.getNum()); parkingMember.setMemberStartTime(new Date()); parkingMember.setMemberEndTime(DateUtil.offsetDay(new Date(),365)); parkingMember.setDelFlag(false); parkingMember.setCreateBy("b9bb22a1-8424-40d1-9cf5-52d08035ab84"); parkingMember.setCreateTime(new Date()); parkingMember.setCloudDelFlag(false); parkingMember.setMemberType(1); //parkingMemberService.save(parkingMember); AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setParkingUname(parkingMember.getParkId()); addParkingMember.setMemberName(parkingMember.getMemberName()); addParkingMember.setMemberPhone(parkingMember.getMemberPhone()); addParkingMember.setCarNum(parkingMember.getMemberCarNum()); addParkingMember.setMemberStartTime(parkingMember.getMemberStartTime()); addParkingMember.setMemberEndTime(parkingMember.getMemberEndTime()); addParkingMember.setMemberType(1); parkingMemberService.addParkingMember(addParkingMember, true, "72dc480e-6816-4be3-918d-da2436f39627"); } } @Test void testCarImport2() throws Exception { //设置导入参数 ImportParams importParams = new ImportParams(); importParams.setTitleRows(0); //标题占1行,默认0 importParams.setHeadRows(1); //表头占1行,默认1 File file = new File("F:\\文档\\51联盟停车系统\\1车牌号导入模版\\车牌2.xlsx"); List List = ExcelImportUtil.importExcel(file,CarDTO2.class,importParams); for(CarDTO2 carDTO2:List){ ParkingMember parkingMember = new ParkingMember(); parkingMember.setParkId("727289c5-5d02-4f5c-b711-a8e3b6bc5dd0"); parkingMember.setMemberName(carDTO2.getName()); parkingMember.setMemberPhone(carDTO2.getPhone()); parkingMember.setMemberCarNum(carDTO2.getNum()); parkingMember.setMemberStartTime(DateUtil.parse(carDTO2.getStartTime(),"yyyy-MM-dd HH:mm:ss")); parkingMember.setMemberEndTime(DateUtil.parse(carDTO2.getEndTime(),"yyyy-MM-dd HH:mm:ss")); parkingMember.setDelFlag(false); parkingMember.setCreateBy("b9bb22a1-8424-40d1-9cf5-52d08035ab84"); parkingMember.setCreateTime(new Date()); parkingMember.setCloudDelFlag(false); parkingMember.setMemberType(1); //parkingMemberService.save(parkingMember); AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setParkingUname(parkingMember.getParkId()); addParkingMember.setMemberName(parkingMember.getMemberName()); addParkingMember.setMemberPhone(parkingMember.getMemberPhone()); addParkingMember.setCarNum(parkingMember.getMemberCarNum()); addParkingMember.setMemberStartTime(parkingMember.getMemberStartTime()); addParkingMember.setMemberEndTime(parkingMember.getMemberEndTime()); addParkingMember.setMemberType(1); parkingMemberService.addParkingMember(addParkingMember, true, "72dc480e-6816-4be3-918d-da2436f39627"); } } @Test void test123() throws Exception { ParkingRecord parkingRecord = parkingRecordService.getById("1686769417542746114"); if(parkingRecord.getInParkingTime().after(parkingRecord.getOutParkingTime())){ throw new Exception("会员时间段设置不对"); } QueryWrapper parkingMemberQueryWrapper = new QueryWrapper<>(); parkingMemberQueryWrapper.eq("member_car_num", "鄂111DDT9443"); parkingMemberQueryWrapper.eq("park_id", "5f8d343e-63d1-4ef0-9844-855ca020d92b"); parkingMemberQueryWrapper.eq("cloud_del_flag", false); parkingMemberQueryWrapper.orderByDesc("create_time"); parkingMemberQueryWrapper.last("LIMIT 1"); ParkingBetweenMember parkingBetweenMember = parkingBetweenMemberService.getOne(parkingMemberQueryWrapper); if(parkingBetweenMember!=null){ String temStartDate01=DateUtil.format(parkingRecord.getInParkingTime(), "yyyy-MM-dd HH:mm:ss");//停车进出场时间区间 String temStartDate02=DateUtil.format(parkingRecord.getOutParkingTime(), "yyyy-MM-dd HH:mm:ss"); String temStartDate1=DateUtil.format( parkingBetweenMember.getMemberStartTime(), "yyyy-MM-dd")+" 00:00:00";//会员开始结束时间区间 String temStartDate2=DateUtil.format( parkingBetweenMember.getMemberEndTime(), "yyyy-MM-dd")+" 23:59:59"; String startT=parkingBetweenMember.getBtStartTime();//免费开始时间点 String endT=parkingBetweenMember.getBtEndTime();//免费结束时间点 long decTimeMins= BetweenTimeUtil.getDecTimeMins(temStartDate01,temStartDate02,temStartDate1,temStartDate2,startT,endT); System.out.println("结果:"+decTimeMins); System.out.println("---parkingBetweenMember:---"+parkingBetweenMember); } } @Test void testJTWYComputerTime() throws Exception { ParkingRecord parkingRecord = parkingRecordService.getById("1701489017382604801"); Integer time =parkingRecordService.getParkingTime(parkingRecord); System.out.println("--time:--"+time); } // @Test // void shopDeal() throws Exception { // ParkingRecord parkingRecord = parkingRecordService.getById("1686769417542746114"); // String temDate333 = DateUtil.format(parkingRecord.getOutParkingTime(), "HH:mm:ss"); // System.out.println(temDate333); // System.out.println(parkingRecord); // long parkingTimeLong = DateUtil.between(parkingRecord.getInParkingTime(), parkingRecord.getOutParkingTime(), DateUnit.MINUTE); // ParkingMember parkingMember= parkingMemberService.getById("035e1761-034b-11ed-b47c-0242ac120004"); // // System.out.println(parkingMember); // System.out.println( new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); // // long dayLong =DateUtil.betweenDay(parkingRecord.getInParkingTime(), parkingRecord.getOutParkingTime(),true); // dayLong =dayLong+1; // System.out.println("天数:"+dayLong); // // // if(parkingMember.getMemberType()==2){ //// String temDate1 = DateUtil.format(parkingMember.getMemberStartTime(), "yyyy-MM-dd"); //// String temStartDate1 = temDate1 + " "+ parkingMember.getBtStartTime(); //// //// String temDate2 = DateUtil.format(parkingMember.getMemberEndTime(), "yyyy-MM-dd"); //// String temStartDate2 = temDate2 + " "+parkingMember.getBtEndTime(); // Date startTime= DateUtil.parse(temStartDate1); // Date endTime= DateUtil.parse(temStartDate2); // System.out.println(startTime); // System.out.println(endTime); // //要判断区间 // if(parkingMember.getMemberStartTime().compareTo(parkingRecord.getInParkingTime())>=0){ // //要减去区间的时间段 // if(parkingMember.getMemberEndTime().compareTo(parkingRecord.getOutParkingTime())>=0){ // //要减去区间的时间段 // long hourLong =DateUtil.between(startTime, endTime,HOUR); // System.out.println("小时:"+hourLong); // System.out.println("111"); // } // // } // if(parkingMember.getMemberStartTime().compareTo(parkingRecord.getInParkingTime())<0){ // // long hourLong =DateUtil.between(startTime, endTime,HOUR); // System.out.println("小时:"+hourLong); // long minLong= dayLong*hourLong*60; // System.out.println("分钟:"+minLong); // System.out.println("111"); // } // } //// long start = System.currentTimeMillis(); //// log.warn("设备轮询开始时间:{}", DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")); //// String carNumber="鄂AT27M1"; //// ParkingShop parkingShop = parkingShopService.getById("1590242398638243842"); //// System.out.println(parkingShop); //// String inTime = parkingShopService.getInTime(carNumber, parkingShop); //// System.out.println(inTime); //// //// String memberTime = DateUtil.format(DateUtil.offsetDay(DateUtil.parse(inTime), 1), "yyyy-MM-dd") + " " + parkingShop.getMemberLeaveTime() + ":00"; //// String days = String.valueOf(DateUtil.betweenDay(DateUtil.parse(inTime, "yyyy-MM-dd"), DateUtil.parse(memberTime, "yyyy-MM-dd"), false)); //// System.out.println(memberTime); System.out.println(days); //// long end = System.currentTimeMillis(); //// log.warn("设备轮询结束时间:{}", DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")); //// log.warn("设备轮询耗时:{}", end-start); // } @Test void me2() throws Exception { String memberId=""; String parkId="1"; String license="鄂DD10888"; parkingMemberService.cloudDeleteTemporary(memberId,parkId,license,"进场发现临时会员的结束时间比当前进场时间小删除"); System.out.println("1111111"); // String memberName="汉口银行"; // Map searchParams = new HashMap<>(); // if (StringUtils.isNotEmpty(memberName)) { // searchParams.put("memberName", "%" + memberName + "%"); // } // List sortList = new ArrayList<>(); // sortList.add(new Sort("a.create_time", "desc")); // int pageIndex=1; // int pageSize=20; // Page page = parkingMemberService.pageSearch(searchParams, pageIndex, pageSize, sortList); // // // // ParkingMember pm= parkingMemberService.getById("1684016687147438081"); // pm.setUpdateTime(new Date()); // pm.setDelFlag(true); // parkingMemberService.updateById(pm); // QueryWrapper queryWrapper1 = new QueryWrapper(); // queryWrapper1.eq("car_num", "鄂DDT9329"); // queryWrapper1.eq("park_id", "1"); // queryWrapper1.eq("release_status", "0");//未出场 // List parkingRecordList =parkingRecordService.list(queryWrapper1); // // //add hbjzws 2023-5-23删除进场前未出场的记录 // if (parkingRecordList.size() > 0) { // for (ParkingRecord parkingRecord1 : parkingRecordList) { // parkingRecord1.setReleaseStatus("1"); // parkingRecord1.setUpdateTime(new Date()); // parkingRecord1.setDelFlag(true); // parkingRecordService.updateById(parkingRecord1); // parkingRecordMapper.updateDel(parkingRecord1.getId()); // // // } // } // // ParkingMember pm= parkingMemberService.getById("1684016687147438081"); // int h= Convert.toInt(DateUtil.between(pm.getMemberStartTime(), pm.getMemberEndTime(), DateUnit.HOUR)); // if(h>=48){ // System.out.println("删除"); // } // QueryWrapper parkingMemberQueryWrapper = new QueryWrapper<>(); // parkingMemberQueryWrapper.eq("park_id","a3eebab8-85f1-475a-a30a-eb96b4c89f52"); // List parkingMemberList = parkingMemberService.list(parkingMemberQueryWrapper); // // for(ParkingMember pm:parkingMemberList){ // // parkingWhiteService.addWhiteList(pm.getParkId(), pm.getMemberCarNum(), pm.getMemberStartTime(), pm.getMemberEndTime()); // } // System.out.println(parkingMemberList.size()); } @Test void me() throws Exception { List list = new ArrayList<>(); for(int i=0;i<120;i++){ AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setParkingUname("a3eebab8-85f1-475a-a30a-eb96b4c89f52"); addParkingMember.setMemberName("居委会"); addParkingMember.setMemberPhone("15672408899"); addParkingMember.setCarNum("鄂D9T168"+i); addParkingMember.setMemberStartTime(DateUtil.parse("2023-07-14 00:00:00","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberEndTime(DateUtil.parse("2024-07-14 00:00:00","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberType(1); parkingMemberService.addParkingMember(addParkingMember, true, "72dc480e-6816-4be3-918d-da2436f39627"); } } @Test void contextLoads51333() throws Exception { Map searchParms = new HashMap<>(); List sortList = new ArrayList<>(); sortList.add(new Sort("a.create_time","asc")); Page page = userService.pageSearch(searchParms,1,100,sortList); System.out.println(page); AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setCarNum("鄂DD91187"); addParkingMember.setParkingUname("5f8d343e-63d1-4ef0-9844-855ca020d92b"); addParkingMember.setMemberStartTime(DateUtil.parse("2023-07-01 18:43:10","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberEndTime(DateUtil.parse("2023-07-01 19:54:10","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberMin(71); addParkingMember.setMemberType(0); addParkingMember.setGunType(1); parkingMemberService.addParkingMember(addParkingMember,false,null); } @Test void contextLoads51222() throws Exception { AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setCarNum("鄂DD37357"); addParkingMember.setParkingUname("1"); addParkingMember.setMemberStartTime(DateUtil.parse("2023-07-01 23:06:46","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberEndTime(null); addParkingMember.setMemberMin(53); addParkingMember.setMemberType(0); addParkingMember.setGunType(1); parkingMemberService.addParkingMember(addParkingMember,false,null); } @Test void contextLoads51() throws Exception { AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setCarNum("鄂DD37357"); addParkingMember.setParkingUname("1"); addParkingMember.setMemberStartTime(DateUtil.parse("2023-06-19 21:17:12","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberEndTime(DateUtil.parse("2023-06-19 22:42:23","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberMin(Convert.toInt(DateUtil.between(addParkingMember.getMemberEndTime(), addParkingMember.getMemberStartTime(), DateUnit.MINUTE))); addParkingMember.setGunType(1); parkingMemberService.addParkingMember(addParkingMember,false,null); } @Test void contextLoads51111() throws Exception { AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setCarNum("鄂DD70315"); addParkingMember.setParkingUname("1"); addParkingMember.setMemberStartTime(DateUtil.parse("2023-06-19 23:17:12","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberEndTime(DateUtil.parse("2023-06-20 06:42:23","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberMin(Convert.toInt(DateUtil.between(addParkingMember.getMemberEndTime(), addParkingMember.getMemberStartTime(), DateUnit.MINUTE))); addParkingMember.setGunType(2); parkingMemberService.addParkingMember(addParkingMember,false,null); } @Test void contextLoads512() throws Exception { AddParkingMember addParkingMember = new AddParkingMember(); addParkingMember.setCarNum("鄂DD70315"); addParkingMember.setParkingUname("1"); addParkingMember.setMemberStartTime(DateUtil.parse("2023-06-19 23:05:11","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberEndTime(DateUtil.parse("2023-06-20 03:38:31","yyyy-MM-dd HH:mm:ss")); addParkingMember.setMemberMin(Convert.toInt(DateUtil.between(addParkingMember.getMemberEndTime(), addParkingMember.getMemberStartTime(), DateUnit.MINUTE))); parkingMemberService.addParkingMember(addParkingMember,false,null); } @Test void contextLoadsTime2() { //区间内 String temDate0 = "2023-06-28 23:05:00"; String temStartDate0 = "2023-06-28 23:00:00"; String temEndDate1 = "2023-06-29 07:00:00"; String temDate1 = "2023-06-29 06:00:00"; System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))>0); System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))<=0); } @Test void contextLoadsTime4() { //半区间1(前处理) String temDate0 = "2023-06-28 22:05:00"; String temStartDate0 = "2023-06-28 23:00:00"; String temEndDate1 = "2023-06-29 07:00:00"; String temDate1 = "2023-06-29 06:00:00"; System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))<=0); System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))<=0); } @Test void contextLoadsTime3() { //半区间1(后处理) String temDate0 = "2023-06-28 23:05:00"; String temStartDate0 = "2023-06-28 23:00:00"; String temEndDate1 = "2023-06-29 07:00:00"; String temDate1 = "2023-06-29 09:00:00"; System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))>0); System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))>0); } @Test void contextLoadsTime1() { //区间外 String temDate0 = "2023-06-28 05:05:00"; String temStartDate0 = "2023-06-28 23:00:00"; String temEndDate1 = "2023-06-29 07:00:00"; String temDate1 = "2023-06-29 08:00:00"; System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))<=0); System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))>0); } @Test void contextLoadsRecord() { // JSONObject jsonObject = new JSONObject(); // jsonObject.put("info", ParkingConstant.OK); // jsonObject.put("info", ""); // System.out.println(jsonObject.toJSONString()); try { //鄂A2F922 进出场1分钟内 ParkingRecord parkingRecord = parkingRecordService.getById("1668844532803878914"); Date inParkingTime =parkingRecord.getInParkingTime(); Date outParkingTime =parkingRecord.getOutParkingTime(); Date date = DateUtil.offsetMinute(outParkingTime, -1); if(date.compareTo(inParkingTime)<0){ if("1".equals(parkingRecord.getReleaseStatus())){ parkingRecord.setOutParkingTime(null); parkingRecord.setReleaseStatus("0");//------ parkingRecordService.updateById(parkingRecord); } } System.out.println(parkingRecord); } catch (Exception ex) { } } @Test void contextLoadsFee2() { try { ParkingRecord parkingRecord0 = parkingRecordService.getById("1657052359020298242"); Date outParkingTime =parkingRecord0.getOutParkingTime(); long parkingTimeLong = DateUtil.between(parkingRecord0.getInParkingTime(), outParkingTime, DateUnit.MINUTE); //add by hbjzws 2023-06-28 增加对出场跟入场匹配过长的问题 int maxTTime =24*60*7; if(Convert.toInt(parkingTimeLong)>maxTTime){ Date orgInTime =parkingRecord0.getInParkingTime(); parkingRecord0.setInParkingTime(DateUtil.offsetMinute(outParkingTime,-maxTTime)); log.warn(StrUtil.format("停车记录时间过长,存在进场与出场记录不匹配的问题,原先进场时间为:{},修改后的进场时间为{}",DateUtil.format(orgInTime,"yyyy-MM-dd HH:mm:ss"),DateUtil.format(parkingRecord0.getInParkingTime(),"yyyy-MM-dd HH:mm:ss"))); } ParkingCostDTO parkingCostDTO = null; //parkingFeeService.parkingCost2(parkingRecord0); System.out.println(parkingCostDTO); BigDecimal parkingCost = parkingCostDTO.getNeedAmount(); parkingRecord0.setTotalAmount(parkingCost); parkingRecordService.updateById(parkingRecord0); /* QueryWrapper parkingMemberQueryWrapper = new QueryWrapper<>(); parkingMemberQueryWrapper.eq("member_car_num", parkingRecord.getCarNum()); parkingMemberQueryWrapper.eq("park_id", parkingRecord.getParkId()); parkingMemberQueryWrapper.eq("cloud_del_flag", false); parkingMemberQueryWrapper.orderByDesc("create_time"); parkingMemberQueryWrapper.last("LIMIT 1"); ParkingMember parkingMember = parkingMemberService.getOne(parkingMemberQueryWrapper); System.out.println(parkingMember);*/ } catch (Exception ex) { } } @Test void contextLoads1111111111111111111111111111() { //111111111111111111111111 try { // // if (DateUtil.parse("2024-03-27 06:29:09").compareTo(DateUtil.offsetSecond(DateUtil.parse("2024-03-27 06:08:22"), -30)) < 0) { // // System.out.println("1111111111111111"); // } //1771830983861047298 鄂DD26100 荆州院子 136分钟 实际9元 应该收费3元 没有充电---------新能源车 //1769951488673681409 鄂DD26H6 御河 442分钟-7小时22分钟 实际收费16元 ----------------- 汽油车 //鄂DD77599 御河社区停车场 1769664940010999810 //2024-03-18 22:41:36 //4小时37分钟 //2024-03-18 18:19:31 //2024-03-18 22:41:38 //4 //1778256096084987905 //1778720139514056706 ParkingRecord parkingRecord = parkingRecordService.getById("9932953660705812481"); // Integer times=parkingRecordService.getParkingTime2new(parkingRecord); // System.out.println("停车时长为:"+times); ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2(parkingRecord); // ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2new(parkingRecord); System.out.println(parkingCostDTO); /* QueryWrapper parkingMemberQueryWrapper = new QueryWrapper<>(); parkingMemberQueryWrapper.eq("member_car_num", parkingRecord.getCarNum()); parkingMemberQueryWrapper.eq("park_id", parkingRecord.getParkId()); parkingMemberQueryWrapper.eq("cloud_del_flag", false); parkingMemberQueryWrapper.orderByDesc("create_time"); parkingMemberQueryWrapper.last("LIMIT 1"); ParkingMember parkingMember = parkingMemberService.getOne(parkingMemberQueryWrapper); System.out.println(parkingMember);*/ } catch (Exception ex) { } } @Test void testMember() { // ParkingInfo parkingInfo = parkingInfoService.getById("1"); // parkingInfo.setMaxInToOutTime(48); // parkingInfoService.updateById(parkingInfo); // System.out.println(parkingInfo); // ParkingChannel parkingChannel =parkingChannelService.getById(1597417780772667394l); ParkingChannel parkingChannel =parkingChannelService.getById(1768525109646168066l); try { ParkingEnableVo parkingEnableVo = parkingMemberService.parkingMemberStatus("鄂D9758J", parkingChannel); System.out.println("开启状态:"+parkingEnableVo.getOpen()); System.out.println("content:"+parkingEnableVo.getContent()); } catch (Exception e) { e.printStackTrace(); } } @Test public void testVoice(){ try{ SerialData serialData = parkingChannelVoiceService.broadcast("1"); System.out.println(serialData.toString()); }catch (Exception ex){ } } @Test void testUtil() { try { DateTime d = DateUtil.beginOfDay(new Date()); int daysInt = Convert.toInt(d); System.out.println(daysInt); } catch (Exception ex) { log.error(ex.getMessage(),ex); } } @Test void testProfitVo() { try { ParkingPay parkingPay = parkingPayService.getById("1537694217050058754"); ProfitVo profitVo = parkingPayProfitService.getProfitVo(parkingPay,BigDecimal.ZERO); System.out.println(profitVo.toString()); } catch (Exception ex) { log.error(ex.getMessage(),ex); } } @Test void testGetParkingCost() { try { ParkingRecord parkingRecord = parkingRecordService.getById("1541977896875294744"); // ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2(parkingRecord); // System.out.println(parkingCostDTO.toString()); } catch (Exception ex) { log.error(ex.getMessage(),ex); } } @Test public void testGetParkingTime(){ try{ ParkingRecord parkingRecord = parkingRecordService.getById("1545572965602619394"); int time = parkingRecordService.getParkingTime(parkingRecord); //ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2(parkingRecord); System.out.println("停车时间:"+time); //System.out.println("费用:"+parkingCostDTO.getNeedAmount()); }catch (Exception ex){ } } @Test void testChannelHandle(){ try{ ParkingChannel parkingChannel = parkingChannelService.getById("1541977896875294744"); Map map = parkingChannelService.channelHandle(parkingChannel); log.warn(map.toString()); }catch (Exception ex){ } } @Test void testGetParkDetail(){ try{ ParkingDetailDTO parkingDetailDTO = parkingRecordService.getParkDetail("3"); System.out.println(parkingDetailDTO.toString()); }catch (Exception ex){ log.error(ex.getMessage(),ex); } } @Test public void testPlateRecord(){ try{ AlarmInfoPlate alarmInfoPlate = new AlarmInfoPlate(); alarmInfoPlate.setSerialno("89bc86da-a4357bee"); Result result = new Result(); PlateResult plateResult = new PlateResult(); TimeStamp timeStamp = new TimeStamp(); Timeval timeval = new Timeval(); timeval.setDecyear(2022); timeval.setDecmon(11); timeval.setDecday(14); timeval.setDechour(14); timeval.setDecmin(30); timeval.setDecsec(00); timeStamp.setTimeval(timeval); plateResult.setTimeStamp(timeStamp); plateResult.setLicense("鄂DD12345"); plateResult.setPlateid(1); plateResult.setType(10); plateResult.setTriggerType(10); result.setPlateResult(plateResult); alarmInfoPlate.setResult(result); parkingRecordService.plateRecord(alarmInfoPlate); }catch (Exception ex){ log.error(ex.getMessage(),ex); } } }