From 871efa21e6c95520e9825ae1f2338c9a919fdd5d Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期日, 15 十月 2023 17:57:48 +0800 Subject: [PATCH] 用户端代码 --- src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 98 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java index 73deee3..e15c706 100644 --- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java +++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java @@ -11,6 +11,7 @@ import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.utils.GoogleMap.GeocodeVo; import com.stylefeng.guns.modular.system.utils.GoogleMap.GoogleMapUtil; +import com.stylefeng.guns.modular.system.utils.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -98,7 +99,13 @@ sTime=time.split(" - ")[0]+" 00:00:00"; eTime=time.split(" - ")[1]+" 23:59:59"; } - return this.baseMapper.getReceivable(receivableVoPage,sTime,eTime,id,state,userId); + List<ReceivableVo> receivable = this.baseMapper.getReceivable(receivableVoPage, sTime, eTime, id, state, userId); + for (ReceivableVo receivableVo : receivable) { + List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", receivableVo.getId())); + BigDecimal reduce = prices.stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add); + receivableVo.setTotal(reduce.doubleValue()); + } + return receivable; } @Override @@ -326,8 +333,10 @@ // 还柜码头 TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type", 4)); Integer portId = tTransportation.getPortId(); - TPort tPort = portService.selectById(portId); - info.setEPortName(tPort.getAddress()); + if(portId!=null){ + TPort tPort = portService.selectById(portId); + info.setEPortName(tPort.getAddress()); + } } if(!"0".equals(tOrder.getWarehouse())){ TWarehouse code = warehouseService.selectList(new EntityWrapper<TWarehouse>().eq("code", tOrder.getWarehouse())).get(0); @@ -465,13 +474,69 @@ } return goodsInfoVos; } +@Autowired +private RedisUtil redisUtil; + + @Autowired + private ITExamSiteService examSiteService; + + + + @Autowired + private TYardService yardService; + private HashMap<String, String> getLat(String a){ + HashMap<String, String> map = new HashMap<>(); + try { + GeocodeVo geocode = googleMapUtil.getGeocode(a); + map.put("lon",String.valueOf(geocode.getLng())); + map.put("lat",String.valueOf(geocode.getLat())); + }catch (Exception e){ + e.printStackTrace(); + map.put("lon",null); + map.put("lat",null); + } + + return map; + } @Override - public OrderInfo getOrderInfo(Long orderId) { + public HashMap<String, Object> getOrderInfo(Long orderId) { OrderInfo orderInfo = new OrderInfo(); ArrayList<LonLat> lonLats = new ArrayList<>(); TOrder tOrder = this.baseMapper.selectById(orderId); + + + String value = redisUtil.getValue(String.valueOf(orderId)); + orderInfo.setDriverLat(value); + ArrayList<Map<String,String>> maps = new ArrayList<>(); + TTransportation tTransportations = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("type",1)); + TPort tPort1 = portMapper.selectById(tOrder.getPort()); + maps.add(getLat(tPort1.getAddress())); + + if(tOrder.getExamSite()!=null){ + Integer examSite = tOrder.getExamSite(); + TExamSite tExamSite = examSiteService.selectById(examSite); + // 第二个检查站 + maps.add(getLat(tExamSite.getAddress())); + } + + TTransportation tTransportations1 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("type",2)); + if(tTransportations1!=null){ + Integer yardId = tTransportations1.getYardId(); + if(yardId!=null){ + TYard tYard = yardService.selectById(yardId); + maps.add(getLat(tYard.getStreetAddress())); + } + } + + + if(tOrder.geteAddress()!=null){ + maps.add(getLat(tOrder.geteAddress())); + } + + + orderInfo.setSlat(tOrder.getStartLat()); orderInfo.setSlon(tOrder.getStartLon()); @@ -514,7 +579,7 @@ // 获取码头id 获取码头地址 pickup信息 Integer portId = tOrder.getPort(); TPort tPort = portMapper.selectById(portId); - orderInfo.setAddress(tOrder.geteAddress()); + orderInfo.setAddress(tPort.getAddress()); orderInfo.setContactName(tOrder.getsName()); orderInfo.setContactPhone(tOrder.getsPhone()); orderInfo.setContactEmail(tOrder.getsEmail()); @@ -565,7 +630,12 @@ orderInfo.setNote(driverNoteVos); orderInfo.setTrouble(driverNoteVos1); orderInfo.setState(tOrder.getState()); - return orderInfo; + + HashMap<String, Object> map = new HashMap<>(); + map.put("lonlat",maps); + map.put("data",orderInfo); + + return map; } @@ -578,26 +648,35 @@ @Override public List<IndexMonth> index(int userId) { ArrayList<IndexMonth> list = new ArrayList<>(); - List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id")); + List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").ne("status",17)); for (TOrder order : orders) { IndexMonth indexMonth = new IndexMonth(); indexMonth.setTime(order.getPayTime()); indexMonth.setOrderNumber(order.getId()); - indexMonth.setAmount(order.getAllTotal()); + BigDecimal order_id = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add); + indexMonth.setAmount(order_id); list.add(indexMonth); } return list; } + public static void main(String[] args) throws ParseException { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,1); + System.out.println(instance.getTime()); + } + @Override public List<IndexMonth> indexYear(int i,int userId) { ArrayList<IndexMonth> list = new ArrayList<>(); - List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").like("pay_time",String.valueOf(i))); + List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").like("pay_time",String.valueOf(i)).ne("status",17)); for (TOrder order : orders) { IndexMonth indexMonth = new IndexMonth(); indexMonth.setTime(order.getPayTime()); indexMonth.setOrderNumber(order.getId()); - indexMonth.setAmount(order.getAllTotal()); + BigDecimal order_id = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add); + + indexMonth.setAmount(order_id); list.add(indexMonth); } return list; @@ -606,12 +685,13 @@ @Override public List<IndexMonth> indexTime(String sTime, String eTime,int userId) { ArrayList<IndexMonth> list = new ArrayList<>(); - List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").between("pay_time",sTime,eTime)); + List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").between("pay_time",sTime,eTime).ne("status",17)); for (TOrder order : orders) { IndexMonth indexMonth = new IndexMonth(); indexMonth.setTime(order.getPayTime()); indexMonth.setOrderNumber(order.getId()); - indexMonth.setAmount(order.getAllTotal()); + BigDecimal order_id = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add); + indexMonth.setAmount(order_id); list.add(indexMonth); } return list; @@ -623,4 +703,10 @@ } + @Override + public List<Map<String, Object>> getLonLat(Long orderId) { + return this.baseMapper.getLonLat(orderId); + } + + } -- Gitblit v1.7.1