From 83a1aa3133ce9c35fb428d0cdf4a84adda4ba3ac Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期三, 24 四月 2024 16:33:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/boying/service/OutParkService.java | 1 src/main/java/com/boying/util/PlateComparator.java | 40 +++++++++++++++++-- src/main/java/com/boying/controller/OutParkController.java | 39 ++++++++++++------- src/main/java/com/boying/controller/ParkController.java | 2 4 files changed, 62 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/boying/controller/OutParkController.java b/src/main/java/com/boying/controller/OutParkController.java index 45ada89..be0c09f 100644 --- a/src/main/java/com/boying/controller/OutParkController.java +++ b/src/main/java/com/boying/controller/OutParkController.java @@ -1,16 +1,16 @@ package com.boying.controller; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.boying.common.R; import com.boying.common.SystemConfigProperties; import com.boying.entity.*; import com.boying.service.*; import com.boying.util.DateUtilOther; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -38,7 +38,6 @@ @RestController @RequestMapping("ffzf/outpark") @RequiredArgsConstructor -@Tag(description = "ffzf/outpark" , name = "鍑哄満琛ㄦ帴鍙�" ) public class OutParkController { @@ -57,7 +56,6 @@ private StringRedisTemplate redisTemplate; @PostMapping("/findPage") - @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" ) public Object findPage(Page page, String carNo,Long parkId,String payCode,String date) throws ParseException { List<OutPark> list = outParkService.getList(page.getCurrent(), page.getSize(), carNo,parkId,payCode, date); System.out.println(list); @@ -79,13 +77,11 @@ } //getById @PostMapping("/getById") - @Operation(summary = "鏍规嵁id鏌ヨ" , description = "鏍规嵁id鏌ヨ" ) public Object getById(Long id) { return R.ok(outParkService.getById(id)); } //閬撻椄code @PostMapping("/findByBarrierCode") - @Operation(summary = "鏍规嵁閬撻椄code鏌ヨ鍑哄満锛堝凡搴熷純锛�" , description = "鏍规嵁閬撻椄code鏌ヨ鍑哄満锛堝凡搴熷純锛�" ) public Object findById(String code) { if(StringUtils.isBlank(code)){ return R.failed(null,"鍙傛暟閿欒"); @@ -118,7 +114,6 @@ //閬撻椄code @PostMapping("/findByBarrierCode2") - @Operation(summary = "鏍规嵁閬撻椄code鏌ヨ鍑哄満" , description = "鏍规嵁閬撻椄code鏌ヨ鍑哄満" ) public Object findById2(String code2) { if(StringUtils.isBlank(code2)){ return R.failed(null,"鍙傛暟閿欒"); @@ -150,14 +145,12 @@ } @PostMapping("/delete") - @Operation(summary = "鍒犻櫎鍑哄満" , description = "鍒犻櫎鍑哄満" ) public Object delete(Long id) { outParkService.removeById(id); return R.ok("鍒犻櫎鎴愬姛"); } @PostMapping("enterPark2") - @Operation(summary = "鏂板鍏ュ満锛堝簾寮冿級" , description = "鏂板鍏ュ満锛堝簾寮冿級" ) public Object enterPark(String carNo,Integer barrierId,Integer parkId,String code2) { Barrier barrier1 = findBarrier(code2); barrierId = barrier1.getId(); @@ -198,7 +191,6 @@ } @PostMapping("outPark2") - @Operation(summary = "鏂板鍑哄満锛堝簾寮冿級" , description = "鏂板鍑哄満锛堝簾寮冿級" ) public Object outPark(String carNo,Integer barrierId,Integer parkId,String code2) { String s = "寮�濮嬫墽琛屽嚭鍦烘帴鍙�------>\n"; Barrier barrier1 = findBarrier(code2); @@ -264,7 +256,6 @@ } @GetMapping("/statisticParkOrder/count") - @Operation(summary = "缁熻鐢ㄦ埛绠$悊鐨勫仠杞﹀満璁㈠崟鏁伴噺" , description = "缁熻鐢ㄦ埛绠$悊鐨勫仠杞﹀満璁㈠崟鏁伴噺" ) public R statisticParkOrder(String parkIds) { Map<String,Object> resultMap = new HashMap<>(); if(StringUtils.isNotBlank(parkIds)){ @@ -301,7 +292,6 @@ } @GetMapping("/isJS") - @Operation(summary = "鍍靛案杞︽煡璇�" , description = "鍍靛案杞︽煡璇�" ) public Object isJS(String carNo ,Integer parkId) { List<EnterPark> byCarNo = enterParkService.findByCarNo(carNo, parkId); if(byCarNo.size() > 0){ @@ -312,7 +302,6 @@ } @GetMapping("/getByCarAndPark") - @Operation(summary = "鏍规嵁杞︾墝鍜屽仠杞﹀満鑾峰彇鏈�鏂板嚭鍦�" , description = "鏍规嵁杞︾墝鍜屽仠杞﹀満鑾峰彇鏈�鏂板嚭鍦�" ) public Object getByCarAndPark(String carNo ,Integer parkId) { QueryWrapper<OutPark> wrapper = new QueryWrapper<>(); wrapper.lambda() @@ -332,14 +321,31 @@ return R.failed(null,"鏈壘鍒版暟鎹�"); } } + + //鎵爜淇敼鍑哄満锛堟ā绯婅溅鐗岋級 + @GetMapping("/getLikeCar") + public Object getLikeCar(Integer outParkId) { + OutPark byId = outParkService.getById(outParkId); + List<Map<String, Object>> likeCar = outParkService.getLikeCar(byId.getCarNo(), byId.getParkId(), byId.getCreateTime()); + if (CollectionUtils.isNotEmpty(likeCar)) { + Collections.sort(likeCar, (m1, m2)-> String.valueOf(m2.get("createTime")).compareTo(String.valueOf(m1.get("createTime")))); + } + return R.ok(likeCar); + } + //鎵爜淇敼鍑哄満锛堟ā绯婅溅鐗岋級 @GetMapping("/editOutPark") public Object editOutPark(Integer outParkId,Integer enterParkId,Integer type) { double money = 0.0; OutPark outPark = outParkService.getById(outParkId); EnterPark enterPark = enterParkService.getById(enterParkId); + Barrier barrier =barrierService.getById(outPark.getBarrierId()); if(type == 0){ //鍏ュ満姝g‘锛屾浛鎹㈠嚭鍦猴紝鏇存柊鍑哄満璁板綍 outPark.setCarNo(enterPark.getCarNo()); + barrier.setCarNo(enterPark.getCarNo()); + barrierService.saveOrUpdate(barrier); + String jsonValue = JSON.toJSONString(barrier); + redisTemplate.opsForValue().set("barrier-"+barrier.getCode(), jsonValue); }else { //鍑哄満姝g‘锛屾浛鎹㈠叆鍦猴紝鏇存柊鍑哄満璁板綍 enterPark.setCarNo(outPark.getCarNo()); } @@ -347,6 +353,11 @@ try { long l = outPark.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli() - enterPark.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli(); outPark.setTime(l/(1000*60)); + if(outPark.getTime() > 0){ + outPark.setTimeStr(DateUtilOther.millisToDayHrMinSec(new Double(outPark.getTime()).longValue())); + }else { + outPark.setTimeStr("涓嶈冻涓�鍒嗛挓"); + } money = costRuleService.getMoney(outPark.getParkId(), outPark.getEnterTime(), outPark.getCreateTime(), 1); //鍏ュ満璁板綍淇濆瓨涓�涓� enterPark.setPrice(money); @@ -357,11 +368,11 @@ } outPark.setPrice(money); outParkService.saveOrUpdate(outPark); + outPark.setParkName(barrier.getName()); return R.ok(outPark,"鏇存柊鎴愬姛"); } @GetMapping("/editEnterPark") - @Operation(summary = "淇敼鍏ュ満淇℃伅" , description = "淇敼鍏ュ満淇℃伅" ) public Object editEnterPark(String carNo ,Integer parkId,String time) { QueryWrapper<Barrier> wrapper = new QueryWrapper<>(); wrapper.lambda() diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java index ce2968f..0a9ec02 100644 --- a/src/main/java/com/boying/controller/ParkController.java +++ b/src/main/java/com/boying/controller/ParkController.java @@ -158,6 +158,7 @@ } } + @PostMapping("/getParkCar") public Object getParkCar(Page page, Integer parkId,String carNo) { QueryWrapper<EnterPark> enterParkQueryWrapper = new QueryWrapper<>(); @@ -174,6 +175,5 @@ } return R.ok(page1); } - } diff --git a/src/main/java/com/boying/service/OutParkService.java b/src/main/java/com/boying/service/OutParkService.java index 1049d4a..4cad1cb 100644 --- a/src/main/java/com/boying/service/OutParkService.java +++ b/src/main/java/com/boying/service/OutParkService.java @@ -50,4 +50,5 @@ OutPark findBy10min(String carNo, Integer parkId, LocalDateTime dateTime, Integer outParkId); List<Map<String, Object>> getLikeCar(String carNo, Integer parkId, LocalDateTime dateTime); + } diff --git a/src/main/java/com/boying/util/PlateComparator.java b/src/main/java/com/boying/util/PlateComparator.java index 461a8f5..5ac353a 100644 --- a/src/main/java/com/boying/util/PlateComparator.java +++ b/src/main/java/com/boying/util/PlateComparator.java @@ -1,9 +1,16 @@ package com.boying.util; -import com.baomidou.mybatisplus.core.toolkit.BeanUtils; +import org.springframework.beans.BeanUtils; import com.boying.entity.EnterPark; +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,10 +27,33 @@ List<Map<String,Object>> list = new ArrayList<>(); for (EnterPark enterPark : enterParkList) { int i = compareLicensePlates(carNo, enterPark.getCarNo()); - if (i<=2){ - Map<String, Object> map = BeanUtils.beanToMap(enterPark); - map.put("count",i); // 鏂板娆℃暟 - list.add(map); + if (i<2){ + Map<String, Object> returnMap = new HashMap<String, Object>(); + BeanInfo beanInfo = null; + try { + beanInfo = Introspector.getBeanInfo(enterPark.getClass()); + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); + for (PropertyDescriptor pd : propertyDescriptors) { + String propertyName = pd.getName(); + if (!"class".equals(propertyName)) { + Method readMethod = pd.getReadMethod(); + Object result = readMethod.invoke(enterPark); + if (result != null) { + returnMap.put(propertyName, result); + } else { + returnMap.put(propertyName, ""); + } + } + } + } catch (IntrospectionException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + returnMap.put("count",i); // 鏂板娆℃暟 + list.add(returnMap); } } return list; -- Gitblit v1.9.1