一.问题:前段需要根据日期查询出预约疫苗人员列表,并排序展示,如下图:
二.实现
在实现后端逻辑过程中,主要关注以下几点:
(1)由于预约人数在0~1000之间,所以排序时需要生成001、002...999类似的序列号,代码如下:
public class GenerateNum{
static AtomicInteger val = new AtomicInteger(4);
/**
* 生成001,002序列
* @param startValue
* @return
*/
public static String getNext(int startValue){
val = new AtomicInteger(startValue);
int nextVal= val.incrementAndGet();
return String.format("%03d",nextVal);
}
}
(2)使用空格进行拆分字符串
String[] split = "ssss".split("\\s+");
(3)sql语句的编写
由于数据库中日期字段为TIMESTAMP类型,形如“YYYY-mm-dd:HH:mm:ss”的形式,但前端上送为“YYYY-mm-dd”形式,所以查询时需求对日期格式进行截取查询,如下:
select
*
from
table
where
WHITE_ID = #{whiteId}
and
DATE_FORMAT(CREATE_TIME,'%Y-%m-%d') = #{dateTime}
order by
CREATE_TIME
asc