|
@@ -4,8 +4,10 @@ namespace app\api\controller\user;
|
|
|
|
|
|
use app\admin\model\system\SystemConfig;
|
|
|
use app\models\store\StoreOrder;
|
|
|
+use app\models\user\User;
|
|
|
use app\models\user\UserBill;
|
|
|
use app\models\user\UserExtract;
|
|
|
+use app\models\user\UserTransfer;
|
|
|
use app\Request;
|
|
|
use crmeb\services\UtilService;
|
|
|
|
|
@@ -101,4 +103,85 @@ class UserExtractController
|
|
|
else
|
|
|
return app('json')->fail(UserExtract::getErrorInfo('提现失败'));
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 余额转账
|
|
|
+ * @param Request $request
|
|
|
+ */
|
|
|
+ public function transfer(Request $request)
|
|
|
+ {
|
|
|
+ list($to_uid,$pass,$merber,$type) = UtilService::postMore([
|
|
|
+ ['to_uid',''],
|
|
|
+ ['pass',''],
|
|
|
+ ['merber',0],
|
|
|
+ ['type',0],
|
|
|
+ ],$request,true);
|
|
|
+ if(!User::be(['uid'=>$to_uid])) return app('json')->fail('用户不存在');
|
|
|
+ if(strlen($pass)!=6) return app('json')->fail('交易密码只能输入6位数字');
|
|
|
+ $user = $request->user();
|
|
|
+ $money = $user['now_money'];$in = "转出余额";$out = "转入余额";$field="now_money";
|
|
|
+ if($type==1)
|
|
|
+ {
|
|
|
+ $money = $user['consume'];
|
|
|
+ $in = "转入钻石";$out = "转出钻石";
|
|
|
+ $field = "consume";
|
|
|
+ }
|
|
|
+ if(md5(md5($user['salt'].$pass).$user['salt'])!=$user['transaction'])return app('json')->fail('交易密码错误');
|
|
|
+ if(bcsub($money,$merber,2)>=0)
|
|
|
+ {
|
|
|
+ $user = User::where('uid',$request->uid())->lock(true)->find();
|
|
|
+ User::where('uid',$request->uid())->dec($field,$merber)->update();
|
|
|
+ $touser = User::where('uid',$to_uid)->find();
|
|
|
+ User::where('uid',$to_uid)->inc($field,$merber)->update();
|
|
|
+ $data['uid'] = $request->uid();
|
|
|
+ $data['touid'] = $touser['uid'];
|
|
|
+ $data['money'] = $merber;
|
|
|
+ $data['order_id'] = UserTransfer::getNewOrderId();
|
|
|
+ $data['add_time'] = time();
|
|
|
+ $data['type'] = $type;
|
|
|
+ $data['paid'] =1;
|
|
|
+ UserTransfer::create($data);
|
|
|
+ UserBill::expend($out,$request->uid(),'now_money','transfer_out',$merber,0,bcsub($user['now_money'],$merber,2),'转给'.$touser['nickname']."用户",1);
|
|
|
+ UserBill::income($in,$touser['uid'],'now_money','transfer_in',$merber,0,bcadd($touser['now_money'],$merber,2),'收到用户'.$user['uid'].'转账号');
|
|
|
+ return app('json')->successful('转账成功!');
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return app('json')->fail($out.'不足');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 转账记录
|
|
|
+ * @param Request $request
|
|
|
+ */
|
|
|
+ public function transfer_list(Request $request)
|
|
|
+ {
|
|
|
+ list($page,$limit,$pm,$type) = UtilService::postMore([
|
|
|
+ ['page',1],
|
|
|
+ ['limit',20],
|
|
|
+ ['pm',0],
|
|
|
+ ['type',0]
|
|
|
+ ],$request,true);
|
|
|
+ if($pm==0)
|
|
|
+ {
|
|
|
+ $count = UserTransfer::where('uid',$request->uid())->where('type',$type)->count();
|
|
|
+ $data = UserTransfer::where('uid',$request->uid())->where('type',$type)->page($page,$limit)->order("id desc")->select();
|
|
|
+ foreach ($data as &$v)
|
|
|
+ {
|
|
|
+ $v['to_user'] = User::where('uid',$v['touid'])->value('nickname');
|
|
|
+ $v['_add_time'] = date("Y-m-d H:i:s",$v['add_time']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ $count = UserTransfer::where('touid',$request->uid())->where('type',$type)->count();
|
|
|
+ $data = UserTransfer::where('touid',$request->uid())->where('type',$type)->page($page,$limit)->order("id desc")->select();
|
|
|
+ foreach ($data as &$v)
|
|
|
+ {
|
|
|
+ $v['to_user'] = User::where('uid',$v['uid'])->value('nickname');
|
|
|
+ $v['_add_time'] = date("Y-m-d H:i:s",$v['add_time']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return app('json')->successful(compact('count','data'));
|
|
|
+ }
|
|
|
}
|