提交 ac1f3397 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v14.4_vehicle_warn_20240425' into dev

......@@ -5,7 +5,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter
@Setter
......@@ -13,7 +13,7 @@ import javax.validation.constraints.NotBlank;
public class VehicleWarnInfoResolveUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotBlank(message = "id不能为空")
@NotNull(message = "id不能为空")
private Integer id;
}
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter
@Setter
......@@ -13,12 +14,14 @@ import javax.validation.constraints.NotBlank;
public class VehicleWarnInfoSuspendUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotBlank(message = "id不能为空")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "预警屏蔽范围:1运单 2货单 3无预警", example = "1")
@NotNull(message = "预警屏蔽范围不能为空")
private Integer warnRang;
@ApiModelProperty(value = "预警屏蔽结束时间", example = "")
@NotBlank(message = "预警屏蔽结束时间不能为空")
private String warnEndTime;
}
......@@ -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();
}
......
......@@ -73,7 +73,11 @@ public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMappe
@Override
public List<VehicleWarnConfig> listByWarnType(Integer warnType) {
return list(lQrWrapper().eq(VehicleWarnConfig::getWarnType, warnType));
return list(lQrWrapper()
.eq(VehicleWarnConfig::getWarnType, warnType)
.eq(VehicleWarnConfig::getDeleteStatus, VehicleWarnConfigEnum.DeleteStatus.NO.getCode())
.eq(VehicleWarnConfig::getStatus, VehicleWarnConfigEnum.Status.ENABLE.getCode())
);
}
@Override
......
......@@ -41,7 +41,7 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
if (Objects.equals(warnRang, VehicleWarnRangEnum.WarnRange.CHILD.getCode())) {
return update(lUdWrapper()
.eq(VehicleWarnInfo::getId, item.getId())
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE)
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime())
);
}
......@@ -49,14 +49,14 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
return update(lUdWrapper()
.eq(VehicleWarnInfo::getWarnConfigId, item.getWarnConfigId())
.eq(VehicleWarnInfo::getOrderGoodsNo, item.getOrderGoodsNo())
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE)
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime())
);
}
else {
return update(lUdWrapper()
.eq(VehicleWarnInfo::getWarnConfigId, item.getWarnConfigId())
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE)
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime())
);
}
......
......@@ -88,8 +88,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
List<Double> getLossNet(@Param("param") OrderChildReportParam param);
@Select("<script>" +
"select sum(TIMESTAMPDIFF(SECOND,load_time,arrive_send_time)) from " + TABLE +
" where load_time is not null and and pay_time &gt;= #{beginTime} " +
"select avg(TIMESTAMPDIFF(SECOND,load_time,arrive_send_time)) from " + TABLE +
" where load_time is not null and pay_time &gt;= #{beginTime} " +
" <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> " +
" <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> " +
......@@ -102,8 +102,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
String beginTime);
@Select("<script>" +
"select sum(TIMESTAMPDIFF(SECOND,unload_time,arrive_receive_time)) from " + TABLE +
" where unload_time is not null and and pay_time &gt;= #{beginTime} " +
"select avg(TIMESTAMPDIFF(SECOND,unload_time,arrive_receive_time)) from " + TABLE +
" where unload_time is not null and pay_time &gt;= #{beginTime} " +
" <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> " +
" <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> " +
......
......@@ -8,7 +8,7 @@ import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
/**
......@@ -29,7 +29,7 @@ public class VehicleWarnRang implements HasKey<Integer> {
private Integer warnConfigId; //预警配置id
private String warnName; //预警名称
private Integer warnRang; //预警屏蔽范围:1运单 2货单 3全部
private String orderNo; //货单编号
private String orderGoodsNo; //货单编号
private String childNo; //运单编号
private LocalDateTime warnEndTime; //预警屏蔽结束时间
private Integer status; //状态:1有效 2无效
......
......@@ -67,6 +67,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
vehicleWarnInfo.setOrderGoodsNo(orderChild.getOrderGoodsNo());
vehicleWarnInfo.setChildNo(orderChild.getChildNo());
vehicleWarnInfo.setChildStatus(orderChild.getStatus());
vehicleWarnInfo.setSendAddressId(orderChild.getSendAddressId());
vehicleWarnInfo.setSendAddress(orderChild.getSendAddress());
vehicleWarnInfo.setReceiveAddressId(orderChild.getReceiveAddressId());
......@@ -99,7 +100,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
return item.getWarnEndTime().isAfter(LocalDateTime.now());
}
if (Objects.equals(item.getWarnRang(), VehicleWarnRangEnum.WarnRange.ORDER_GOODS.getCode())){
if (Objects.equals(vehicleWarnChild.getOrderGoodsNo(), item.getOrderNo())) {
if (Objects.equals(vehicleWarnChild.getOrderGoodsNo(), item.getOrderGoodsNo())) {
return item.getWarnEndTime().isAfter(LocalDateTime.now());
}
}
......
......@@ -67,6 +67,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
vehicleWarnLog.setWarnName(vehicleWarnInfo.getWarnName());
vehicleWarnLog.setWarnRang(param.getWarnRang());
vehicleWarnLog.setWarnEndTime(LocalDateTimeUtils.parseTime(param.getWarnEndTime()));
vehicleWarnLog.setWarnTime(vehicleWarnInfo.getWarnTime());
vehicleWarnLog.setCreateBy(loginUserInfo.getUserName());
vehicleWarnLogDao.saveEntity(vehicleWarnLog);
......@@ -87,6 +88,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
vehicleWarnLog.setContent(VehicleWarnLogEnum.Type.RESOLVE.getMsg());
vehicleWarnLog.setChildNo(vehicleWarnInfo.getChildNo());
vehicleWarnLog.setWarnName(vehicleWarnInfo.getWarnName());
vehicleWarnLog.setWarnTime(vehicleWarnInfo.getWarnTime());
vehicleWarnLog.setCreateBy(loginUserInfo.getUserName());
vehicleWarnLogDao.saveEntity(vehicleWarnLog);
......@@ -113,12 +115,12 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
// 接单重车、卸车空车
for (DriverTruckTraceVO item : truckTraceList) {
item.setTruckStatus(1);
item.setTruckStatus(2);
if (orderChild.getCancelTime() != null){
if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getCancelTime())){item.setTruckStatus(0);}
if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getCancelTime())){item.setTruckStatus(1);}
}
if (orderChild.getUnloadTime() != null){
if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getUnloadTime())){item.setTruckStatus(0);}
if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getUnloadTime())){item.setTruckStatus(1);}
}
}
......
......@@ -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;
......@@ -280,18 +280,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.setChannelId(clxMessageConfig.getVehicleWarnChannelId());
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);
}
}
......
......@@ -19,7 +19,7 @@ public class VehicleWarnConfigSqlProvider {
SELECT("*");
FROM(TABLE);
WHERE("delete_status = 0");
if (StringUtils.isNotBlank(param.getWarnName())) {WHERE("warn_name = #{param.warnName}");}
if (StringUtils.isNotBlank(param.getWarnName())) {WHERE("warn_name like CONCAT('%', #{param.warnName},'%')");}
if (Objects.nonNull(param.getWarnType())) {WHERE("warn_type = #{param.warnType}");}
if (Objects.nonNull(param.getWarnLevel())) {WHERE("warn_level = #{param.warnLevel}");}
if (Objects.nonNull(param.getStatus())) {WHERE("status = #{param.status}");}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论