1411 lines
52 KiB
PHP
1411 lines
52 KiB
PHP
<?php
|
||
|
||
// +----------------------------------------------------------------------
|
||
// | ThinkAdmins
|
||
// +----------------------------------------------------------------------
|
||
// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||
// +----------------------------------------------------------------------
|
||
// | 官方网站: http://demo.thinkadmin.top
|
||
// +----------------------------------------------------------------------
|
||
// | 开源协议 ( https://mit-license.org )
|
||
// +----------------------------------------------------------------------
|
||
// | gitee 代码仓库3:https://gitee.com/zoujingli/ThinkAdmin
|
||
// | github 代码仓库3:https://github.com/zoujingli/ThinkAdmin
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\index\controller\api;
|
||
|
||
use library\Controller;
|
||
use think\Db;
|
||
use think\facade\Request;
|
||
|
||
/**
|
||
* 用户
|
||
* Class Index
|
||
* @package app\index\controller\api
|
||
*/
|
||
class User extends Controller
|
||
{
|
||
/**
|
||
* @var mixed
|
||
*/
|
||
private $uid;
|
||
|
||
public function __construct()
|
||
{
|
||
$token = Request::header('token');
|
||
$uid = Db::name('LcUser')->where(['token' => $token])->value('id');
|
||
if (!$uid) {
|
||
$this->error('', '', 1002);
|
||
} else {
|
||
Db::name('LcUser')->where(['token' => $token])->update([
|
||
'access_time' => time(),
|
||
]);
|
||
$this->uid = $uid;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description:个人中心
|
||
* @date: 2020/5/13 0013
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function index()
|
||
{
|
||
$uid = $this->uid;;
|
||
//自动更新真实姓名
|
||
$real_name = Db::name('LcBank')->where(['uid' => $uid])->value('name');
|
||
$user = Db::name('LcUser')->find($uid);
|
||
$tt = $user;
|
||
if ($tt['name'] <> $real_name) {
|
||
Db::name('LcUser')->where(['id' => $uid])->update(['name' => $real_name]);
|
||
}
|
||
$this->chicang = Db::name('LcOrder')->where("uid = $uid AND ostaus = 0")->sum('fee');
|
||
$this->wait_money = $user['money'] + $this->chicang;
|
||
$this->msg = Db::name('LcMsg')->alias('msg')->where('(msg.uid = ' . $uid . ' or msg.uid = 0 ) and (select count(*) from lc_msg_is as msg_is where msg.id = msg_is.mid and ((msg.uid = 0 and msg_is.uid = ' . $uid . ') or ( msg.uid = ' . $uid . ' and msg_is.uid = ' . $uid . ') )) = 0')->count();
|
||
|
||
$this->qiandao = 1;
|
||
$today = date('Y-m-d 00:00:00');
|
||
if ($today <= $user['qiandao'])
|
||
$this->qiandao = 2;
|
||
$this->lcopen = getlcopen();
|
||
|
||
$this->top = Db::name('LcUser')->where(['top' => $uid])->count();
|
||
|
||
$now = date('Y-m-d H:i:s');
|
||
$this->yxkj = Db::name('LcMallInvest')->where("time2 >= '$now' and uid = $uid")->count();
|
||
|
||
$this->zqhy = Db::name('LcInvest')->where("time2 >= '$now' and uid = $uid")->count();
|
||
$userleveltile = Db::name('LcUserMember')->find($user['member']);
|
||
$this->assign('userleveltile', $userleveltile);
|
||
$this->success(json_lang("操作成功"), [
|
||
'user' => $user,
|
||
'wait_money' => $this->wait_money,
|
||
'chicang' => $this->chicang,
|
||
'yingkui' => 0,
|
||
'qiandao' => $this->qiandao,
|
||
'userleveltile' => $userleveltile
|
||
]);
|
||
}
|
||
|
||
public function account()
|
||
{
|
||
$uid = $this->uid;
|
||
$user = Db::name('LcUser')->find($uid);
|
||
if (!$user) $this->error(json_lang("用户不存在"));
|
||
//自动更新真实姓名
|
||
// $real_name = Db::name('LcBank')->where(['uid' => $uid])->value('name');
|
||
// $tt = $user;
|
||
// if ($tt['name'] <> $real_name) {
|
||
// Db::name('LcUser')->where(['id' => $uid])->update(['name' => $real_name]);
|
||
// }
|
||
|
||
$this->chicang = Db::name('LcOrder')->where("uid = $uid AND ostaus = 0")->sum('fee');
|
||
$this->wait_money = $user['money'] + $this->chicang;
|
||
$this->msg = Db::name('LcMsg')->alias('msg')->where('(msg.uid = ' . $uid . ' or msg.uid = 0 ) and (select count(*) from lc_msg_is as msg_is where msg.id = msg_is.mid and ((msg.uid = 0 and msg_is.uid = ' . $uid . ') or ( msg.uid = ' . $uid . ' and msg_is.uid = ' . $uid . ') )) = 0')->count();
|
||
|
||
$this->qiandao = 1;
|
||
$today = date('Y-m-d 00:00:00');
|
||
if ($today <= $user['qiandao'])
|
||
$this->qiandao = 2;
|
||
$this->lcopen = getlcopen($uid);
|
||
$this->top = Db::name('LcUser')->where(['top' => $uid])->count();
|
||
$now = date('Y-m-d H:i:s');
|
||
$this->yxkj = Db::name('LcMallInvest')->where("time2 >= '$now' and uid = $uid")->count();
|
||
$this->zqhy = Db::name('LcInvest')->where("time2 >= '$now' and uid = $uid")->count();
|
||
$userleveltile = Db::name('LcUserMember')->find($user['member']);
|
||
$this->success(json_lang("操作成功"), [
|
||
'user' => $user,
|
||
'wait_money' => $this->wait_money,
|
||
'chicang' => $this->chicang,
|
||
'yingkui' => 0,
|
||
'msg' => Db::name('LcMsg')->where(['uid' => $uid, 'status' => 0])->count(),
|
||
'qiandao' => $this->qiandao,
|
||
'lcopen' => $this->lcopen,
|
||
'userleveltile' => $userleveltile,
|
||
'todayincome' => round( Db::name('LcOrder')->where([
|
||
['buytime', '>', strtotime(date('Y-m-d 00:00:00'))],
|
||
['buytime', '<', strtotime(date('Y-m-d 23:59:59'))],
|
||
['uid', '=', $user['id']]
|
||
])->sum('ploss'),3),
|
||
'yesterdayincome' =>round( Db::name('LcOrder')->where([
|
||
['buytime', '>', strtotime(date('Y-m-d 00:00:00')) - 86400],
|
||
['buytime', '<', strtotime(date('Y-m-d 23:59:59')) - 86400],
|
||
['uid', '=', $user['id']]
|
||
])->sum('ploss'),3),
|
||
'yueincome' => round(Db::name('lc_yuebao_lists')->where([
|
||
['uid', '=', $user['id']]
|
||
])->sum('nowprofit'),3),
|
||
]);
|
||
}
|
||
|
||
/**
|
||
* Describe:签到
|
||
* DateTime: 2020/5/13 23:17
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function sign()
|
||
{
|
||
$uid = $this->uid;
|
||
$this->error('请先登录后再签到');
|
||
$user = Db::name('LcUser')->find($uid);
|
||
$today = date('Y-m-d 00:00:00');
|
||
if ($today <= $user['qiandao'])
|
||
$this->error('每天只能签到一次');
|
||
$money = getReward('qiandao');
|
||
Db::name('LcUser')->where(['id' => $uid])->update(['qiandao' => date('Y-m-d H:i:s')]);
|
||
addFinance($uid, $money, 1, "每日签到,获得奖励{$money}元");
|
||
setNumber('LcUser', 'money', $money, 1, "id=$uid");
|
||
setNumber('LcUser', 'income', $money, 1, "id=$uid");
|
||
setNumber('LcUser', 'qdnum', 1, 1, "id=$uid");
|
||
$this->success("签到成功,获得{$money}元");
|
||
}
|
||
|
||
/**
|
||
* Describe:站内消息
|
||
* DateTime: 2020/5/14 0:01
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function msg()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$this->msgtop = Db::name('LcMsg')->alias('msg')->where('(msg.uid = ' . $uid . ' or msg.uid = 0 ) and (select count(*) from lc_msg_is as msg_is where msg.id = msg_is.mid and ((msg.uid = 0 and msg_is.uid = ' . $uid . ') or ( msg.uid = ' . $uid . ' and msg_is.uid = ' . $uid . ') )) = 0')->select();
|
||
$this->msgfoot = Db::name('LcMsg')->alias('msg')->where('(select count(*) from lc_msg_is as msg_is where msg.id = msg_is.mid and msg_is.uid = ' . $uid . ') > 0')->select();
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* Describe: 信息详情
|
||
* DateTime: 2020/5/14 0:31
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function msg_view()
|
||
{
|
||
$id = $this->request->param('id');
|
||
$uid = $this->uid;
|
||
if (!$id || !$uid)
|
||
msg('系统忙碌!', 2, '/index/user/index');
|
||
$where['uid'] = $this->uid;
|
||
$where['mid'] = $id;
|
||
$ret = Db::name('LcMsgIs')->where($where)->find();
|
||
if (!$ret)
|
||
Db::name('LcMsgIs')->insertGetId(['uid' => $uid, 'mid' => $id]);
|
||
$this->msg = Db::name('LcMsg')->find($id);
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* Describe: 账户安全
|
||
* DateTime: 2020/5/14 0:48
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function set_account()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$user = Db::name('LcUser')->find($uid);
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:交易密码设置
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function pwd_pay()
|
||
{
|
||
$uid = $this->uid;;
|
||
$user = Db::name('LcUser')->find($uid);
|
||
if ($this->request->isPost()) {
|
||
if (!input('oldpwd', '')) $this->error('原支付密码不能为空');
|
||
if (!input('pwd', '')) $this->error('新密码不能为空');
|
||
if (!input('pwd2', '')) $this->error('确认密码不能为空');
|
||
$data = $this->request->param();
|
||
if ($user['password'] != md5($data['oldpwd']))
|
||
$this->error('原支付密码错误!');
|
||
if ($user['password'] == md5($data['pwd']))
|
||
$this->error('新密码不能与原密码相同!');
|
||
if (strlen($data['pwd']) < 6 || 16 < strlen($data['pwd']))
|
||
$this->error(json_lang("请输入6-16位密码!"));
|
||
if ($data['pwd'] != $data['pwd2'])
|
||
$this->error('两次密码不一致!');
|
||
if (Db::name('LcUser')->where(['id' => $user['id']])->update(['password2' => md5($data['pwd']), 'mwpassword2' => $data['pwd2']])) {
|
||
$this->success('修改成功!');
|
||
} else {
|
||
$this->error('修改失败!');
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Describe: 登录密码设置
|
||
* DateTime: 2020/5/14 1:00
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function pwd_login()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
$user = Db::name('LcUser')->find($uid);
|
||
if ($this->request->isPost()) {
|
||
if (!input('oldpwd', '')) $this->error('原登录密码不能为空');
|
||
if (!input('pwd', '')) $this->error('新密码不能为空');
|
||
if (!input('pwd2', '')) $this->error('确认密码不能为空');
|
||
$data = $this->request->param();
|
||
if ($user['password'] != md5($data['oldpwd']))
|
||
$this->error('原登录密码错误!');
|
||
if ($user['password'] == md5($data['pwd']))
|
||
$this->error('新密码不能与原密码相同!');
|
||
if (strlen($data['pwd']) < 6 || 16 < strlen($data['pwd']))
|
||
$this->error(json_lang("请输入6-16位密码!"));
|
||
if ($data['pwd'] != $data['pwd2'])
|
||
$this->error('两次密码不一致!');
|
||
if (Db::name('LcUser')->where(['id' => $user['id']])->update(['password' => md5($data['pwd']), 'mwpassword' => $data['pwd2']])) {
|
||
$this->success('修改成功!');
|
||
} else {
|
||
$this->error('修改失败!');
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description:身份认证
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function certification()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$user = Db::name('LcUser')->find($uid);
|
||
if ($this->request->isPost()) {
|
||
$data = $this->request->param();
|
||
if ($user['auth'] == 1)
|
||
$this->error('你已认证,请勿重复认证!');
|
||
$check = Db::name('LcUser')->where("idcard = '{$data['idcard']}' AND id <> $uid")->find();
|
||
if ($check)
|
||
$this->error('身份证号码已存在,请勿重复注册!');
|
||
if (getInfo('cert') == 1) {
|
||
$auth_check = idCardAuth($data['idcard'], $data['name']);
|
||
if ($auth_check['code'] == 0)
|
||
$this->error($auth_check['msg']);
|
||
} else {
|
||
if (!judge($data['name'], 'name'))
|
||
$this->error('名字不正确!');
|
||
if (!judge($data['idcard'], 'idcard'))
|
||
$this->error('身份证号码不正确!');
|
||
}
|
||
$money = getReward('shimingsong');
|
||
addFinance($uid, $money, 1, "实名成功,系统赠送{$money}元");
|
||
setNumber('LcUser', 'money', $money, 1, "id = $uid");
|
||
setNumber('LcUser', 'income', $money, 1, "id = $uid");
|
||
if (Db::name('LcUser')->where(['id' => $uid])->update(['name' => $data['name'], 'idcard' => $data['idcard'], 'auth' => 1])) {
|
||
$this->success('认证成功!');
|
||
} else {
|
||
$this->error('认证失败!');
|
||
}
|
||
}
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:银行卡管理
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function bank_card()
|
||
{
|
||
$uid = $this->uid;;
|
||
$this->bank = Db::name('LcBank')->where('uid', $uid)->order("id desc")->select();
|
||
$this->success(json_lang("操作成功"), ['banks' => $this->bank]);
|
||
}
|
||
|
||
/**
|
||
* @description:添加银行卡
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function add_card()
|
||
{
|
||
$uid = $this->uid;;
|
||
if (Request::isPost()) {
|
||
$data = Request::param();
|
||
if (Db::name('LcBank')->where('uid', $uid)->find()) $this->error(json_lang('银行卡已绑定,请勿重复添加!'));
|
||
$add = $data;
|
||
$add['uid'] = $uid;
|
||
if (Db::name('LcBank')->insert($add))
|
||
$this->success('添加成功!');
|
||
$this->error('操作失败!');
|
||
}
|
||
$this->fetch();
|
||
}
|
||
|
||
public function add_usdt()
|
||
{
|
||
$uid = $this->uid;;
|
||
if (Request::isPost()) {
|
||
$data = Request::param();
|
||
if (Db::name('LcUsdt')->where('uid', $uid)->find()) $this->error(json_lang('地址已绑定,请勿重复添加!'));
|
||
$add = ['uid' => $uid, 'address' => $data['address'], 'create_time' => time()];
|
||
if (Db::name('LcBank')->insert($add)) {
|
||
$this->success('添加成功!');
|
||
}
|
||
$this->error('操作失败!');
|
||
}
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:删除银行卡
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\Exception
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function del_card()
|
||
{
|
||
$this->applyCsrfToken();
|
||
$uid = $this->uid;
|
||
|
||
|
||
$id = $this->request->param('id');
|
||
if (Db::name('LcBank')->where(['uid' => $uid, 'id' => $id])->delete()) {
|
||
msg('删除成功!', 2, '/index/user/index');
|
||
}
|
||
msg('操作失败!', 2, '/index/user/index');
|
||
}
|
||
|
||
/**
|
||
* @description:支付宝设置
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function alipay()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$user = Db::name('LcUser')->find($uid);
|
||
if ($this->request->isPost()) {
|
||
$data = $this->request->param();
|
||
if (Db::name('LcUser')->where(['id' => $uid])->update(['alipay' => $data['alipay']])) {
|
||
msg('操作成功!', 2, '/index/user/index');
|
||
} else {
|
||
msg('操作失败!', 2, '/index/user/index');
|
||
}
|
||
}
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:资金流水
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function fund()
|
||
{
|
||
$uid = $this->uid;;
|
||
|
||
$page = Request::param('page', 1);
|
||
$num = Request::param('num', 10);
|
||
$this->finance = Db::name('LcFinance')->where('uid', $uid)->order("id desc")->page($page, $num)->select();
|
||
$this->success(json_lang("操作成功"), $this->finance);
|
||
}
|
||
|
||
/**
|
||
* @description:投资记录
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function invest()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$this->invest = Db::name('LcInvest')->where('uid', $uid)->order("id desc")->select();
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:收益记录
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function interest()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$this->interest = Db::name('LcInvestList')->where("uid = $uid AND status = 1 AND pay1 <> 0")->order("time2 desc")->select();
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:充值记录
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function recharge_record()
|
||
{
|
||
$uid = $this->uid;
|
||
$page = Request::param('page', 1);
|
||
$num = Request::param('num', 10);
|
||
$recharge = Db::name('LcRecharge')->where('uid', $uid)->order("id desc")->page($page, $num)->select();
|
||
$this->success(json_lang("操作成功"), $recharge);
|
||
}
|
||
|
||
/**
|
||
* @description:提现记录
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @author: DeeBoo <chan@deeboo.cn>
|
||
* @date: 2020/5/14 0014
|
||
*/
|
||
public function cash_record()
|
||
{
|
||
$uid = $this->uid;;
|
||
|
||
$page = Request::param('page', 1);
|
||
$num = Request::param('num', 10);
|
||
$cash = Db::name('LcCash')->where('uid', $uid)->order("id desc")->page($page, $num)->select();
|
||
$this->success(json_lang("操作成功"), $cash);
|
||
}
|
||
|
||
/**
|
||
* @description:推广记录
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function extend()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$this->results = Db::name('LcUser')->field("id,name,phone,time")->where('top', $uid)->order("id desc")->select();
|
||
foreach ($this->results as &$vo) {
|
||
$vo['recharge'] = Db::name('LcRecharge')->where(['uid' => $vo['id'], 'status' => 1])->sum('money');
|
||
$vo['cash'] = Db::name('LcCash')->where(['uid' => $vo['id'], 'status' => 1])->sum('money');
|
||
}
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:邀请好友
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function recommend()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$user = Db::name('LcUser')->find($uid);
|
||
// if($user['auth'] != 1) msg('请实名认证后再进行邀请!', 2, '/index/User/certification');
|
||
$domain = getInfo('domain');
|
||
$this->url = $domain ? $domain : $uid = Request::host();
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* @description:提现
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function cash()
|
||
{
|
||
$uid = $this->uid;
|
||
$user = Db::name('LcUser')->find($uid);
|
||
$cashConfig = [
|
||
'user' => $user,
|
||
"bank" => Db::name('LcBank')->where('uid', $uid)->order("id desc")->select(),
|
||
'txsxf' => getInfo('cash_charge'),
|
||
'cash_start' => getInfo('cash_start'),
|
||
'cash_end' => getInfo('cash_end'),
|
||
'cash_min' => getInfo('cash_min'),
|
||
'cash_max' => getInfo('cash_max'),
|
||
'cash_day_max' => getInfo('cash_day_max'),
|
||
'cash_max_num' => getInfo('cash_max_num')
|
||
];
|
||
if (Request::isPost()) {
|
||
if ($user['rz_status'] != 2) {
|
||
$this->error(json_lang("请先完成实名认证!"));
|
||
}
|
||
if ($user['isjy'] == 1) {
|
||
$this->error(json_lang("账号被锁定,请联系管理员!"));
|
||
}
|
||
$time = time();
|
||
$cash_start = strtotime(date('Y-m-d ' . $cashConfig['cash_start'] . ':00'));
|
||
$cash_end = strtotime(date('Y-m-d ' . $cashConfig['cash_end'] . ':00'));
|
||
if ($time < $cash_start || $time > $cash_end) {
|
||
$this->error(json_lang("提现时间为") . $cashConfig['cash_start'] . '-' . $cashConfig['cash_end']);
|
||
}
|
||
$data = Request::param();
|
||
$money = $data['money'];
|
||
if (!$money) $this->error(json_lang("提现金额不能为空!"));
|
||
$pwd = $data['pwd'];
|
||
if (!$pwd) $this->error(json_lang("提现密码不能为空!"));
|
||
$today = date('Y-m-d 00:00:00');
|
||
if ($user['password2'] != md5($data['pwd']))
|
||
$this->error(json_lang("交易密码不正确!"));
|
||
if ($data['money'] < $cashConfig['cash_min'])
|
||
$this->error(json_lang("提现金额不能小于") . $cashConfig['cash_min']);
|
||
if ($data['money'] > $cashConfig['cash_max'])
|
||
$this->error(json_lang("提现金额不能大于") . $cashConfig['cash_max']);
|
||
if ($user['money'] < $data['money'])
|
||
$this->error(json_lang("账户余额不足,请确认"));
|
||
|
||
$day_num = Db::name('LcCash')->where("uid = $uid AND time > '$today'")->count();
|
||
if ($day_num >= $cashConfig['cash_max_num'])
|
||
$this->error(json_lang('每日提现次数') . $cashConfig['cash_max_num']);
|
||
|
||
$day_sum = Db::name('LcCash')->where("uid = $uid AND time > '$today'")->sum('money');
|
||
if ($day_sum >= $cashConfig['cash_day_max'])
|
||
$this->error(json_lang('当日累计最高提现金额不能大于') . $cashConfig['cash_day_max']);
|
||
if ($data['bank'] != 0) {
|
||
$bank = Db::name('LcBank')->where('id', $data['bank'])->find();
|
||
if ($bank['uid'] != $uid || empty($bank))
|
||
$this->error('请先绑定提现银行卡!');
|
||
}
|
||
$cash_charge = getInfo('cash_charge');
|
||
|
||
$sxf = $data['money'] * $cash_charge * 0.01;
|
||
|
||
$dzje = $data['money'] - $sxf;
|
||
|
||
$sxfbfb = $cash_charge;
|
||
if ($data['bank'] == 0) {
|
||
$add = array(
|
||
'uid' => $uid,
|
||
'sxf' => $sxf,
|
||
'dzje' => $dzje,
|
||
'sxfbfb' => $sxfbfb,
|
||
'name' => $user['name'],
|
||
'bid' => $data['bank'],
|
||
'bank' => '支付宝',
|
||
'area' => 0,
|
||
'account' => $user['alipay'],
|
||
'money' => $data['money'],
|
||
'status' => 0,
|
||
'time' => date('Y-m-d H:i:s'), 'time2' => '0000-00-00 00:00:00');
|
||
}
|
||
else {
|
||
$add = array('uid' => $uid,
|
||
'sxf' => $sxf,
|
||
'dzje' => $dzje,
|
||
'sxfbfb' => $sxfbfb,
|
||
'name' => $user['name'],
|
||
'bid' => $data['bank'],
|
||
'bank' => $bank['bank'],
|
||
'area' => $bank['area'] ?: 0,
|
||
'account' => $bank['account'],
|
||
'money' => $data['money'], 'status' => 0, 'time' => date('Y-m-d H:i:s'), 'time2' => '0000-00-00 00:00:00');
|
||
}
|
||
|
||
if (Db::name('LcCash')->insert($add)) {
|
||
addFinance($uid, $data['money'], 2, "余额提现{$data['money']}元");
|
||
setNumber('LcUser', 'money', $data['money'], 2, "id = $uid");
|
||
|
||
$this->success(json_lang("提现申请成功!"));
|
||
} else {
|
||
$this->error(json_lang("提现失败!"));
|
||
}
|
||
}
|
||
$this->success(json_lang("操作成功"), $cashConfig);
|
||
}
|
||
|
||
/**
|
||
* @description:充值
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function recharge()
|
||
{
|
||
$uid = $this->uid;
|
||
$user = Db::name('LcUser')->find($uid);
|
||
$min_recharge = 1;
|
||
if (Request::isPost()) {
|
||
$data = Request::param();
|
||
if ($data['money'] < $min_recharge) {
|
||
$this->error('最低充值' . $this->min_recharge . '元');
|
||
}
|
||
$add = [
|
||
'uid' => $uid,
|
||
'money' => $data['money'],
|
||
'type' => "TRC20",
|
||
'status' => 0,
|
||
'time' => date('Y-m-d H:i:s'),
|
||
'time2' => '0000-00-00 00:00:00'
|
||
];
|
||
Db::name('LcRecharge')->insertGetId($add);
|
||
$this->success(json_lang('操作成功'));
|
||
}
|
||
$this->success(json_lang('操作成功'), ['user' => $user, 'min_recharge' => $min_recharge, 'address' => "TZEGFjVuHmGJCxc31e1GxgdonJEZVopJy4"]);
|
||
}
|
||
|
||
/**
|
||
* @description:扫描充值
|
||
* @date: 2020/5/14 0014
|
||
*/
|
||
public function scan()
|
||
{
|
||
$type = $this->request->param('type');
|
||
$this->money = $this->request->param('money');
|
||
$this->qr = getInfo('qr_alipay_img');
|
||
if ($type == 'wechat')
|
||
$this->qr = getInfo('qr_wechat_img');
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* Describe:提现银行
|
||
* DateTime: 2020/5/14 21:44
|
||
* @throws \think\Exception
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function bank()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
if (Request::isPost()) {
|
||
$data = $this->request->param();
|
||
$update = array('reason' => '付款人:' . $data['name'] . '<br/>转账附言:' . $data['reason']);
|
||
if (Db::name('LcRecharge')->where(['uid' => $uid, 'status' => 0, 'orderid' => $data['orderid']])->update($update)) {
|
||
msg('操作成功!', 2, '/index/user/index');
|
||
} else {
|
||
msg('操作失败!', 2, '/index/user/index');
|
||
}
|
||
}
|
||
$this->type = $this->request->param('type');
|
||
$this->orderid = $this->request->param('orderid');
|
||
$this->money = $this->request->param('money');
|
||
if (empty($this->orderid))
|
||
msg('充值失败!', 2, '/index/user/index');
|
||
$this->fetch();
|
||
}
|
||
|
||
/**
|
||
* Describe:合同详情
|
||
* DateTime: 2020/5/14 21:44
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function contract()
|
||
{
|
||
$this->uid = $this->uid;
|
||
if (!$this->uid)
|
||
|
||
$id = $this->request->param('id');
|
||
if (empty($id))
|
||
msg('参数缺失!', 2, '/index/user/index');
|
||
$this->invest = Db::name('LcInvest')->where(['uid' => $this->uid, 'id' => $id])->find();
|
||
$this->list = Db::name('LcInvestList')->where(['uid' => $this->uid, 'iid' => $id])->order('id desc')->select();
|
||
//if(!$this->invest||!$this->list) msg('暂无数据!', 2, '/index/user/index');
|
||
$this->fetch();
|
||
}
|
||
|
||
public function mall_contract()
|
||
{
|
||
$this->uid = $this->uid;
|
||
if (!$this->uid)
|
||
|
||
$id = $this->request->param('id');
|
||
if (empty($id))
|
||
msg('参数缺失!', 2, '/index/user/index');
|
||
$this->invest = Db::name('LcMallInvest')->where(['uid' => $this->uid, 'id' => $id])->find();
|
||
$this->list = Db::name('LcMallInvestList')->where(['uid' => $this->uid, 'iid' => $id])->order('id desc')->select();
|
||
$this->fetch();
|
||
}
|
||
|
||
public function details()
|
||
{
|
||
$this->uid = $this->uid;
|
||
if (!$this->uid)
|
||
|
||
$id = $this->request->param('id');
|
||
if (empty($id))
|
||
msg('参数缺失!', 2, '/index/user/index');
|
||
$this->invest = Db::name('LcInvest')->where(['uid' => $this->uid, 'id' => $id])->find();
|
||
$this->list = Db::name('LcInvestList')->where(['uid' => $this->uid, 'iid' => $id])->order('id asc')->select();
|
||
if (!$this->invest || !$this->list)
|
||
msg('暂无数据!', 2, '/index/user/index');
|
||
$this->fetch();
|
||
}
|
||
|
||
public function wallet()
|
||
{
|
||
$this->uid = $this->uid;
|
||
if (!$this->uid)
|
||
|
||
$user = Db::name('LcUser')->find($this->uid);
|
||
$now = date('Y-m-d H:i:s');
|
||
$this->kjbz = Db::name('LcMallInvest')->where('uid', $this->uid)->where("time2 >= '$now'")->sum('money');
|
||
$this->hybz = Db::name('LcInvest')->where('uid', $this->uid)->where("time2 >= '$now'")->sum('money');
|
||
|
||
$this->kjcl = Db::name('LcMallInvestList')->where(['uid' => $this->uid, 'status' => 1])->sum('money1');
|
||
$this->hysy = Db::name('LcInvestList')->where(['uid' => $this->uid, 'status' => 1])->sum('money1');
|
||
$this->kjsy = Db::name('LcFinance')->where("uid = {$this->uid} AND reason LIKE '%BTC兑换%'")->sum('money');
|
||
$this->fetch();
|
||
}
|
||
|
||
public function trade()
|
||
{
|
||
$this->uid = $this->uid;
|
||
if (!$this->uid)
|
||
|
||
$user = Db::name('LcUser')->find($this->uid);
|
||
$this->fetch();
|
||
}
|
||
|
||
public function tradeBTC()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$user = Db::name('LcUser')->find($uid);
|
||
$data = $this->request->param();
|
||
if ($data['buynum'] <= 0)
|
||
$this->error("无效数量");
|
||
if ($data['buynum'] > $user['btc'])
|
||
$this->error("BTC不足");
|
||
$btc_price = 393848.54;
|
||
$money = round($btc_price * $data['buynum'], 2);
|
||
addFinance($uid, $money, 1, "BTC兑换交易{$money}元");
|
||
setNumber('LcUser', 'money', $money, 1, "id = {$uid}");
|
||
setNumber('LcUser', 'btc', $data['buynum'], 2, "id = {$uid}");
|
||
$this->success("交易成功");
|
||
}
|
||
|
||
/**
|
||
* @description:退出登录
|
||
* @date: 2020/5/13 23:57
|
||
*/
|
||
public function logout()
|
||
{
|
||
$uid = $this->uid;
|
||
Db::table('lc_user')->where('id', $uid)->limit(1)->update(['access_time' => 0]);
|
||
session('uid', null);
|
||
//$this->app->session->clear();
|
||
//$this->app->session->destroy();
|
||
$this->redirect('/index');
|
||
}
|
||
|
||
public function hold()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$page = Request::param('page', 1);
|
||
$num = Request::param('num', 10);
|
||
$this->type = $this->request->param('type');
|
||
$this->hold = Db::name('LcOrder')->where(array('uid' => $uid, 'ostaus' => 0))->order('id desc')->page($page, $num)->select();
|
||
//->field('id,ptitle,buytime,fee,ostyle')
|
||
//var_dump($this->hold);die;
|
||
$this->success(json_lang("操作成功"), $this->hold);
|
||
}
|
||
|
||
/**
|
||
* 下单
|
||
* @return void [type] [description]
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @author lukui 2017-07-20
|
||
*/
|
||
public function addorder()
|
||
{
|
||
$data = Request::param();
|
||
$uid = $this->uid;
|
||
//用户信息
|
||
$user = Db::name('LcUser')->find($uid);
|
||
if (!$user) $this->error(json_lang("用户不存在"));
|
||
//验证用户是否被冻结
|
||
if ($user['clock'] == 1) {
|
||
// return WPreturn('您的账户已被冻结',-1);
|
||
}
|
||
if ($user['isjy'] == 1) {
|
||
$this->error(json_lang("账号被锁定,请联系管理员!"));
|
||
}
|
||
$adddata['uid'] = $uid;
|
||
$pro = Db::name('LcProduct')->find($data['order_pid']);
|
||
if (!$pro)
|
||
$this->error(json_lang("产品未找到"));
|
||
//验证是否开市
|
||
if ($pro['isopen']) {
|
||
$isopen = ChickIsOpen($pro['id']);
|
||
if ($isopen == 0) {
|
||
$this->error(json_lang("休市中"));
|
||
}
|
||
} else {
|
||
$this->error(json_lang("休市中"));
|
||
}
|
||
if (getinfo('order_max_amount') > 0) {
|
||
$allfee = Db::name('LcOrder')->where(array('ostaus' => 0, 'uid' => $data['uid']))->sum('fee');
|
||
$allfee = $allfee ? $allfee : 0;
|
||
if ($allfee + $data['order_price'] > getinfo('order_max_amount')) {
|
||
$this->error(json_lang("持仓最大金额为") . getinfo('order_max_amount') . '!');
|
||
}
|
||
}
|
||
if ($data['order_price'] < getinfo('order_min')) {
|
||
$this->error(json_lang("持仓最小金额为") . getinfo('order_min') . '!');
|
||
}
|
||
//持仓限制
|
||
if (getinfo('order_max_amount') > 0) {
|
||
$allfee = Db::name('LcOrder')->where(array('ostaus' => 0, 'uid' => $data['uid']))->sum('fee');
|
||
$allfee = $allfee ? $allfee : 0;
|
||
if ($allfee + $data['order_price'] > getinfo('order_max_amount')) {
|
||
$this->error(json_lang("持仓最大金额为") . getinfo('order_max_amount') . '!');
|
||
}
|
||
}
|
||
if (getinfo('order_max_count') > 0) {
|
||
Db::name('LcOrder')->where(array('ostaus' => 0, 'uid' => $data['uid']))->count();
|
||
}
|
||
//手续费
|
||
$web_poundage = 0;
|
||
if (getinfo('order_charge') > 0) {
|
||
$web_poundage = round($data['order_price'] * getinfo('order_charge') / 100, 2);
|
||
}
|
||
$moneyfrom = 1;
|
||
//验证余额是否够
|
||
if ($user['money'] < $data['order_price'] + $web_poundage) {
|
||
$this->error(json_lang("账户余额不足,请确认"));
|
||
}
|
||
if (floatval($data['newprice']) <= 0) {
|
||
$this->error(json_lang("操作失败"));
|
||
}
|
||
//建仓
|
||
$adddata['buytime'] = time();
|
||
$adddata['endprofit'] = $data['order_sen'];
|
||
$adddata['pid'] = $data['order_pid'];
|
||
$adddata['ostyle'] = $data['order_type'];
|
||
$adddata['buyprice'] = $data['newprice'];
|
||
$adddata['endloss'] = $data['order_shouyi'];
|
||
$adddata['lossrate'] = $data['order_kuishun'];
|
||
$adddata['eid'] = 2;
|
||
$adddata['selltime'] = $adddata['buytime'] + $adddata['endprofit'];
|
||
$adddata['fee'] = $data['order_price'];
|
||
$adddata['ptitle'] = $pro['title'];
|
||
$adddata['ostaus'] = '0';
|
||
$adddata['sx_fee'] = $web_poundage;
|
||
$allfee = $adddata['fee'] + $adddata['sx_fee'];
|
||
//会员建仓后金额
|
||
$adddata['commission'] = $user['money'] - $allfee;
|
||
//订单号
|
||
$adddata['orderno'] = date('YmdHis') . $uid . rand(1111, 9999);
|
||
//var_dump($adddata);
|
||
//下单
|
||
$id = Db::name('LcOrder')->insertGetId($adddata);
|
||
if ($id) {
|
||
//下单成功减用户余额
|
||
if ($moneyfrom == 1) {
|
||
addFinance($uid, $allfee, 2, '下单[' . $adddata['orderno'] . ']从账户扣除金额 ' . $allfee . '元');
|
||
setNumber('LcUser', 'money', $allfee, 2, "id = $uid");
|
||
}
|
||
if ($moneyfrom == 2) {
|
||
addFinance($uid, $allfee, 2, '下单[' . $adddata['orderno'] . ']从余额宝扣除金额 ' . $allfee . '元');
|
||
setNumber('LcUser', 'money', $allfee, 2, "id = $uid");
|
||
//Db::table('lc_yuebao_uc')->where('uid = '.$uid)->update(['balance'])
|
||
}
|
||
$nowmoney = $adddata['commission'];
|
||
if ($nowmoney < 0) {
|
||
$nowmoney = 0;
|
||
}
|
||
$adddata['oid'] = $id;
|
||
$order_rand = rand(1, 1000);
|
||
$adddata['order_rand'] = $order_rand;
|
||
$this->success(json_lang("操作成功"), $adddata);
|
||
} else {
|
||
$this->error(json_lang("操作失败"));
|
||
}
|
||
}
|
||
|
||
public function goorder()
|
||
{
|
||
// {
|
||
// "price": "275.661",
|
||
// "oid": "463",
|
||
// "order_rand": "547"
|
||
// }
|
||
$data = $this->request->param();
|
||
$oid = $data['oid'];
|
||
$price = $data['price'];
|
||
$order_rand = $data['order_rand'];
|
||
|
||
$static = 1; //1成功返回并继续运行 0失败返回不运行 2 失败返回继续轮询
|
||
if (!$oid || !$price || !$order_rand) {
|
||
die('0' . $oid . '-' . $price . '-' . $order_rand);
|
||
}
|
||
|
||
$order = Db::name('LcOrder')->find($oid);
|
||
|
||
//没有此订单
|
||
if (!$order) {
|
||
die('1' . $oid . '-' . $price . '-' . $order_rand);
|
||
}
|
||
|
||
//没有平仓
|
||
if (isset($order['ostyle']) && $order['ostaus'] == 0) {
|
||
die('2');
|
||
}
|
||
|
||
//已平仓 但是价格相同
|
||
if (isset($order['sellprice']) && $order['sellprice'] == $price) {
|
||
cache('goorder_' . $order['id'], null);
|
||
die('1');
|
||
}
|
||
|
||
//已平仓 但是无效交易
|
||
if (isset($order['is_win']) && $order['is_win'] == 3) {
|
||
cache('goorder_' . $order['id'], null);
|
||
die('1');
|
||
}
|
||
//该订单指定赢亏
|
||
if (isset($order['kong_type']) && $order['kong_type'] != 0) {
|
||
cache('goorder_' . $order['id'], null);
|
||
die('1');
|
||
}
|
||
die('1');
|
||
}
|
||
|
||
public function get_price()
|
||
{
|
||
//此刻产品价格
|
||
$pro = Db::name('LcProduct')->field('id,Price')->where(array('isdelete' => 0))->select();
|
||
$prodata = array();
|
||
foreach ($pro as $k => $v) {
|
||
$prodata[$v['id']] = $v['Price'];
|
||
}
|
||
return base64_encode(json_encode($prodata));;
|
||
}
|
||
|
||
/**
|
||
* ajax 通过产品id 获取用户订单,
|
||
* @return [type] [description]
|
||
* @author lukui 2017-07-22
|
||
*/
|
||
public function ajaxorder()
|
||
{
|
||
$uid = $this->uid;
|
||
$pid = $this->request->param('pid');
|
||
if (empty($uid) || empty($pid)) {
|
||
return false;
|
||
}
|
||
//持仓信息
|
||
$map = [];
|
||
$map[] = ['uid', '=', $uid];
|
||
$map[] = ['pid', '=', $pid];
|
||
$map[] = ['ostaus', '=', 0];
|
||
$map[] = ['selltime', '>', time()];
|
||
|
||
$list = Db::name('LcOrder')->where($map)->order('id desc')->select();
|
||
foreach ($list as $key => $value) {
|
||
$list[$key]['time'] = time();
|
||
}
|
||
if ($list) {
|
||
return base64_encode(json_encode($list));
|
||
// return json_encode($list);
|
||
} else {
|
||
return false;
|
||
}
|
||
|
||
}
|
||
|
||
/**
|
||
* ajax 通过产品id 平仓后弹框提示,
|
||
* @return [type] [description]
|
||
* @author lukui 2017-07-22
|
||
*/
|
||
public function ajaxalert()
|
||
{
|
||
$uid = $this->uid;
|
||
$pid = $this->request->param('pid');
|
||
if (empty($uid) || empty($pid)) {
|
||
return false;
|
||
}
|
||
//持仓信息
|
||
$hold = Db::name('LcOrder')->field('id,ploss,fee,eid')->where(array('uid' => $uid, 'ostaus' => 1, 'pid' => $pid, 'isshow' => 0))->order('id desc')->find();
|
||
//修改持仓信息
|
||
$isedit = Db::name('LcOrder')->where('id', $hold['id'])->setField('isshow', '1');
|
||
if ($hold && $isedit) {
|
||
return $hold;
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 交易记录
|
||
* @return [type] [description]
|
||
* @author lukui 2017-07-22
|
||
*/
|
||
public function ajaxorder_list()
|
||
{
|
||
$uid = $this->uid;
|
||
if (empty($uid)) {
|
||
$this->error('用户ID不能为空');
|
||
}
|
||
|
||
$type = input('type', 0);
|
||
$page = Request::param('page', 1);
|
||
$num = Request::param('num', 10);
|
||
//持仓信息
|
||
$map = [];
|
||
$map[] = ['ostaus', '=', $type];
|
||
$map[] = ['uid', '=', $uid];
|
||
|
||
$list = Db::name('LcOrder')->where($map)->order('id desc')->page($page, $num)->select();
|
||
foreach ($list as $key => $value) {
|
||
$list[$key]['time'] = time();
|
||
$list[$key]['ploss'] = round($value['ploss'], 2);
|
||
}
|
||
if ($list) {
|
||
$this->success(json_lang("操作成功"), $list);
|
||
} else {
|
||
$this->success('暂无数据', []);
|
||
}
|
||
}
|
||
|
||
public function getchart()
|
||
{
|
||
$data['hangqing'] = '商品行情';
|
||
$data['jiaoyijilu'] = '交易记录';
|
||
$data['jiaoyilishi'] = '历史委托';
|
||
$data['chicangmingxi'] = '持仓明细';
|
||
$data['lishimingxi'] = '历史明细';
|
||
$data['gendanjiaoyi'] = '跟单交易';
|
||
$res = base64_encode(json_encode($data));
|
||
return $res;
|
||
}
|
||
|
||
public function orderlist()
|
||
{
|
||
$uid = $this->uid;
|
||
if (empty($uid)) {
|
||
return false;
|
||
}
|
||
$map = [];
|
||
$map[] = ['uid', '=', $uid];
|
||
$map[] = ['ostaus', '=', 1];
|
||
|
||
$hold = Db::name('LcOrder')->where($map)->order('id desc')->paginate(20);
|
||
return base64_encode(json_encode($hold));
|
||
}
|
||
|
||
/**
|
||
* 已平仓订单详情
|
||
* @return [type] [description]
|
||
* @author lukui 2017-07-21
|
||
*/
|
||
public function orderinfo()
|
||
{
|
||
$uid = $this->uid;
|
||
$oid = $this->request->param('oid');
|
||
if (!$oid) {
|
||
$this->redirect('orderlist');
|
||
}
|
||
$order = Db::name('LcOrder')->where('id', $oid)->find();
|
||
$this->assign($order);
|
||
return $this->fetch();
|
||
|
||
}
|
||
|
||
/**
|
||
* 实时获取以平仓订单
|
||
* @return [type] [description]
|
||
*/
|
||
public function get_this_order()
|
||
{
|
||
$oid = $this->request->param('oid');
|
||
$map['id'] = $oid;
|
||
$map['ostaus'] = 1;
|
||
$order = Db::name('LcOrder')->where($map)->find();
|
||
|
||
return base64_encode(json_encode($order));
|
||
}
|
||
|
||
/**
|
||
* 实时获取以平仓订单
|
||
* @return [type] [description]
|
||
*/
|
||
public function get_hold_order()
|
||
{
|
||
$oid = $this->request->param('oid');
|
||
$map['id'] = $oid;
|
||
$map['ostaus'] = 1;
|
||
|
||
$order = Db::name('LcOrder')->where($map)->find();
|
||
|
||
return base64_encode(json_encode($order));
|
||
}
|
||
|
||
public function inquiries()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$map['uid'] = $uid;
|
||
$map['ostaus'] = 1;
|
||
|
||
$this->list = Db::name('LcOrder')->where($map)->order('id desc')->select();
|
||
|
||
$this->fetch();
|
||
}
|
||
|
||
public function yeb()
|
||
{
|
||
$yuebao = Db::name('lc_yuebao')->where('status = 1')->order('id desc')->select();
|
||
$this->success(json_lang("操作成功"), $yuebao);
|
||
}
|
||
|
||
public function yebtrans()
|
||
{
|
||
Db::startTrans();
|
||
try {
|
||
$uid = $this->uid;
|
||
$money = (float)input('post.money');
|
||
if ($money <= 0) {
|
||
return json(['code' => 500, 'msg' => '转出金额错误!']);
|
||
}
|
||
$uc = Db::table('lc_yuebao_uc')->lock(true)->where('uid', $uid)->find();
|
||
if ($money > $uc['trans_balance']) {
|
||
return json(['code' => 500, 'msg' => '大于可转出金额!']);
|
||
}
|
||
Db::table('lc_yuebao_uc')->where('id', $uc['id'])->limit(1)->update(['trans_balance' => round($uc['trans_balance'] - $money, 1)]);
|
||
$userMoney = DB::table('lc_user')->where('id', $uid)->value('money');
|
||
Db::table('lc_user')->where('id', $uid)->limit(1)->update(['money' => round($userMoney + $money, 1)]);
|
||
DB::table('lc_finance')->insert(['uid' => $uid, 'money' => $money, 'type' => 1, 'reason' => '利息宝转出', 'before' => $userMoney, 'time' => date('Y-m-d H:i:s')]);
|
||
return json(['code' => 200, 'msg' => '转出成功!']);
|
||
Db::commit();
|
||
} catch (Exception $e) {
|
||
Db::rollback();
|
||
return json(['code' => 500, 'msg' => '转出失败!']);
|
||
}
|
||
}
|
||
|
||
public function yebjoinnow()
|
||
{
|
||
//
|
||
$param = Request::param();
|
||
$uid = $this->uid;
|
||
//优先核对账户余额,并扣减。
|
||
$where['id'] = $uid;
|
||
$userinfo = Db::table('lc_user')->where($where)->find();
|
||
if ($userinfo['money'] < $param['money']) {
|
||
$this->error(json_lang("账户余额不足,请确认"));
|
||
}
|
||
//查找余额宝理财方案信息,并校检。
|
||
$where['id'] = $param['yebid'];
|
||
$yebinfo = Db::table('lc_yuebao')->where($where)->find();
|
||
if ($yebinfo['lowmoney'] > $param['money']) {
|
||
$this->error(json_lang("您办理的方案有最低存入:") . $yebinfo['lowmoney']);
|
||
}
|
||
$newmoney = $userinfo['money'] - $param['money'];
|
||
$res = Db::table('lc_user')->where('id', $userinfo['id'])->update(['money' => $newmoney]);
|
||
if (!$res) {
|
||
$this->error(json_lang("网络异常,请稍后再试:"));
|
||
}
|
||
$res = DB::table('lc_finance')->insert(['uid' => $userinfo['id'], 'money' => $param['money'], 'type' => 2, 'reason' => '利息宝转入', 'before' => $userinfo['money'], 'time' => date('Y-m-d H:i:s')]);
|
||
if (!$res) {
|
||
$this->error(json_lang("网络异常,请稍后再试:"));
|
||
}
|
||
//保存办理记录。
|
||
$savelist = array('uid' => $uid,
|
||
'username' => $userinfo['phone'],
|
||
'yuebaoid' => $yebinfo['id'],
|
||
'yebtitle' => $yebinfo['title'],
|
||
'lily' => $yebinfo['lily'],
|
||
'money' => $param['money'],
|
||
'days' => $yebinfo['days'],
|
||
'start_time' => time(),
|
||
'profit_time' => time(),
|
||
'end_time' => time() + $yebinfo['days']*86400,
|
||
'nowprofit' => 0, 'finishprofit' => round(($param['money'] * $yebinfo['lily']/ 100) * $yebinfo['days'], 4), 'status' => 1);
|
||
$newid = Db::table('lc_yuebao_lists')->insertGetId($savelist);
|
||
if (!$newid) {
|
||
$this->error(json_lang("网络异常,请稍后再试:"));
|
||
}
|
||
//再做UC
|
||
unset($where['id']);
|
||
$where['uid'] = $uid;
|
||
$yebucinfo = Db::table('lc_yuebao_uc')->where($where)->find();
|
||
$newbalance = $yebucinfo['balance'] + $param['money'];
|
||
Db::table('lc_yuebao_uc')->where($where)->update(['balance' => $newbalance]);
|
||
//再做UCLOG
|
||
$yebuclog = array('uid' => $uid, 'balance' => $yebucinfo['balance'], 'money' => $param['money'], 'addtime' => time(), 'remarks' => "用户购买理财方案:" . $yebinfo['title']);
|
||
Db::table('lc_yuebao_uclog')->insert($yebuclog);
|
||
$this->success(json_lang("操作成功"));
|
||
}
|
||
|
||
public function yebstop()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
$param = Request::param();
|
||
|
||
$getlistinfo = Db::table('lc_yuebao_lists')->where('id=' . $param['id'])->find();
|
||
|
||
if ($getlistinfo['status'] != 1 or empty($getlistinfo)) {
|
||
return "操作失败:订单无法操作!";
|
||
die;
|
||
}
|
||
|
||
$getuserinfo = Db::table('lc_user')->where('id=' . $getlistinfo['uid'])->find();
|
||
//var_dump($getlistinfo,$getuserinfo);die;
|
||
if (!empty($getuserinfo)) {
|
||
Db::table('lc_yuebao_lists')->where('id=' . $param['id'])->update(['status' => 2, 'end_time' => time()]);
|
||
//记录日志!
|
||
unset($getlistinfo['id']);
|
||
$getlistinfo['status'] = 2;
|
||
$getlistinfo['end_time'] = time();
|
||
$getlistinfo['balance'] = $getuserinfo['money'];
|
||
$getlistinfo['closetime'] = time();
|
||
$getlistinfo['remarks'] = "客户手动结算";
|
||
Db::table('lc_yuebao_log')->insert($getlistinfo);
|
||
//更新用户余额
|
||
$newbalance = $getuserinfo['money'] + $getlistinfo['nowprofit'] + $getlistinfo['money'];
|
||
Db::table('lc_user')->where('id=' . $getlistinfo['uid'])->update(['money' => $newbalance]);
|
||
//更新UC
|
||
$where['uid'] = $uid;
|
||
$yebucinfo = Db::table('lc_yuebao_uc')->where($where)->find();
|
||
$newbalance = $yebucinfo['balance'] - $getlistinfo['money'];
|
||
Db::table('lc_yuebao_uc')->where($where)->update(['balance' => $newbalance]);
|
||
//再做UCLOG
|
||
$yebuclog = array('uid' => $uid, 'balance' => $yebucinfo['balance'], 'money' => $getlistinfo['money'], 'addtime' => time(), 'remarks' => "用户购买理财方案:" . $getlistinfo['title']);
|
||
Db::table('lc_yuebao_uclog')->insert($yebuclog);
|
||
|
||
return "ok";
|
||
die;
|
||
|
||
} else {
|
||
return "操作失败:订单无法操作!";
|
||
die;
|
||
}
|
||
|
||
}
|
||
|
||
public function yebkeep()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
|
||
$param = Request::param();
|
||
$getlistinfo = Db::table('lc_yuebao_lists')->where('id=' . $param['id'])->find();
|
||
if ($getlistinfo['status'] == 2) {
|
||
return "操作失败:订单无法操作!";
|
||
die;
|
||
} elseif ($getlistinfo['status'] == 1) {
|
||
$getlistinfo['end_time'] = $getlistinfo['end_time'] + $getlistinfo['days'] * 86400;
|
||
}
|
||
unset($getlistinfo['id']);
|
||
Db::table('lc_yuebao_lists')->where('id=' . $param['id'])->update(['end_time' => $getlistinfo['end_time']]);
|
||
return "操作成功";
|
||
die;
|
||
}
|
||
|
||
/**
|
||
* @description:身份认证
|
||
* @date: 2020/5/14 0014
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function verified()
|
||
{
|
||
$uid = $this->uid;
|
||
|
||
$user = Db::name('LcUser')->field('rz_status,name,idcard,z_id_card,f_id_card')->find($uid);
|
||
if (Request::isPost()) {
|
||
$param = Request::param();
|
||
if ($user['rz_status'] == 2) {
|
||
$this->error(json_lang('已认证请勿重复提交!'));
|
||
}
|
||
$name = $param['name'];
|
||
if (!$name) $this->error(json_lang('名字不能为空!'));
|
||
$idcard = $param['idcard'];
|
||
if (!$idcard) $this->error(json_lang('身份证号码不能为空!'));
|
||
$z_id_card = $param['z_id_card'];
|
||
if (!$z_id_card) $this->error(json_lang('身份证正面照不能为空!'));
|
||
$f_id_card = $param['f_id_card'];
|
||
if (!$f_id_card) $this->error(json_lang('身份证反面照不能为空!'));
|
||
// $country = $param['country'];
|
||
// if (!$country) $this->error(json_lang('地址不能为空!'));
|
||
$data = $param;
|
||
$check = Db::name('LcUser')->where("idcard = '{$data['idcard']}' AND id <> " . $uid)->find();
|
||
if ($check)
|
||
$this->error(json_lang('身份证号码已被其他账号绑定!'));
|
||
if (Db::name('LcUser')->where(['id' => $uid])->update([
|
||
'name' => $data['name'],
|
||
'idcard' => $data['idcard'],
|
||
'z_id_card' => $data['z_id_card'],
|
||
'f_id_card' => $data['f_id_card'],
|
||
// 'country' => $data['country'],
|
||
'rz_status' => 1
|
||
])) {
|
||
$this->success(json_lang('认证信息提交成功!'));
|
||
} else {
|
||
$this->error(json_lang('认证信息提交失败!'));
|
||
}
|
||
}
|
||
$this->success(json_lang('操作成功'), $user);
|
||
}
|
||
}
|