car4s/application/common/model/user4s/User.php
2022-06-05 14:30:14 +08:00

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);
}
}