设计,技术,行业
固定参数+年月日+2位随机码+4位流水号+2位随机码
//生成订单编号
public function setOrderId($allianceid){
if(empty($allianceid)){
return false;
}
$date = date('Y').date('m').date('d');
$str1 = mt_rand(99,10);
$str2 = mt_rand(99,10);
$file = fopen(rootDir.'newfile.txt','r+');//文件地址 可自定义
if($file == false){
$file = fopen(rootDir.'newfile.txt','r+');
$data = array(
'time' => $date,
'num' => 1
);
$data = serialize($data);
fwrite($file,$data);
fclose($file);
}else{
$data = fgets($file);
$data = unserialize($data);
if($data != false && $data['time'] == $date){
$data['num'] += 1;
$data = serialize($data);
ftruncate($file,0);
rewind($file);
fwrite($file,$data);
}else{
$data['num'] = 1;
$data['time'] = $date;
$data = serialize($data);
ftruncate($file,0);
rewind($file);
fwrite($file,$data);
}
fclose($file);
}
$data = unserialize($data);
$num = $this->setnum($data['num']);
//
$orderid = $allianceid.$date.$str1.$num.$str2;
return $orderid;
}
//不够4位填充0
public function setnum($num){
$len = strlen($num);
if($len == 4){
return $num;
}else{
$str = 1000;
$vacancy = 4-$len;
$str = substr($str,1,$vacancy);
return $str.$num;
}
}