| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Services\Api\MemberService;
- use App\Services\Common\AdvertOrderService;
- use App\Services\Common\TradeOrderService;
- use App\Services\ConfigService;
- use App\Services\RedisService;
- use App\Services\UsdtWalletService;
- /**
- * 任务
- * Class TaskController
- * @package App\Http\Controllers\Api
- */
- class TaskController extends webApp
- {
- /**
- * 监听处理用户TRC子钱包存币(转账-进账)
- * @return array|mixed
- */
- public function catchTrcRecharge()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- $cachekey = "caches:wallet:trc_";
- $page = RedisService::get($cachekey."rechargePage");
- $page = $page? $page : 1;
- $members = MemberService::make()->getCatchMember($page, 500);
- if(empty($members)){
- RedisService::set($cachekey."rechargePage", 1, 600);
- return showJson(1019, false);
- }
- $count = 0;
- $failedCount = 0;
- foreach ($members as $v){
- $result = UsdtWalletService::make()->getTrc20RechargeLog($v['id'], $v['trc_address']);
- if($result){
- $count++;
- RedisService::set($cachekey."catchRecharge:{$v['id']}_result", $result, 600);
- }else{
- $failedCount++;
- $error = lang(UsdtWalletService::make()->getError());
- RedisService::set($cachekey."catchRecharge:{$v['id']}_result", $error, 600);
- }
- }
- RedisService::set($cachekey."rechargePage", $page+1, 600);
- if($count>0){
- return showJson(1020, true,['success'=> $count,'fail'=> $failedCount]);
- }else{
- return showJson(1021, false);
- }
- }
- /**
- * 监听处理用户ERC子钱包存币(转账-进账)
- * @return array|mixed
- */
- public function catchErcRecharge()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- $cachekey = "caches:wallet:erc_";
- $page = RedisService::get($cachekey."rechargePage");
- $page = $page? $page : 1;
- $members = MemberService::make()->getCatchMember($page, 500);
- if(empty($members)){
- RedisService::set($cachekey."rechargePage", 1, 600);
- return showJson(1019, false);
- }
- $count = 0;
- $failedCount = 0;
- foreach ($members as $v){
- $result = UsdtWalletService::make()->getErc20RechargeLog($v['id'], $v['trc_address']);
- if($result){
- $count++;
- RedisService::set($cachekey."catchRecharge:{$v['id']}_result", $result, 600);
- }else{
- $failedCount++;
- $error = lang(UsdtWalletService::make()->getError());
- RedisService::set($cachekey."catchRecharge:{$v['id']}_result", $error, 600);
- }
- }
- RedisService::set($cachekey."rechargePage", $page+1, 600);
- if($count>0){
- return showJson(1020, true,['success'=> $count,'fail'=> $failedCount]);
- }else{
- return showJson(1021, false);
- }
- }
- /**
- * 监听平台TRC平台出账钱包交易记录(提币回调确认完成交易)
- * @return array|mixed
- */
- public function catchTrcTransferByOtc()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- // 出账手续费钱包
- $otcOutAddress = ConfigService::make()->getConfigByCode('trc_out_address');
- if(empty($otcOutAddress)){
- return showJson(2210, false);
- }
- $cacheKey = "caches:wallets:listen:trc_{$otcOutAddress}";
- if(RedisService::get($cacheKey.'_lock')){
- return showJson(1025, false);
- }
- $result = UsdtWalletService::make()->getTrc20TransferLogByOtc($otcOutAddress, 1,200);
- RedisService::set($cacheKey.'_lock', 1, rand(5, 10));
- if($result){
- RedisService::set($cacheKey, $result, 3600);
- return showJson(1020, true,['success'=> count($result)]);
- }else{
- return showJson(1021, false);
- }
- }
- /**
- * 监听平台TRC平台入账钱包交易记录(提币回调确认完成交易)
- * @return array|mixed
- */
- public function catchTrcTransferByOtcIn()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- // 出账手续费钱包
- $otcOutAddress = ConfigService::make()->getConfigByCode('trc_out_address');
- if(empty($otcOutAddress)){
- return showJson(2210, false);
- }
- $cacheKey = "caches:wallets:listen:trc_in_{$otcOutAddress}";
- if(RedisService::get($cacheKey.'_lock')){
- return showJson(1025, false);
- }
- $result = UsdtWalletService::make()->getTrc20TransferLogByOtc($otcOutAddress, 2,200);
- RedisService::set($cacheKey.'_lock', 1, rand(5, 10));
- if($result){
- RedisService::set($cacheKey, $result, 3600);
- return showJson(1020, true,['success'=> count($result)]);
- }else{
- return showJson(1021, false);
- }
- }
- /**
- * 监听平台ERC平台出账钱包交易记录(提币回调确认完成交易)
- * @return array|mixed
- */
- public function catchErcTransferByOtc()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- // 出账手续费钱包
- $otcOutAddress = ConfigService::make()->getConfigByCode('erc_out_address');
- if(empty($otcOutAddress)){
- return showJson(2210, false);
- }
- $cacheKey = "caches:wallets:listen:erc_{$otcOutAddress}";
- if(RedisService::get($cacheKey.'_lock')){
- return showJson(1025, false);
- }
- $result = UsdtWalletService::make()->getErc20TransferLogByOtc($otcOutAddress,1, 200);
- RedisService::set($cacheKey.'_lock', 1, rand(5, 10));
- if($result){
- RedisService::set($cacheKey, $result, 3600);
- return showJson(1020, true,['success'=> count($result)]);
- }else{
- return showJson(1021, false);
- }
- }
- /**
- * 监听平台ERC平台入账钱包交易记录(提币回调确认完成交易)
- * @return array|mixed
- */
- public function catchErcTransferByOtcIn()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- // 出账手续费钱包
- $otcOutAddress = ConfigService::make()->getConfigByCode('erc_out_address');
- if(empty($otcOutAddress)){
- return showJson(2210, false);
- }
- $cacheKey = "caches:wallets:listen:erc_in_{$otcOutAddress}";
- if(RedisService::get($cacheKey.'_lock')){
- return showJson(1025, false);
- }
- $result = UsdtWalletService::make()->getErc20TransferLogByOtc($otcOutAddress,2, 200);
- RedisService::set($cacheKey.'_lock', 1, rand(5, 10));
- if($result){
- RedisService::set($cacheKey, $result, 3600);
- return showJson(1020, true,['success'=> count($result)]);
- }else{
- return showJson(1021, false);
- }
- }
- /**
- * 自动归集TRC总钱包
- * @return array
- * @throws \Tron\Exceptions\TransactionException
- * @throws \Tron\Exceptions\TronErrorException
- */
- public function catchTrcTruggerByOtc()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- if($result = UsdtWalletService::make()->usdtTrcTrigger()){
- return showJson(1002, true, $result);
- }else{
- return showJson(UsdtWalletService::make()->getError(), false);
- }
- }
- /**
- * 自动归集ERC总钱包
- * @return array
- * @throws \Tron\Exceptions\TransactionException
- * @throws \Tron\Exceptions\TronErrorException
- */
- public function catchErcTruggerByOtc()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if($checkKey != $key){
- return showJson(1003, false);
- }
- if($result = UsdtWalletService::make()->usdtErcTrigger()){
- return showJson(1002, true, $result);
- }else{
- return showJson(UsdtWalletService::make()->getError(), false);
- }
- }
- /**
- * 自动取消派单订单任务
- * @return array|mixed
- */
- public function catchTradeOrderCancel()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if ($checkKey != $key) {
- return showJson(1003, false);
- }
- if($result = TradeOrderService::make()->catchInvalidOrder()){
- return showJson(1002, true, $result);
- }else{
- return showJson(TradeOrderService::make()->getError(), false);
- }
- }
- /**
- * 自动取消派单订单任务
- * @return array|mixed
- */
- public function catchAdvertOrderCancel()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if ($checkKey != $key) {
- return showJson(1003, false);
- }
- if($result = AdvertOrderService::make()->catchInvalidOrder()){
- return showJson(1002, true, $result);
- }else{
- return showJson(AdvertOrderService::make()->getError(), false);
- }
- }
- /**
- * 派单订单状态通知
- * @return array|mixed
- */
- public function catchTradeOrderNotify()
- {
- $key = md5('OTC');
- $checkKey = request()->get('key');
- if ($checkKey != $key) {
- return showJson(1003, false);
- }
- if($result = TradeOrderService::make()->catchOrderNotify()){
- return showJson(1002, true, $result);
- }else{
- return showJson(TradeOrderService::make()->getError(), false);
- }
- }
- }
|