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 | 143 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 117 insertions(+), 26 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 bddcba0..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 @@ -9,7 +9,9 @@ import com.stylefeng.guns.modular.system.dao.*; import com.stylefeng.guns.modular.system.model.*; 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; @@ -97,12 +99,18 @@ 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 public List<ShouldPayVo> getPayList(Page<ShouldPayVo> receivableVoPage, String time, String name) { - List<ShouldPayVo> list = this.baseMapper.getPayList(receivableVoPage,name); + List<ShouldPayVo> list = this.baseMapper.getPayList(receivableVoPage,name,1); Calendar instance = Calendar.getInstance(); instance.setTime(new Date()); @@ -141,7 +149,7 @@ sTime = time.split(" - ")[0]+" 00:00:01"; eTime = time.split(" - ")[1]+" 23:59:59"; } - List<ReceivablesList> receivablesLists = this.baseMapper.listOfReceivables(receivableVoPage, sTime, eTime, name, invoicesId, orderId, state); + List<ReceivablesList> receivablesLists = this.baseMapper.listOfReceivables(receivableVoPage, sTime, eTime, name, invoicesId, orderId, state,1); for (ReceivablesList receivablesList : receivablesLists) { Integer id= this.baseMapper.getPayStatus(receivablesList.getOrderId()); if(id==null){ @@ -161,7 +169,7 @@ sTime = time.split(" - ")[0]+" 00:00:01"; eTime = time.split(" - ")[1]+" 23:59:59"; } - List<PayList> list = this.baseMapper.listOfPay(receivableVoPage, sTime, eTime, name, billId, orderId, state); + List<PayList> list = this.baseMapper.listOfPay(receivableVoPage, sTime, eTime, name, billId, orderId, state,1); return list; } @@ -325,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); @@ -464,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()); @@ -480,15 +546,15 @@ lonLat.setLng(tOrder.getStartLon()); lonLats.add(lonLat); String s = tOrder.geteAddress(); -// GeocodeVo geocode = googleMapUtil.getGeocode(s); -// orderInfo.setElat(String.valueOf(geocode.getLat())); -// orderInfo.setElon(String.valueOf(geocode.getLng())); + GeocodeVo geocode = googleMapUtil.getGeocode(s); + orderInfo.setElat(String.valueOf(geocode.getLat())); + orderInfo.setElon(String.valueOf(geocode.getLng())); lonLat=new LonLat(); - lonLat.setLng("-113.066919618184"); - lonLat.setLat("37.684389618184"); + lonLat.setLng(tOrder.getStartLon()); + lonLat.setLat(tOrder.getStartLat()); lonLats.add(lonLat); - orderInfo.setElat("37.684389618184"); - orderInfo.setElon("-113.066919618184"); + orderInfo.setElat(String.valueOf(geocode.getLat())); + orderInfo.setElon(String.valueOf(geocode.getLng())); orderInfo.setLonLats(lonLats); Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId(); @@ -502,15 +568,18 @@ Integer groupId = tUser.getGroupId(); if(groupId!=null) { TGroup tGroup = tGroupMapper.selectById(groupId); - orderInfo.setSalesGroup(tGroup.getName()); - Integer salesId = tGroup.getSalesId(); - User user = userMapper.selectById(salesId); - orderInfo.setSales(user.getName()); + if(tGroup!=null){ + orderInfo.setSalesGroup(tGroup.getName()); + Integer salesId = tGroup.getSalesId(); + User user = userMapper.selectById(salesId); + orderInfo.setSales(user.getName()); + } + } // 获取码头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()); @@ -538,6 +607,7 @@ ArrayList<String> strings = new ArrayList<>(); goods.forEach(e->{ strings.add(e.getContainerNumber()); + strings.add(String.valueOf(e.getOrderId())); orderInfo.setBl(e.getBillNumber()); }); orderInfo.setContainer(strings); @@ -560,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; } @@ -573,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; @@ -601,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; @@ -618,4 +703,10 @@ } + @Override + public List<Map<String, Object>> getLonLat(Long orderId) { + return this.baseMapper.getLonLat(orderId); + } + + } -- Gitblit v1.7.1