ChargingParkingApplicationTests.java 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. package com.charging.chargingparking;
  2. import cn.afterturn.easypoi.excel.ExcelImportUtil;
  3. import cn.afterturn.easypoi.excel.annotation.Excel;
  4. import cn.afterturn.easypoi.excel.entity.ImportParams;
  5. import cn.hutool.core.convert.Convert;
  6. import cn.hutool.core.date.*;
  7. import cn.hutool.core.io.resource.ClassPathResource;
  8. import cn.hutool.core.lang.Assert;
  9. import cn.hutool.core.util.NumberUtil;
  10. import cn.hutool.core.util.StrUtil;
  11. import com.alibaba.fastjson.JSONObject;
  12. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  13. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  14. import com.baomidou.mybatisplus.core.metadata.IPage;
  15. import com.charging.chargingparking.config.ParkingConfig;
  16. import com.charging.chargingparking.constant.ParkingConstant;
  17. import com.charging.chargingparking.dto.*;
  18. import com.charging.chargingparking.entity.*;
  19. import com.charging.chargingparking.mapper.ParkingPayMapper;
  20. import com.charging.chargingparking.mapper.ParkingRecordMapper;
  21. import com.charging.chargingparking.modules.backController.ParkingMemberInfoController;
  22. import com.charging.chargingparking.modules.common.dto.Sort;
  23. import com.charging.chargingparking.modules.vo.ParkingEnableVo;
  24. import com.charging.chargingparking.modules.vo.ProfitVo;
  25. import com.charging.chargingparking.modules.vo.TemporaryVo;
  26. import com.charging.chargingparking.service.*;
  27. import com.charging.chargingparking.sys.entity.User;
  28. import com.charging.chargingparking.sys.service.UserService;
  29. import com.charging.chargingparking.utils.BetweenTimeUtil;
  30. import com.charging.chargingparking.utils.StringUtils;
  31. import com.github.pagehelper.Page;
  32. import com.sun.org.apache.xpath.internal.operations.Bool;
  33. import lombok.Data;
  34. import lombok.extern.slf4j.Slf4j;
  35. import org.junit.jupiter.api.Test;
  36. import org.springframework.beans.factory.annotation.Autowired;
  37. import org.springframework.boot.test.context.SpringBootTest;
  38. import org.springframework.data.redis.core.ValueOperations;
  39. import java.io.File;
  40. import java.io.Serializable;
  41. import java.math.BigDecimal;
  42. import java.math.RoundingMode;
  43. import java.text.SimpleDateFormat;
  44. import java.util.*;
  45. import java.util.concurrent.TimeUnit;
  46. import java.util.function.Supplier;
  47. import java.util.stream.Collectors;
  48. import static cn.hutool.core.date.DateUnit.HOUR;
  49. @SpringBootTest
  50. @Slf4j
  51. class ChargingParkingApplicationTests {
  52. @Autowired
  53. private ValueOperations<String, Object> valueOperations;
  54. @Autowired
  55. private StringUtils stringUtils;
  56. @Autowired
  57. private ParkingInfoService parkingInfoService;
  58. @Autowired
  59. private ParkingConfig parkingConfig;
  60. @Autowired
  61. private ParkingChannelService parkingChannelService;
  62. @Autowired
  63. private ParkingPayProfitService parkingPayProfitService;
  64. @Autowired
  65. private ParkingPayService parkingPayService;
  66. @Autowired
  67. private ParkingRecordService parkingRecordService;
  68. @Autowired
  69. private ParkingRecordMapper parkingRecordMapper;
  70. @Autowired
  71. private ParkingFeeService parkingFeeService;
  72. @Autowired
  73. private ParkingMemberService parkingMemberService;
  74. @Autowired
  75. private ParkingWhiteService parkingWhiteService;
  76. @Autowired
  77. private ParkingPayMapper parkingPayMapper;
  78. @Autowired
  79. private ParkingChannelVoiceService parkingChannelVoiceService;
  80. @Autowired
  81. private UserService userService;
  82. @Autowired
  83. private ParkingShopService parkingShopService;
  84. @Autowired
  85. private ParkingBetweenMemberService parkingBetweenMemberService;
  86. @Autowired
  87. private ParkingTimeService parkingTimeService;
  88. @Autowired
  89. private TimeSetService timeSetService;
  90. @Autowired
  91. private EcCouponService ecCouponService;
  92. @Autowired
  93. private ParkingAreaService parkingAreaService;
  94. @Test
  95. void testService() throws Exception {
  96. // ParkingArea parkingArea = new ParkingArea();
  97. // parkingArea.setArea("1");
  98. // parkingArea.setAreaName("121");
  99. // parkingArea.setParkId("11111");
  100. // parkingArea.setSurplusParkingNumber(10);
  101. // parkingArea.setTotalParkingNumber(100);
  102. // parkingArea.setCreateBy("admin");
  103. // parkingArea.setCreateTime(new Date());
  104. // parkingArea.setUpdateBy("updater");
  105. // parkingArea.setUpdateTime(new Date());
  106. // parkingAreaService.save(parkingArea);
  107. // ParkingArea parkingAreaBG = parkingAreaService.getById(1931167050676056066l);
  108. // parkingAreaBG.setSurplusParkingNumber(9);
  109. // parkingAreaBG.setUpdateTime(new Date());
  110. // parkingAreaService.updateById(parkingAreaBG);
  111. QueryWrapper<ParkingArea> parkingAreaQueryWrapper = new QueryWrapper<>();
  112. parkingAreaQueryWrapper.eq("park_id", "1");
  113. parkingAreaQueryWrapper.eq("area_", "1");
  114. parkingAreaQueryWrapper.last("LIMIT 1");
  115. ParkingArea parkingArea =parkingAreaService.getOne(parkingAreaQueryWrapper);
  116. parkingArea.setSurplusParkingNumber(parkingArea.getSurplusParkingNumber()-1);
  117. if(parkingArea.getSurplusParkingNumber()<1){
  118. parkingArea.setSurplusParkingNumber(1);
  119. }
  120. parkingAreaService.updateById(parkingArea);
  121. //temporaryCarNumInPark
  122. // TemporaryVo temporaryVo = new TemporaryVo();
  123. // temporaryVo.setOpenId("oSruR6X9d6KRfkxT5HJH-lgl1ClY");
  124. // temporaryVo.setChannelId("1699950640833335297");
  125. // temporaryVo.setId("1865260254398353410");
  126. // log.warn(temporaryVo.getOpenId()+"---"+temporaryVo.getChannelId()+"----"+temporaryVo.getCompanyId()+"---"+temporaryVo.getId()+"---"+temporaryVo.getParkId());
  127. ////oSruR6X9d6KRfkxT5HJH-lgl1ClY---1699950640833335297----null---1865260254398353410---null
  128. // parkingRecordService.temporaryCarNumInPark(temporaryVo);
  129. // ParkingInfo parkingInfo =parkingInfoService.get("1");
  130. // ParkingChannel parkingChannel =parkingChannelService.getById(1699950640833335297l);
  131. // String license ="鄂DAC066";
  132. // String dataStr ="2024-10-09 09:35:07";
  133. // if("1".equals(parkingInfo.getId())&&parkingChannel.getChannelName().contains("公寓楼入口")){
  134. // QueryWrapper<ParkingRecord> parkingRecordQueryWrapper1Outer = new QueryWrapper<>();
  135. // parkingRecordQueryWrapper1Outer.eq("park_id", parkingChannel.getParkId());
  136. // parkingRecordQueryWrapper1Outer.eq("car_num", license);
  137. // parkingRecordQueryWrapper1Outer.gt("out_parking_time", DateUtil.offsetMinute(DateUtil.parse(dataStr), -2));
  138. // parkingRecordQueryWrapper1Outer.eq("release_status", "1");
  139. // parkingRecordQueryWrapper1Outer.last("LIMIT 1");
  140. // ParkingRecord parkingRecord1Outer =parkingRecordService.getOne(parkingRecordQueryWrapper1Outer);
  141. // if (parkingRecord1Outer != null) {
  142. // throw new Exception(StrUtil.format("进口道闸异常数据-出场后再在2分钟内进场,道闸:{},车牌:{},记录:{}", parkingChannel.getChannelName(), license, parkingRecord1Outer.getId()));
  143. // }
  144. // }
  145. // QueryWrapper<ParkingRecord> parkingRecordQueryWrapper01 = new QueryWrapper<>();
  146. // parkingRecordQueryWrapper01.eq("park_id", "1");
  147. // parkingRecordQueryWrapper01.eq("car_num", "鄂DAC066");
  148. // parkingRecordQueryWrapper01.ne("release_status", "-1");
  149. // parkingRecordQueryWrapper01.ne("release_status", "2");
  150. // parkingRecordQueryWrapper01.orderByDesc("create_time");
  151. // parkingRecordQueryWrapper01.last("LIMIT 1");
  152. // ParkingRecord parkingRecord01 = parkingRecordService.getOne(parkingRecordQueryWrapper01);
  153. //
  154. // if (parkingRecord01 != null) {
  155. // Date time = null;
  156. // //出场后两分钟内不可再次进场
  157. // if (parkingRecord01.getOutParkingTime() != null) {
  158. // time = parkingRecord01.getOutParkingTime();
  159. // }
  160. // if (time != null) {
  161. // //设备传递的时间
  162. // Date recordTime = DateUtil.parse("2024-10-09 11:51:23");
  163. //
  164. // int min = 10000;
  165. // if ("公寓出口".equals(parkingChannel.getChannelName())) {
  166. // min = -2;
  167. // }
  168. //
  169. // Date date = DateUtil.offsetMinute(recordTime, min);
  170. //
  171. // if (time.compareTo(date) >= 0) {
  172. // throw new Exception(StrUtil.format("2分钟内对同一车牌处理1次:{}", "鄂DAC066"));
  173. // }
  174. // }
  175. // }
  176. // QueryWrapper<ParkingRecord> parkingRecordQueryWrapper = new QueryWrapper<>();
  177. // parkingRecordQueryWrapper.lt("create_time",DateUtil.offsetDay(new Date(),-30));
  178. // parkingRecordQueryWrapper.eq("release_status","0");
  179. // List<ParkingRecord> parkingRecordList = parkingRecordService.list(parkingRecordQueryWrapper);
  180. // if (parkingRecordList.size()>0){
  181. // for (ParkingRecord parkingRecord : parkingRecordList){
  182. // System.out.println("---"+parkingRecord.getCreateTime());
  183. // parkingRecord.setReleaseStatus("1");
  184. // parkingRecord.setDelFlag(true);
  185. // parkingRecord.setUpdateBy("system");
  186. // parkingRecord.setUpdateTime(new Date());
  187. // parkingRecord.setRemark(parkingRecord.getRemark()+"系统清理离场");
  188. // parkingRecordService.updateById(parkingRecord);
  189. // }
  190. // }
  191. // EcCoupon ecCoupon = new EcCoupon();
  192. // ecCoupon.setCarNum("1");
  193. // ecCoupon.setParkId("2");
  194. //
  195. // ecCouponService.save(ecCoupon);
  196. // ParkingChannel parkingChannel = new ParkingChannel();
  197. // parkingChannel.setDelFlag(false);
  198. // parkingChannel.setCreateBy("1");
  199. // parkingChannel.setCreateTime(new Date());
  200. // parkingChannel.setCarNumRemark("鄂DF59895");
  201. // boolean affect = parkingChannelService.save(parkingChannel);
  202. // parkingChannel.setCarNumRemark("鄂DF59895,鄂DF99999");
  203. // parkingChannelService.updateById(parkingChannel);
  204. // ParkingChannel parkingChannel = parkingChannelService.getById(1541608391538962434l);
  205. //
  206. // String yqll="1541608391538962434";
  207. // if(yqll.equals(parkingChannel.getId())){
  208. // System.out.println("11111");
  209. // }else{
  210. // System.out.println("000000");
  211. //
  212. // }
  213. }
  214. // @Test
  215. // void testService() {
  216. // QueryWrapper<ParkingRecord> queryWrapper = new QueryWrapper<ParkingRecord>();
  217. // queryWrapper.select("sum(pay_amount) as sumAll");
  218. // queryWrapper.eq("car_num","鄂DD10888");
  219. // //queryWrapper.eq("TO_DAYS(create_time)","TO_DAYS(NOW())");
  220. // queryWrapper.apply("create_time>=DATE_FORMAT(LAST_DAY(NOW()), '%Y-%m-01')");
  221. // queryWrapper.apply("create_time<=LAST_DAY(NOW())");
  222. // ParkingRecord parkingRecord =parkingRecordService.getOne(queryWrapper);
  223. // if(parkingRecord==null){
  224. // parkingRecord.setSumAll(BigDecimal.ZERO);
  225. // }
  226. // System.out.println(parkingRecord.getSumAll());
  227. // }
  228. public static List<String> getDatesBetween(String startDateString, String endDateString) {
  229. List<DateTime> datesBetween = DateUtil.rangeToList(DateUtil.parseDate(startDateString), DateUtil.parseDate(endDateString), DateField.DAY_OF_MONTH);
  230. return datesBetween.stream()
  231. .map(p -> DateUtil.format(p, DatePattern.NORM_DATE_PATTERN))
  232. .collect(Collectors.toList());
  233. }
  234. public static List<String> Date67() {
  235. int year = DateUtil.year(new Date());
  236. List<String> dateList=new ArrayList<String>();
  237. SimpleDateFormat simdf = new SimpleDateFormat("yyyy-MM-dd");
  238. Calendar calendar = new GregorianCalendar(year, 0, 1);
  239. int i = 1;
  240. while (calendar.get(Calendar.YEAR) < year + 1) {
  241. calendar.set(Calendar.WEEK_OF_YEAR, i++);
  242. calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  243. if (calendar.get(Calendar.YEAR) == year) {
  244. System.out.println("周日:"+simdf.format(calendar.getTime()));
  245. dateList.add(simdf.format(calendar.getTime()));
  246. }
  247. calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
  248. if (calendar.get(Calendar.YEAR) == year) {
  249. System.out.println("周六:"+simdf.format(calendar.getTime()));
  250. dateList.add(simdf.format(calendar.getTime()));
  251. }
  252. }
  253. return dateList;
  254. }
  255. @Test
  256. void testTimeParkService() {
  257. String strEnterDate="2024-01-06";
  258. String parkId="836bb65f-868b-4042-acf7-dcb4c4de1f0f";
  259. Boolean ret = parkingTimeService.enterTimeStatus(strEnterDate,parkId);
  260. System.out.println(ret);
  261. }
  262. @Test
  263. void testTimePark() throws Exception {
  264. String strEnterDate="2024-01-06";
  265. List<String> listAll =new ArrayList<>();
  266. ParkingInfo parkingInfo = parkingInfoService.getById("836bb65f-868b-4042-acf7-dcb4c4de1f0f");
  267. DateUtil.year(new Date());
  268. if(parkingInfo.getStarTimeFlag()!=null&&parkingInfo.getStarTimeFlag()&&parkingInfo.getStartYear()!=null&&parkingInfo.getEndYear()!=null){
  269. if(parkingInfo.getStartYear()<=DateUtil.year(new Date())){
  270. if(parkingInfo.getEndYear()>=DateUtil.year(new Date())){
  271. //取固定节假日配置
  272. List<ParkingTime> listParkingTime = parkingTimeService.list(new QueryWrapper<ParkingTime>().eq("park_id", parkingInfo.getId()).eq("is_custom",false).eq("del_flag",false));
  273. for(ParkingTime parkingTime:listParkingTime){
  274. TimeSet timeSet =timeSetService.getById(parkingTime.getSetId());
  275. if(timeSet.getTsFlag()){
  276. //是周6和周日
  277. System.out.println("周6和周日");
  278. List<String> list =Date67();
  279. for(String ds:list){
  280. System.out.println("周6和周日:"+ds);
  281. }
  282. listAll.addAll(list);
  283. }else{
  284. StringBuilder sbStartStr = new StringBuilder();
  285. StringBuilder sbEndStr = new StringBuilder();
  286. sbStartStr.append(Integer.toString(DateUtil.year(new Date()))).append("-")
  287. .append(DateUtil.format(timeSet.getStartTime(), "MM-dd"));
  288. sbEndStr.append(Integer.toString(DateUtil.year(new Date()))).append("-")
  289. .append(DateUtil.format(timeSet.getEndTime(), "MM-dd"));
  290. System.out.println("------:"+sbStartStr.toString());
  291. System.out.println("------:"+sbEndStr.toString());
  292. List<String> list =getDatesBetween(sbStartStr.toString(),sbEndStr.toString());
  293. for(String ds:list){
  294. System.out.println("节假日:"+ds);
  295. }
  296. if(list!=null&&list.size()>0){
  297. listAll.addAll(list);
  298. }
  299. }
  300. }
  301. //取自定义时间配置
  302. List<ParkingTime> listParkingTimeSingle = parkingTimeService.list(new QueryWrapper<ParkingTime>().eq("park_id", parkingInfo.getId()).eq("is_custom",true).eq("del_flag",false));
  303. for(ParkingTime parkingTime:listParkingTimeSingle){
  304. if(parkingTime.getStartTime()!=null&&parkingTime.getEndTime()!=null){
  305. DateUtil.parse("1","yyyy-MM-dd");
  306. String stratTime =DateUtil.format(parkingTime.getStartTime(), "yyyy-MM-dd");
  307. System.out.println("kais时间:"+stratTime);
  308. List<String> list =getDatesBetween(DateUtil.format(parkingTime.getStartTime(), "yyyy-MM-dd"),DateUtil.format(parkingTime.getEndTime(), "yyyy-MM-dd"));
  309. for(String ds:list){
  310. System.out.println("自定义时间:"+ds);
  311. }
  312. if(list!=null&&list.size()>0){
  313. listAll.addAll(list);
  314. }
  315. }
  316. }
  317. }
  318. }
  319. }
  320. for(String str:listAll){
  321. System.out.println("-----所有免费入场时间为:"+str);
  322. }
  323. if(listAll.contains(strEnterDate)){
  324. System.out.println("------免费入场");
  325. }else{
  326. System.out.println("------禁止入场");
  327. }
  328. }
  329. @Test
  330. void testTimeSet() throws Exception {
  331. ParkingInfo parkingInfo = parkingInfoService.getById("1");
  332. parkingInfo.setStarTimeFlag(true);
  333. parkingInfo.setStartYear(2023);
  334. parkingInfo.setEndYear(2024);
  335. parkingInfoService.update(parkingInfo);
  336. // List<TimeSet> list=timeSetService.list();
  337. //
  338. // System.out.println(list.size());
  339. //
  340. // ParkingTime parkingTime = new ParkingTime();
  341. // parkingTime.setParkId("1");
  342. // parkingTime.setStartTime(new Date());
  343. // parkingTime.setEndTime(new Date());
  344. // parkingTimeService.save(parkingTime);
  345. }
  346. /**
  347. * 1.模板数据整理
  348. * 2.清除2个表的记录,执行导入程序
  349. * 3.2个表数据迁移到正式环境
  350. * @throws Exception
  351. */
  352. @Test
  353. void testCarImport() throws Exception {
  354. //设置导入参数
  355. ImportParams importParams = new ImportParams();
  356. importParams.setTitleRows(0); //标题占1行,默认0
  357. importParams.setHeadRows(1); //表头占1行,默认1
  358. File file = new File("F:\\文档\\51联盟停车系统\\1车牌号导入模版\\车牌.xlsx");
  359. List<CarDTO> List = ExcelImportUtil.importExcel(file,CarDTO.class,importParams);
  360. for(CarDTO carDTO:List){
  361. ParkingMember parkingMember = new ParkingMember();
  362. parkingMember.setParkId("12d332ab-fc02-45f7-81f0-62997d462380");
  363. parkingMember.setMemberName(carDTO.getName());
  364. parkingMember.setMemberPhone(carDTO.getPhone());
  365. parkingMember.setMemberCarNum(carDTO.getNum());
  366. parkingMember.setMemberStartTime(new Date());
  367. parkingMember.setMemberEndTime(DateUtil.offsetDay(new Date(),365));
  368. parkingMember.setDelFlag(false);
  369. parkingMember.setCreateBy("b9bb22a1-8424-40d1-9cf5-52d08035ab84");
  370. parkingMember.setCreateTime(new Date());
  371. parkingMember.setCloudDelFlag(false);
  372. parkingMember.setMemberType(1);
  373. //parkingMemberService.save(parkingMember);
  374. AddParkingMember addParkingMember = new AddParkingMember();
  375. addParkingMember.setParkingUname(parkingMember.getParkId());
  376. addParkingMember.setMemberName(parkingMember.getMemberName());
  377. addParkingMember.setMemberPhone(parkingMember.getMemberPhone());
  378. addParkingMember.setCarNum(parkingMember.getMemberCarNum());
  379. addParkingMember.setMemberStartTime(parkingMember.getMemberStartTime());
  380. addParkingMember.setMemberEndTime(parkingMember.getMemberEndTime());
  381. addParkingMember.setMemberType(1);
  382. parkingMemberService.addParkingMember(addParkingMember, true, "72dc480e-6816-4be3-918d-da2436f39627");
  383. }
  384. }
  385. @Test
  386. void testCarImport2() throws Exception {
  387. //设置导入参数
  388. ImportParams importParams = new ImportParams();
  389. importParams.setTitleRows(0); //标题占1行,默认0
  390. importParams.setHeadRows(1); //表头占1行,默认1
  391. File file = new File("F:\\文档\\51联盟停车系统\\1车牌号导入模版\\车牌2.xlsx");
  392. List<CarDTO2> List = ExcelImportUtil.importExcel(file,CarDTO2.class,importParams);
  393. for(CarDTO2 carDTO2:List){
  394. ParkingMember parkingMember = new ParkingMember();
  395. parkingMember.setParkId("727289c5-5d02-4f5c-b711-a8e3b6bc5dd0");
  396. parkingMember.setMemberName(carDTO2.getName());
  397. parkingMember.setMemberPhone(carDTO2.getPhone());
  398. parkingMember.setMemberCarNum(carDTO2.getNum());
  399. parkingMember.setMemberStartTime(DateUtil.parse(carDTO2.getStartTime(),"yyyy-MM-dd HH:mm:ss"));
  400. parkingMember.setMemberEndTime(DateUtil.parse(carDTO2.getEndTime(),"yyyy-MM-dd HH:mm:ss"));
  401. parkingMember.setDelFlag(false);
  402. parkingMember.setCreateBy("b9bb22a1-8424-40d1-9cf5-52d08035ab84");
  403. parkingMember.setCreateTime(new Date());
  404. parkingMember.setCloudDelFlag(false);
  405. parkingMember.setMemberType(1);
  406. //parkingMemberService.save(parkingMember);
  407. AddParkingMember addParkingMember = new AddParkingMember();
  408. addParkingMember.setParkingUname(parkingMember.getParkId());
  409. addParkingMember.setMemberName(parkingMember.getMemberName());
  410. addParkingMember.setMemberPhone(parkingMember.getMemberPhone());
  411. addParkingMember.setCarNum(parkingMember.getMemberCarNum());
  412. addParkingMember.setMemberStartTime(parkingMember.getMemberStartTime());
  413. addParkingMember.setMemberEndTime(parkingMember.getMemberEndTime());
  414. addParkingMember.setMemberType(1);
  415. parkingMemberService.addParkingMember(addParkingMember, true, "72dc480e-6816-4be3-918d-da2436f39627");
  416. }
  417. }
  418. @Test
  419. void test123() throws Exception {
  420. ParkingRecord parkingRecord = parkingRecordService.getById("1686769417542746114");
  421. if(parkingRecord.getInParkingTime().after(parkingRecord.getOutParkingTime())){
  422. throw new Exception("会员时间段设置不对");
  423. }
  424. QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  425. parkingMemberQueryWrapper.eq("member_car_num", "鄂111DDT9443");
  426. parkingMemberQueryWrapper.eq("park_id", "5f8d343e-63d1-4ef0-9844-855ca020d92b");
  427. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  428. parkingMemberQueryWrapper.orderByDesc("create_time");
  429. parkingMemberQueryWrapper.last("LIMIT 1");
  430. ParkingBetweenMember parkingBetweenMember = parkingBetweenMemberService.getOne(parkingMemberQueryWrapper);
  431. if(parkingBetweenMember!=null){
  432. String temStartDate01=DateUtil.format(parkingRecord.getInParkingTime(), "yyyy-MM-dd HH:mm:ss");//停车进出场时间区间
  433. String temStartDate02=DateUtil.format(parkingRecord.getOutParkingTime(), "yyyy-MM-dd HH:mm:ss");
  434. String temStartDate1=DateUtil.format( parkingBetweenMember.getMemberStartTime(), "yyyy-MM-dd")+" 00:00:00";//会员开始结束时间区间
  435. String temStartDate2=DateUtil.format( parkingBetweenMember.getMemberEndTime(), "yyyy-MM-dd")+" 23:59:59";
  436. String startT=parkingBetweenMember.getBtStartTime();//免费开始时间点
  437. String endT=parkingBetweenMember.getBtEndTime();//免费结束时间点
  438. long decTimeMins= BetweenTimeUtil.getDecTimeMins(temStartDate01,temStartDate02,temStartDate1,temStartDate2,startT,endT);
  439. System.out.println("结果:"+decTimeMins);
  440. System.out.println("---parkingBetweenMember:---"+parkingBetweenMember);
  441. }
  442. }
  443. @Test
  444. void testJTWYComputerTime() throws Exception {
  445. ParkingRecord parkingRecord = parkingRecordService.getById("1701489017382604801");
  446. Integer time =parkingRecordService.getParkingTime(parkingRecord);
  447. System.out.println("--time:--"+time);
  448. }
  449. // @Test
  450. // void shopDeal() throws Exception {
  451. // ParkingRecord parkingRecord = parkingRecordService.getById("1686769417542746114");
  452. // String temDate333 = DateUtil.format(parkingRecord.getOutParkingTime(), "HH:mm:ss");
  453. // System.out.println(temDate333);
  454. // System.out.println(parkingRecord);
  455. // long parkingTimeLong = DateUtil.between(parkingRecord.getInParkingTime(), parkingRecord.getOutParkingTime(), DateUnit.MINUTE);
  456. // ParkingMember parkingMember= parkingMemberService.getById("035e1761-034b-11ed-b47c-0242ac120004");
  457. //
  458. // System.out.println(parkingMember);
  459. // System.out.println( new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
  460. //
  461. // long dayLong =DateUtil.betweenDay(parkingRecord.getInParkingTime(), parkingRecord.getOutParkingTime(),true);
  462. // dayLong =dayLong+1;
  463. // System.out.println("天数:"+dayLong);
  464. //
  465. //
  466. // if(parkingMember.getMemberType()==2){
  467. //// String temDate1 = DateUtil.format(parkingMember.getMemberStartTime(), "yyyy-MM-dd");
  468. //// String temStartDate1 = temDate1 + " "+ parkingMember.getBtStartTime();
  469. ////
  470. //// String temDate2 = DateUtil.format(parkingMember.getMemberEndTime(), "yyyy-MM-dd");
  471. //// String temStartDate2 = temDate2 + " "+parkingMember.getBtEndTime();
  472. // Date startTime= DateUtil.parse(temStartDate1);
  473. // Date endTime= DateUtil.parse(temStartDate2);
  474. // System.out.println(startTime);
  475. // System.out.println(endTime);
  476. // //要判断区间
  477. // if(parkingMember.getMemberStartTime().compareTo(parkingRecord.getInParkingTime())>=0){
  478. // //要减去区间的时间段
  479. // if(parkingMember.getMemberEndTime().compareTo(parkingRecord.getOutParkingTime())>=0){
  480. // //要减去区间的时间段
  481. // long hourLong =DateUtil.between(startTime, endTime,HOUR);
  482. // System.out.println("小时:"+hourLong);
  483. // System.out.println("111");
  484. // }
  485. //
  486. // }
  487. // if(parkingMember.getMemberStartTime().compareTo(parkingRecord.getInParkingTime())<0){
  488. //
  489. // long hourLong =DateUtil.between(startTime, endTime,HOUR);
  490. // System.out.println("小时:"+hourLong);
  491. // long minLong= dayLong*hourLong*60;
  492. // System.out.println("分钟:"+minLong);
  493. // System.out.println("111");
  494. // }
  495. // }
  496. //// long start = System.currentTimeMillis();
  497. //// log.warn("设备轮询开始时间:{}", DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss"));
  498. //// String carNumber="鄂AT27M1";
  499. //// ParkingShop parkingShop = parkingShopService.getById("1590242398638243842");
  500. //// System.out.println(parkingShop);
  501. //// String inTime = parkingShopService.getInTime(carNumber, parkingShop);
  502. //// System.out.println(inTime);
  503. ////
  504. //// String memberTime = DateUtil.format(DateUtil.offsetDay(DateUtil.parse(inTime), 1), "yyyy-MM-dd") + " " + parkingShop.getMemberLeaveTime() + ":00";
  505. //// String days = String.valueOf(DateUtil.betweenDay(DateUtil.parse(inTime, "yyyy-MM-dd"), DateUtil.parse(memberTime, "yyyy-MM-dd"), false));
  506. //// System.out.println(memberTime); System.out.println(days);
  507. //// long end = System.currentTimeMillis();
  508. //// log.warn("设备轮询结束时间:{}", DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss"));
  509. //// log.warn("设备轮询耗时:{}", end-start);
  510. // }
  511. @Test
  512. void me2() throws Exception {
  513. String memberId="";
  514. String parkId="1";
  515. String license="鄂DD10888";
  516. parkingMemberService.cloudDeleteTemporary(memberId,parkId,license,"进场发现临时会员的结束时间比当前进场时间小删除");
  517. System.out.println("1111111");
  518. // String memberName="汉口银行";
  519. // Map<String, Object> searchParams = new HashMap<>();
  520. // if (StringUtils.isNotEmpty(memberName)) {
  521. // searchParams.put("memberName", "%" + memberName + "%");
  522. // }
  523. // List<Sort> sortList = new ArrayList<>();
  524. // sortList.add(new Sort("a.create_time", "desc"));
  525. // int pageIndex=1;
  526. // int pageSize=20;
  527. // Page<ParkingMember> page = parkingMemberService.pageSearch(searchParams, pageIndex, pageSize, sortList);
  528. //
  529. //
  530. //
  531. // ParkingMember pm= parkingMemberService.getById("1684016687147438081");
  532. // pm.setUpdateTime(new Date());
  533. // pm.setDelFlag(true);
  534. // parkingMemberService.updateById(pm);
  535. // QueryWrapper queryWrapper1 = new QueryWrapper();
  536. // queryWrapper1.eq("car_num", "鄂DDT9329");
  537. // queryWrapper1.eq("park_id", "1");
  538. // queryWrapper1.eq("release_status", "0");//未出场
  539. // List<ParkingRecord> parkingRecordList =parkingRecordService.list(queryWrapper1);
  540. //
  541. // //add hbjzws 2023-5-23删除进场前未出场的记录
  542. // if (parkingRecordList.size() > 0) {
  543. // for (ParkingRecord parkingRecord1 : parkingRecordList) {
  544. // parkingRecord1.setReleaseStatus("1");
  545. // parkingRecord1.setUpdateTime(new Date());
  546. // parkingRecord1.setDelFlag(true);
  547. // parkingRecordService.updateById(parkingRecord1);
  548. // parkingRecordMapper.updateDel(parkingRecord1.getId());
  549. //
  550. //
  551. // }
  552. // }
  553. //
  554. // ParkingMember pm= parkingMemberService.getById("1684016687147438081");
  555. // int h= Convert.toInt(DateUtil.between(pm.getMemberStartTime(), pm.getMemberEndTime(), DateUnit.HOUR));
  556. // if(h>=48){
  557. // System.out.println("删除");
  558. // }
  559. // QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  560. // parkingMemberQueryWrapper.eq("park_id","a3eebab8-85f1-475a-a30a-eb96b4c89f52");
  561. // List<ParkingMember> parkingMemberList = parkingMemberService.list(parkingMemberQueryWrapper);
  562. //
  563. // for(ParkingMember pm:parkingMemberList){
  564. //
  565. // parkingWhiteService.addWhiteList(pm.getParkId(), pm.getMemberCarNum(), pm.getMemberStartTime(), pm.getMemberEndTime());
  566. // }
  567. // System.out.println(parkingMemberList.size());
  568. }
  569. @Test
  570. void me() throws Exception {
  571. List<AddParkingMember> list = new ArrayList<>();
  572. for(int i=0;i<120;i++){
  573. AddParkingMember addParkingMember = new AddParkingMember();
  574. addParkingMember.setParkingUname("a3eebab8-85f1-475a-a30a-eb96b4c89f52");
  575. addParkingMember.setMemberName("居委会");
  576. addParkingMember.setMemberPhone("15672408899");
  577. addParkingMember.setCarNum("鄂D9T168"+i);
  578. addParkingMember.setMemberStartTime(DateUtil.parse("2023-07-14 00:00:00","yyyy-MM-dd HH:mm:ss"));
  579. addParkingMember.setMemberEndTime(DateUtil.parse("2024-07-14 00:00:00","yyyy-MM-dd HH:mm:ss"));
  580. addParkingMember.setMemberType(1);
  581. parkingMemberService.addParkingMember(addParkingMember, true, "72dc480e-6816-4be3-918d-da2436f39627");
  582. }
  583. }
  584. @Test
  585. void contextLoads51333() throws Exception {
  586. Map<String,Object> searchParms = new HashMap<>();
  587. List<Sort> sortList = new ArrayList<>();
  588. sortList.add(new Sort("a.create_time","asc"));
  589. Page<User> page = userService.pageSearch(searchParms,1,100,sortList);
  590. System.out.println(page);
  591. AddParkingMember addParkingMember = new AddParkingMember();
  592. addParkingMember.setCarNum("鄂DD91187");
  593. addParkingMember.setParkingUname("5f8d343e-63d1-4ef0-9844-855ca020d92b");
  594. addParkingMember.setMemberStartTime(DateUtil.parse("2023-07-01 18:43:10","yyyy-MM-dd HH:mm:ss"));
  595. addParkingMember.setMemberEndTime(DateUtil.parse("2023-07-01 19:54:10","yyyy-MM-dd HH:mm:ss"));
  596. addParkingMember.setMemberMin(71);
  597. addParkingMember.setMemberType(0);
  598. addParkingMember.setGunType(1);
  599. parkingMemberService.addParkingMember(addParkingMember,false,null);
  600. }
  601. @Test
  602. void contextLoads51222() throws Exception {
  603. AddParkingMember addParkingMember = new AddParkingMember();
  604. addParkingMember.setCarNum("鄂DD37357");
  605. addParkingMember.setParkingUname("1");
  606. addParkingMember.setMemberStartTime(DateUtil.parse("2023-07-01 23:06:46","yyyy-MM-dd HH:mm:ss"));
  607. addParkingMember.setMemberEndTime(null);
  608. addParkingMember.setMemberMin(53);
  609. addParkingMember.setMemberType(0);
  610. addParkingMember.setGunType(1);
  611. parkingMemberService.addParkingMember(addParkingMember,false,null);
  612. }
  613. @Test
  614. void contextLoads51() throws Exception {
  615. AddParkingMember addParkingMember = new AddParkingMember();
  616. addParkingMember.setCarNum("鄂DD37357");
  617. addParkingMember.setParkingUname("1");
  618. addParkingMember.setMemberStartTime(DateUtil.parse("2023-06-19 21:17:12","yyyy-MM-dd HH:mm:ss"));
  619. addParkingMember.setMemberEndTime(DateUtil.parse("2023-06-19 22:42:23","yyyy-MM-dd HH:mm:ss"));
  620. addParkingMember.setMemberMin(Convert.toInt(DateUtil.between(addParkingMember.getMemberEndTime(), addParkingMember.getMemberStartTime(), DateUnit.MINUTE)));
  621. addParkingMember.setGunType(1);
  622. parkingMemberService.addParkingMember(addParkingMember,false,null);
  623. }
  624. @Test
  625. void contextLoads51111() throws Exception {
  626. AddParkingMember addParkingMember = new AddParkingMember();
  627. addParkingMember.setCarNum("鄂DD70315");
  628. addParkingMember.setParkingUname("1");
  629. addParkingMember.setMemberStartTime(DateUtil.parse("2023-06-19 23:17:12","yyyy-MM-dd HH:mm:ss"));
  630. addParkingMember.setMemberEndTime(DateUtil.parse("2023-06-20 06:42:23","yyyy-MM-dd HH:mm:ss"));
  631. addParkingMember.setMemberMin(Convert.toInt(DateUtil.between(addParkingMember.getMemberEndTime(), addParkingMember.getMemberStartTime(), DateUnit.MINUTE)));
  632. addParkingMember.setGunType(2);
  633. parkingMemberService.addParkingMember(addParkingMember,false,null);
  634. }
  635. @Test
  636. void contextLoads512() throws Exception {
  637. AddParkingMember addParkingMember = new AddParkingMember();
  638. addParkingMember.setCarNum("鄂DD70315");
  639. addParkingMember.setParkingUname("1");
  640. addParkingMember.setMemberStartTime(DateUtil.parse("2023-06-19 23:05:11","yyyy-MM-dd HH:mm:ss"));
  641. addParkingMember.setMemberEndTime(DateUtil.parse("2023-06-20 03:38:31","yyyy-MM-dd HH:mm:ss"));
  642. addParkingMember.setMemberMin(Convert.toInt(DateUtil.between(addParkingMember.getMemberEndTime(), addParkingMember.getMemberStartTime(), DateUnit.MINUTE)));
  643. parkingMemberService.addParkingMember(addParkingMember,false,null);
  644. }
  645. @Test
  646. void contextLoadsTime2() {
  647. //区间内
  648. String temDate0 = "2023-06-28 23:05:00";
  649. String temStartDate0 = "2023-06-28 23:00:00";
  650. String temEndDate1 = "2023-06-29 07:00:00";
  651. String temDate1 = "2023-06-29 06:00:00";
  652. System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))>0);
  653. System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))<=0);
  654. }
  655. @Test
  656. void contextLoadsTime4() {
  657. //半区间1(前处理)
  658. String temDate0 = "2023-06-28 22:05:00";
  659. String temStartDate0 = "2023-06-28 23:00:00";
  660. String temEndDate1 = "2023-06-29 07:00:00";
  661. String temDate1 = "2023-06-29 06:00:00";
  662. System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))<=0);
  663. System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))<=0);
  664. }
  665. @Test
  666. void contextLoadsTime3() {
  667. //半区间1(后处理)
  668. String temDate0 = "2023-06-28 23:05:00";
  669. String temStartDate0 = "2023-06-28 23:00:00";
  670. String temEndDate1 = "2023-06-29 07:00:00";
  671. String temDate1 = "2023-06-29 09:00:00";
  672. System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))>0);
  673. System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))>0);
  674. }
  675. @Test
  676. void contextLoadsTime1() {
  677. //区间外
  678. String temDate0 = "2023-06-28 05:05:00";
  679. String temStartDate0 = "2023-06-28 23:00:00";
  680. String temEndDate1 = "2023-06-29 07:00:00";
  681. String temDate1 = "2023-06-29 08:00:00";
  682. System.out.println(DateUtil.parse(temDate0).compareTo(DateUtil.parse(temStartDate0))<=0);
  683. System.out.println(DateUtil.parse(temDate1).compareTo(DateUtil.parse(temEndDate1))>0);
  684. }
  685. @Test
  686. void contextLoadsRecord() {
  687. // JSONObject jsonObject = new JSONObject();
  688. // jsonObject.put("info", ParkingConstant.OK);
  689. // jsonObject.put("info", "");
  690. // System.out.println(jsonObject.toJSONString());
  691. try {
  692. //鄂A2F922 进出场1分钟内
  693. ParkingRecord parkingRecord = parkingRecordService.getById("1668844532803878914");
  694. Date inParkingTime =parkingRecord.getInParkingTime();
  695. Date outParkingTime =parkingRecord.getOutParkingTime();
  696. Date date = DateUtil.offsetMinute(outParkingTime, -1);
  697. if(date.compareTo(inParkingTime)<0){
  698. if("1".equals(parkingRecord.getReleaseStatus())){
  699. parkingRecord.setOutParkingTime(null);
  700. parkingRecord.setReleaseStatus("0");//------
  701. parkingRecordService.updateById(parkingRecord);
  702. }
  703. }
  704. System.out.println(parkingRecord);
  705. } catch (Exception ex) {
  706. }
  707. }
  708. @Test
  709. void contextLoadsFee2() {
  710. try {
  711. ParkingRecord parkingRecord0 = parkingRecordService.getById("1657052359020298242");
  712. Date outParkingTime =parkingRecord0.getOutParkingTime();
  713. long parkingTimeLong = DateUtil.between(parkingRecord0.getInParkingTime(), outParkingTime, DateUnit.MINUTE);
  714. //add by hbjzws 2023-06-28 增加对出场跟入场匹配过长的问题
  715. int maxTTime =24*60*7;
  716. if(Convert.toInt(parkingTimeLong)>maxTTime){
  717. Date orgInTime =parkingRecord0.getInParkingTime();
  718. parkingRecord0.setInParkingTime(DateUtil.offsetMinute(outParkingTime,-maxTTime));
  719. log.warn(StrUtil.format("停车记录时间过长,存在进场与出场记录不匹配的问题,原先进场时间为:{},修改后的进场时间为{}",DateUtil.format(orgInTime,"yyyy-MM-dd HH:mm:ss"),DateUtil.format(parkingRecord0.getInParkingTime(),"yyyy-MM-dd HH:mm:ss")));
  720. }
  721. ParkingCostDTO parkingCostDTO = null;
  722. //parkingFeeService.parkingCost2(parkingRecord0);
  723. System.out.println(parkingCostDTO);
  724. BigDecimal parkingCost = parkingCostDTO.getNeedAmount();
  725. parkingRecord0.setTotalAmount(parkingCost);
  726. parkingRecordService.updateById(parkingRecord0);
  727. /* QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  728. parkingMemberQueryWrapper.eq("member_car_num", parkingRecord.getCarNum());
  729. parkingMemberQueryWrapper.eq("park_id", parkingRecord.getParkId());
  730. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  731. parkingMemberQueryWrapper.orderByDesc("create_time");
  732. parkingMemberQueryWrapper.last("LIMIT 1");
  733. ParkingMember parkingMember = parkingMemberService.getOne(parkingMemberQueryWrapper);
  734. System.out.println(parkingMember);*/
  735. } catch (Exception ex) {
  736. }
  737. }
  738. @Test
  739. void contextLoads1111111111111111111111111111() {
  740. //111111111111111111111111
  741. try {
  742. //
  743. // if (DateUtil.parse("2024-03-27 06:29:09").compareTo(DateUtil.offsetSecond(DateUtil.parse("2024-03-27 06:08:22"), -30)) < 0) {
  744. //
  745. // System.out.println("1111111111111111");
  746. // }
  747. //1771830983861047298 鄂DD26100 荆州院子 136分钟 实际9元 应该收费3元 没有充电---------新能源车
  748. //1769951488673681409 鄂DD26H6 御河 442分钟-7小时22分钟 实际收费16元 ----------------- 汽油车
  749. //鄂DD77599 御河社区停车场 1769664940010999810
  750. //2024-03-18 22:41:36
  751. //4小时37分钟
  752. //2024-03-18 18:19:31
  753. //2024-03-18 22:41:38
  754. //4
  755. //1778256096084987905
  756. //1778720139514056706
  757. ParkingRecord parkingRecord = parkingRecordService.getById("9932953660705812481");
  758. // Integer times=parkingRecordService.getParkingTime2new(parkingRecord);
  759. // System.out.println("停车时长为:"+times);
  760. ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2(parkingRecord);
  761. // ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2new(parkingRecord);
  762. System.out.println(parkingCostDTO);
  763. /* QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  764. parkingMemberQueryWrapper.eq("member_car_num", parkingRecord.getCarNum());
  765. parkingMemberQueryWrapper.eq("park_id", parkingRecord.getParkId());
  766. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  767. parkingMemberQueryWrapper.orderByDesc("create_time");
  768. parkingMemberQueryWrapper.last("LIMIT 1");
  769. ParkingMember parkingMember = parkingMemberService.getOne(parkingMemberQueryWrapper);
  770. System.out.println(parkingMember);*/
  771. } catch (Exception ex) {
  772. }
  773. }
  774. @Test
  775. void testMember() {
  776. // ParkingInfo parkingInfo = parkingInfoService.getById("1");
  777. // parkingInfo.setMaxInToOutTime(48);
  778. // parkingInfoService.updateById(parkingInfo);
  779. // System.out.println(parkingInfo);
  780. // ParkingChannel parkingChannel =parkingChannelService.getById(1597417780772667394l);
  781. ParkingChannel parkingChannel =parkingChannelService.getById(1768525109646168066l);
  782. try {
  783. ParkingEnableVo parkingEnableVo = parkingMemberService.parkingMemberStatus("鄂D9758J", parkingChannel);
  784. System.out.println("开启状态:"+parkingEnableVo.getOpen());
  785. System.out.println("content:"+parkingEnableVo.getContent());
  786. } catch (Exception e) {
  787. e.printStackTrace();
  788. }
  789. }
  790. @Test
  791. public void testVoice(){
  792. try{
  793. SerialData serialData = parkingChannelVoiceService.broadcast("1");
  794. System.out.println(serialData.toString());
  795. }catch (Exception ex){
  796. }
  797. }
  798. @Test
  799. void testUtil() {
  800. try {
  801. DateTime d = DateUtil.beginOfDay(new Date());
  802. int daysInt = Convert.toInt(d);
  803. System.out.println(daysInt);
  804. } catch (Exception ex) {
  805. log.error(ex.getMessage(),ex);
  806. }
  807. }
  808. @Test
  809. void testProfitVo() {
  810. try {
  811. ParkingPay parkingPay = parkingPayService.getById("1537694217050058754");
  812. ProfitVo profitVo = parkingPayProfitService.getProfitVo(parkingPay,BigDecimal.ZERO);
  813. System.out.println(profitVo.toString());
  814. } catch (Exception ex) {
  815. log.error(ex.getMessage(),ex);
  816. }
  817. }
  818. @Test
  819. void testGetParkingCost() {
  820. try {
  821. ParkingRecord parkingRecord = parkingRecordService.getById("1541977896875294744");
  822. // ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2(parkingRecord);
  823. // System.out.println(parkingCostDTO.toString());
  824. } catch (Exception ex) {
  825. log.error(ex.getMessage(),ex);
  826. }
  827. }
  828. @Test
  829. public void testGetParkingTime(){
  830. try{
  831. ParkingRecord parkingRecord = parkingRecordService.getById("1545572965602619394");
  832. int time = parkingRecordService.getParkingTime(parkingRecord);
  833. //ParkingCostDTO parkingCostDTO = parkingFeeService.parkingCost2(parkingRecord);
  834. System.out.println("停车时间:"+time);
  835. //System.out.println("费用:"+parkingCostDTO.getNeedAmount());
  836. }catch (Exception ex){
  837. }
  838. }
  839. @Test
  840. void testChannelHandle(){
  841. try{
  842. ParkingChannel parkingChannel = parkingChannelService.getById("1541977896875294744");
  843. Map<String,Object> map = parkingChannelService.channelHandle(parkingChannel);
  844. log.warn(map.toString());
  845. }catch (Exception ex){
  846. }
  847. }
  848. @Test
  849. void testGetParkDetail(){
  850. try{
  851. ParkingDetailDTO parkingDetailDTO = parkingRecordService.getParkDetail("3");
  852. System.out.println(parkingDetailDTO.toString());
  853. }catch (Exception ex){
  854. log.error(ex.getMessage(),ex);
  855. }
  856. }
  857. @Test
  858. public void testPlateRecord(){
  859. try{
  860. AlarmInfoPlate alarmInfoPlate = new AlarmInfoPlate();
  861. alarmInfoPlate.setSerialno("89bc86da-a4357bee");
  862. Result result = new Result();
  863. PlateResult plateResult = new PlateResult();
  864. TimeStamp timeStamp = new TimeStamp();
  865. Timeval timeval = new Timeval();
  866. timeval.setDecyear(2022);
  867. timeval.setDecmon(11);
  868. timeval.setDecday(14);
  869. timeval.setDechour(14);
  870. timeval.setDecmin(30);
  871. timeval.setDecsec(00);
  872. timeStamp.setTimeval(timeval);
  873. plateResult.setTimeStamp(timeStamp);
  874. plateResult.setLicense("鄂DD12345");
  875. plateResult.setPlateid(1);
  876. plateResult.setType(10);
  877. plateResult.setTriggerType(10);
  878. result.setPlateResult(plateResult);
  879. alarmInfoPlate.setResult(result);
  880. parkingRecordService.plateRecord(alarmInfoPlate);
  881. }catch (Exception ex){
  882. log.error(ex.getMessage(),ex);
  883. }
  884. }
  885. }