ADD:添加后台文章、通知等管理端接口;
FIX:修正若干已知错误;
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
class Common extends Controller
|
||||
{
|
||||
protected int $pid = 0;
|
||||
protected object $plat;
|
||||
protected int $user_id = 0;
|
||||
protected int $site_id = 0;
|
||||
protected int $store_id = 0;
|
||||
@@ -151,17 +152,91 @@
|
||||
|
||||
/*
|
||||
* SN格式化处理(ID转SN)
|
||||
* 除平台SN(强制4位)外,其他一律32位
|
||||
* 基础格式:平台前缀PSN-应用场景标识-时间戳-随机码后缀
|
||||
* */
|
||||
public function idToSn($id,$type){
|
||||
$plat = AcPlat::findOne($this->pid);
|
||||
$psn = $plat->sn; //"AYCL",强制4位
|
||||
$_sn = $psn.'-'; //4+1=5
|
||||
$_id = intval($id);
|
||||
if($_id != $id) return false;
|
||||
$res = false;
|
||||
|
||||
switch ($type) {
|
||||
//常规运单
|
||||
case 'order':
|
||||
$pre = 'YD';
|
||||
$sn = '00000000000'; //11位
|
||||
$sn = substr($sn, 0, 11 - strlen($id));
|
||||
$sn .= $id;
|
||||
$pre = 'YD'; //2位
|
||||
if($id>=0){
|
||||
$str = date('YmdHis'); //20250701120102,14位
|
||||
$_sn .= $pre.$str; //5+2+14 = 21;
|
||||
$sn = '00000000000'; //11位
|
||||
$sn = substr($sn, 0, 11 - strlen($id));
|
||||
$sn .= $id;
|
||||
$_sn .= $sn; //21+11 = 32
|
||||
}else{
|
||||
$str = date('YmdHis'); //20250701120102,14位
|
||||
$str2 = date('ymdH'); //25070112, 8位
|
||||
$sn = md5($str,true); //转换为二进制16个字符串的md5
|
||||
$_sn .= $pre.$str2.'-'.$sn; //5+2+8+1+16 = 32;
|
||||
}
|
||||
$res = true;
|
||||
break;
|
||||
//预制运单
|
||||
case 'orderPre':
|
||||
$pre = 'PREYD'; //5位
|
||||
if($id>=0){
|
||||
$str = date('ymdHi'); //2507011201,10位
|
||||
$_sn .= $pre.$str.'-'; //5+5+10+1 = 21;
|
||||
$sn = '00000000000'; //11位
|
||||
$sn = substr($sn, 0, 11 - strlen($id));
|
||||
$sn .= $id;
|
||||
$_sn .= $sn; //21+11 = 32
|
||||
}else{
|
||||
$str = date('YmdHis'); //20250701120102,14位
|
||||
$str2 = date('ymd'); //250701, 6位
|
||||
$sn = md5($str,true); //转换为二进制16个字符串的md5
|
||||
$_sn .= $pre.$str2.$sn; //5+5+6+16 = 32;
|
||||
}
|
||||
$res = true;
|
||||
break;
|
||||
//新闻内容
|
||||
case 'news':
|
||||
$pre = 'NEWS'; //4位
|
||||
if($id>=0){
|
||||
$str = date('YmdHis'); //20250701120102,14位
|
||||
$_sn .= $pre.$str; //5+4+14 = 23;
|
||||
$sn = '000000000'; //9位
|
||||
$sn = substr($sn, 0, 9 - strlen($id));
|
||||
$sn .= $id;
|
||||
$_sn .= $sn; //23+9 = 32
|
||||
}else{
|
||||
$str = date('YmdHis'); //20250701120102,14位
|
||||
$str2 = date('ymd'); //250701, 6位
|
||||
$sn = md5($str,true); //转换为二进制16个字符串的md5
|
||||
$_sn .= $pre.$str2.'-'.$sn; //5+4+6+1+16 = 32;
|
||||
}
|
||||
$res = true;
|
||||
break;
|
||||
default:
|
||||
//默认方式,无须前缀、后缀
|
||||
$_str = date('YmdHis'); //20250701120102
|
||||
$md5_hash = md5($_str.$type,true); //转换为二进制16个字符串的md5
|
||||
$_sn .= $md5_hash; //5+16 = 21;
|
||||
if($id>=0){
|
||||
$sn = '00000000000'; //11位
|
||||
$sn = substr($sn, 0, 11 - strlen($id));
|
||||
$sn .= $id;
|
||||
$_sn .= $sn; //21+11 = 32
|
||||
}else{
|
||||
$_str = date('ymdHi'); //2507011201, 10位
|
||||
$_sn .= $_str.mt_rand(0,9); //21+10+1=32;
|
||||
}
|
||||
$res = true;
|
||||
break;
|
||||
}
|
||||
return $pre.$sn;
|
||||
if(!$res) return false;
|
||||
return $_sn;
|
||||
}
|
||||
|
||||
//校验财务验证码
|
||||
@@ -187,4 +262,5 @@
|
||||
}
|
||||
return ['res'=>true,'err'=>'','code'=>0];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user