|
@@ -17,41 +17,58 @@ class UserCoinController {
|
|
|
*/
|
|
*/
|
|
|
public function boot(Request $request) {
|
|
public function boot(Request $request) {
|
|
|
$uid = 1000; //TODO
|
|
$uid = 1000; //TODO
|
|
|
- // 是否开启
|
|
|
|
|
|
|
+ // 是否开启活动
|
|
|
$symbol = Config::get('app.mining_symbo');
|
|
$symbol = Config::get('app.mining_symbo');
|
|
|
if (!$symbol) {
|
|
if (!$symbol) {
|
|
|
- return JsonService::fail('本活动未开启');
|
|
|
|
|
|
|
+ return app('json')->fail('本活动未开启');
|
|
|
}
|
|
}
|
|
|
|
|
+ // 是否已经开启
|
|
|
|
|
+ $mining = UserHash::mining_get($uid);
|
|
|
|
|
+ if ($mining) {
|
|
|
|
|
+ if (isset($mining['progress']) && $mining['progress'] > 0.0) {
|
|
|
|
|
+ return app('json')->fail('已启动');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 是否有订单
|
|
// 是否有订单
|
|
|
$orderId = StoreOrderCartInfo::getMiningOrderId($uid);
|
|
$orderId = StoreOrderCartInfo::getMiningOrderId($uid);
|
|
|
if (!$orderId) {
|
|
if (!$orderId) {
|
|
|
- return JsonService::fail('下单后可启动');
|
|
|
|
|
|
|
+ return app('json')->fail('下单后可启动');
|
|
|
}
|
|
}
|
|
|
// 标记订单
|
|
// 标记订单
|
|
|
if (!StoreOrderCartInfo::setMining($orderId)) {
|
|
if (!StoreOrderCartInfo::setMining($orderId)) {
|
|
|
- return JsonService::fail('执行失败');
|
|
|
|
|
|
|
+ return app('json')->fail('执行失败');
|
|
|
}
|
|
}
|
|
|
// 开启
|
|
// 开启
|
|
|
$secs_unit = Config::get('app.mining_sec_unit');
|
|
$secs_unit = Config::get('app.mining_sec_unit');
|
|
|
$reward_unit = Config::get('app.mining_num_per_unit');
|
|
$reward_unit = Config::get('app.mining_num_per_unit');
|
|
|
$progress = floatval(bcdiv($reward_unit, $secs_unit, 8));
|
|
$progress = floatval(bcdiv($reward_unit, $secs_unit, 8));
|
|
|
- $total = UserCoin::where(['uid' => $uid, 'symbol' => $symbol])->value('balance');
|
|
|
|
|
- $icon = DictCoin::where('symbol', $symbol)->value('icon');
|
|
|
|
|
|
|
+ $icon = DictCoin::getIcon($symbol);
|
|
|
|
|
+ $balance = UserCoin::where('uid', $uid)->where('symbol', $symbol)->value('balance') ?? 0.0;
|
|
|
|
|
+
|
|
|
$suc = UserHash::mining_set($uid, [
|
|
$suc = UserHash::mining_set($uid, [
|
|
|
'symbol'=> $symbol,
|
|
'symbol'=> $symbol,
|
|
|
'icon' => $icon,
|
|
'icon' => $icon,
|
|
|
'price' => 0,
|
|
'price' => 0,
|
|
|
'progress' => $progress,
|
|
'progress' => $progress,
|
|
|
- 'total' => $total,
|
|
|
|
|
|
|
+ 'total' => $balance,
|
|
|
'ts' => time(),
|
|
'ts' => time(),
|
|
|
'order_id' => $orderId,
|
|
'order_id' => $orderId,
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
- if (!$suc) {
|
|
|
|
|
- return JsonService::fail('未成功执行');
|
|
|
|
|
|
|
+ if ($suc != 0 && $suc != 1) {
|
|
|
|
|
+ StoreOrderCartInfo::setMining($orderId, 0);
|
|
|
|
|
+ return app('json')->fail('未成功执行');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- return JsonService::successful();
|
|
|
|
|
|
|
+ return app('json')->successful([
|
|
|
|
|
+ "symbol" => $symbol,
|
|
|
|
|
+ 'icon' => $icon,
|
|
|
|
|
+ 'price' => 0,
|
|
|
|
|
+ 'step' => $progress,
|
|
|
|
|
+ 'progress' => $progress,
|
|
|
|
|
+ 'total' => $balance,
|
|
|
|
|
+ ]);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -62,9 +79,9 @@ class UserCoinController {
|
|
|
['page', 1],
|
|
['page', 1],
|
|
|
['limit', 20],
|
|
['limit', 20],
|
|
|
], $request, true);
|
|
], $request, true);
|
|
|
- $uid = 1; // TODO
|
|
|
|
|
|
|
+ $uid = 1000; // TODO
|
|
|
$rows = UserCoinTransfer::getUserTransferred($uid, $page, $limit);
|
|
$rows = UserCoinTransfer::getUserTransferred($uid, $page, $limit);
|
|
|
- return JsonService::successful($rows);
|
|
|
|
|
|
|
+ return app('json')->successful($rows);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -76,18 +93,18 @@ class UserCoinController {
|
|
|
['addr', ''],
|
|
['addr', ''],
|
|
|
], $request, true);
|
|
], $request, true);
|
|
|
if (!$symbol || !$addr) {
|
|
if (!$symbol || !$addr) {
|
|
|
- return JsonService::fail('参数不可为空');
|
|
|
|
|
|
|
+ return app('json')->fail('参数不可为空');
|
|
|
}
|
|
}
|
|
|
- if (!DictCoin::where('symbol', $symbol)->select()) {
|
|
|
|
|
- return JsonService::fail('未找到目标');
|
|
|
|
|
|
|
+ if (!DictCoin::where('symbol', $symbol)->select()->toArray()) {
|
|
|
|
|
+ return app('json')->fail('未找到目标');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $uid = $request->uid();
|
|
|
|
|
|
|
+ $uid = 1000; //TODO $request->uid();
|
|
|
$suc = UserCoin::upsertAddr($uid, $symbol, $addr);
|
|
$suc = UserCoin::upsertAddr($uid, $symbol, $addr);
|
|
|
if (!$suc) {
|
|
if (!$suc) {
|
|
|
- return JsonService::fail('执行失败');
|
|
|
|
|
|
|
+ return app('json')->fail('执行失败');
|
|
|
}
|
|
}
|
|
|
- return JsonService::successful();
|
|
|
|
|
|
|
+ return app('json')->successful();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -100,31 +117,31 @@ class UserCoinController {
|
|
|
], $request, true);
|
|
], $request, true);
|
|
|
|
|
|
|
|
if(!$symbol) {
|
|
if(!$symbol) {
|
|
|
- return JsonService::fail('参数不可为空');
|
|
|
|
|
|
|
+ return app('json')->fail('参数不可为空');
|
|
|
}
|
|
}
|
|
|
- $meta = DictCoin::where('symbol', $symbol)->select();
|
|
|
|
|
|
|
+ $meta = DictCoin::where('symbol', $symbol)->find();
|
|
|
if (!$meta) {
|
|
if (!$meta) {
|
|
|
- return JsonService::fail('未找到目标');
|
|
|
|
|
|
|
+ return app('json')->fail('未找到目标');
|
|
|
}
|
|
}
|
|
|
$meta = $meta->toArray();
|
|
$meta = $meta->toArray();
|
|
|
if ($amount < $meta['min_withdrawal']){
|
|
if ($amount < $meta['min_withdrawal']){
|
|
|
- return JsonService::fail('未达到最低限额');
|
|
|
|
|
|
|
+ return app('json')->fail('未达到最低限额');
|
|
|
}
|
|
}
|
|
|
- $uid = $request->uid();
|
|
|
|
|
- $userCoin = UserCoin::where(['uid'=>$uid, 'symbol'=>$symbol])->select();
|
|
|
|
|
|
|
+ $uid = 1000; // TODO $request->uid();
|
|
|
|
|
+ $userCoin = UserCoin::where(['uid'=>$uid, 'symbol'=>$symbol])->find();
|
|
|
if (!$userCoin) {
|
|
if (!$userCoin) {
|
|
|
- return JsonService::fail('不适用的用户');
|
|
|
|
|
|
|
+ return app('json')->fail('不适用的用户');
|
|
|
}
|
|
}
|
|
|
$userCoin = $userCoin->toArray();
|
|
$userCoin = $userCoin->toArray();
|
|
|
if(!$userCoin['addr']) {
|
|
if(!$userCoin['addr']) {
|
|
|
- return JsonService::fail('地址未设置');
|
|
|
|
|
|
|
+ return app('json')->fail('地址未设置');
|
|
|
}
|
|
}
|
|
|
if ($userCoin['balance'] < $amount) {
|
|
if ($userCoin['balance'] < $amount) {
|
|
|
- return JsonService::fail('余额不足');
|
|
|
|
|
|
|
+ return app('json')->fail('余额不足');
|
|
|
}
|
|
}
|
|
|
$transferred = UserCoinTransfer::hasTransferred($uid, $symbol, $userCoin['addr']);
|
|
$transferred = UserCoinTransfer::hasTransferred($uid, $symbol, $userCoin['addr']);
|
|
|
if (!$transferred) {
|
|
if (!$transferred) {
|
|
|
- return JsonService::fail('首次操作需联系客服进行');
|
|
|
|
|
|
|
+ return app('json')->fail('首次操作需联系客服进行');
|
|
|
}
|
|
}
|
|
|
// transfer
|
|
// transfer
|
|
|
UserCoin::beginTrans();
|
|
UserCoin::beginTrans();
|
|
@@ -135,8 +152,8 @@ class UserCoinController {
|
|
|
$ok = $res1 && $res2;
|
|
$ok = $res1 && $res2;
|
|
|
UserCoin::checkTrans($ok);
|
|
UserCoin::checkTrans($ok);
|
|
|
if (!$ok) {
|
|
if (!$ok) {
|
|
|
- return JsonService::fail('执行失败');
|
|
|
|
|
|
|
+ return app('json')->fail('执行失败');
|
|
|
}
|
|
}
|
|
|
- return JsonService::successful('成功,已开始审核');
|
|
|
|
|
|
|
+ return app('json')->successful('成功,已开始审核');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|