UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1,6 +1,8 @@ package com.stylefeng.guns.modular.api; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.Driver; import com.stylefeng.guns.modular.system.service.IDriverService; import com.stylefeng.guns.modular.system.service.IOrderEvaluateService; @@ -13,11 +15,13 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.geo.Point; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -32,6 +36,7 @@ @Api @RestController @RequestMapping("") @Slf4j public class DriverController { @Autowired @@ -42,6 +47,9 @@ @Autowired private MongoTemplate mongoTemplate; @Autowired private RedisTemplate<String, Object> redisTemplate; @@ -142,20 +150,25 @@ //mongodb查询附近5公里范围内的坐标 Query query = Query.query(Criteria.where("point").nearSphere(new Point(Double.parseDouble(lon), Double.parseDouble(lat))).maxDistance(5000)); List<DriverPosition> driverPositions = mongoTemplate.find(query, DriverPosition.class); log.info("地理空间检索出的数据:{}", JSON.toJSONString(driverPositions)); List<Map<String, Object>> collect = new ArrayList<>(); if(driverPositions.size() > 0){ List<Integer> driverIds = driverPositions.stream().map(DriverPosition::getDriverId).collect(Collectors.toList()); List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().in("id", driverIds) .eq("authState", 2).eq("state", 2)); collect = drivers.stream().map(driver -> { Optional<DriverPosition> driverPosition = driverPositions.stream().filter(position -> position.getDriverId().equals(driver.getId())).findFirst(); Map<String, Object> map = new HashMap<>(); map.put("driverId", driver.getId()); map.put("name", driver.getName()); map.put("lot", driverPosition.isPresent() ? driverPosition.get().getPoint().getX() : ""); map.put("lat", driverPosition.isPresent() ? driverPosition.get().getPoint().getY() : ""); return map; }).collect(Collectors.toList()); String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(driver.getId())); if(ToolUtil.isNotEmpty(value)){ Optional<DriverPosition> driverPosition = driverPositions.stream().filter(position -> position.getDriverId().equals(driver.getId())).findFirst(); Map<String, Object> map = new HashMap<>(); map.put("driverId", driver.getId()); map.put("name", driver.getName()); map.put("lot", driverPosition.isPresent() ? driverPosition.get().getPoint().getX() : ""); map.put("lat", driverPosition.isPresent() ? driverPosition.get().getPoint().getY() : ""); return map; } return null; }).filter(Objects::nonNull).collect(Collectors.toList()); } return ResultUtil.success(collect); } UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
Diff too large UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -280,7 +280,7 @@ state as state, oldState as oldState, thankYouFee from t_order_private_car where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size} from t_order_private_car where userId = #{uid} and isGenerateRecoveryOrder = 0 order by insertTime desc limit #{pageNum}, #{size} </select> @@ -584,11 +584,10 @@ <select id="queryMyTripList" resultType="map"> select id as orderId, rideType as rideType, DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime, DATE_FORMAT(travelTime, '%m月?d日 %H:%i') as time, select id as orderId, rideType as rideType, DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime, DATE_FORMAT(travelTime, '%m月?d日 %H:%i') as time, startAddress as startAddress, endAddress as endAddress, driverId as driverId, @@ -604,7 +603,9 @@ boardingTime, boardingLon, boardingLat from t_order_private_car where userId = #{uid} and state in (8, 9) order by insertTime desc limit #{pageNum}, #{size} from t_order_private_car where userId = #{uid} and state in (8, 9) order by insertTime desc limit #{pageNum}, #{size} </select> <select id="queryMyTripListAll" resultType="map"> select UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -488,6 +488,14 @@ * 是否是追缴单(0=否,1=是) */ private Integer recoveryOrder; /** * 是否生成追缴单(0=否,1=是) */ private Integer isGenerateRecoveryOrder; /** * 原始订单id */ private Integer oldOrderId; public String getPromotionUser() { return promotionUser; @@ -1280,7 +1288,23 @@ public void setPromotionActivityId(Long promotionActivityId) { this.promotionActivityId = promotionActivityId; } public Integer getIsGenerateRecoveryOrder() { return isGenerateRecoveryOrder; } public void setIsGenerateRecoveryOrder(Integer isGenerateRecoveryOrder) { this.isGenerateRecoveryOrder = isGenerateRecoveryOrder; } public Integer getOldOrderId() { return oldOrderId; } public void setOldOrderId(Integer oldOrderId) { this.oldOrderId = oldOrderId; } @Override public String toString() { return "OrderPrivateCar{" + "id=" + id + UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -8,6 +8,7 @@ import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; import java.io.File; @@ -31,7 +32,14 @@ MimeMessageHelper helper = new MimeMessageHelper(message, true); // 设置发件人(必须与配置的spring.mail.username一致) helper.setFrom(fromEmail); String nick=""; try { nick=javax.mail.internet.MimeUtility.encodeText("贵人家园出行"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 设置发件人 helper.setFrom(new InternetAddress(nick + " <" + fromEmail + ">")); // 设置收件人 helper.setTo(to); // 设置邮件主题和内容 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -220,6 +220,8 @@ BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); orderPrivateCar1.setId(null); orderPrivateCar1.setRecoveryOrder(1); orderPrivateCar1.setIsGenerateRecoveryOrder(0); orderPrivateCar1.setOldOrderId(orderPrivateCar.getId()); //修改原始订单为支付状态 orderPrivateCar.setState(9); @@ -346,6 +348,8 @@ BeanUtils.copyProperties(orderTaxi, orderTaxi1); orderTaxi1.setId(null); orderTaxi1.setRecoveryOrder(1); orderTaxi1.setIsGenerateRecoveryOrder(0); orderTaxi1.setOldOrderId(orderTaxi.getId()); //修改原始订单为支付状态 orderTaxi.setState(9); UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
@@ -148,7 +148,7 @@ state as state, oldState as oldState, thankYouFee from t_order_taxi where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size} from t_order_taxi where userId = #{uid} and isGenerateRecoveryOrder = 0 order by insertTime desc limit #{pageNum}, #{size} </select> UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
@@ -415,6 +415,14 @@ * 是否是追缴单(0=否,1=是) */ private Integer recoveryOrder; /** * 是否生成追缴单(0=否,1=是) */ private Integer isGenerateRecoveryOrder; /** * 原始订单id */ private Integer oldOrderId; public Long getPromotionActivityId() { return promotionActivityId; @@ -1089,7 +1097,23 @@ public void setRecoveryOrder(Integer recoveryOrder) { this.recoveryOrder = recoveryOrder; } public Integer getIsGenerateRecoveryOrder() { return isGenerateRecoveryOrder; } public void setIsGenerateRecoveryOrder(Integer isGenerateRecoveryOrder) { this.isGenerateRecoveryOrder = isGenerateRecoveryOrder; } public Integer getOldOrderId() { return oldOrderId; } public void setOldOrderId(Integer oldOrderId) { this.oldOrderId = oldOrderId; } @Override public String toString() { return "OrderTaxi{" +