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

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

...@@ -5,7 +5,7 @@ import lombok.Getter; ...@@ -5,7 +5,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull;
@Getter @Getter
@Setter @Setter
...@@ -13,7 +13,7 @@ import javax.validation.constraints.NotBlank; ...@@ -13,7 +13,7 @@ import javax.validation.constraints.NotBlank;
public class VehicleWarnInfoResolveUpdateParam { public class VehicleWarnInfoResolveUpdateParam {
@ApiModelProperty(value = "id", example = "1") @ApiModelProperty(value = "id", example = "1")
@NotBlank(message = "id不能为空") @NotNull(message = "id不能为空")
private Integer id; private Integer id;
} }
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter @Getter
@Setter @Setter
...@@ -13,12 +14,14 @@ import javax.validation.constraints.NotBlank; ...@@ -13,12 +14,14 @@ import javax.validation.constraints.NotBlank;
public class VehicleWarnInfoSuspendUpdateParam { public class VehicleWarnInfoSuspendUpdateParam {
@ApiModelProperty(value = "id", example = "1") @ApiModelProperty(value = "id", example = "1")
@NotBlank(message = "id不能为空") @NotNull(message = "id不能为空")
private Integer id; private Integer id;
@ApiModelProperty(value = "预警屏蔽范围:1运单 2货单 3无预警", example = "1") @ApiModelProperty(value = "预警屏蔽范围:1运单 2货单 3无预警", example = "1")
@NotNull(message = "预警屏蔽范围不能为空")
private Integer warnRang; private Integer warnRang;
@ApiModelProperty(value = "预警屏蔽结束时间", example = "") @ApiModelProperty(value = "预警屏蔽结束时间", example = "")
@NotBlank(message = "预警屏蔽结束时间不能为空")
private String warnEndTime; private String warnEndTime;
} }
...@@ -88,7 +88,7 @@ public class VehicleWarnInfoVO { ...@@ -88,7 +88,7 @@ public class VehicleWarnInfoVO {
if (Objects.equals(status, VehicleWarnInfoEnum.Status.RESOLVE.getCode())) {return VehicleWarnInfoEnum.Status.RESOLVE.getCode();} if (Objects.equals(status, VehicleWarnInfoEnum.Status.RESOLVE.getCode())) {return VehicleWarnInfoEnum.Status.RESOLVE.getCode();}
if (StringUtils.isNotBlank(suspendTime)){ 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(); return VehicleWarnInfoEnum.Status.INIT.getCode();
} else { } else {
return VehicleWarnInfoEnum.Status.SUSPEND.getCode(); return VehicleWarnInfoEnum.Status.SUSPEND.getCode();
......
...@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -28,17 +29,17 @@ public class TempVehicleWarnController { ...@@ -28,17 +29,17 @@ public class TempVehicleWarnController {
@ApiOperation(value = "发送预警短信", notes = "<br>By:艾庆国") @ApiOperation(value = "发送预警短信", notes = "<br>By:艾庆国")
@PostMapping("/sendSms") @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(); return Result.ok();
} }
@ApiOperation(value = "发送预警外呼", notes = "<br>By:艾庆国") @ApiOperation(value = "发送预警外呼", notes = "<br>By:艾庆国")
@PostMapping("/sendClink") @PostMapping("/sendClink")
public Result sendClink(List<String> mobileList, String warnName, String truckNo, String childNo) { public Result sendClink(String mobile, String warnName, String truckNo, String childNo) {
vehicleWarnMqHandlerService.sendClink(mobileList, warnName, truckNo, childNo); vehicleWarnMqHandlerService.sendClink(Arrays.asList(mobile), warnName, truckNo, childNo);
return Result.ok(); return Result.ok();
} }
......
...@@ -73,7 +73,11 @@ public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMappe ...@@ -73,7 +73,11 @@ public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMappe
@Override @Override
public List<VehicleWarnConfig> listByWarnType(Integer warnType) { 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 @Override
......
...@@ -41,7 +41,7 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V ...@@ -41,7 +41,7 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
if (Objects.equals(warnRang, VehicleWarnRangEnum.WarnRange.CHILD.getCode())) { if (Objects.equals(warnRang, VehicleWarnRangEnum.WarnRange.CHILD.getCode())) {
return update(lUdWrapper() return update(lUdWrapper()
.eq(VehicleWarnInfo::getId, item.getId()) .eq(VehicleWarnInfo::getId, item.getId())
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE) .ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime()) .set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime())
); );
} }
...@@ -49,14 +49,14 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V ...@@ -49,14 +49,14 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
return update(lUdWrapper() return update(lUdWrapper()
.eq(VehicleWarnInfo::getWarnConfigId, item.getWarnConfigId()) .eq(VehicleWarnInfo::getWarnConfigId, item.getWarnConfigId())
.eq(VehicleWarnInfo::getOrderGoodsNo, item.getOrderGoodsNo()) .eq(VehicleWarnInfo::getOrderGoodsNo, item.getOrderGoodsNo())
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE) .ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime()) .set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime())
); );
} }
else { else {
return update(lUdWrapper() return update(lUdWrapper()
.eq(VehicleWarnInfo::getWarnConfigId, item.getWarnConfigId()) .eq(VehicleWarnInfo::getWarnConfigId, item.getWarnConfigId())
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE) .ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime()) .set(VehicleWarnInfo::getSuspendTime, item.getSuspendTime())
); );
} }
......
...@@ -88,8 +88,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -88,8 +88,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
List<Double> getLossNet(@Param("param") OrderChildReportParam param); List<Double> getLossNet(@Param("param") OrderChildReportParam param);
@Select("<script>" + @Select("<script>" +
"select sum(TIMESTAMPDIFF(SECOND,load_time,arrive_send_time)) from " + TABLE + "select avg(TIMESTAMPDIFF(SECOND,load_time,arrive_send_time)) from " + TABLE +
" where load_time is not null and and pay_time &gt;= #{beginTime} " + " where load_time is not null and pay_time &gt;= #{beginTime} " +
" <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> " + " <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> " +
" <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> " + " <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> " +
...@@ -102,8 +102,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -102,8 +102,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
String beginTime); String beginTime);
@Select("<script>" + @Select("<script>" +
"select sum(TIMESTAMPDIFF(SECOND,unload_time,arrive_receive_time)) from " + TABLE + "select avg(TIMESTAMPDIFF(SECOND,unload_time,arrive_receive_time)) from " + TABLE +
" where unload_time is not null and and pay_time &gt;= #{beginTime} " + " where unload_time is not null and pay_time &gt;= #{beginTime} " +
" <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> " + " <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> " +
" <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> " + " <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> " +
......
...@@ -8,7 +8,7 @@ import com.msl.common.model.HasKey; ...@@ -8,7 +8,7 @@ import com.msl.common.model.HasKey;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
...@@ -29,7 +29,7 @@ public class VehicleWarnRang implements HasKey<Integer> { ...@@ -29,7 +29,7 @@ public class VehicleWarnRang implements HasKey<Integer> {
private Integer warnConfigId; //预警配置id private Integer warnConfigId; //预警配置id
private String warnName; //预警名称 private String warnName; //预警名称
private Integer warnRang; //预警屏蔽范围:1运单 2货单 3全部 private Integer warnRang; //预警屏蔽范围:1运单 2货单 3全部
private String orderNo; //货单编号 private String orderGoodsNo; //货单编号
private String childNo; //运单编号 private String childNo; //运单编号
private LocalDateTime warnEndTime; //预警屏蔽结束时间 private LocalDateTime warnEndTime; //预警屏蔽结束时间
private Integer status; //状态:1有效 2无效 private Integer status; //状态:1有效 2无效
......
...@@ -67,6 +67,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService { ...@@ -67,6 +67,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
vehicleWarnInfo.setOrderGoodsNo(orderChild.getOrderGoodsNo()); vehicleWarnInfo.setOrderGoodsNo(orderChild.getOrderGoodsNo());
vehicleWarnInfo.setChildNo(orderChild.getChildNo()); vehicleWarnInfo.setChildNo(orderChild.getChildNo());
vehicleWarnInfo.setChildStatus(orderChild.getStatus());
vehicleWarnInfo.setSendAddressId(orderChild.getSendAddressId()); vehicleWarnInfo.setSendAddressId(orderChild.getSendAddressId());
vehicleWarnInfo.setSendAddress(orderChild.getSendAddress()); vehicleWarnInfo.setSendAddress(orderChild.getSendAddress());
vehicleWarnInfo.setReceiveAddressId(orderChild.getReceiveAddressId()); vehicleWarnInfo.setReceiveAddressId(orderChild.getReceiveAddressId());
...@@ -99,7 +100,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService { ...@@ -99,7 +100,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
return item.getWarnEndTime().isAfter(LocalDateTime.now()); return item.getWarnEndTime().isAfter(LocalDateTime.now());
} }
if (Objects.equals(item.getWarnRang(), VehicleWarnRangEnum.WarnRange.ORDER_GOODS.getCode())){ 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()); return item.getWarnEndTime().isAfter(LocalDateTime.now());
} }
} }
......
...@@ -67,6 +67,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService { ...@@ -67,6 +67,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
vehicleWarnLog.setWarnName(vehicleWarnInfo.getWarnName()); vehicleWarnLog.setWarnName(vehicleWarnInfo.getWarnName());
vehicleWarnLog.setWarnRang(param.getWarnRang()); vehicleWarnLog.setWarnRang(param.getWarnRang());
vehicleWarnLog.setWarnEndTime(LocalDateTimeUtils.parseTime(param.getWarnEndTime())); vehicleWarnLog.setWarnEndTime(LocalDateTimeUtils.parseTime(param.getWarnEndTime()));
vehicleWarnLog.setWarnTime(vehicleWarnInfo.getWarnTime());
vehicleWarnLog.setCreateBy(loginUserInfo.getUserName()); vehicleWarnLog.setCreateBy(loginUserInfo.getUserName());
vehicleWarnLogDao.saveEntity(vehicleWarnLog); vehicleWarnLogDao.saveEntity(vehicleWarnLog);
...@@ -87,6 +88,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService { ...@@ -87,6 +88,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
vehicleWarnLog.setContent(VehicleWarnLogEnum.Type.RESOLVE.getMsg()); vehicleWarnLog.setContent(VehicleWarnLogEnum.Type.RESOLVE.getMsg());
vehicleWarnLog.setChildNo(vehicleWarnInfo.getChildNo()); vehicleWarnLog.setChildNo(vehicleWarnInfo.getChildNo());
vehicleWarnLog.setWarnName(vehicleWarnInfo.getWarnName()); vehicleWarnLog.setWarnName(vehicleWarnInfo.getWarnName());
vehicleWarnLog.setWarnTime(vehicleWarnInfo.getWarnTime());
vehicleWarnLog.setCreateBy(loginUserInfo.getUserName()); vehicleWarnLog.setCreateBy(loginUserInfo.getUserName());
vehicleWarnLogDao.saveEntity(vehicleWarnLog); vehicleWarnLogDao.saveEntity(vehicleWarnLog);
...@@ -113,12 +115,12 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService { ...@@ -113,12 +115,12 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
// 接单重车、卸车空车 // 接单重车、卸车空车
for (DriverTruckTraceVO item : truckTraceList) { for (DriverTruckTraceVO item : truckTraceList) {
item.setTruckStatus(1); item.setTruckStatus(2);
if (orderChild.getCancelTime() != null){ 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 (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; ...@@ -3,7 +3,7 @@ package com.clx.performance.service.impl.vehiclewarn;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.clx.message.feign.ClxMessageOpenapiFeign; 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.message.req.message.ClinkMessageReq;
import com.clx.order.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.config.ClxMessageConfig; import com.clx.performance.config.ClxMessageConfig;
...@@ -280,18 +280,22 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ ...@@ -280,18 +280,22 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
@Override @Override
public void sendSms(List<String> mobileList, String warnName, String truckNo, String childNo) { public void sendSms(List<String> mobileList, String warnName, String truckNo, String childNo) {
//触发${warnName}预警;车牌号${truckNo};运单${childNo};请尽快核实情况 //触发${warnName}预警;车牌号${truckNo};运单${childNo};请尽快核实情况
AliBatchSmsMessageReq req = new AliBatchSmsMessageReq();
AliSmsMessageReq req = new AliSmsMessageReq();
req.setTemplateCode(clxMessageConfig.getVehicleWarnTemplateCode());
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.set("warnName", warnName); jsonObject.set("warnName", warnName);
jsonObject.set("truckNo", truckNo); jsonObject.set("truckNo", truckNo);
jsonObject.set("childNo", childNo); jsonObject.set("childNo", childNo);
req.setChannelId(clxMessageConfig.getVehicleWarnChannelId());
req.setTemplateCode(clxMessageConfig.getVehicleWarnTemplateCode());
req.setChannelId(clxMessageConfig.getChannelId());
req.setAppId(clxMessageConfig.getAppId().toString()); req.setAppId(clxMessageConfig.getAppId().toString());
req.setMobileList(mobileList);
req.setContent(jsonObject.toString()); 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 { ...@@ -19,7 +19,7 @@ public class VehicleWarnConfigSqlProvider {
SELECT("*"); SELECT("*");
FROM(TABLE); FROM(TABLE);
WHERE("delete_status = 0"); 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.getWarnType())) {WHERE("warn_type = #{param.warnType}");}
if (Objects.nonNull(param.getWarnLevel())) {WHERE("warn_level = #{param.warnLevel}");} if (Objects.nonNull(param.getWarnLevel())) {WHERE("warn_level = #{param.warnLevel}");}
if (Objects.nonNull(param.getStatus())) {WHERE("status = #{param.status}");} if (Objects.nonNull(param.getStatus())) {WHERE("status = #{param.status}");}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论