提交 6eb71195 authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/test' into test

......@@ -88,7 +88,7 @@ public class VehicleWarnInfoVO {
if (Objects.equals(status, VehicleWarnInfoEnum.Status.RESOLVE.getCode())) {return VehicleWarnInfoEnum.Status.RESOLVE.getCode();}
if (StringUtils.isNotBlank(suspendTime)){
if (LocalDateTimeUtil.parse(suspendTime).isBefore(LocalDateTime.now())) {
if (LocalDateTimeUtil.parse(suspendTime,"yyyy-MM-dd HH:mm:ss").isBefore(LocalDateTime.now())) {
return VehicleWarnInfoEnum.Status.INIT.getCode();
} else {
return VehicleWarnInfoEnum.Status.SUSPEND.getCode();
......
......@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
......@@ -28,17 +29,17 @@ public class TempVehicleWarnController {
@ApiOperation(value = "发送预警短信", notes = "<br>By:艾庆国")
@PostMapping("/sendSms")
public Result sendSms(List<String> mobileList, String warnName, String truckNo, String childNo) {
public Result sendSms(String mobile, String warnName, String truckNo, String childNo) {
vehicleWarnMqHandlerService.sendSms(mobileList, warnName, truckNo, childNo);
vehicleWarnMqHandlerService.sendSms(Arrays.asList(mobile), warnName, truckNo, childNo);
return Result.ok();
}
@ApiOperation(value = "发送预警外呼", notes = "<br>By:艾庆国")
@PostMapping("/sendClink")
public Result sendClink(List<String> mobileList, String warnName, String truckNo, String childNo) {
vehicleWarnMqHandlerService.sendClink(mobileList, warnName, truckNo, childNo);
public Result sendClink(String mobile, String warnName, String truckNo, String childNo) {
vehicleWarnMqHandlerService.sendClink(Arrays.asList(mobile), warnName, truckNo, childNo);
return Result.ok();
}
......
......@@ -173,4 +173,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
Integer unloadTimeAvg(Integer sendAddressId, Integer receiveAddressId,
Integer sendSystemAddressId, Integer receiveSystemAddressId,
String beginTime);
List<OrderChild> listByChildNoList(List<String> childNoList);
}
......@@ -24,6 +24,7 @@ import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
......@@ -555,4 +556,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
sendSystemAddressId,receiveSystemAddressId,
beginTime);
}
@Override
public List<OrderChild> listByChildNoList(List<String> childNoList) {
return list(lQrWrapper().in(OrderChild :: getChildNo,childNoList));
}
}
......@@ -3,12 +3,14 @@ package com.clx.performance.dto.vehiclewarn;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class VehicleWarnCommonInfoDTO {
......
......@@ -295,6 +295,7 @@ public class TruckTraceServiceImpl implements TruckTraceService {
// 司机
List<DriverTraceESPlus> list1 = driverTraceESPlusMapper.selectList(new LambdaEsQueryWrapper<DriverTraceESPlus>()
.eq(DriverTraceESPlus::getUserNo, userNo)
.gt(DriverTraceESPlus::getSpeed, PARK_SPEED)
.ge(DriverTraceESPlus::getPositionTime, beginTime)
.le(DriverTraceESPlus::getPositionTime, endTime)
.orderByAsc("positionTime")
......@@ -303,7 +304,7 @@ public class TruckTraceServiceImpl implements TruckTraceService {
if (!list1.isEmpty()){
list1 = driverTraceESPlusMapper.selectList(new LambdaEsQueryWrapper<DriverTraceESPlus>()
.eq(DriverTraceESPlus::getUserNo, userNo)
.eq(DriverTraceESPlus::getSpeed, PARK_SPEED)
.gt(DriverTraceESPlus::getSpeed, PARK_SPEED)
.ge(DriverTraceESPlus::getPositionTime, list1.get(0).getPositionTime())
.le(DriverTraceESPlus::getPositionTime, endTime)
.orderByDesc("positionTime")
......
......@@ -43,6 +43,7 @@ public class VehicleWarnDelayWarnServiceImpl implements VehicleWarnDelayWarnServ
@Transactional(rollbackFor = Exception.class)
@Override
public void delayTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnCommonInfoDTO commonInfo){
if (vehicleWarnChild.getArriveReceiveExpectTime() == null) {return;}
// 拉运结束时间
LocalDateTime transportEndTime = commonInfo.getTransportEndTime();
......
package com.clx.performance.service.impl.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnLogDao;
......@@ -30,6 +31,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@Service
......@@ -139,6 +142,16 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
@Override
public IPage<VehicleWarnInfoVO> pageInfo(PageVehicleWarnInfoParam param) {
Page<VehicleWarnInfoVO> page = vehicleWarnInfoStruct.convertPage(vehicleWarnInfoDao.pageByParam(param));
List<String> childNoList = page.getRecords().stream().map(item -> item.getChildNo()).collect(Collectors.toList());
if (!childNoList.isEmpty()) {
List<OrderChild> list = orderChildDao.listByChildNoList(childNoList);
Map<String, OrderChild> map = list.stream().collect(Collectors.toMap(item -> item.getChildNo(), item -> item));
for (VehicleWarnInfoVO record : page.getRecords()) {
record.setStatus(map.get(record.getChildNo()).getStatus());
}
}
return vehicleWarnInfoStruct.convertPage(vehicleWarnInfoDao.pageByParam(param));
}
......
......@@ -3,7 +3,7 @@ package com.clx.performance.service.impl.vehiclewarn;
import cn.hutool.json.JSONObject;
import com.alibaba.fastjson.JSON;
import com.clx.message.feign.ClxMessageOpenapiFeign;
import com.clx.message.req.batch.AliBatchSmsMessageReq;
import com.clx.message.req.message.AliSmsMessageReq;
import com.clx.message.req.message.ClinkMessageReq;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.config.ClxMessageConfig;
......@@ -135,6 +135,8 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
commonInfo.setReceiveAddressDistance(vehicleWarnCommonService.getNeedDistance(commonInfo.getCurrentPosition(), vehicleWarnChild.getReceiveLongitude(), vehicleWarnChild.getReceiveLatitude()));
}
log.info("commonInfo:{}", commonInfo.toString());
// 前往货源地超时
if (Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.CREATED.getCode())
......@@ -280,18 +282,22 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
@Override
public void sendSms(List<String> mobileList, String warnName, String truckNo, String childNo) {
//触发${warnName}预警;车牌号${truckNo};运单${childNo};请尽快核实情况
AliBatchSmsMessageReq req = new AliBatchSmsMessageReq();
AliSmsMessageReq req = new AliSmsMessageReq();
req.setTemplateCode(clxMessageConfig.getVehicleWarnTemplateCode());
JSONObject jsonObject = new JSONObject();
jsonObject.set("warnName", warnName);
jsonObject.set("truckNo", truckNo);
jsonObject.set("childNo", childNo);
req.setTemplateCode(clxMessageConfig.getVehicleWarnTemplateCode());
req.setChannelId(clxMessageConfig.getChannelId());
req.setAppId(clxMessageConfig.getAppId().toString());
req.setMobileList(mobileList);
req.setContent(jsonObject.toString());
clxMessageOpenapiFeign.sendAliSmsBatch(req);
req.setExpire(300L);
for (String mobile : mobileList) {
req.setMobile(mobile);
clxMessageOpenapiFeign.sendAliSms(req);
}
}
......
......@@ -125,6 +125,8 @@ public class VehicleWarnReceiveAddressWarnServiceImpl implements VehicleWarnRece
// 超时判断
LocalDateTime now = commonInfo.getCurrentTime();
log.info("到达目的地超时, childNo:{}, needTime:{}", orderChild.getChildNo(), needTime);
if (lastArriveReceiveTime.isAfter(now.plusMinutes(needTime))) {return;}
List<VehicleWarnConfig> vehicleWarnConfigList = vehicleWarnConfigDao.listByWarnType(VehicleWarnConfigEnum.WarnType.ARRIVE_RECEIVE_DELAY.getCode());
......
......@@ -39,7 +39,7 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
@Transactional(rollbackFor = Exception.class)
@Override
public void gotoSendAddressTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnCommonInfoDTO commonInfo){
if (vehicleWarnChild.getArriveSendExpectTime() == null) {return;}
if (vehicleWarnChild.getArriveReceiveExpectTime() == null) {return;}
long expectTime = vehicleWarnChild.getArriveReceiveExpectTime();
......@@ -75,7 +75,7 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
}
/**
* 到达货源地超时
* 到达货源地延误
*/
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -84,10 +84,12 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
// 计算需要的时间
Integer needTime = commonInfo.getSendAddressTime();
LocalDateTime lastArriveSendTime = commonInfo.getLastArriveSendTime();
log.info("到达货源地延误, childNo:{}, takeTime:{}, arriveSendExpectTime:{}, needTime:{}", orderChild.getChildNo(), vehicleWarnChild.getTakeTime(), vehicleWarnChild.getArriveSendExpectTime(), needTime);
// 超时判断
LocalDateTime now = LocalDateTime.now();
if (vehicleWarnChild.getTakeTime().plusMinutes(vehicleWarnChild.getArriveSendExpectTime()).isAfter(now.plusMinutes(needTime))) {return;}
if (lastArriveSendTime.isAfter(now.plusMinutes(needTime))) {return;}
List<VehicleWarnConfig> vehicleWarnConfigList = vehicleWarnConfigDao.listByWarnType(VehicleWarnConfigEnum.WarnType.ARRIVE_SEND_DELAY.getCode());
if (vehicleWarnConfigList.isEmpty()) {return;}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论