xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/operation/XpActivityDto.java
@@ -29,8 +29,11 @@ @ApiModelProperty(value = "活动类型 如新人活动、媒体邀约活动、日常提频等") private Integer activityType; @ApiModelProperty(value = "活动类型 如新人活动、媒体邀约活动、日常提频等") private Integer acticityType; @ApiModelProperty(value = "是否开启活动总限额") private boolean enableTotalLimit; private Boolean enableTotalLimit; @ApiModelProperty(value = "是否开启活动总限额") private BigDecimal totalLimit; @@ -67,7 +70,59 @@ @ApiModelProperty(value = "发放用户") List<XpActicityUser> activityUser; @ApiModelProperty(value = "活动通知") XpActivityNotice notice; @ApiModelProperty("微信通知(0=否,1=是)") private Integer wechatNotification; @ApiModelProperty("微信通知到账提醒(0=否,1=是)") private Integer wechatReceivedReminder; @ApiModelProperty("微信通知即将过期提醒(0=否,1=是)") private Integer wechatAboutExpireReminder; @ApiModelProperty("微信通知即将过期天数") private Integer wechatAboutExpireDays; @ApiModelProperty("微信通知活动开始提醒(0=否,1=是)") private Integer wechatActicityStart; @ApiModelProperty("微信通知临近券生效前X分钟通知") private Integer wechatActicityStartMinutes; @ApiModelProperty("短信通知(0=否,1=是)") private Integer smsNotification; @ApiModelProperty("短信通知到账提醒(0=否,1=是)") private Integer smsReceivedReminder; @ApiModelProperty("短信通知即将过期提醒(0=否,1=是)") private Integer smsAboutExpireReminder; @ApiModelProperty("短信通知即将过期天数") private Integer smsAboutExpireDays; @ApiModelProperty("短信通知活动开始提醒(0=否,1=是)") private Integer smsActicityStart; @ApiModelProperty("短信通知临近券生效前X分钟通知") private Integer smsActicityStartMinutes; @ApiModelProperty("短信通知屏蔽开始时间") private String smsStartBlockingTime; @ApiModelProperty("短信通知屏蔽结束时间") private String smsEndBlockingTime; @ApiModelProperty("小程序弹窗通知(0=否,1=是)") private Integer miniProgramNotification; @ApiModelProperty("小程序弹窗标题") private String miniProgramPopupTitle; @ApiModelProperty("小程序弹窗按钮文案") private String miniProgramBtnText; @ApiModelProperty("小程序弹窗券到账提醒(0=否,1=是)") private String miniProgramReceivedReminder; @ApiModelProperty("小程序弹窗即将过期提醒(0=否,1=是)") private String miniProgramAboutExpireReminder; @ApiModelProperty("小程序弹窗临近券生效前X分钟") private Integer miniProgramAboutExpireMinutes; @ApiModelProperty("通知内容") private String expireMinutesNotificationContent; @ApiModelProperty("小程序弹窗临近到期时间前X天") private Integer aboutExpireDays; @ApiModelProperty("通知内容") private String expireDaysNotificationContent; @ApiModelProperty("是否开启浮窗(0=否,1=是)") private Integer enableFloatWindow; @ApiModelProperty("浮窗优先级权重") private Integer floatWindowPriority; @ApiModelProperty("浮窗跳转链接") private String floatWindowJumpUrl; } xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityStrategy.java
@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.Value; import lombok.experimental.Accessors; import java.time.LocalDate; @@ -44,6 +45,9 @@ @ApiModelProperty(value = "发放规则(1=每日循环发放,2=仅发放一次,3=使用后发放)") private Integer distributionRules; @ApiModelProperty(value = "每日循环发放时间") private String distributionTime; @ApiModelProperty(value = "发放规则json,[]=本券使用后循环发放, [1,2,3]=指定优惠券使用后发放(优惠券id数组)") @TableField(typeHandler = JacksonTypeHandler.class) @@ -87,4 +91,12 @@ @ApiModelProperty(value = "是否自动使用(0=不开启,1=冒泡发单时自动使用)") private Integer startUsing; @ApiModelProperty(value = "优惠券id数据") @TableField(exist = false) private List<Long> couponIds; @ApiModelProperty(value = "优惠券列表数据") @TableField(exist = false) private List<XpCoupon> couponList; } xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicityUser.java
@@ -2,14 +2,18 @@ import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.xiaopeng.common.core.web.domain.BaseModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.util.List; /** * <p> @@ -42,7 +46,8 @@ private Integer userType; @ApiModelProperty(value = "指定用户json数组") private JSONArray userList; @TableField(typeHandler = JacksonTypeHandler.class) private List<Long> userList; @ApiModelProperty(value = "策略组名称") private String strategyName; xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActivity.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.fasterxml.jackson.annotation.JsonFormat; import com.xiaopeng.api.vo.account.CouponVo; import com.xiaopeng.common.core.web.domain.BaseModel; @@ -50,7 +51,7 @@ private BigDecimal limitation; @ApiModelProperty(value = "封面图片json") private JSONObject coverImage; private String coverImage; @ApiModelProperty(value = "开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -98,9 +99,9 @@ @ApiModelProperty("短信通知临近券生效前X分钟通知") private Integer smsActicityStartMinutes; @ApiModelProperty("短信通知屏蔽开始时间") private LocalDateTime smsStartBlockingTime; private String smsStartBlockingTime; @ApiModelProperty("短信通知屏蔽结束时间") private LocalDateTime smsEndBlockingTime; private String smsEndBlockingTime; @ApiModelProperty("小程序弹窗通知(0=否,1=是)") private Integer miniProgramNotification; @ApiModelProperty("小程序弹窗标题") xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActivityNotice.java
@@ -66,9 +66,9 @@ private List<String> blockTime; @ApiModelProperty(value = "miniProgram临近到期toast") private Integer toastBeforeExpiry; private String toastBeforeExpiry; @ApiModelProperty(value = "miniProgram临近生效toast") private Integer toastBeforeEffective; private String toastBeforeEffective; @ApiModelProperty(value = "是否开启浮窗") private Boolean enableFloatingWindow; @ApiModelProperty(value = "浮窗优先级权重1-100") xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -42,10 +42,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -806,7 +803,7 @@ dto.setDistance(10.0); dto.setDirection(60); dto.setMessageType(PushMessageTypeEnum.ORDER_ROUTE.getDesc()); xpPushMessageClient.pushOrderRoute(dto); R<String> stringR = xpPushMessageClient.pushOrderRoute(dto); //存储历史轨迹 OrderTrajectoryVo orderTrajectory = new OrderTrajectoryVo(); xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
@@ -161,7 +161,6 @@ List<XpActicityStrategy> strategies = strategyService.lambdaQuery().eq(XpActicityStrategy::getActitcityId, dto.getId()).list(); dto.setStrategy(strategies); dto.setActivityUser(userService.lambdaQuery().eq(XpActicityUser::getActitcityId, dto.getId()).list()); dto.setNotice(noticeService.lambdaQuery().eq(XpActivityNotice::getActivityId, dto.getId()).one()); } return R.ok(pageList); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
@@ -5,18 +5,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiaopeng.api.dto.operation.XpActivityDto; import com.xiaopeng.api.feignClient.order.XpOrderClient; import com.xiaopeng.api.model.operation.XpActicityStrategy; import com.xiaopeng.api.model.operation.XpActicityUser; import com.xiaopeng.api.model.operation.XpActivity; import com.xiaopeng.api.model.operation.XpActivityNotice; import com.xiaopeng.api.model.operation.*; import com.xiaopeng.api.query.operation.XpActivityPageListQuery; import com.xiaopeng.common.core.utils.bean.BeanUtils; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.operation.mapper.XpActicityMapper; import com.xiaopeng.operation.service.IXpActicityService; import com.xiaopeng.operation.service.IXpActicityStrategyService; import com.xiaopeng.operation.service.IXpActicityUserService; import com.xiaopeng.operation.service.IXpActivityNoticeService; import com.xiaopeng.operation.service.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -49,6 +43,9 @@ @Resource private XpOrderClient xpOrderClient; @Resource private IXpActicityCouponService xpActicityCouponService; @@ -92,29 +89,43 @@ } @Override @Transactional public void save(XpActivityDto dto) { XpActivity activity = new XpActivity(); BeanUtils.copyBeanProp(activity, dto); activity.setActicityType(dto.getActivityType()); activity.setAggregateLimit(dto.getEnableTotalLimit() ? 1 : 0); activity.setLimitation(dto.getTotalLimit()); activity.setCoverImage(dto.getImg()); activity.setRemarks(dto.getRichText()); save(activity); List<XpActicityStrategy> strategy = dto.getStrategy(); List<XpActicityUser> activityUser = dto.getActivityUser(); XpActivityNotice notice = dto.getNotice(); strategy.forEach(e -> e.setActitcityId(activity.getId().intValue())); strategyService.saveBatch(strategy); for (XpActicityStrategy xpActicityStrategy : strategy) { xpActicityStrategy.setActitcityId(activity.getId().intValue()); xpActicityStrategy.setDeleted(false); strategyService.save(xpActicityStrategy); List<Long> couponIds = xpActicityStrategy.getCouponIds(); for (Long couponId : couponIds) { XpActicityCoupon xpActicityCoupon = new XpActicityCoupon(); xpActicityCoupon.setActicityStrategyId(xpActicityStrategy.getId().longValue()); xpActicityCoupon.setCouponId(couponId); xpActicityCoupon.setActivityId(activity.getId()); xpActicityCouponService.save(xpActicityCoupon); } } Map<String, XpActicityStrategy> strategyMap = strategy.stream().collect(Collectors.toMap( XpActicityStrategy::getName, Function.identity() )); activityUser.forEach(item -> { item.setActitcityId(activity.getId().intValue()); item.setActitcityStrategeId(strategyMap.get(item.getStrategyName()).getId()); }); notice.setActivityId(activity.getId()); userService.saveBatch(activityUser); activityNotice.save(notice); for (XpActicityUser xpActicityUser : activityUser) { xpActicityUser.setActitcityId(activity.getId().intValue()); xpActicityUser.setActitcityStrategeId(strategyMap.get(xpActicityUser.getStrategyName()).getId()); userService.save(xpActicityUser); } } @Override @@ -122,6 +133,11 @@ XpActivity byId = getById(id); XpActivityDto ret = new XpActivityDto(); BeanUtils.copyBeanProp(ret, byId); ret.setActicityType(byId.getActicityType()); ret.setEnableTotalLimit(byId.getAggregateLimit() == 1); ret.setTotalLimit(byId.getLimitation()); ret.setImg(byId.getCoverImage()); ret.setRichText(byId.getRemarks()); ret.setStrategy(strategyService.listByActicityId(id)); ret.setActivityUser(userService.listByActicityId(id)); return ret; xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityStrategyServiceImpl.java
@@ -1,13 +1,20 @@ package com.xiaopeng.operation.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiaopeng.api.model.operation.XpActicityCoupon; import com.xiaopeng.api.model.operation.XpActicityStrategy; import com.xiaopeng.api.model.operation.XpCoupon; import com.xiaopeng.operation.mapper.XpActicityStrategyMapper; import com.xiaopeng.operation.service.IXpActicityCouponService; import com.xiaopeng.operation.service.IXpActicityStrategyService; import com.xiaopeng.operation.service.IXpCouponService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; /** * <p> @@ -20,8 +27,23 @@ @Service public class XpActicityStrategyServiceImpl extends ServiceImpl<XpActicityStrategyMapper, XpActicityStrategy> implements IXpActicityStrategyService { @Resource private IXpCouponService xpCouponService; @Resource private IXpActicityCouponService xpActicityCouponService; @Override public List<XpActicityStrategy> listByActicityId(Long id) { return baseMapper.selectList(new LambdaQueryWrapper<XpActicityStrategy>().eq(XpActicityStrategy::getActitcityId, id)); List<XpActicityStrategy> xpActicityStrategies = baseMapper.selectList(new LambdaQueryWrapper<XpActicityStrategy>().eq(XpActicityStrategy::getActitcityId, id)); for (XpActicityStrategy xpActicityStrategy : xpActicityStrategies) { List<XpActicityCoupon> list = xpActicityCouponService.list(new QueryWrapper<XpActicityCoupon>().eq("acticity_strategy_id", xpActicityStrategy.getId())); if(null != list && !list.isEmpty()){ List<Long> couponIds = list.stream().map(XpActicityCoupon::getCouponId).collect(Collectors.toList()); List<XpCoupon> xpCoupons = xpCouponService.list(new QueryWrapper<XpCoupon>().in("id", couponIds)); xpActicityStrategy.setCouponList(xpCoupons); } } return xpActicityStrategies; } } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiaopeng.api.dto.operation.PointMapQuery; import com.xiaopeng.api.dto.order.HistoryEndPointsDto; @@ -29,6 +30,7 @@ import com.xiaopeng.operation.query.PointByNameQuery; import com.xiaopeng.operation.service.IXpElectronicFenceAreaService; import com.xiaopeng.operation.service.IXpElectronicFenceService; import com.xiaopeng.operation.service.IXpTradingStrategyService; import com.xiaopeng.operation.service.XpPointService; import com.xiaopeng.operation.utils.TimeRangeChecker; import com.xiaopeng.operation.utils.holiday.HolidayUtil; @@ -83,6 +85,9 @@ @Resource private AliOssService aliOssService; @Resource private IXpTradingStrategyService xpTradingStrategyService; /** * 如果站点是挂在场站下的 需要返回一个场站id stationId @@ -728,6 +733,13 @@ @Override public OrderDistanceVo getOrderDistance() { OrderDistanceVo orderDistanceVo = new OrderDistanceVo(); XpTradingStrategy xpTradingStrategy = xpTradingStrategyService.getOne(null); if(null != xpTradingStrategy){ orderDistanceVo.setQueuePollingTime(xpTradingStrategy.getQueuePollingTime()); orderDistanceVo.setWalkingNavigationDistance(xpTradingStrategy.getWalkingNavigationDistance()); orderDistanceVo.setMaxStandingTiming(xpTradingStrategy.getMaxStandingTiming()); } XpSystemSetting xpSystemSetting = xpSystemSettingMapper.selectOne(null); if (xpSystemSetting != null) { orderDistanceVo.setMaxDistance(xpSystemSetting.getOrderDistance()); xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/vo/OrderDistanceVo.java
@@ -23,4 +23,13 @@ @ApiModelProperty(value = "天气单位") private String temperatureUnit; @ApiModelProperty("首页轮询接口间隔 秒") private Integer queuePollingTime; @ApiModelProperty("步行图标控制距离 米") private Integer walkingNavigationDistance; @ApiModelProperty("下单页停留时长") private Integer maxStandingTiming; } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -500,7 +500,7 @@ * + * 获取行程费用明细 */ @PutMapping("/api/v1/mini-program/order/fare-breakdown") @PostMapping("/api/v1/mini-program/order/fare-breakdown") @ApiOperation(value = "获取行程费用明细", tags = {"小程序-获取行程费用明细"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R<FareBreakdownVo> fareBreakdown(@RequestBody com.xiaopeng.order.vo.FareBreakdownVo vo, HttpServletRequest request) { @@ -619,8 +619,8 @@ Object cacheObject = redisService.getCacheObject(key); RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class); XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData(); VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class); routeVo.setDirection(null != vehiclePosition ? vehiclePosition.getCourse() : 90); // VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class); // routeVo.setDirection(null != vehiclePosition ? vehiclePosition.getCourse() : 90); Long vehicleId = xpOrder.getVehicleId(); XpOrder one = xpOrderService.getOne(new QueryWrapper<XpOrder>().eq("vehicle_id", vehicleId).in("status", Arrays.asList(6, 7)).eq("is_deleted", 0)); @@ -721,7 +721,7 @@ //判断流失用户 XpOrder one = xpOrderService.getOne(new QueryWrapper<XpOrder>().eq("app_user_id", userId).in("status", Arrays.asList(9, 10)).last(" order by create_time desc limit 1")); if(null != one){ long time = LocalDateTime.now().toEpochSecond(ZoneOffset.of("GMT+8")) - one.getCreateTime().toEpochSecond(ZoneOffset.of("GMT+8")); long time = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) - one.getCreateTime().toEpochSecond(ZoneOffset.of("+8")); if(time >= 60 * 60 * 24 * 5){ return R.ok(4); } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/mapper/XpOrderMapper.java
@@ -74,7 +74,11 @@ List<XpOrder> listUserRecentValidOrders(@Param("uid") Long uid, @Param("startTime") LocalDateTime startTime); List<Long> timeSceneOrders(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDateTime endDate, @Param("startMoment") LocalTime startMoment, @Param("endMoment") LocalTime endMoment, @Param("userId") Long userId); List<Long> timeSceneOrders(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDateTime endDate, @Param("startMoment") LocalTime startMoment, @Param("endMoment") LocalTime endMoment, @Param("userId") Long userId); List<Long> frequencyOrders(LocalDate startDate, LocalDateTime endDate, LocalTime startMoment, LocalTime endMoment, Long userId); } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -3579,34 +3579,34 @@ .plusMinutes(routeVo1.getDuration()).plusMinutes(endPoint.getParkingTimeLimit()).plusMinutes(30); long expirationTime = localDateTime.toEpochSecond(ZoneOffset.of("+8")); //生成token String token = bluetoothUnlockTokenUtil.generateBluetoothUnlockToken(order.getAppUserId(), order.getId(), order.getVehicleId(), expirationTime); log.info("生成蓝牙token:{} 有效期:{} 订单号: {}", token, expirationTime, order.getOrderNumber()); //存储缓存 JSONObject jsonObject = new JSONObject(); jsonObject.put("userId", order.getAppUserId()); jsonObject.put("orderId", order.getId()); jsonObject.put("vehicleId", order.getVehicleId()); jsonObject.put("expirationTime", expirationTime); jsonObject.put("orderNumber", order.getOrderNumber()); jsonObject.put("vehicleVin", vehicle.getVehicleVin()); jsonObject.put("createTime", System.currentTimeMillis()); redisService.setCacheObject("rt:bluetooth:unlock:" + token, jsonObject.toJSONString(), expirationTime, TimeUnit.SECONDS); redisService.setCacheObject("rt:bluetooth:unlock:order:" + order.getId(), token, expirationTime, TimeUnit.SECONDS); //开始下发蓝牙token BluetoothDeliverVo vo = new BluetoothDeliverVo(); vo.setCredential(token); vo.setVim(vehicle.getVehicleVin()); vo.setPassengerUid(order.getAppUserId()); BaseVehicleUserDto deliver = bluetoothUnlockClient.deliver(vo); if(null == deliver){ throw new ServiceException("下发蓝牙token失败"); } if(deliver.getCode() != 0){ log.error("下发蓝牙token失败:{} {}", deliver.getMsg(), order.getOrderNumber()); throw new ServiceException(deliver.getMsg()); } log.info("下发蓝牙token成功:{} {}", deliver.getData(), order.getOrderNumber()); // String token = bluetoothUnlockTokenUtil.generateBluetoothUnlockToken(order.getAppUserId(), // order.getId(), order.getVehicleId(), expirationTime); // log.info("生成蓝牙token:{} 有效期:{} 订单号: {}", token, expirationTime, order.getOrderNumber()); // //存储缓存 // JSONObject jsonObject = new JSONObject(); // jsonObject.put("userId", order.getAppUserId()); // jsonObject.put("orderId", order.getId()); // jsonObject.put("vehicleId", order.getVehicleId()); // jsonObject.put("expirationTime", expirationTime); // jsonObject.put("orderNumber", order.getOrderNumber()); // jsonObject.put("vehicleVin", vehicle.getVehicleVin()); // jsonObject.put("createTime", System.currentTimeMillis()); // redisService.setCacheObject("rt:bluetooth:unlock:" + token, jsonObject.toJSONString(), expirationTime, TimeUnit.SECONDS); // redisService.setCacheObject("rt:bluetooth:unlock:order:" + order.getId(), token, expirationTime, TimeUnit.SECONDS); // //开始下发蓝牙token // BluetoothDeliverVo vo = new BluetoothDeliverVo(); // vo.setCredential(token); // vo.setVim(vehicle.getVehicleVin()); // vo.setPassengerUid(order.getAppUserId()); // BaseVehicleUserDto deliver = bluetoothUnlockClient.deliver(vo); // if(null == deliver){ // throw new ServiceException("下发蓝牙token失败"); // } // if(deliver.getCode() != 0){ // log.error("下发蓝牙token失败:{} {}", deliver.getMsg(), order.getOrderNumber()); // throw new ServiceException(deliver.getMsg()); // } // log.info("下发蓝牙token成功:{} {}", deliver.getData(), order.getOrderNumber()); } if(order.getStatus() == 2){ @@ -3792,9 +3792,11 @@ } Integer status = xpOrder.getStatus(); if(status > 2 && status < 8){ Boolean data = xpVehicleClient.getVehicleTrunkOpenStatus(xpOrder.getAppUserId(), xpOrder.getVehicleId()).getData(); xpOrder.setOpenTrunk(data ? 1 : 2); xpOrderDetailVO.setOpenTrunk(data ? 1 : 2); // Boolean data = xpVehicleClient.getVehicleTrunkOpenStatus(xpOrder.getAppUserId(), xpOrder.getVehicleId()).getData(); // xpOrder.setOpenTrunk(data ? 1 : 2); // xpOrderDetailVO.setOpenTrunk(data ? 1 : 2); xpOrder.setOpenTrunk(2); xpOrderDetailVO.setOpenTrunk(2); xpOrder.setAppUserId(null); this.updateById(xpOrder); } xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml
@@ -108,7 +108,7 @@ AND is_deleted = 0 AND status IN (9, 10) AND DATE(create_time) BETWEEN #{startDate} AND #{endDate} AND TIME(create_time) BETWEEN #{startTime} AND #{endTime} AND TIME(create_time) BETWEEN #{startMoment} AND #{endMoment} GROUP BY end_point_id ORDER BY COUNT(*) DESC </select> xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java
@@ -46,7 +46,7 @@ * @return 操作结果 */ @ApiOperation(value = "发送订单状态") @PostMapping("/inner/websocket/order/sendStatus") @PostMapping("/logan/inner/websocket/order/sendStatus") public R<String> sendStatus(@RequestBody SendMessageDTO dto) { try { String message = dto.getMessage();