|
|
@@ -122,49 +122,53 @@ public class AflSmsSendImpl implements AflSmsSendManager { |
|
|
|
} |
|
|
|
} |
|
|
|
public boolean canSendSms(FssPaccountPay paccountPay, AflSmsConfig byAgentId) { |
|
|
|
// 判断代理商、短信开关、发送时间等条件 |
|
|
|
if(null==byAgentId){ |
|
|
|
return false; |
|
|
|
} |
|
|
|
if(null!=byAgentId.getVehicleJson()){ |
|
|
|
ObjectMapper objectMapper = new ObjectMapper(); |
|
|
|
try { |
|
|
|
List<String> vehicleIds = objectMapper.readValue(byAgentId.getVehicleJson(), List.class); |
|
|
|
if(vehicleIds.contains(paccountPay.getVehicleId())){ |
|
|
|
return false; |
|
|
|
} |
|
|
|
} catch (JsonProcessingException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
try { |
|
|
|
// 判断代理商、短信开关、发送时间等条件 |
|
|
|
if(null==byAgentId){ |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
if (byAgentId.getIsEnabled() == 1&&isWithinTimeRange(byAgentId.getSendTimeStart(), byAgentId.getSendTimeEnd())) { |
|
|
|
if (byAgentId.getType() == 1) { |
|
|
|
// 获取当天开始时间 |
|
|
|
LocalDateTime startOfDay = LocalDate.now().atStartOfDay(); |
|
|
|
System.out.println("当天开始时间:" + startOfDay); |
|
|
|
|
|
|
|
// 获取当天结束时间 |
|
|
|
LocalDateTime endOfDay = LocalDate.now().atTime(LocalTime.MAX); |
|
|
|
System.out.println("当天结束时间:" + endOfDay); |
|
|
|
List<AflSmsRecord> byCountDay = aflSmsRecordRepo.findByCountDay(paccountPay.getVehicleId(),startOfDay,endOfDay); |
|
|
|
if (byCountDay.size() >= byAgentId.getMaxCountPerDay()) { |
|
|
|
return false; |
|
|
|
if(null!=byAgentId.getVehicleJson()){ |
|
|
|
ObjectMapper objectMapper = new ObjectMapper(); |
|
|
|
try { |
|
|
|
List<String> vehicleIds = objectMapper.readValue(byAgentId.getVehicleJson(), List.class); |
|
|
|
if(vehicleIds.contains(paccountPay.getVehicleId())){ |
|
|
|
return false; |
|
|
|
} |
|
|
|
} catch (JsonProcessingException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
if (byAgentId.getType() == 2) { |
|
|
|
// 获取当月的第一天 |
|
|
|
LocalDateTime firstDayOfMonth = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(); |
|
|
|
System.out.println("当月的第一天:" + firstDayOfMonth); |
|
|
|
|
|
|
|
// 获取当月的最后一天 |
|
|
|
LocalDateTime lastDayOfMonth = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()).atTime(LocalTime.MAX); |
|
|
|
System.out.println("当月的最后一天:" + lastDayOfMonth); |
|
|
|
List<AflSmsRecord> byCountMonth = aflSmsRecordRepo.findByCountMonth(paccountPay.getVehicleId(),firstDayOfMonth,lastDayOfMonth); |
|
|
|
if (byCountMonth.size() >= byAgentId.getMaxCountPerMonth()) { |
|
|
|
return false; |
|
|
|
if (byAgentId.getIsEnabled() == 1&&isWithinTimeRange(byAgentId.getSendTimeStart(), byAgentId.getSendTimeEnd())) { |
|
|
|
if (byAgentId.getType() == 1) { |
|
|
|
// 获取当天开始时间 |
|
|
|
LocalDateTime startOfDay = LocalDate.now().atStartOfDay(); |
|
|
|
System.out.println("当天开始时间:" + startOfDay); |
|
|
|
|
|
|
|
// 获取当天结束时间 |
|
|
|
LocalDateTime endOfDay = LocalDate.now().atTime(LocalTime.MAX); |
|
|
|
System.out.println("当天结束时间:" + endOfDay); |
|
|
|
List<AflSmsRecord> byCountDay = aflSmsRecordRepo.findByCountDay(paccountPay.getVehicleId(),startOfDay,endOfDay); |
|
|
|
if (byCountDay.size() >= byAgentId.getMaxCountPerDay()) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
if (byAgentId.getType() == 2) { |
|
|
|
// 获取当月的第一天 |
|
|
|
LocalDateTime firstDayOfMonth = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(); |
|
|
|
System.out.println("当月的第一天:" + firstDayOfMonth); |
|
|
|
|
|
|
|
// 获取当月的最后一天 |
|
|
|
LocalDateTime lastDayOfMonth = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()).atTime(LocalTime.MAX); |
|
|
|
System.out.println("当月的最后一天:" + lastDayOfMonth); |
|
|
|
List<AflSmsRecord> byCountMonth = aflSmsRecordRepo.findByCountMonth(paccountPay.getVehicleId(),firstDayOfMonth,lastDayOfMonth); |
|
|
|
if (byCountMonth.size() >= byAgentId.getMaxCountPerMonth()) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
return true; |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("短信配置限制流程报错",e.getMessage()); |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |