171 lines
5.5 KiB
PHP
171 lines
5.5 KiB
PHP
<?php
|
|
|
|
namespace app\common\model\user4s;
|
|
|
|
use think\Model;
|
|
use traits\model\SoftDelete;
|
|
|
|
class User extends Model
|
|
{
|
|
|
|
use SoftDelete;
|
|
|
|
|
|
|
|
// 表名
|
|
protected $name = 'user4s_user';
|
|
|
|
// 自动写入时间戳字段
|
|
protected $autoWriteTimestamp = 'int';
|
|
|
|
// 定义时间戳字段名
|
|
protected $createTime = 'createtime';
|
|
protected $updateTime = 'updatetime';
|
|
protected $deleteTime = 'deletetime';
|
|
|
|
// 追加属性
|
|
protected $append = [
|
|
'genderdata_text',
|
|
'status_text',
|
|
'fuzheren'
|
|
];
|
|
|
|
protected static function init()
|
|
{
|
|
// 注册回调到beforeInsert函数
|
|
self::event('after_insert', 'afterlog');
|
|
// self::event('before_insert', function ($model) {
|
|
// dump($model->data);//传入数据
|
|
// dump($model->origin);//当前模型
|
|
// halt($model);
|
|
// });
|
|
}
|
|
//新建用户事件 加入会员余额、积分、等级等期初
|
|
public function afterlog($admin_id,$model=null,$id=null,$description='',$need_visit=false)
|
|
{
|
|
|
|
if(isset($model)){
|
|
$row = $model;
|
|
}elseif(isset($id)){
|
|
$row = self::get($id)->data;
|
|
}else{
|
|
return false;
|
|
}
|
|
//var_dump($row);
|
|
if ($row->id > 0) {
|
|
//var_dump($params);
|
|
//记录用户充值、积分、等级记录
|
|
$this->level_model = new \app\common\model\user4s\level();
|
|
$all_level = $this->level_model->where('status', 1)->column('id,name');
|
|
$log_data = array(
|
|
'user4s_id' => $row->id,
|
|
'admin_id'=>$admin_id
|
|
);
|
|
//余额充值
|
|
if ($row->balance > 0) {
|
|
$start = 0;
|
|
$end = round($row->balance, 2);
|
|
|
|
$log_data['start'] = $start;
|
|
$log_data['end'] = $end;
|
|
$log_data['state'] = 0;
|
|
$log_data['description'] = empty($description) ? '新添加用户期初余额'.$end : $description;
|
|
$this->log_model = new \app\common\model\user4s\Log();
|
|
$this->log_model->isUpdate(false)->save($log_data);
|
|
//var_dump($log_data,$this->log_model->isUpdate(false)->save($log_data));
|
|
}
|
|
//积分记录
|
|
if ($row->integral > 0) {
|
|
$start = 0;
|
|
$end = intval($row->integral);
|
|
|
|
$log_data['start'] = $start;
|
|
$log_data['end'] = $end;
|
|
$log_data['state'] = 1;
|
|
$log_data['description'] = empty($description) ? '新添加用户期初积分'.$end : $description;
|
|
$this->log_model = new \app\common\model\user4s\Log();
|
|
$this->log_model->isUpdate(false)->save($log_data);
|
|
}
|
|
//等级记录
|
|
if ($row->level_id > 0) {
|
|
$end = intval($row->level_id);
|
|
$log_data['start'] = 0;
|
|
$log_data['end'] = $end;
|
|
unset($log_data['state']);
|
|
$log_data['description'] = '新添加用户会员等级:'.$all_level[$row->level_id];
|
|
$this->levellog_model = new \app\common\model\user4s\Levellog();
|
|
$this->levellog_model->isUpdate(false)->save($log_data);
|
|
}
|
|
//新加入用户添加回访单
|
|
if ($need_visit) {
|
|
$visit_type = new \app\common\model\user4s\Visittype();
|
|
$all_type = $visit_type->get(1);
|
|
//var_dump($all_type);
|
|
$visit_data = array(
|
|
'user4s_id' => $row->id,
|
|
'admin_id'=>$admin_id,
|
|
'type_id'=>1,
|
|
'visittime'=>strtotime('+'.$all_type->tip_time.' days'),
|
|
'description'=>'新用户回访'
|
|
);
|
|
//var_dump($visit_data);
|
|
$visit = new \app\common\model\user4s\Visit();
|
|
$visit->isUpdate(false)->save($visit_data);
|
|
}
|
|
return true;
|
|
}else{
|
|
// if($del_error){
|
|
// self::destroy($id);
|
|
// }
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getGenderdataList()
|
|
{
|
|
return ['male' => __('Genderdata male'), 'female' => __('Genderdata female')];
|
|
}
|
|
|
|
public function getStatusList()
|
|
{
|
|
return ['0' => __('Status 0'), '1' => __('Status 1')];
|
|
}
|
|
|
|
|
|
public function getGenderdataTextAttr($value, $data)
|
|
{
|
|
$value = $value ? $value : (isset($data['genderdata']) ? $data['genderdata'] : '');
|
|
$list = $this->getGenderdataList();
|
|
return isset($list[$value]) ? $list[$value] : '';
|
|
}
|
|
|
|
|
|
public function getStatusTextAttr($value, $data)
|
|
{
|
|
$value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
|
|
$list = $this->getStatusList();
|
|
return isset($list[$value]) ? $list[$value] : '';
|
|
}
|
|
|
|
public function getFuzherenAttr($value, $data)
|
|
{
|
|
$value = $value ? $value : (isset($data['admin_id']) ? $data['admin_id'] : '');
|
|
$this->hadmin = model('Admin');
|
|
$myadmin = $this->hadmin->where(['id'=>$value])->find();
|
|
//var_dump($myadmin);
|
|
return isset($myadmin['nickname']) ? $myadmin['nickname'] : $myadmin['name'];
|
|
}
|
|
|
|
|
|
public function category()
|
|
{
|
|
return $this->belongsTo('Category', 'category_id', 'id', [], 'LEFT')->setEagerlyType(0);
|
|
}
|
|
|
|
|
|
public function level()
|
|
{
|
|
return $this->belongsTo('Level', 'level_id', 'id', [], 'LEFT')->setEagerlyType(0);
|
|
}
|
|
}
|