添加:用户注册赠送钻石

添加:用户注册必须同意承诺书
This commit is contained in:
wuhui_zzw 2023-02-22 13:53:12 +08:00
parent 7a77fe39a1
commit 8e64276ec6
5 changed files with 68 additions and 8 deletions

View File

@ -15,6 +15,7 @@ use app\model\BaseModel;
use app\model\member\Member;
use app\model\order\OrderCommon;
use app\model\system\Stat;
use think\facade\Db;
/**
* 分销
@ -341,9 +342,8 @@ class Fenxiao extends BaseModel
//如果有推荐人则要修改分享关系
$member_model = new Member();
$member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $member_id ] ], 'source_member')[ 'data' ];
if (!empty($member_info[ 'source_member' ])) {
$member_model->alterShareRelation($member_id, $member_info[ 'source_member' ], $site_id);
}
if (!empty($member_info[ 'source_member' ])) $member_model->alterShareRelation($member_id, $member_info[ 'source_member' ], $site_id);
// 自动成为分销商
$this->autoBecomeFenxiao($member_id, $site_id);
}
@ -426,10 +426,12 @@ class Fenxiao extends BaseModel
'level_id' => $level_info[ 'data' ][ 'level_id' ],
'level_name' => $level_info[ 'data' ][ 'level_name' ]
];
if (isset($config['newuser_points']) && $config['newuser_points'] > 0) {//增加新用户积分
$data['points'] = $config['newuser_points'];
};
$res = $this->addFenxiao($data);
// 用户注册成功后 奖励信息
if((int)$res['data'] > 0 && ((float)$config['newuser_points'] ?? 0) > 0){
(new FenxiaoAccount())->addAccount((int)$res['data'], $data['fenxiao_name'], 'diamond', (float)$config['newuser_points'], 0,'diamond', '新用户注册赠送');
}
return $res;
}
}

View File

@ -13,7 +13,7 @@
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">新用户赠送积分</label>
<label class="layui-form-label">新用户赠送钻石</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="newuser_points" class="layui-input ns-len-mid" value="{$basics_info.newuser_points??0}" />

View File

@ -63,7 +63,10 @@ class Login extends BaseApi{
*/
public function auth(){
$login = new LoginModel();
$res = $login->authLogin($this->params);
// 登录操作
$isPromise = (int)input('is_promise',0);
if($isPromise) $res = $login->promiseLogin($this->params);
else $res = $login->authLogin($this->params);
//生成 access_token
if($res['code'] >= 0){
$token = $this->createToken($res['data']['member_id']);

View File

@ -29,6 +29,8 @@ return [
'EMAIL_EXISTED' => '邮箱已存在' ,
'REGISTER_REFUND' => '未开放注册' ,
'USERNAME_OR_PASSWORD_ERROR' => '用户名或密码错误' ,
'PLEASE_ENTER_THE_CORRECT_CONTENT_OF_THE_LETTER_OF_COMMITMENT' => '请输入正确的承诺书内容' ,
'MEMBER_NOT_EXIST_REQUEST_REGISTER' => '账号不存在,请先注册!' ,
//消息管理
'REQUEST_KEYWORDS' => '缺少必须消息关键字' ,
'EMPTY_SMS_TYPE' => '没有可用的短信发送方式' ,

View File

@ -126,6 +126,58 @@ class Login extends BaseModel{
return $this->success($info);
}
}
// 承诺登录(需要同意承诺书后方可登录)
public function promiseLogin($data){
// 获取用户信息
$info = (array)Db::name('member')
->field('member_id,username, nickname, mobile, email, status, last_login_time, can_receive_registergift')
->where(function($query) use ($data){
$query->where('weapp_openid',$data['weapp_openid'])
->whereOr('wx_unionid',$data['wx_unionid']);
})
->where('site_id',$data['site_id'])
->where('is_delete',0)
->find();
// 判断用户是否存在 进行对应的操作
if(!$info){
$config = new Config();
$configInfo = $config->getRegisterConfig($data['site_id'])['data'];
$configInfo = $configInfo['value'] ?? [];
// 会员不存在 并且存在承诺书 进行承诺书判断
if(trim($configInfo['promise']) && trim($data['promise_text']) != trim($configInfo['promise'])) {
if($data['request_type'] == 'login') return $this->error('','MEMBER_NOT_EXIST_REQUEST_REGISTER');
else return $this->error('','PLEASE_ENTER_THE_CORRECT_CONTENT_OF_THE_LETTER_OF_COMMITMENT');
}
// 会员不存在 第三方自动注册开启 未开启绑定手机 则进行自动注册
if($configInfo['third_party'] && !$configInfo['bind_mobile']){
$register = new Register();
$register_res = $register->authRegister($data);
if($register_res['code'] == 0){
$info = model("member")->getInfo([
[
'member_id',
'=',
$register_res['data']
]
],'member_id,username, nickname, mobile, email, status, last_login_time,can_receive_registergift');
$info['is_register'] = 1;
}
}
}
// 根据登录结果进行返回操作
if(!$info) return $this->error('','MEMBER_NOT_EXIST');
elseif($info['status'] == 0) return $this->error('','MEMBER_IS_LOCKED');
else{
// 登录成功后信息处理
$this->loginSuccessOperation($info,$data);
//用户第三方信息刷新
if(!isset($info['is_register'])) $this->refreshAuth($info['member_id'],$data);
return $this->success($info);
}
}
/**
* 授权登录仅登录
* @param $data
@ -432,6 +484,7 @@ class Login extends BaseModel{
}
/**
* Common: 支付宝小程序登录 —— 开始处理
* Author: wu-hui