开始搞
# 获取task_key
$task_key = Db::table('task_key')->select()->toArray();
# 获取task_key的更新时间
$key_up = $task_key[0]['updateTime'];
# 预设值
$key = '';
## 1、当日案件序号设置
# 要点:如果task_key的数据是昨天的,则更新为今天的。而如果是今天的,那直接读取即可
# 如果task_key的最后更新时间,小于今天0点
,那么,task_key的数据,为昨天数据
if($key_up < date('Y-m-d').' 00:00:00'){
// 重置num的值为0,并+1(用于下一次获取),预设值$key的值也设为0
// 重置updateTime的时间为当前时间
$key = 0;
Db::table('task_key')->where('Id', '=', 1)->update([
'num'=>$key+1,
'updateTime'=>getTime()
]);
}
# 如果task_key的最后更新时间,大于今天0点
else{
// 获取num当前的值,储存在变量$key中
// 创建新数据,要为num+1
$key = $task_key[0]['num'];
Db::table('task_key')->where('Id', '=', 1)->update([
'num'=>$key+1,
'updateTime'=>getTime()
]);
}
## 2、新建案件
$res_taskId = Db::table('task')->insertGetId([
'xxxx'=>$xxxx
]);
## 3、将拼接的2021060400000格式的id,更新入新建的案件
Db::table('task')->where('Id', $res_taskId)->update([
'taskId'=>getTime2().bu_4_0($key)
]);
函数一,获取当前时间
# 获取当前年月日-时分秒
function getTime(){
$time = time();
$date = date('Y-m-d H:i:s', $time);
return $date;
}
函数二,获取无符号的年月日
# 获取当前年月入时分秒,无符号
function getTime2(){
$time = time();
$date = date('YmdHis', $time);
return $date;
}
函数三,自带多个0的五位数编号
# 自动补4个0
function bu_4_0($num){
# 当编号小于10,在编号前拼接4个0
if($num < 10){
return '0000'.$num;
}
# 当编号小于100……
if($num < 100){
return '000'.$num;
}
if($num < 1000){
return '00'.$num;
}
if($num < 10000){
return '0'.$num;
}
if($num < 100000){
return $num;
}
}