88 lines
2.0 KiB
PHP
88 lines
2.0 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
namespace app\cunkebao\model;
|
|||
|
|
|
|||
|
|
use app\cunkebao\model\BaseModel;
|
|||
|
|
use think\Model;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 分销渠道模型
|
|||
|
|
*/
|
|||
|
|
class DistributionChannel extends BaseModel
|
|||
|
|
{
|
|||
|
|
// 设置表名
|
|||
|
|
protected $name = 'distribution_channel';
|
|||
|
|
|
|||
|
|
// 自动写入时间戳
|
|||
|
|
protected $autoWriteTimestamp = true;
|
|||
|
|
protected $createTime = 'createTime';
|
|||
|
|
protected $updateTime = 'updateTime';
|
|||
|
|
protected $deleteTime = 'deleteTime';
|
|||
|
|
protected $defaultSoftDelete = 0;
|
|||
|
|
|
|||
|
|
// 类型转换
|
|||
|
|
protected $type = [
|
|||
|
|
'id' => 'integer',
|
|||
|
|
'companyId' => 'integer',
|
|||
|
|
'totalCustomers' => 'integer',
|
|||
|
|
'todayCustomers' => 'integer',
|
|||
|
|
'totalFriends' => 'integer',
|
|||
|
|
'todayFriends' => 'integer',
|
|||
|
|
'withdrawableAmount' => 'integer',
|
|||
|
|
'createTime' => 'timestamp',
|
|||
|
|
'updateTime' => 'timestamp',
|
|||
|
|
'deleteTime' => 'timestamp',
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生成渠道编码
|
|||
|
|
* 格式:QD + 时间戳 + 9位随机字符串
|
|||
|
|
*
|
|||
|
|
* @return string
|
|||
|
|
*/
|
|||
|
|
public static function generateChannelCode()
|
|||
|
|
{
|
|||
|
|
$prefix = 'QD';
|
|||
|
|
$timestamp = time();
|
|||
|
|
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|||
|
|
$randomStr = '';
|
|||
|
|
|
|||
|
|
// 生成9位随机字符串
|
|||
|
|
for ($i = 0; $i < 9; $i++) {
|
|||
|
|
$randomStr .= $chars[mt_rand(0, strlen($chars) - 1)];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$code = $prefix . $timestamp . $randomStr;
|
|||
|
|
|
|||
|
|
// 检查是否已存在
|
|||
|
|
$exists = self::where('code', $code)->find();
|
|||
|
|
if ($exists) {
|
|||
|
|
// 如果已存在,递归重新生成
|
|||
|
|
return self::generateChannelCode();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return $code;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 创建类型:manual(手动创建)
|
|||
|
|
*/
|
|||
|
|
const CREATE_TYPE_MANUAL = 'manual';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 创建类型:auto(扫码创建)
|
|||
|
|
*/
|
|||
|
|
const CREATE_TYPE_AUTO = 'auto';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 状态:enabled(启用)
|
|||
|
|
*/
|
|||
|
|
const STATUS_ENABLED = 'enabled';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 状态:disabled(禁用)
|
|||
|
|
*/
|
|||
|
|
const STATUS_DISABLED = 'disabled';
|
|||
|
|
}
|
|||
|
|
|