From 6ce7adcbfb07ff2857e3620fb8f22c5d3573ef39 Mon Sep 17 00:00:00 2001 From: testadmin Date: Wed, 29 Apr 2026 03:33:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20API=E8=B7=AF=E7=94=B1=E8=A1=A5=E9=BD=90+?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=85=A8=E9=9D=A2=E4=B8=AD=E6=96=87=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/AccountLogController.php | 196 ++ .../Controllers/Admin/AdminController.php | 168 ++ .../Controllers/Admin/AdminRoleController.php | 89 + .../Admin/AdminRolePermissionController.php | 85 + app/Http/Controllers/Admin/AiController.php | 264 +++ app/Http/Controllers/Admin/AutoController.php | 131 ++ app/Http/Controllers/Admin/BankController.php | 755 +++++++ .../Controllers/Admin/BindBoxController.php | 436 ++++ app/Http/Controllers/Admin/BossController.php | 267 +++ .../Controllers/Admin/C2cDealController.php | 202 ++ .../Admin/C2cDealSendController.php | 70 + .../Admin/C2cMerchantController.php | 90 + .../Admin/CandyTransferController.php | 105 + .../Controllers/Admin/CashbController.php | 268 +++ .../Controllers/Admin/ClaimController.php | 172 ++ .../Controllers/Admin/CoinTradeController.php | 55 + app/Http/Controllers/Admin/Controller.php | 51 + .../Controllers/Admin/CurrencyController.php | 785 ++++++++ .../Admin/CurrencyDepositController.php | 130 ++ .../Admin/CurrencyProjectController.php | 244 +++ .../Controllers/Admin/DefaultController.php | 89 + app/Http/Controllers/Admin/DualController.php | 259 +++ .../Controllers/Admin/FeedBackController.php | 102 + .../Admin/FlashAgainstController.php | 133 ++ .../Admin/HazardRateController.php | 181 ++ .../Controllers/Admin/InsuranceController.php | 186 ++ .../Admin/InsuranceRuleController.php | 96 + .../Controllers/Admin/InviteController.php | 240 +++ .../Controllers/Admin/LegalDealController.php | 380 ++++ .../Admin/LegalDealSendController.php | 46 + .../Controllers/Admin/LendingController.php | 318 +++ .../Controllers/Admin/LevelController.php | 203 ++ .../Admin/LeverMultipleController.php | 327 +++ .../Admin/LeverTransactionController.php | 67 + .../Admin/LevertolegalController.php | 448 +++++ app/Http/Controllers/Admin/LtcController.php | 112 ++ .../Admin/MailMessageController.php | 141 ++ .../Controllers/Admin/MarketController.php | 129 ++ .../Controllers/Admin/MicroController.php | 315 +++ app/Http/Controllers/Admin/MyQuotation.php | 162 ++ app/Http/Controllers/Admin/NewsController.php | 418 ++++ app/Http/Controllers/Admin/PayController.php | 66 + .../Controllers/Admin/PrizePoolController.php | 66 + .../Controllers/Admin/RobotController.php | 159 ++ .../Controllers/Admin/SellerController.php | 262 +++ .../Controllers/Admin/SettingController.php | 163 ++ .../Controllers/Admin/SettingsController.php | 106 + app/Http/Controllers/Admin/TipsController.php | 82 + .../Admin/TransactionController.php | 288 +++ .../Admin/TransactionLegalController.php | 40 + .../Controllers/Admin/UeditorController.php | 232 +++ app/Http/Controllers/Admin/UserController.php | 1760 +++++++++++++++++ .../Admin/UserGradeSettingController.php | 68 + .../Controllers/Admin/UserRealController.php | 344 ++++ .../Controllers/Admin/WalletController.php | 102 + resources/views/admin/_layoutNew.blade.php | 103 + resources/views/admin/acceptor/add.blade.php | 139 ++ resources/views/admin/acceptor/deal.blade.php | 135 ++ .../views/admin/acceptor/index.blade.php | 132 ++ resources/views/admin/account/index.blade.php | 152 ++ .../views/admin/account/viewDetail.blade.php | 36 + resources/views/admin/ad/edit.blade.php | 166 ++ resources/views/admin/ad/index.blade.php | 138 ++ .../views/admin/ad/positionEdit.blade.php | 70 + .../views/admin/ad/positionIndex.blade.php | 116 ++ resources/views/admin/ai/add.blade.php | 234 +++ resources/views/admin/ai/edit_ai.blade.php | 198 ++ resources/views/admin/ai/index.blade.php | 372 ++++ resources/views/admin/ai/order.blade.php | 109 + resources/views/admin/auto/add.blade.php | 120 ++ resources/views/admin/auto/index.blade.php | 139 ++ resources/views/admin/bank/add.blade.php | 111 ++ resources/views/admin/bank/index.blade.php | 131 ++ resources/views/admin/bindBox/add.blade.php | 509 +++++ .../bindBox/add_rarity_house_view.blade.php | 265 +++ resources/views/admin/bindBox/edit.blade.php | 341 ++++ .../bindBox/edit_rarity_house_view.blade.php | 264 +++ resources/views/admin/bindBox/index.blade.php | 332 ++++ resources/views/admin/bindBox/order.blade.php | 159 ++ .../views/admin/bindBox/quotation.blade.php | 111 ++ .../admin/bindBox/rarity_house.blade.php | 150 ++ .../admin/bindBox/success_order.blade.php | 144 ++ resources/views/admin/boss/config.blade.php | 108 + .../views/admin/boss/config_add.blade.php | 94 + .../views/admin/boss/config_edit.blade.php | 90 + .../admin/boss/edit_lh_account.blade.php | 123 ++ .../views/admin/boss/lh_order_list.blade.php | 180 ++ .../views/admin/boss/unlock_order.blade.php | 161 ++ resources/views/admin/c2c/deal.blade.php | 253 +++ resources/views/admin/c2c/index.blade.php | 181 ++ .../admin/candytransfer/detail.blade.php | 70 + .../views/admin/candytransfer/index.blade.php | 134 ++ resources/views/admin/cashb/edit.blade.php | 211 ++ resources/views/admin/cashb/index.blade.php | 156 ++ resources/views/admin/claim/index.blade.php | 168 ++ .../views/admin/cointrade/index.blade.php | 175 ++ resources/views/admin/currency/add.blade.php | 405 ++++ .../views/admin/currency/add_config.blade.php | 120 ++ .../views/admin/currency/class.blade.php | 201 ++ .../views/admin/currency/config.blade.php | 220 +++ .../views/admin/currency/index.blade.php | 248 +++ .../views/admin/currency/match.blade.php | 118 ++ .../views/admin/currency/match_add.blade.php | 182 ++ .../views/admin/currency/order_list.blade.php | 152 ++ .../admin/currency/project_detail.blade.php | 241 +++ .../admin/currency/project_list.blade.php | 183 ++ .../admin/currency/project_orders.blade.php | 145 ++ .../admin/currency/set_in_address.blade.php | 81 + .../admin/currency/set_out_address.blade.php | 88 + resources/views/admin/dual/add.blade.php | 222 +++ .../views/admin/dual/edit_dual.blade.php | 184 ++ resources/views/admin/dual/index.blade.php | 371 ++++ resources/views/admin/dual/order.blade.php | 109 + .../views/admin/feedback/detail.blade.php | 70 + .../views/admin/feedback/index.blade.php | 131 ++ .../views/admin/flashagainst/index.blade.php | 169 ++ resources/views/admin/index.blade.php | 197 ++ resources/views/admin/indexnew.blade.php | 282 +++ resources/views/admin/insurance/add.blade.php | 161 ++ .../views/admin/insurance/index.blade.php | 131 ++ .../admin/insurance/order_index.blade.php | 121 ++ .../views/admin/insurancerule/add.blade.php | 81 + .../views/admin/insurancerule/index.blade.php | 82 + .../views/admin/invite/bgIndex.blade.php | 95 + resources/views/admin/invite/childs.blade.php | 158 ++ resources/views/admin/invite/edit.blade.php | 89 + resources/views/admin/invite/return.blade.php | 104 + resources/views/admin/invite/share.blade.php | 62 + resources/views/admin/legal/deal.blade.php | 274 +++ resources/views/admin/legal/index.blade.php | 238 +++ resources/views/admin/lending/add.blade.php | 152 ++ resources/views/admin/lending/edit.blade.php | 188 ++ .../admin/lending/edit_lending.blade.php | 133 ++ resources/views/admin/lending/index.blade.php | 344 ++++ resources/views/admin/lending/order.blade.php | 143 ++ resources/views/admin/level/add.blade.php | 90 + .../views/admin/level/algebra_add.blade.php | 71 + .../views/admin/level/algebra_index.blade.php | 80 + resources/views/admin/level/index.blade.php | 83 + resources/views/admin/level/orders.blade.php | 171 ++ .../views/admin/lever/hazard/handle.blade.php | 73 + .../views/admin/lever/hazard/index.blade.php | 125 ++ .../views/admin/lever/hazard/total.blade.php | 116 ++ .../views/admin/lever/trade/index.blade.php | 101 + .../views/admin/leverdeals/list.blade.php | 233 +++ .../views/admin/levermultiple/add.blade.php | 91 + .../views/admin/levermultiple/edit.blade.php | 80 + .../views/admin/levermultiple/index.blade.php | 150 ++ .../views/admin/levermultiple/match.blade.php | 103 + .../admin/levermultiple/match_add.blade.php | 118 ++ .../views/admin/levertolegal/add.blade.php | 69 + .../views/admin/levertolegal/detail.blade.php | 107 + .../views/admin/levertolegal/index.blade.php | 135 ++ .../views/admin/levertolegal/update.blade.php | 119 ++ resources/views/admin/login.blade.php | 224 +++ resources/views/admin/login2.blade.php | 99 + resources/views/admin/login3.blade.php | 150 ++ resources/views/admin/ltc/add.blade.php | 116 ++ resources/views/admin/ltc/index.blade.php | 97 + resources/views/admin/ltc/ltcBuy.blade.php | 94 + resources/views/admin/manager/add.blade.php | 92 + .../views/admin/manager/admin_roles.blade.php | 80 + resources/views/admin/manager/index.blade.php | 82 + .../views/admin/manager/role_add.blade.php | 68 + .../admin/manager/role_permission.blade.php | 71 + resources/views/admin/market/add.blade.php | 158 ++ resources/views/admin/market/index.blade.php | 89 + resources/views/admin/message/add.blade.php | 112 ++ resources/views/admin/message/index.blade.php | 166 ++ resources/views/admin/micro/add.blade.php | 70 + resources/views/admin/micro/edit.blade.php | 88 + resources/views/admin/micro/index.blade.php | 80 + resources/views/admin/micro/orders.blade.php | 351 ++++ .../views/admin/micro/seconds_add.blade.php | 91 + .../views/admin/micro/seconds_index.blade.php | 98 + resources/views/admin/needle/add.blade.php | 119 ++ resources/views/admin/needle/index.blade.php | 208 ++ .../views/admin/needle/quotation.blade.php | 220 +++ resources/views/admin/news/add.blade.php | 181 ++ resources/views/admin/news/cateAdd.blade.php | 40 + .../views/admin/news/cateIndex.blade.php | 135 ++ .../views/admin/news/discussIndex.blade.php | 72 + resources/views/admin/news/index.blade.php | 194 ++ .../views/admin/prizepool/index.blade.php | 195 ++ resources/views/admin/profits/index.blade.php | 195 ++ .../views/admin/quotation/index.blade.php | 387 ++++ resources/views/admin/robot/add.blade.php | 139 ++ resources/views/admin/robot/list.blade.php | 135 ++ resources/views/admin/seller/add.blade.php | 138 ++ resources/views/admin/seller/index.blade.php | 154 ++ resources/views/admin/setting/add.blade.php | 72 + .../views/admin/setting/bankAdd.blade.php | 134 ++ .../views/admin/setting/bankEdit.blade.php | 135 ++ resources/views/admin/setting/base.blade.php | 1483 ++++++++++++++ .../admin/setting/currency_risk.blade.php | 94 + resources/views/admin/setting/data.blade.php | 49 + resources/views/admin/setting/index.blade.php | 122 ++ .../setting/lever_tradefee_settle.blade.php | 55 + .../views/admin/transaction/cny.blade.php | 136 ++ .../admin/transaction/complete.blade.php | 122 ++ .../views/admin/transaction/in.blade.php | 122 ++ .../views/admin/transaction/index.blade.php | 184 ++ .../views/admin/transaction/legal.blade.php | 162 ++ .../views/admin/transaction/out.blade.php | 121 ++ resources/views/admin/user/add.blade.php | 83 + resources/views/admin/user/address.blade.php | 135 ++ .../views/admin/user/candy_conf.blade.php | 76 + .../views/admin/user/cash_info.blade.php | 124 ++ .../user/cash_info_international.blade.php | 128 ++ resources/views/admin/user/charge.blade.php | 216 ++ .../views/admin/user/charge.blade.php.cope | 148 ++ .../views/admin/user/chartdata_add.blade.php | 202 ++ resources/views/admin/user/conf.blade.php | 119 ++ resources/views/admin/user/count.blade.php | 86 + resources/views/admin/user/edit.blade.php | 223 +++ .../views/admin/user/edit_charge.blade.php | 92 + resources/views/admin/user/editltc.blade.php | 110 ++ .../views/admin/user/falseData.blade.php | 114 ++ .../views/admin/user/falsedata_add.blade.php | 65 + resources/views/admin/user/index.blade.php | 318 +++ resources/views/admin/user/level.blade.php | 77 + .../views/admin/user/level_edit.blade.php | 137 ++ resources/views/admin/user/lock.blade.php | 80 + .../views/admin/user/pay_info_log.blade.php | 198 ++ resources/views/admin/user/score.blade.php | 76 + .../views/admin/user/user_wallet.blade.php | 166 ++ .../admin/user/user_walletList.blade.php | 66 + .../admin/userGradeSetting/index.blade.php | 155 ++ .../views/admin/userReal/index.blade.php | 193 ++ resources/views/admin/userReal/info.blade.php | 72 + resources/views/admin/wallet/index.blade.php | 299 +++ .../views/agent/capital/recharge.blade.php | 135 ++ .../views/agent/capital/wallet.blade.php | 58 + .../views/agent/capital/withdraw.blade.php | 133 ++ resources/views/agent/home.blade.php | 170 ++ resources/views/agent/index.blade.php | 118 ++ resources/views/agent/index2.blade.php | 28 + resources/views/agent/indexbak.blade.php | 28 + resources/views/agent/layadmin.blade.php | 35 + .../views/agent/layui_side_menu.blade.php | 129 ++ resources/views/agent/login.blade.php | 120 ++ resources/views/agent/order/info.blade.php | 174 ++ .../views/agent/order/jie_index.blade.php | 272 +++ .../views/agent/order/leverlist.blade.php | 361 ++++ .../views/agent/order/microlist.blade.php | 303 +++ .../views/agent/order/transaction.blade.php | 139 ++ resources/views/agent/salesmen/add.blade.php | 249 +++ .../views/agent/salesmen/index.blade.php | 184 ++ resources/views/agent/set/info.blade.php | 115 ++ resources/views/agent/set/password.blade.php | 105 + .../views/agent/statistics/money.blade.php | 406 ++++ .../views/agent/statistics/order.blade.php | 396 ++++ .../views/agent/statistics/user.blade.php | 377 ++++ resources/views/agent/user/index.blade.php | 280 +++ .../views/agent/user/leverlist.blade.php | 195 ++ resources/views/agent/user/risk.blade.php | 73 + resources/views/agent/user/transfer.blade.php | 168 ++ resources/views/errors/403.blade.php | 5 + resources/views/errors/layout.blade.php | 57 + resources/views/manages/auth.blade.php | 63 + resources/views/manages/console.blade.php | 189 ++ resources/views/manages/index.blade.php | 231 +++ resources/views/manages/layadmin.blade.php | 35 + .../views/manages/layui_side_menu.blade.php | 39 + resources/views/manages/login.blade.php | 216 ++ resources/views/welcome.blade.php | 96 + routes/web.php | 1217 ++++++++++++ 267 files changed, 47059 insertions(+) create mode 100644 app/Http/Controllers/Admin/AccountLogController.php create mode 100644 app/Http/Controllers/Admin/AdminController.php create mode 100644 app/Http/Controllers/Admin/AdminRoleController.php create mode 100644 app/Http/Controllers/Admin/AdminRolePermissionController.php create mode 100644 app/Http/Controllers/Admin/AiController.php create mode 100644 app/Http/Controllers/Admin/AutoController.php create mode 100644 app/Http/Controllers/Admin/BankController.php create mode 100644 app/Http/Controllers/Admin/BindBoxController.php create mode 100644 app/Http/Controllers/Admin/BossController.php create mode 100644 app/Http/Controllers/Admin/C2cDealController.php create mode 100644 app/Http/Controllers/Admin/C2cDealSendController.php create mode 100644 app/Http/Controllers/Admin/C2cMerchantController.php create mode 100644 app/Http/Controllers/Admin/CandyTransferController.php create mode 100644 app/Http/Controllers/Admin/CashbController.php create mode 100644 app/Http/Controllers/Admin/ClaimController.php create mode 100644 app/Http/Controllers/Admin/CoinTradeController.php create mode 100644 app/Http/Controllers/Admin/Controller.php create mode 100644 app/Http/Controllers/Admin/CurrencyController.php create mode 100644 app/Http/Controllers/Admin/CurrencyDepositController.php create mode 100644 app/Http/Controllers/Admin/CurrencyProjectController.php create mode 100644 app/Http/Controllers/Admin/DefaultController.php create mode 100644 app/Http/Controllers/Admin/DualController.php create mode 100644 app/Http/Controllers/Admin/FeedBackController.php create mode 100644 app/Http/Controllers/Admin/FlashAgainstController.php create mode 100644 app/Http/Controllers/Admin/HazardRateController.php create mode 100644 app/Http/Controllers/Admin/InsuranceController.php create mode 100644 app/Http/Controllers/Admin/InsuranceRuleController.php create mode 100644 app/Http/Controllers/Admin/InviteController.php create mode 100644 app/Http/Controllers/Admin/LegalDealController.php create mode 100644 app/Http/Controllers/Admin/LegalDealSendController.php create mode 100644 app/Http/Controllers/Admin/LendingController.php create mode 100644 app/Http/Controllers/Admin/LevelController.php create mode 100644 app/Http/Controllers/Admin/LeverMultipleController.php create mode 100644 app/Http/Controllers/Admin/LeverTransactionController.php create mode 100644 app/Http/Controllers/Admin/LevertolegalController.php create mode 100644 app/Http/Controllers/Admin/LtcController.php create mode 100644 app/Http/Controllers/Admin/MailMessageController.php create mode 100644 app/Http/Controllers/Admin/MarketController.php create mode 100644 app/Http/Controllers/Admin/MicroController.php create mode 100644 app/Http/Controllers/Admin/MyQuotation.php create mode 100644 app/Http/Controllers/Admin/NewsController.php create mode 100644 app/Http/Controllers/Admin/PayController.php create mode 100644 app/Http/Controllers/Admin/PrizePoolController.php create mode 100644 app/Http/Controllers/Admin/RobotController.php create mode 100644 app/Http/Controllers/Admin/SellerController.php create mode 100644 app/Http/Controllers/Admin/SettingController.php create mode 100644 app/Http/Controllers/Admin/SettingsController.php create mode 100644 app/Http/Controllers/Admin/TipsController.php create mode 100644 app/Http/Controllers/Admin/TransactionController.php create mode 100644 app/Http/Controllers/Admin/TransactionLegalController.php create mode 100644 app/Http/Controllers/Admin/UeditorController.php create mode 100644 app/Http/Controllers/Admin/UserController.php create mode 100644 app/Http/Controllers/Admin/UserGradeSettingController.php create mode 100644 app/Http/Controllers/Admin/UserRealController.php create mode 100644 app/Http/Controllers/Admin/WalletController.php create mode 100644 resources/views/admin/_layoutNew.blade.php create mode 100644 resources/views/admin/acceptor/add.blade.php create mode 100644 resources/views/admin/acceptor/deal.blade.php create mode 100644 resources/views/admin/acceptor/index.blade.php create mode 100644 resources/views/admin/account/index.blade.php create mode 100644 resources/views/admin/account/viewDetail.blade.php create mode 100644 resources/views/admin/ad/edit.blade.php create mode 100644 resources/views/admin/ad/index.blade.php create mode 100644 resources/views/admin/ad/positionEdit.blade.php create mode 100644 resources/views/admin/ad/positionIndex.blade.php create mode 100644 resources/views/admin/ai/add.blade.php create mode 100644 resources/views/admin/ai/edit_ai.blade.php create mode 100644 resources/views/admin/ai/index.blade.php create mode 100644 resources/views/admin/ai/order.blade.php create mode 100644 resources/views/admin/auto/add.blade.php create mode 100644 resources/views/admin/auto/index.blade.php create mode 100644 resources/views/admin/bank/add.blade.php create mode 100644 resources/views/admin/bank/index.blade.php create mode 100644 resources/views/admin/bindBox/add.blade.php create mode 100644 resources/views/admin/bindBox/add_rarity_house_view.blade.php create mode 100644 resources/views/admin/bindBox/edit.blade.php create mode 100644 resources/views/admin/bindBox/edit_rarity_house_view.blade.php create mode 100644 resources/views/admin/bindBox/index.blade.php create mode 100644 resources/views/admin/bindBox/order.blade.php create mode 100644 resources/views/admin/bindBox/quotation.blade.php create mode 100644 resources/views/admin/bindBox/rarity_house.blade.php create mode 100644 resources/views/admin/bindBox/success_order.blade.php create mode 100644 resources/views/admin/boss/config.blade.php create mode 100644 resources/views/admin/boss/config_add.blade.php create mode 100644 resources/views/admin/boss/config_edit.blade.php create mode 100644 resources/views/admin/boss/edit_lh_account.blade.php create mode 100644 resources/views/admin/boss/lh_order_list.blade.php create mode 100644 resources/views/admin/boss/unlock_order.blade.php create mode 100644 resources/views/admin/c2c/deal.blade.php create mode 100644 resources/views/admin/c2c/index.blade.php create mode 100644 resources/views/admin/candytransfer/detail.blade.php create mode 100644 resources/views/admin/candytransfer/index.blade.php create mode 100644 resources/views/admin/cashb/edit.blade.php create mode 100644 resources/views/admin/cashb/index.blade.php create mode 100644 resources/views/admin/claim/index.blade.php create mode 100644 resources/views/admin/cointrade/index.blade.php create mode 100644 resources/views/admin/currency/add.blade.php create mode 100644 resources/views/admin/currency/add_config.blade.php create mode 100644 resources/views/admin/currency/class.blade.php create mode 100644 resources/views/admin/currency/config.blade.php create mode 100644 resources/views/admin/currency/index.blade.php create mode 100644 resources/views/admin/currency/match.blade.php create mode 100644 resources/views/admin/currency/match_add.blade.php create mode 100644 resources/views/admin/currency/order_list.blade.php create mode 100644 resources/views/admin/currency/project_detail.blade.php create mode 100644 resources/views/admin/currency/project_list.blade.php create mode 100644 resources/views/admin/currency/project_orders.blade.php create mode 100644 resources/views/admin/currency/set_in_address.blade.php create mode 100644 resources/views/admin/currency/set_out_address.blade.php create mode 100644 resources/views/admin/dual/add.blade.php create mode 100644 resources/views/admin/dual/edit_dual.blade.php create mode 100644 resources/views/admin/dual/index.blade.php create mode 100644 resources/views/admin/dual/order.blade.php create mode 100644 resources/views/admin/feedback/detail.blade.php create mode 100644 resources/views/admin/feedback/index.blade.php create mode 100644 resources/views/admin/flashagainst/index.blade.php create mode 100644 resources/views/admin/index.blade.php create mode 100644 resources/views/admin/indexnew.blade.php create mode 100644 resources/views/admin/insurance/add.blade.php create mode 100644 resources/views/admin/insurance/index.blade.php create mode 100644 resources/views/admin/insurance/order_index.blade.php create mode 100644 resources/views/admin/insurancerule/add.blade.php create mode 100644 resources/views/admin/insurancerule/index.blade.php create mode 100644 resources/views/admin/invite/bgIndex.blade.php create mode 100644 resources/views/admin/invite/childs.blade.php create mode 100644 resources/views/admin/invite/edit.blade.php create mode 100644 resources/views/admin/invite/return.blade.php create mode 100644 resources/views/admin/invite/share.blade.php create mode 100644 resources/views/admin/legal/deal.blade.php create mode 100644 resources/views/admin/legal/index.blade.php create mode 100644 resources/views/admin/lending/add.blade.php create mode 100644 resources/views/admin/lending/edit.blade.php create mode 100644 resources/views/admin/lending/edit_lending.blade.php create mode 100644 resources/views/admin/lending/index.blade.php create mode 100644 resources/views/admin/lending/order.blade.php create mode 100644 resources/views/admin/level/add.blade.php create mode 100644 resources/views/admin/level/algebra_add.blade.php create mode 100644 resources/views/admin/level/algebra_index.blade.php create mode 100644 resources/views/admin/level/index.blade.php create mode 100644 resources/views/admin/level/orders.blade.php create mode 100644 resources/views/admin/lever/hazard/handle.blade.php create mode 100644 resources/views/admin/lever/hazard/index.blade.php create mode 100644 resources/views/admin/lever/hazard/total.blade.php create mode 100644 resources/views/admin/lever/trade/index.blade.php create mode 100644 resources/views/admin/leverdeals/list.blade.php create mode 100644 resources/views/admin/levermultiple/add.blade.php create mode 100644 resources/views/admin/levermultiple/edit.blade.php create mode 100644 resources/views/admin/levermultiple/index.blade.php create mode 100644 resources/views/admin/levermultiple/match.blade.php create mode 100644 resources/views/admin/levermultiple/match_add.blade.php create mode 100644 resources/views/admin/levertolegal/add.blade.php create mode 100644 resources/views/admin/levertolegal/detail.blade.php create mode 100644 resources/views/admin/levertolegal/index.blade.php create mode 100644 resources/views/admin/levertolegal/update.blade.php create mode 100644 resources/views/admin/login.blade.php create mode 100644 resources/views/admin/login2.blade.php create mode 100644 resources/views/admin/login3.blade.php create mode 100644 resources/views/admin/ltc/add.blade.php create mode 100644 resources/views/admin/ltc/index.blade.php create mode 100644 resources/views/admin/ltc/ltcBuy.blade.php create mode 100644 resources/views/admin/manager/add.blade.php create mode 100644 resources/views/admin/manager/admin_roles.blade.php create mode 100644 resources/views/admin/manager/index.blade.php create mode 100644 resources/views/admin/manager/role_add.blade.php create mode 100644 resources/views/admin/manager/role_permission.blade.php create mode 100644 resources/views/admin/market/add.blade.php create mode 100644 resources/views/admin/market/index.blade.php create mode 100644 resources/views/admin/message/add.blade.php create mode 100644 resources/views/admin/message/index.blade.php create mode 100644 resources/views/admin/micro/add.blade.php create mode 100644 resources/views/admin/micro/edit.blade.php create mode 100644 resources/views/admin/micro/index.blade.php create mode 100644 resources/views/admin/micro/orders.blade.php create mode 100644 resources/views/admin/micro/seconds_add.blade.php create mode 100644 resources/views/admin/micro/seconds_index.blade.php create mode 100644 resources/views/admin/needle/add.blade.php create mode 100644 resources/views/admin/needle/index.blade.php create mode 100644 resources/views/admin/needle/quotation.blade.php create mode 100644 resources/views/admin/news/add.blade.php create mode 100644 resources/views/admin/news/cateAdd.blade.php create mode 100644 resources/views/admin/news/cateIndex.blade.php create mode 100644 resources/views/admin/news/discussIndex.blade.php create mode 100644 resources/views/admin/news/index.blade.php create mode 100644 resources/views/admin/prizepool/index.blade.php create mode 100644 resources/views/admin/profits/index.blade.php create mode 100644 resources/views/admin/quotation/index.blade.php create mode 100644 resources/views/admin/robot/add.blade.php create mode 100644 resources/views/admin/robot/list.blade.php create mode 100644 resources/views/admin/seller/add.blade.php create mode 100644 resources/views/admin/seller/index.blade.php create mode 100644 resources/views/admin/setting/add.blade.php create mode 100644 resources/views/admin/setting/bankAdd.blade.php create mode 100644 resources/views/admin/setting/bankEdit.blade.php create mode 100644 resources/views/admin/setting/base.blade.php create mode 100644 resources/views/admin/setting/currency_risk.blade.php create mode 100644 resources/views/admin/setting/data.blade.php create mode 100644 resources/views/admin/setting/index.blade.php create mode 100644 resources/views/admin/setting/lever_tradefee_settle.blade.php create mode 100644 resources/views/admin/transaction/cny.blade.php create mode 100644 resources/views/admin/transaction/complete.blade.php create mode 100644 resources/views/admin/transaction/in.blade.php create mode 100644 resources/views/admin/transaction/index.blade.php create mode 100644 resources/views/admin/transaction/legal.blade.php create mode 100644 resources/views/admin/transaction/out.blade.php create mode 100644 resources/views/admin/user/add.blade.php create mode 100644 resources/views/admin/user/address.blade.php create mode 100644 resources/views/admin/user/candy_conf.blade.php create mode 100644 resources/views/admin/user/cash_info.blade.php create mode 100644 resources/views/admin/user/cash_info_international.blade.php create mode 100644 resources/views/admin/user/charge.blade.php create mode 100644 resources/views/admin/user/charge.blade.php.cope create mode 100644 resources/views/admin/user/chartdata_add.blade.php create mode 100644 resources/views/admin/user/conf.blade.php create mode 100644 resources/views/admin/user/count.blade.php create mode 100644 resources/views/admin/user/edit.blade.php create mode 100644 resources/views/admin/user/edit_charge.blade.php create mode 100644 resources/views/admin/user/editltc.blade.php create mode 100644 resources/views/admin/user/falseData.blade.php create mode 100644 resources/views/admin/user/falsedata_add.blade.php create mode 100644 resources/views/admin/user/index.blade.php create mode 100644 resources/views/admin/user/level.blade.php create mode 100644 resources/views/admin/user/level_edit.blade.php create mode 100644 resources/views/admin/user/lock.blade.php create mode 100644 resources/views/admin/user/pay_info_log.blade.php create mode 100644 resources/views/admin/user/score.blade.php create mode 100644 resources/views/admin/user/user_wallet.blade.php create mode 100644 resources/views/admin/user/user_walletList.blade.php create mode 100644 resources/views/admin/userGradeSetting/index.blade.php create mode 100644 resources/views/admin/userReal/index.blade.php create mode 100644 resources/views/admin/userReal/info.blade.php create mode 100644 resources/views/admin/wallet/index.blade.php create mode 100644 resources/views/agent/capital/recharge.blade.php create mode 100644 resources/views/agent/capital/wallet.blade.php create mode 100644 resources/views/agent/capital/withdraw.blade.php create mode 100644 resources/views/agent/home.blade.php create mode 100644 resources/views/agent/index.blade.php create mode 100644 resources/views/agent/index2.blade.php create mode 100644 resources/views/agent/indexbak.blade.php create mode 100644 resources/views/agent/layadmin.blade.php create mode 100644 resources/views/agent/layui_side_menu.blade.php create mode 100644 resources/views/agent/login.blade.php create mode 100644 resources/views/agent/order/info.blade.php create mode 100644 resources/views/agent/order/jie_index.blade.php create mode 100644 resources/views/agent/order/leverlist.blade.php create mode 100644 resources/views/agent/order/microlist.blade.php create mode 100644 resources/views/agent/order/transaction.blade.php create mode 100644 resources/views/agent/salesmen/add.blade.php create mode 100644 resources/views/agent/salesmen/index.blade.php create mode 100644 resources/views/agent/set/info.blade.php create mode 100644 resources/views/agent/set/password.blade.php create mode 100644 resources/views/agent/statistics/money.blade.php create mode 100644 resources/views/agent/statistics/order.blade.php create mode 100644 resources/views/agent/statistics/user.blade.php create mode 100644 resources/views/agent/user/index.blade.php create mode 100644 resources/views/agent/user/leverlist.blade.php create mode 100644 resources/views/agent/user/risk.blade.php create mode 100644 resources/views/agent/user/transfer.blade.php create mode 100644 resources/views/errors/403.blade.php create mode 100644 resources/views/errors/layout.blade.php create mode 100644 resources/views/manages/auth.blade.php create mode 100644 resources/views/manages/console.blade.php create mode 100644 resources/views/manages/index.blade.php create mode 100644 resources/views/manages/layadmin.blade.php create mode 100644 resources/views/manages/layui_side_menu.blade.php create mode 100644 resources/views/manages/login.blade.php create mode 100644 resources/views/welcome.blade.php create mode 100644 routes/web.php diff --git a/app/Http/Controllers/Admin/AccountLogController.php b/app/Http/Controllers/Admin/AccountLogController.php new file mode 100644 index 0000000..98a7c49 --- /dev/null +++ b/app/Http/Controllers/Admin/AccountLogController.php @@ -0,0 +1,196 @@ + '法币账户余额', + AccountLog::ADMIN_LOCK_LEGAL_BALANCE => '法币账户锁定余额', + AccountLog::ADMIN_CHANGE_BALANCE => '币币账户余额', + AccountLog::ADMIN_LOCK_CHANGE_BALANCE => '币币账户锁定余额', + AccountLog::ADMIN_LEVER_BALANCE => '杠杆账户余额', + AccountLog::ADMIN_LOCK_LEVER_BALANCE => '杠杆账户锁定余额', + AccountLog::ADMIN_MICRO_BALANCE => '期权账户余额', //后台调节期权账户余额 + AccountLog::ADMIN_LOCK_MICRO_BALANCE => '期权账户锁定余额', //后台调节期权账户锁定余额 + AccountLog::WALLET_CURRENCY_OUT => '法币账户转出至交易账户', + AccountLog::WALLET_CURRENCY_IN => '交易账户转入至法币账户', + 9 => 'c2c划转期权', + 10 => '期权划转c2c', + AccountLog::MICRO_TRADE_CLOSE_SETTLE => '期权平仓结算', + AccountLog::USER_BUY_INSURANCE => '用户购买保险', + AccountLog::USER_CLAIM_COMPENSATION => '赔偿用户', + AccountLog::INSURANCE_RESCISSION1 => '保险解约,清除受保金额', + AccountLog::INSURANCE_RESCISSION2 => '保险解约,清除保险金额', + AccountLog::INSURANCE_RESCISSION_ADD => '保险解约,赔付用户', + AccountLog::RETURN_INSURANCE_TRADE_FEE => '释放保险交易手续费', + + + AccountLog::LOWER_REBATE => '下级返利', + AccountLog::INSURANCE_MONEY => '用户持险生币', + + AccountLog::LEGAL_USER_BUY => '用户购买商家法币成功', + AccountLog::LEGAL_SELLER_BUY => '商家购买用户法币成功', + AccountLog::TRANSACTIONOUT_SUBMIT_REDUCE => '提交卖出,扣除', + AccountLog::TRANSACTIONIN_REDUCE => '买入扣除', + + AccountLog::INVITATION_TO_RETURN => '邀请返佣金', + AccountLog::ETH_EXCHANGE => '链上充币', + + ); + $currency_type = Currency::all(); + return view("admin.account.index", [ + 'types' => $type, + 'currency_type' => $currency_type + ]); + } + + public function lists(Request $request) + { + $limit = $request->get('limit', 10); + $account = $request->get('account', ''); + $start_time = strtotime($request->get('start_time', 0)); + $end_time = strtotime($request->get('end_time', 0)); + $currency = $request->get('currency_type', 0); + $type = $request->get('type', 0); + $sign = $request->get('sign', 0);//正负号,0所有,1,正,-1,负号 + + $list = new AccountLog(); + if (!empty($currency)) { + $list = $list->where('currency', $currency); + } + if (!empty($type)) { + $list = $list->where('type', $type); + } + if (!empty($start_time)) { + $list = $list->where('created_time', '>=', $start_time); + } + if (!empty($end_time)) { + $list = $list->where('created_time', '<=', $end_time); + } + if (!empty($sign)) { + if($sign > 0){ + $list = $list->where('value', '>', 0); + }else{ + $list = $list->where('value', '<', 0); + } + + } + //根据关联模型的时间 + /*if(!empty($start_time)){ + $list = $list->whereHas('walletLog', function ($query) use ($start_time) { + $query->where('create_time','>=',$start_time); + }); + } + if(!empty($end_time)){ + $list = $list->whereHas('walletLog', function ($query) use ($end_time) { + $query->where('create_time','<=',$end_time); + }); + }*/ + if (!empty($account)) { + $list = $list->whereHas('user', function ($query) use ($account) { + $query->where("phone", 'like', '%' . $account . '%')->orwhere('email', 'like', '%' . $account . '%'); + }); + } + + /* if (!empty($account_number)) { + $list = $list->whereHas('user', function($query) use ($account_number) { + $query->where('account_number','like','%'.$account_number.'%'); + } ); + }*/ + + if (!empty($type)) { + $sum = $list->sum('value'); + }else{ + $sum = '选择日志类型进行统计'; + } + + $list = $list->orderBy('id', 'desc')->paginate($limit); + //dd($list->items()); + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total(), 'sum'=>$sum]); + } + + public function view(Request $request) + { + $id = $request->get('id', null); + $results = new AccountLog(); + $results = $results->where('id', $id)->first(); + if (empty($results)) { + return $this->error('无此记录'); + } + return view('admin.account.viewDetail', ['results' => $results]); + } + + + + + + + + + public function indexprofits() + { + $scene_list = AccountLog::where("type", "=", AccountLog::PROFIT_LOSS_RELEASE)->orderBy("created_time", "desc")->get()->toArray(); +// var_dump($scene_list);die; + return view('admin.profits.index')->with('scene_list', $scene_list); + } + + public function listsprofits(Request $request) + { + $limit = $request->input('limit', 10); + $prize_pool = AccountLog::whereHas('user', function ($query) use ($request) { + $account_number = $request->input('account_number'); + if ($account_number) { + $query->where('account_number', $account_number); + } + })->where(function ($query) use ($request) { +// $scene = $request->input('scene', -1); + $start_time = strtotime($request->input('start_time', null)); + $end_time = strtotime($request->input('end_time', null)); +// $scene != -1 && $query->where('scene', $scene); + $start_time && $query->where('created_time', '>=', $start_time); + $end_time && $query->where('created_time', '<=', $end_time); + })->where("type", AccountLog::PROFIT_LOSS_RELEASE)->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($prize_pool); + } + + public function countprofits(Request $request) + { + $count_data = AccountLog::selectRaw('1 as user_count') + ->selectRaw('sum(`value`) as value') + ->whereHas('user', function ($query) use ($request) { + $account_number = $request->input('account_number'); + if ($account_number) { + $query->where('account_number', $account_number) + ->orWhere('phone', $account_number) + ->orWhere('email', $account_number); + } + })->where(function ($query) use ($request) { + //$scene = $request->input('scene', -1); + $start_time = strtotime($request->input('start_time', null)); + $end_time = strtotime($request->input('end_time', null)); + //$scene != -1 && $query->where('scene', $scene); + $start_time && $query->where('created_time', '>=', $start_time); + $end_time && $query->where('created_time', '<=', $end_time); + })->where("type", AccountLog::PROFIT_LOSS_RELEASE)->groupBy('user_id')->get(); + $user_count = $count_data->pluck('user_count')->sum(); + $reward_total = 0; + $count_data->pluck('value')->each(function ($item, $key) use (&$reward_total) { + $reward_total = bc_add($reward_total, $item); + }); + return response()->json([ + 'user_count' => $user_count, + 'reward_total' => $reward_total, + ]); + } +} diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php new file mode 100644 index 0000000..9ac5d69 --- /dev/null +++ b/app/Http/Controllers/Admin/AdminController.php @@ -0,0 +1,168 @@ +', 0); + if(session()->get('admin_is_super') != '1') { + $adminuser->where('role_id', '>', 1); + } + $adminuser = $adminuser->get(); + $count = $adminuser -> count(); + return response()->json(['code'=>0,'count'=>$count,'msg'=>'','data'=>$adminuser]); + } + public function editAddress(){ + $id = Input::get('id',null); + $address = Input::get('address'); + $address_2 = Input::get('address_2'); + $data = [ + 'address_2' => $address_2,'address' => $address]; + + UsersWallet::where('id',$id)->update($data); + + return $this->success('编辑成功'); + } + public function add() + { + // if(session()->get('admin_is_super') != '1') { + // abort(403); + // } + $id = Input::get('id',null); + $google = ['secret'=>'','qrcode'=>'']; + if(empty($id)) { + $adminUser = new Admin(); + }else{ + $adminUser = Admin::find($id); + if($adminUser == null) { + abort(404); + } + if(session()->get("admin_id") == $id){ + $google = GoogleAuthenticator::CreateSecret(); + $qrcode = new BaconQrCodeGenerator(); + $google['qrcode'] = $qrcode->encoding('UTF-8')->size(180)->margin(1)->generate($google['codeurl']); + } + } + $roles = AdminRole::all(); + return view('admin.manager.add', ['admin_user' => $adminUser, 'roles' => $roles,'google'=>$google]); + } + + public function postAdd(Request $request) + { + // if(session()->get('admin_is_super') != '1') { + // abort(403); + // } + $id = Input::get('id', null); + $validator = Validator::make(Input::all(), [ + 'username' => 'required', + 'role_id' => 'required|numeric' + ], [ + 'username.required' => '姓名必须填写', + 'role_id.required' => '角色必须选择', + 'role_id.numeric' => '角色必须为数字' + ]); + if(empty($id)) { + $adminUser = new Admin(); + }else{ + $adminUser = Admin::find($id); + if($adminUser == null) { + return redirect()->back(); + } + } + $password = Input::get('password', ''); + $authcode = Input::get('authcode', ''); + $google = Input::get('google', ''); + if(!empty($authcode)){ + if(!GoogleAuthenticator::CheckCode($google,$authcode)){ + $validator->errors()->add('authcode', '谷歌验证码错误'); + } + $adminUser->google = $google; + } + $adminUser->role_id = Input::get('role_id', '0'); + if(Input::get('password', '') != '') { + $adminUser->password = Users::MakePassword($password); + } + $validator->after(function($validator) use ($adminUser, $id) + { + if(empty($id)) { + if (Admin::where('username', Input::get('username'))->exists()) { + $validator->errors()->add('username', '用户已经存在'); + } + } + }); + + $adminUser->username = Input::get('username', ''); + if($validator->fails()) { + return $this->error($validator->errors()->first()); + } + try { + $adminUser->save(); + }catch (\Exception $ex){ + $validator->errors()->add('error', $ex->getMessage()); + return $this->error($validator->errors()->first()); + } + return $this->success('添加成功'); + } + + public function del() + { + $admin = Admin::find(Input::get('id')); + if($admin == null) { + abort(404); + } + $bool = $admin->delete(); + if($bool){ + return $this->success('删除成功'); + }else{ + return $this->error('删除失败'); + } + } + + public function agent(){ + + $admin = Agent::where('is_admin' , 1)->where('level' , 0)->first(); + + if ($admin != null ){ + return redirect(route('agent')); + }else{ + $hkok = DB::table('admin')->where('id' , 1)->first(); + + if ($hkok != null ){ + $insertData = []; + $insertData['user_id'] = $hkok->id; + $insertData['username'] = $hkok->username; + $insertData['password'] = $hkok->password; + $insertData['level'] = 0; + $insertData['is_admin'] = 1; + $insertData['reg_time'] = time(); + $insertData['pro_loss'] = 100.00; + $insertData['pro_ser'] = 100.00; + + $id = DB::table('agent')->insertGetId($insertData); + + if ($id>0){ + return redirect(route('agent')); + }else{ + return $this->error('失败'); + } + } + } + } + + +} +?> \ No newline at end of file diff --git a/app/Http/Controllers/Admin/AdminRoleController.php b/app/Http/Controllers/Admin/AdminRoleController.php new file mode 100644 index 0000000..8eaf397 --- /dev/null +++ b/app/Http/Controllers/Admin/AdminRoleController.php @@ -0,0 +1,89 @@ +get('admin_is_super') != '1') { + // abort(403); + // } + $adminUses = AdminRole::all(); + return response()->json(['code'=>0,'data'=>$adminUses]); + } + + public function add(){ + + // if(session()->get('admin_is_super') != '1') { + // abort(404); + // } + $id = Input::get('id',null); + + if(empty($id)){ + $adminRole = New AdminRole(); + $adminRole -> is_super = 0; + }else{ + $adminRole = AdminRole::find($id); + if($adminRole == null) { + abort(404); + } + } + return view('admin.manager.role_add', ['admin_role' => $adminRole]); + } + + public function postAdd(){ + // if(session()->get('admin_is_super') != '1') { + // abort(403); + // } + $id = Input::get('id', null); + + $validator = Validator::make(Input::all(), [ + 'name' => 'required', + ], [ + 'name.required' => '角色名称必须填写', + ]); + + if(empty($id)) { + $adminRole = new AdminRole(); + }else{ + $adminRole = AdminRole::find($id); + if($adminRole == null) { + return redirect()->back(); + } + } + + $adminRole->name = Input::get('name', ''); + $adminRole->is_super = Input::get('is_super', ''); + + if($validator->fails()) { + return $this->error($validator->errors()->first()); + } + try { + $adminRole->save(); + }catch (\Exception $ex){ + $validator->errors()->add('error', $ex->getMessage()); + return $this->error($validator->errors()->first()); + } + return $this->success('添加成功'); + } + + public function del(Request $request){ + $id = $request->get('id'); + $admin_role = AdminRole::find($id); + $bool = $admin_role->delete(); + if($bool){ + return $this->success('删除成功'); + }else{ + return $this->error('删除失败'); + } + + } +} +?> \ No newline at end of file diff --git a/app/Http/Controllers/Admin/AdminRolePermissionController.php b/app/Http/Controllers/Admin/AdminRolePermissionController.php new file mode 100644 index 0000000..3d96f99 --- /dev/null +++ b/app/Http/Controllers/Admin/AdminRolePermissionController.php @@ -0,0 +1,85 @@ +get('admin_is_super') != '1') { + abort(403); + } + $id = Input::get('id', ''); + $adminRole = AdminRole::find($id); + if($adminRole == null) { + abort(404); + } + + $modules = AdminModule::all(); + $modules_data = []; + foreach ($modules as $index=>$m) + { + $action = AdminModuleAction::where("admin_module_id",$m->id)->where("level",">=",0)->get(); + if (count($action)){ + $m->actions = $action; + $modules_data[$index] = $m; + } + } + $results = AdminRolePermission::where('role_id', $adminRole->id)->get(); + if(empty($results)){ + $permissions = []; + }else{ + $results = $results->toArray(); + $permissions = []; + foreach($results as $row) { + $permissions[$row['module']][] = $row['action']; + } + } + return view('admin.manager.role_permission', [ + 'admin_role' => $adminRole, + 'modules' => $modules_data, + 'permissions' => $permissions, + 'success' => Session::get('success', null) + ]); + } + + public function postUpdate() + { + if(session()->get('admin_is_super') != '1') { + abort(403); + } + $roleID = Input::get('id', null); + + $role = AdminRole::find($roleID); + if($role == null) { + abort(404); + } + + AdminRolePermission::where('role_id', $roleID)->delete(); + foreach(Input::get('permission') as $module => $actions) + { + foreach($actions as $action) + { + $level = AdminModuleAction::where("action",$action)->first(); + $adminRolePermission = new AdminRolePermission(); + $adminRolePermission->role_id = $roleID; + $adminRolePermission->module = $module; + $adminRolePermission->action = $action; + $adminRolePermission->level = $level->level; + $adminRolePermission->admin_module_id = $level->admin_module_id; + $adminRolePermission->name = $level->name; + $adminRolePermission->save(); + } + } + return $this->success('修改成功'); + } +} +?> \ No newline at end of file diff --git a/app/Http/Controllers/Admin/AiController.php b/app/Http/Controllers/Admin/AiController.php new file mode 100644 index 0000000..6d2d580 --- /dev/null +++ b/app/Http/Controllers/Admin/AiController.php @@ -0,0 +1,264 @@ + "Jan", + '02' => "Feb", + '03' => "Mar", + '04' => "Apr", + '05' => "May", + '06' => "Jun", + '07' => "Jul", + '08' => "Aug", + '09' => "Sep", + '10' => "Oct", + '11' => "Nov", + '12' => "Dec"); + + public function index(){ + + return view('admin.ai.index'); + } + + public function order(){ + + + return view('admin.ai.order'); + } + + //订单列表 + public function order_lists(Request $request){ + + $limit = $request->get('limit', 20); + $orderid = $request->get('orderid'); + $user_id = $request->get('user_id'); + $status = $request->get('status'); + + + $list = DB::table('ai_order')->join('ai_currency', 'ai_currency.id', '=', 'ai_order.ai_id'); + + if($orderid){ + $list->where('ai_order.orderid','LIKE','%'.$orderid.'%'); + } + + if($status){ + $list->where('ai_order.status',$status); + } + + if($user_id){ + $list->where('ai_order.user_id',$user_id); + } + + $list = $list->select('ai_order.*','ai_currency.days')->orderBy('ai_order.id', 'desc')->paginate($limit); + return $this->layuiData($list); + } + + public function add(){ + $currencies = Currency::where('is_legal', 1)->get(); + $userlevel = UserLevelModel::where('status', 1)->get(); + return view('admin.ai.add')->with('currencies', $currencies)->with('userlevel', $userlevel); + } + + + public function editAiView(Request $request){ + $id = $request->get('id'); + if(empty($id)){ + return $this->error('参数错误'); + } + $ai_currency = AiCurrency::where(['id'=>$id])->first(); + + $invest = $ai_currency->invest; + + + $currencies = Currency::where('is_legal', 1)->get(); + $userlevel = UserLevelModel::where('status', 1)->get(); + // dump($dual_currency);die; + return view('admin.ai.edit_ai',['results' => $ai_currency])->with('currencies', $currencies)->with('invest', $invest)->with('userlevel', $userlevel); + } + + //编辑项目 + public function editAi(Request $request){ + + $id = $request->post('id'); + $name = $request->post('name'); + $days = $request->post('days'); + $rate = $request->post('rate'); + $ratemax = $request->post('ratemax'); + $amount = $request->post('amount'); + $amax = $request->post('amax'); + $status = $request->post('status'); + $hot = $request->post('hot'); + $commission = $request->post('commission'); + // $total_number = $request->post('total_number'); + $invest = $request->post('invest'); + $investtr =''; + foreach ($invest as $k=>$v){ + + $investtr .=$v.'+'; + } + // $liquidateddamages = $request->post('liquidateddamages'); + + if(empty($days)){ + return $this->error('参数错误'); + } + if($rate >= $ratemax){ + // return $this->error('起始回报率不能大于最大回报率'); + } + + + if($amount >= $amax){ + // return $this->error('起始金额不能大于最大金额'); + } + + + + $dual_currency = AiCurrency::where(['id'=>$id])->first(); + $dual_currency->invest = substr($investtr, 0, strlen($investtr) - 1); + $dual_currency->total_number = 0;//$total_number; + $dual_currency->remaining_number =0;// $total_number; + $dual_currency->hot = $hot; + $dual_currency->commission = $commission; + $dual_currency->days = $days; + $dual_currency->name = $name;//$days."天"; + $dual_currency->rate = $rate; + $dual_currency->ratemax = $ratemax; + $dual_currency->amount = $amount; + $dual_currency->amax = $amax; + $dual_currency->liquidateddamages = 0;//$liquidateddamages; + $dual_currency->status = $status; + $dual_currency->save(); + + return $this->success('操作成功'); + // return $this->success(['data'=>$dual_currency]); + } + + //删除项目 + public function del(Request $request){ + $id = $request->post('id'); + +// file_put_contents('/www/wwwroot/xb-dex/public/d.txt',time().$id.PHP_EOL,FILE_APPEND); + $Zhiya_lk = AiCurrency::where('id',$id)->first();//->get(); + + + if(empty($Zhiya_lk)){ + return $this->error('不存在'); + } + + if($id){ + //whereNotIn + + AiCurrency::where('id', $id)->delete(); + + return $this->success('操作成功'); + }else{ + + return $this->error('失败'); + } + } + + + //新增项目 + public function saveAi(Request $request){ + $data = $request->all(); + $days = $data['days']; + $name = $data['name']; + $amount = $data['amount']; + $amax = $data['amax']; + $rate = $data['rate']; + $ratemax = $data['ratemax']; + $hot = $data['hot']; + $commission = $data['commission']; + //$total_number = $data['total_number']; + $invest = $data['invest']; + $investtr =''; + foreach ($invest as $k=>$v){ + + $investtr .=$v.'/'; + } + // return $this->error($investtr); + if($data['days'] && $data['ratemax'] && $data['rate'] && $data['amount'] && $data['amax']){ + + + + if($rate >= $ratemax){ + // return $this->error('起始回报率不能大于最大回报率'); + } + if($amount >= $amax){ + // return $this->error('起始金额不能大于最大金额'); + } + + // $_tp = $data['type'] =='call'? 'C':'P'; + + + $dual_currency = new AiCurrency(); + $dual_currency->invest = substr($investtr, 0, strlen($investtr) - 1); + $dual_currency->total_number = 0;//$total_number; + $dual_currency->remaining_number = 0;//$total_number; + $dual_currency->hot = $hot; + $dual_currency->commission = $commission; + $dual_currency->days = $days; + $dual_currency->name = $name;//$days."天"; + $dual_currency->rate = $data['rate']; + $dual_currency->ratemax = $data['ratemax']; + $dual_currency->amount = $data['amount']; + $dual_currency->amax = $data['amax']; + $dual_currency->liquidateddamages = 0;//$data['liquidateddamages']; + + $dual_currency->created = date('Y-m-d',time()); + + + $dual_currency->save(); + + return $this->success('操作成功'); + }else{ + + return $this->error('必填项不能为空'); + } + } + + //获取实时价格 + public function getNewPrice(Request $request){ + $currency = $request->get('currency'); + $currencys = Currency::where('id',$currency)->get()->toArray(); + + return $this->success(['data'=>$currencys]); + } + + //理财设置 + public function lists(Request $request) + { + $limit = $request->get('limit', 20); + $status = $request->get('status'); + + $results = AiCurrency::where('id','>',1); + + + if(isset($status)){ + $results->where('status',$status); + } + + // dump($results);die; + $results = $results->orderBy('id', 'desc')->orderBy('status','desc')->paginate($limit); + + + return $this->layuiData($results); + } + + + +} diff --git a/app/Http/Controllers/Admin/AutoController.php b/app/Http/Controllers/Admin/AutoController.php new file mode 100644 index 0000000..998550f --- /dev/null +++ b/app/Http/Controllers/Admin/AutoController.php @@ -0,0 +1,131 @@ +get('id',null); + if (empty($id)){ + $result = new AutoList(); + }else{ + $result = AutoList::find($id); + } + $currencies = Currency::where('id','>',0)->orderBy('id','desc')->get(); + $legals = Currency::where('is_legal',1)->orderBy('id','desc')->get(); + return view('admin.auto.add')->with(['currencies'=>$currencies,'legals'=>$legals,'result'=>$result]); + } + + public function postAdd(Request $request){ + $id = $request->get('id',null); + $sell_account = $request->get('sell_account',null); + $buy_account = $request->get('buy_account',null); + $currency_id = $request->get('currency_id',null); + $legal_id = $request->get('legal_id',null); + $min_price = $request->get('min_price',null); + $max_price = $request->get('max_price',null); + $min_number = $request->get('min_number',null); + $max_number = $request->get('max_number',null); + $need_second = $request->get('need_second',null); + + $messages = [ + 'sell_account.required' => '卖家账号必填', + 'buy_account.required' => '买家账号必填', + 'currency_id.required' => '请选择交易币', + 'currency_id.integer' => '交易币值必须为整型', + 'legal_id.required' => '请选择法币', + 'legal_id.integer' => '法币值必须为整型', + 'min_price.required' => '请填写最低价格区间', + 'min_price.numeric' => '最低价格区间必须为数字', + 'max_price.required' => '请填写最高价格区间', + 'max_price.numeric' => '最高价格区间必须为数字', + 'min_number.required' => '请填写最低随机购买数量', + 'min_number.numeric' => '最低随机购买数量必须为数字', + 'max_number.required' => '请填写最高随机购买数量', + 'max_number.numeric' => '最高随机购买数量必须为数字', + 'need_second.required' => '请填写生成频率', + 'need_second.integer' => '生成频率必须为整型', + ]; + + //验证 + $validator = Validator::make($request->all(), [ + 'sell_account' => 'required', //正则验证 如有多条不能用| 必须是数组 ['required','regex:/^[a-zA-Z0-9]$/'] + 'buy_account' => 'required', + 'currency_id' => 'required|integer', + 'legal_id' => 'required|integer', + 'min_price' => 'required|numeric', + 'max_price' => 'required|numeric', + 'min_number' => 'required|numeric', + 'max_number' => 'required|numeric', + 'need_second' => 'required|integer', + ], $messages); + + if ($validator->fails()){ + return $this->error($validator->errors()->first()); + } + + $sell_user = Users::where('account_number',$sell_account)->first(); + if (empty($sell_user)) return $this->error('卖家用户不存在'); + $buy_user = Users::where('account_number',$buy_account)->first(); + if (empty($buy_user)) return $this->error('卖家账号不存在'); + $currency = Currency::find($currency_id); + if (empty($currency)) return $this->error('交易币不存在'); + $legal = Currency::find($legal_id); + if (empty($legal) || empty($legal->is_legal)) return $this->error('该币不是法币'); + if ($min_price >= $max_price) return $this->error('请设置正确的价格区间'); + if ($min_number >= $max_number) return $this->error('请填写正确的随机数量'); + if ($need_second <= 0) return $this->error('请填写正确的生成秒数'); + + $is = AutoList::where('currency_id',$currency_id)->where('legal_id',$legal_id)->first(); + + if (!empty($is) && empty($id)){ + return $this->error('该交易对已经有机器人了'); + } + + if (empty($id)){ + $auto_list = new AutoList(); + $auto_list->create_time = time(); + + }else{ + $auto_list = AutoList::find($id); + } + try{ + $auto_list->buy_user_id = $buy_user->id; + $auto_list->sell_user_id = $sell_user->id; + $auto_list->currency_id = $currency_id; + $auto_list->legal_id = $legal_id; + $auto_list->min_price = $min_price; + $auto_list->max_price = $max_price; + $auto_list->min_number = $min_number; + $auto_list->max_number = $max_number; + $auto_list->need_second = $need_second; + $auto_list->save(); + return $this->success('添加成功'); + }catch (\Exception $exception){ + return $this->error($exception->getMessage()); + } + + + } + + + public function lists(Request $request){ + $limit = $request->get('limit'); + $results = AutoList::orderBy('id','desc')->paginate($limit); + return $this->layuiData($results); + } + + + +} diff --git a/app/Http/Controllers/Admin/BankController.php b/app/Http/Controllers/Admin/BankController.php new file mode 100644 index 0000000..a1ce242 --- /dev/null +++ b/app/Http/Controllers/Admin/BankController.php @@ -0,0 +1,755 @@ + 1, + ])->where('start_at','<',date("Y-m-d")) + ->where('last_settle_time','<',date("Y-m-d")) + ->orWhere('last_settle_time',null) + ->take(20) ->get(); + foreach($res as $order){ + LhDepositOrder::dispatchInterest($order->id); + // if($order->end_at < date('Y-m-d')){ + // //todo 时间到了 释放存款 + // LhDepositOrder::where('id',$order->id)->update(['status' => 2]); + // } + } + + return $this->success('success'); + } + public function weekProfit(){ + $user_id = Users::getUserId(); + //判断是否有账号 + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('还未创建账户'); + } + $beginDay = date('Y-m-d',strtotime('-8 day')); + $res = LhDepositOrderLog::where('bank_account_id',$res->id) + ->where('interest_day','>',$beginDay) + ->groupBy('interest_day') + ->selectRaw('sum(interest_amount) as amount, interest_day') + ->get(); + return $this->success([ + 'list'=>$res + ]); + } + + public function bankLog(Request $request){ + $user_id = Users::getUserId(); + //判断是否有账号 + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('还未创建账户'); + } + $limit = $request->get('limit', 20); + $page = $request->get('page', 1); + $type = $request->get('type',null); + $search = $request->get('search',''); + $where = []; + if($type){ + $where['type'] = $type; + } + if($search){ + $where['description'] = $search; + } + $res = LhBankAccountLog::where('account_id',$res->id) + ->where($where) + ->orderBy('id','desc') + ->skip($limit*($page-1))->take($limit) + ->get(); + return $this->success([ + 'list' => $res + ]); + } + + // public function newAccount(){ + // $user_id = Users::getUserId(); + // $user = Users::find($user_id); + // if (!$user) { + // return $this->error('用户不存在'); + // } + // if($user->is_realname != 2){ + // return $this->error('请实名制'); + // }; + + // //判断是否有账号 + // $res = LhBankAccount::where('uid',$user_id)->first(); + // if($res){ + // return $this->error('已创建过账户'); + // } + // //获取爸爸加过的团队 全部再加一次 + // if($user->parent_id){ + // $parentTeamList = LhBankTeamMember::getUserTeams($user->parent_id); + // } + // DB::beginTransaction(); + // try{ + // $model = new LhBankAccount(); + // $model->uid = $user_id; + // $model->usdt_balance = LhBankAccount::INIT_BALANCE; + // $model->p_uid = $user->parent_id; + // $model->save(); + // if(isset($parentTeamList) && $parentTeamList){ + // foreach($parentTeamList as $team){ + // LhBankTeamMember::addTeamMember($team->leader_uid,$user_id,$team['generation']+1); + // } + // } + // if($user->parent_id){ + // LhBankTeamMember::addTeamMember($user->parent_id,$user_id,1); + // } + + // DB::commit(); + // }catch (\Exception $e){ + // DB::rollBack(); + // return $this->error($e->getMessage()); + // } + + // return $this->success('创建成功'); + // } + + public function myAccount(){ + $user_id = Users::getUserId(); + + //判断是否有账号 + /** @var LhBankAccount $res */ + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error(null); + } + else{ + $res->total_profit_df =0; + $res->total_profit_usdt = 0; + $res->last_day_profit_df = 0; + $res->last_day_profit_usdt = 0; + $res->total_value = 0; + $res->total_invited = 0; + $res->total_lock_usdt = LhDepositOrder::where('bank_account_id',$res->id)->where('status',1)->sum('usdt_amount'); + $res->total_lock_df = LhDepositOrder::where('bank_account_id',$res->id)->where('status',1)->sum('amount'); + return $this->success([ + 'account_info' => $res, + 'usdt' => Setting::getValueByKey('AUTU_USDT_NUM',300), + 'df' => Setting::getValueByKey('AUTU_UNLOCK_NUM',1000) + ]); + } + } + + public function saveMoney(){ + $user_id = Users::getUserId(); + $amount = Input::get('amount',''); + //判断是否有账号 + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + $amount = (float)$amount; + + $legal = UsersWallet::where("user_id", $user_id) + ->where("currency", 3) //usdt + ->lockForUpdate() + ->first(); + if (!$legal) { + return $this->error("钱包未找到,请先添加钱包"); + } + if($legal->change_balance < $amount){ + return $this->error('资金钱包余额不足'); + } + DB::beginTransaction(); + try{ + //先扣费 + $result = change_wallet_balance( + $legal, + 4, + -$amount, + AccountLog::TRANSFER_TO_LH_ACCOUNT, + '转账入余币宝', + false, + 0, + 0, + serialize([]) + ); + $res->usdt_balance += $amount; + $res->save(); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,$amount,'转账入金'); + Db::commit(); + }catch (\Exception $e){ + Db::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('入金成功'); + } + + + + + public function config(Request $request){ + $page = $request->get('page'); + $list = DB::table('lh_deposit_config')->join('currency','currency.id','=','currency_id') + ->offset(($page-1)*10)->limit(10) + ->select(['currency.name as currency_name','currency.logo as currency_logo','lh_deposit_config.*']) + ->get(); + return $this->success($list); + } + + public function newDeposit(Request $request){ + $id = $request->get('config_id'); + $amount = $request->get('amount'); + $config = DB::table('lh_deposit_config')->where('id',$id)->first(); + if(!$config){ + return $this->error('项目不存在'); + } + if($amount < $config->save_min){ + return $this->error('最少存入数量为:'.$config->save_min); + } + //钱包 + $user_id = Users::getUserId(); + $legal = UsersWallet::where("user_id", $user_id) + ->where("currency", $config->currency_id) //usdt + ->lockForUpdate() + ->first(); + DB::beginTransaction(); + try{ + $result = change_wallet_balance( + $legal, + 4, + -$amount, + AccountLog::TRANSFER_TO_LH_ACCOUNT, + '锁仓', + false, + 0, + 0, + serialize([]) + ); + $order = LhDepositOrder::newOrder($user_id,$config->currency_id,$amount,$config->day,$config->interest_rate); + + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + + } + return $this->success('success'); + } + + /** + * @return \Illuminate\Http\JsonResponse + * @author + */ + public function timeDeposit(){ + $user_id = Users::getUserId(); + $num = Input::get('num',0); + $num = (int)$num; + if($num <= 0){ + return $this->error('数量不可低于0'); + } + //判断是否有账号 + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + + $amount = Setting::getValueByKey('AUTU_USDT_NUM',300); + $amount *= $num; + $df_amount = Setting::getValueByKey('AUTU_UNLOCK_NUM',1000); + $df_amount *= $num; + if($res->usdt_balance < $amount){ + return $this->error('你的账户余额不足'); + } + if($res->df_balance <= 0){ + return $this->error('你的冻结余额为0'); + } + if($res->df_balance < $df_amount){ + $df_amount = $res->df_balance; + // return $this->error('你的冻结余额不足'.$df_amount); + } + + $totalDeposit = LhBankAccount::getTotalDeposit($res->id); + DB::beginTransaction(); + try{ + $res->usdt_balance -= $amount; + $res->df_balance -= $df_amount; + $res->save(); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,-$amount,'解冻申请'); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_DF,-$df_amount,'解冻申请'); + $order = LhDepositOrder::newOrder($res->id,$df_amount,$amount); + + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + + } + return $this->success('存币成功'); + } + + public function myDepositOrder(Request $request){ + $user_id = Users::getUserId(); + + $limit = $request->get('limit', 20); + $page = $request->get('page', 1); + $isCancel = $request->get('is_cancel',0); + $status = $request->get('status',null); + $where = []; + if($isCancel){ + $where = [ + 'is_cancel' => 1 + ]; + } + if($status){ + $where['status'] = $status; + } + + $res = LhDepositOrder::where('user_id',$user_id) + ->join('currency','currency.id','=','currency_id') + ->where($where) + ->orderBy('lh_deposit_order.id','desc') + ->skip($limit*($page-1))->take($limit) + ->get(['currency.name as currency_name','lh_deposit_order.id','amount','day_rate','total_interest','start_at','end_at','status']); + return $this->success([ + 'order_list' => $res + ]); + } + + public function cancelOrderNew(){ + $orderId = Input::get('id'); + $order = LhDepositOrder::find($orderId); + if(!$order){ + return $this->error('找不到存单'); + } + $user_id = Users::getUserId(); + if($order->user_id != $user_id){ + return $this->error('非法操作'); + } + if($order->status!=1){ + return $this->error('存单状态异常'); + } + $legal = UsersWallet::where("user_id", $user_id) + ->where("currency", $order->currency_id) //usdt + ->lockForUpdate() + ->first(); + DB::beginTransaction(); + try{ + //扣钱 + $returnAmount = $order->amount-$order->cancel_fee; + + $order->status = 2; + $order->is_cancel = 1; + $order->save(); + $result = change_wallet_balance( + $legal, + 4, + $returnAmount, + AccountLog::BANK_WITHDRAW, + '锁仓返还', + false, + 0, + 0, + serialize([]) + ); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('毁约成功'); + } + + + + public function cancelOrder(){ + return $this->error('功能暂不可用'); + $user_id = Users::getUserId(); + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + $orderId = Input::get('id'); + $order = LhDepositOrder::find($orderId); + if(!$order){ + return $this->error('找不到存单'); + } + if($order->bank_account_id != $res->id){ + return $this->error('非法操作'); + } + if($order->status != 1){ + return $this->error('存单状态异常'); + } + $loan = LhLoanOrder::where(['bank_account_id'=>$res->id,'status' => 1])->first(); + if($loan) { + return $this->error('你还有质押单,不可毁约'); + } + //判断毁约期限 + if(strtotime('+30 day',strtotime($order->start_at)) < date("Y-m-d")){ + return $this->error('毁约时间已过'); + } + DB::beginTransaction(); + try{ + //扣钱 + $costRate = Setting::getValueByKey('CANCEL_DEPOSIT_ORDER_COST',20); + $returnAmount = $order->amount * (1-$costRate/100); + $balance = bc_add($res->usdt_balance,$returnAmount); + $res->usdt_balance = $balance; + $res->save(); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,$returnAmount,'毁约退款'); + $order->status = 2; + $order->is_cancel = 1; + $order->save(); + //更新自己账号等级 + LhBankProfitLogic::cancelOrderUpdate($res->id); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('毁约成功'); + } + + + /** + * 提现至钱包 + * @return \Illuminate\Http\JsonResponse + * @throws \Exception + * @author + */ + public function withdraw(){ + $user_id = Users::getUserId(); + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + $depositAmount = LhBankAccount::getTotalDeposit($res->id); + $amount = Input::get('amount',0); + if($amount<10){ + return $this->error('最少提币金额为10'); + } + $type = Input::get('type',''); //1 usdt 2 dfone + $withdrawFee = Setting::getValueByKey('LH_WITHDRAW_FEE',0); + if($withdrawFee>100){ + return $this->error('提现失败,请联系管理员'); + } + switch ($type){ + case 1: + $legal = UsersWallet::where("user_id", $user_id) + ->where("currency", 3) //usdt + ->lockForUpdate() + ->first(); + + DB::beginTransaction(); + try{ + + //扣手续费 + change_wallet_balance( + $legal, + 4, + $amount, + AccountLog::BANK_WITHDRAW, + '理财账户提现', + false, + 0, + 0, + serialize([]) + ); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,-$amount,'理财账户提现'); + DB::commit(); + }catch (\Exceptionq $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + break; + case 2: + return $this->error('维护中'); + $DfWallet = UsersWallet::getDF1Wallet($user_id); + if(!$DfWallet){ + return $this->error('找不到钱包'); + } + if($res->df_balance - $amount < 0){ + return $this->error('余额不足'); + } + + DB::beginTransaction(); + try{ + + $balance = bc_sub($res->df_balance,$amount); + $res->df_balance = $balance; + $res->save(); + $amount = bc_mul($amount,(1-($withdrawFee/100))); + change_wallet_balance( + $DfWallet, + 1, + $amount, + AccountLog::BANK_WITHDRAW, + '余币宝提现', + false, + 0, + 0, + serialize([]) + ); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_DF,-$amount,'提现'); + DB::commit(); + }catch (\Exceptionq $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + break; + default: + return $this->error('错误类型'); + } + return $this->success('提现成功'); + } + + + public function loan(){ + $user_id = Users::getUserId(); + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + $amount = Input::get('amount',0); + if($amount<100){ + return $this->error('最少质押金额为100'); + } + $type = Input::get('wallet_type',0); + //验证当前质押单总额 + $totalLoan = LhLoanOrder::where([ + 'bank_account_id' => $res->id, + 'status' => 1 + ])->sum('amount'); + //查询当前存单金额 + $totalDeposit = LhBankAccount::getTotalDeposit($res->id); + $maxLoan = bc_mul($totalDeposit,0.8,0); + if($totalLoan+$amount > $maxLoan){ + return $this->error('总质押金额超出,你还可以质押:'.($maxLoan-$totalLoan)); + } + $legal = UsersWallet::where("user_id", $user_id) + ->where("currency", 3) //usdt + ->lockForUpdate() + ->first(); + + $redis = Redis::connection(); + $lock = new RedisLock($redis,'user_bank_loan_'.$user_id,10); + if($lock->acquire()) { + DB::beginTransaction(); + try{ + //创建订单 + LhLoanOrder::newOrder($res->id,$amount); + //贷款出账 + switch ($type){ + case 1: + //资金钱包 + change_wallet_balance( + $legal, + 1, + +$amount, + AccountLog::LH_LOAN, + '质押入账', + false, + 0, + 0, + serialize([]) + ); + break; + case 2: + change_wallet_balance( + $legal, + 4, + +$amount, + AccountLog::LH_LOAN, + '质押入账', + false, + 0, + 0, + serialize([]) + ); + break; + case 3: + change_wallet_balance( + $legal, + 4, + +$amount, + AccountLog::LH_LOAN, + '质押入账', + false, + 0, + 0, + serialize([]) + ); + break; + break; + default: + $res->usdt_balance += $amount; + $res->save(); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,$amount,'质押入账'); + + } + + DB::commit(); + $lock->release(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error('质押失败'); + } + } + return $this->success('质押成功'); + } + + public function loanList(Request $request){ + $user_id = Users::getUserId(); + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + $limit = $request->get('limit', 20); + $page = $request->get('page', 1); + $status = $request->get('status',null); + $where = []; + if($status){ + $where['status'] = $status; + } + $res = LhLoanOrder::where('bank_account_id',$res->id) + ->where($where) + ->orderBy('id','desc') + ->skip($limit*($page-1))->take($limit) + ->get(); + return $this->success($res); + } + + public function repayment(Request $request){ + $user_id = Users::getUserId(); + $res = LhBankAccount::where('uid',$user_id)->first(); + if(!$res){ + return $this->error('您还未创建账户'); + } + $is_zj_wallet = Input::get('is_zj_wallet',0); + $amount = Input::get('amount',0); + if($amount <0){ + return $this->error('还款金额有误'); + } + //usdtWallet + + if($is_zj_wallet){ + $legal = UsersWallet::where("user_id", $user_id) + ->where("currency", 3) //usdt + ->lockForUpdate() + ->first(); + if (!$legal) { + return $this->error("钱包未找到,请先添加钱包"); + } + if($legal->legal_balance < $amount){ + return $this->error('资金钱包余额不足'); + } + }else{ + if($amount> $res->usdt_balance){ + return $this->error('余币宝账号余额不足'); + } + } + + $orderId = Input::get('order_id'); + if(!$orderId){ + return $this->error('参数异常'); + } + $order = LhLoanOrder::where(['id' => $orderId,'bank_account_id' => $res->id])->first(); + if(!$order){ + return $this->error('找不到质押单'); + } + $maxReturn = ($order->amount+$order->total_interest)-$order->total_return; + if($maxReturn<=0){ + return $this->error('已还清'); + } + DB::beginTransaction(); + try{ + //先判断还款金额是否超过所需还款金额 + if($amount - $maxReturn >= 0){ + $amount = $maxReturn; + $status = 2; + }else{ + $status = 1; + } + //扣款 + if(isset($legal)){ + change_wallet_balance( + $legal, + 1, + -$amount, + AccountLog::TRANSFER_TO_LH_ACCOUNT, + '转账入余币宝', + false, + 0, + 0, + serialize([]) + ); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,+$amount,'资金账户转入余币宝'); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,-$amount,'质押还款'); + }else{ + $balance = bc_sub($res->usdt_balance,$amount,8); + $res->usdt_balance = $balance; + $res->save(); + LhBankAccountLog::newLog($res->id,LhBankAccountLog::LOG_TYPE_USDT,-$amount,'质押还款'); + } + + //质押单更新 + $order->total_return = bc_add($order->total_return,$amount,8); + $order->status = $status; + $order->end_at = date("Y-m-d"); + $order->save(); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('还款成功'); + } +} diff --git a/app/Http/Controllers/Admin/BindBoxController.php b/app/Http/Controllers/Admin/BindBoxController.php new file mode 100644 index 0000000..f94701e --- /dev/null +++ b/app/Http/Controllers/Admin/BindBoxController.php @@ -0,0 +1,436 @@ +get('limit'); + $code = $request->get('code', ''); + $status = $request->get('status', ''); + $pay_type = $request->get('pay_type', ''); + $name = $request->get('name', ''); + $rarity= $request->get('rarity', ''); + $user_id = $request->get('author', null); + + + $list = BindBox::where(function ($query) use ($code) { + if (!empty($code)) { + $query->where('code', $code); + } + })->where(function ($query) use ($rarity) { + if ($rarity != '') { + $query->where('rarity', $rarity); + } + })->where(function ($query) use ($name) { + if ($name != '') { + $query->where('name', $name); + } + })->where(function ($query) use ($pay_type) { + if ($pay_type != '') { + $query->where('pay_type', $pay_type); + } + })->where(function ($query) use ($status) { + if ($status != '') { + $query->where('status', $status); + } + })->where(function ($query) use ($user_id) { + if (!empty($user_id)) { + $query->where('author', $user_id); + } + })->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($list); + } + + public function add(){ + + $currency = Currency::where('is_display',1)->get(); + return view("admin.bindBox.add",['currency'=>$currency]); + } + + //添加NFT + public function addNFT(Request $request){ + $author = $request->post('author'); + $_author = Users::where("id",$author)->first(); + + if(!$_author){ + return $this->error('用户不存在'); + } + + $type = $request->post('type'); + $currency = $request->post('currency'); + $name = $request->post('name'); + $author_description = $request->post('author_description'); + $description = $request->post('description'); + $image = $request->post('image'); + $price = $request->post('price'); + $per_increase = $request->post('per_increase'); + $pay_type = $request->post('pay_type'); + $start_time = $request->post('start_time'); + $end_time = $request->post('end_time'); + $rarity = $request->post('rarity'); + $margin = $request->post('margin'); + $rarity_house_id = $request->post('rarity_house_id'); + + if(!$type || !$currency || !$name || !$image ||!$price ||!$pay_type ||!$rarity || !$start_time|| !$end_time){ + return $this->error('必填项!'); + } + + if( strtotime($start_time) < time() ){ + return $this->error("The start time cannot be less than the current time!"); + } + + if( strtotime($start_time) > strtotime($end_time) ){ + return $this->error("The start time cannot be less than the end_time!"); + } + + if($pay_type == 1){ //一口价 + if($price<=0){ + return $this->error('价格不能为空'); + } + }elseif($pay_type == 2){//竞拍 + if($price<=0){ + return $this->error('竞拍起始价不能为0'); + } + if($per_increase<=0){ + return $this->error('竞拍加价价格不能小于0'); + } + if($margin<=0){ + return $this->error('竞拍商品未设置保证金!'); + } + }elseif($pay_type == 3){ //盲盒 + if($price<=0){ + return $this->error('价格不能为空'); + } + if($rarity_house_id<=0){ + return $this->error('未选择开出的盲盒'); + } + }else{ + return $this->error('交易类型错误'); + } + + $nft = new BindBox(); + $nft->code = $this->getCode(); + $nft->type = $type; + $nft->currency_id = $currency; + $nft->name = $name; + $nft->price = $price; + $nft->image = $image; + $nft->author_description = $author_description??''; + $nft->author = $author; + $nft->owner = $author; + $nft->status = 1; + $nft->start_time = $start_time; + $nft->end_time = $end_time; + $nft->created = date('Y-m-d H:i:s'); + $nft->updated = date('Y-m-d H:i:s'); + $nft->pay_type = $pay_type; + $nft->margin = $margin ?? 0; + $nft->per_increase = $per_increase??0; + $nft->rarity_house_id = $rarity_house_id??0; + if($pay_type == 2){ + $nft->resell_nft_status = 1;//新添加的默认为竞拍中 + + } + if($pay_type == 3){ + $nft->rarity_status = 0;//盲盒状态未开启 + $bind_box_raity_house = BindBoxRaityHouse::where(['id'=>$rarity_house_id,'status'=>0])->first(); + if(!$bind_box_raity_house){ + return $this->error('选择的盲盒不可用'); + } + $bind_box_raity_house->status =1; //此盲盒已被使用 + $bind_box_raity_house->save(); + } + $nft->chain = 'HX'; //汇信链 + $nft->rarity = $rarity;//稀有度 + $nft->save(); + + return $this->success('操作成功'); + } + + public function edit(Request $request){ + $nft = BindBox::where('id',$request->get('id'))->first(); + + return view("admin.bindBox.edit",['results'=>$nft]); + } + + //编辑NFT + public function editNFT(Request $request){ + $code = $request->post('code'); + $price = $request->post('price'); + $rarity = $request->post('rarity'); + $start_time = $request->post('start_time'); + $end_time = $request->post('end_time'); + $per_increase = $request->post('per_increase'); + + if(!$price || !$rarity ||!$start_time || !$end_time ||!$code){ + return $this->error('参数错误!'); + } + $bind_box = BindBox::where('code',$code)->first(); + if($bind_box->lock_order ==1 ){ + return $this->error('等待支付,不可编辑'); + } + + if($bind_box->resell_nft_status ==1 ){ + return $this->error('NFT竞拍中不可编辑'); + } + $bind_box->price = $price; + $bind_box->start_time = $start_time; + $bind_box->end_time = $end_time; + $bind_box->per_increase = $per_increase; + $bind_box->rarity = $rarity; + $bind_box->save(); + + return $this->success('操作成功'); + } + + + public function order(){ + $currency = Currency::where('is_display',1)->get(); + + return view("admin.bindBox.order",['currency'=>$currency]); + } + + //NFT交易记录 + public function orderList(Request $request){ + $limit = $request->get('limit'); + $code = $request->get('code'); + $buyer_id = $request->get('buyer_id'); + $currency_id = $request->get('currency_id'); + + + $list = BindBoxOrder::where(function ($query) use ($code) { + if (!empty($code)) { + $query->where('code', $code); + } + })->where(function ($query) use ($currency_id) { + if (!empty($currency_id)) { + $query->where('currency_id', $currency_id); + } + })->where(function ($query) use ($buyer_id) { + if (!empty($buyer_id)) { + $query->where('buyer_id', $buyer_id); + } + })->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($list); + } + + public function quotation(){ + $currency = Currency::where('is_display',1)->get(); + + return view("admin.bindBox.quotation",['currency'=>$currency]); + } + + //出价记录 + public function quotationList(Request $request){ + $limit = $request->get('limit'); + $code = $request->get('code'); + $status = $request->get('status'); + $buyer_id = $request->get('buyer_id'); + $currency_id = $request->get('currency_id'); + + + $list = BindBoxQuotationLog::where(function ($query) use ($code) { + if (!empty($code)) { + $query->where('code', $code); + } + })->where(function ($query) use ($currency_id) { + if (!empty($currency_id)) { + $query->where('currency_id', $currency_id); + } + })->where(function ($query) use ($status) { + if (!empty($status)) { + $query->where('status', $status); + } + })->where(function ($query) use ($buyer_id) { + if (!empty($buyer_id)) { + $query->where('buyer_id', $buyer_id); + } + })->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($list); + + } + + //获取盲盒仓库 + public function getRarityHouse(Request $request){ + $rarity = $request->post('rarity');//稀有度 + $rarity_house = BindBoxRaityHouse::where(['rarity'=>$rarity,'status'=>0])->get(); + + return json_encode(['rarity_house'=>$rarity_house]); + } + + public function rarity_house(){ + + return view("admin.bindBox.rarity_house"); + } + + //盲盒列表 + public function rarity_house_list(Request $request){ + + $limit = $request->get('limit'); + $name = $request->get('name'); + $rarity = $request->get('rarity'); + + + $list = BindBoxRaityHouse::where(function ($query) use ($name) { + if (!empty($name)) { + $query->where('name', 'like' ,"%$name%"); + } + })->where(function ($query) use ($rarity) { + if (!empty($rarity)) { + $query->where('rarity', $rarity); + } + })->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($list); + } + + public function add_rarity_house_view(){ + + return view("admin.bindBox.add_rarity_house_view"); + } + + public function add_rarity_house(Request $request){ + + $file = $request->post('file'); + $rarity = $request->post('rarity'); + $name = $request->post('name'); + + if(!$file || !$rarity){ + return $this->error('必填项不能为空'); + } + $BindBoxRaityHouse = new BindBoxRaityHouse(); + $BindBoxRaityHouse->file= $file; + $BindBoxRaityHouse->rarity = $rarity; + $BindBoxRaityHouse->name = $name??'未命名'; + $BindBoxRaityHouse->status = 0; + $BindBoxRaityHouse->created = date('Y-m-d H:i:s',time()); + $BindBoxRaityHouse->save(); + + return $this->success('操作成功'); + } + + public function edit_rarity_house_view(Request $request){ + $id = $request->get('id'); + $BindBoxRaityHouse = BindBoxRaityHouse::where('id',$id)->first(); + + return view("admin.bindBox.edit_rarity_house_view",['results'=>$BindBoxRaityHouse]); + } + + public function edit_rarity_house(Request $request){ + $id = $request->post('id'); + $file = $request->post('file'); + $rarity = $request->post('rarity'); + $name = $request->post('name'); + + if(!$file || !$rarity){ + return $this->error('必填项不能为空'); + } + + $BindBoxRaityHouse = BindBoxRaityHouse::where('id',$id)->first(); + + $bind_box = BindBox::where('rarity_house_id',$id)->where('rarity',$BindBoxRaityHouse->rarity)->first(); + + if($BindBoxRaityHouse->status == 1 && $bind_box){ // 已被使用 并且开启 不可编辑 + return $this->error('盲盒已开启,不可编辑'); + }elseif($bind_box && $BindBoxRaityHouse->status == 0){ //盲盒已经被购买 未开启 + $BindBoxRaityHouse->file= $file; + $BindBoxRaityHouse->save(); + }else{//未被使用 + $BindBoxRaityHouse->name= $name; + $BindBoxRaityHouse->file= $file; + $BindBoxRaityHouse->rarity = $rarity; + $BindBoxRaityHouse->save(); + } + + return $this->layuiData($list); + } + + public function success_order(){ + + return view("admin.bindBox.success_order"); + } + + public function success_order_list(Request $request){ + + $limit = $request->get('limit'); + $user_id = $request->get('user_id'); + $is_pay = $request->get('is_pay'); + $code = $request->get('code'); + + + $list = BindBoxSuccessOrder::where(function ($query) use ($user_id) { + if (!empty($user_id)) { + $query->where('user_id', 'like' ,"%$user_id%"); + } + })->where(function ($query) use ($code) { + if (!empty($code)) { + $query->where('code', $code); + } + })->where(function ($query) use ($is_pay) { + if (!empty($is_pay)) { + $query->where('is_pay', $is_pay); + } + })->orderBy('id', 'desc')->orderBy('is_expired', 'ASC')->paginate($limit); + + + return $this->layuiData($list); + } + + private function getCode(){ + $code = '0x' . Hash::createCode(); + $count = BindBox::where('code',$code)->count(); + if($count>0){ + $this->getCode(); + }else{ + return $code; + } + + } + + public function del(Request $request){ + $id = $request->post('id'); + if(is_array($id)){ + $ids = $id; + }else{ + $ids = [$id]; + } + + $bind_boxs = BindBox::whereIn('id',$ids)->get(); + if(!$bind_boxs){ + return $this->error('NFT不存在'); + } + foreach ($bind_boxs as $bind_box){ + if($bind_box->lock_order ==1 ){ + return $this->error('等待支付,不可删除'); + } + + if($bind_box->resell_nft_status ==1 ){ + return $this->error('NFT竞拍中不可删除'); + } + $bind_box->delete(); + } + return $this->success('操作成功'); + } + +} diff --git a/app/Http/Controllers/Admin/BossController.php b/app/Http/Controllers/Admin/BossController.php new file mode 100644 index 0000000..c7c7dee --- /dev/null +++ b/app/Http/Controllers/Admin/BossController.php @@ -0,0 +1,267 @@ +get('id'); + $order = LhDepositOrder::find($orderId); + if(!$order){ + return $this->error('找不到存单'); + } + if($order->status!=1){ + return $this->error('存单状态不可操作'); + } + $legal = UsersWallet::where("user_id", $order->user_id) + ->where("currency", $order->currency_id) //usdt + ->lockForUpdate() + ->first(); + DB::beginTransaction(); + try{ + //扣钱 + $returnAmount = $order->amount-$order->cancel_fee; + $order->status = 2; + $order->is_cancel = 1; + $order->save(); + $result = change_wallet_balance( + $legal, + 4, + $returnAmount, + AccountLog::MINING_BUY, + '锁仓返还', + false, + 0, + 0, + serialize([]) + ); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('毁约成功'); + + } + + public function bossList(Request $request){ + $limit = $request->get('limit', 20); + $account = $request->get('phone',''); + $pid = $request->get('p_id',''); + $where = []; + if($pid){ + $where['p_uid'] = $pid; + } + + $res = BossAccount::join('users as u','uid','=','u.id') + ->leftJoin('users as dad','dad.id','=','p_uid') + ->select(['u.id','boss_account.p_uid','u.account_number','u.email','dad.phone as parent_phone','dad.account_number as parent_account','u.phone','total_invited','total_active','total_profit','balance']) + ->where(function($q)use($account){ + if($account){ + $q->where('u.account_number','=',$account)->orWhere('u.email','=',$account); + } + })->where($where) + ->orderBy('p_uid','asc') + ->paginate($limit); + return $this->layuiData($res); + return $this->success(['list' => $res]); + + } + public function bossListView(){ + return view('admin.boss.boss_list'); + } + + public function depositOrderList(Request $request){ + $limit = $request->get('limit', 20); + $where = []; + $account = $request->get('search'); + $status = $request->get('status'); + $cancel = $request->get('is_cancel',null); + if($status){ + $where['lh_deposit_order.status'] = $status; + } + if($cancel !== null){ + $where['is_cancel'] = $cancel; + } + $res = LhDepositOrder::join('currency as c','c.id','=','currency_id') + ->join('users as u','user_id','=','u.id') + ->where(function($q)use($account){ + if($account){ + $q->where('u.account_number','=',$account)->orWhere('u.email','=',$account); + } + })->where($where) + ->select(['u.id as uid','u.account_number','u.email','u.phone','lh_deposit_order.*','c.name as currency_name']) + ->orderBy('lh_deposit_order.id','desc') + ->paginate($limit); + return $this->layuiData($res); + + } + public function depositOrderView(){ + return view('admin.boss.lh_order_list'); + } + + + public function depositConfig(Request $request){ + $currencyId = $request->get('currency_id'); + $limit = $request->get('limit', 20); + // var_dump($currencyId);exit; + $where = []; + if($where){ + $where['currency_id'] = $currencyId; + } + $list = DB::table('lh_deposit_config')->join('currency','currency.id','=','currency_id')->where($where)->select(['currency.name as currency_name','lh_deposit_config.*'])->orderBy('lh_deposit_config.id', 'asc')->paginate($limit); + + return $this->layuiData($list); + } + public function addConfig(Request $request){ + $currencyId = $request->get('currency_id'); + $day = $request->get('day'); + $rate = $request->get('rate'); + $intro = $request->get('intro'); + $save_min = $request->get('save_min'); + // $output = $request->get('out_currency_id'); + $res = DB::table('lh_deposit_config')->where('currency_id',$currencyId)->where('day',$day)->first(); + if($res){ + return $this->error('存在重复的期限'); + } + DB::table('lh_deposit_config')->insert([ + 'day' => $day, + 'interest_rate' => $rate, + 'intro' => $intro, + 'currency_id' => $currencyId, + 'save_min' => $save_min, + 'created_at' => date('Y-m-d H:i:s') + ]); + return $this->success('创建成功'); + } + + public function depositConfigView(){ + return view('admin.boss.config'); + } + public function depositConfigAddView(){ + $currency = Currency::all(); + return view('admin.boss.config_add',['currencies'=>$currency]); + } + public function depositConfigEditView(Request $request){ + $configId = $request->get('id'); + $model = DB::table('lh_deposit_config')->where('id',$configId)->first(); + $currency = Currency::where('id',$model->currency_id)->first(); + $model->currency_name = $currency->name; + return view('admin.boss.config_edit',['model' => $model]); + } + public function depositConfigDelete(Request $request){ + $configId = $request->get('id'); + DB::table('lh_deposit_config')->where('id',$configId)->delete(); + return $this->success('删除成功'); + } + + + public function editConfig(Request $request){ + $configId = $request->get('id'); + $day = $request->get('day'); + $rate = $request->get('rate'); + $intro = $request->get('intro'); + $save_min = $request->get('save_min'); + $model = DB::table('lh_deposit_config')->where('id',$configId)->first(); + if(!$model){ + return $this->error('找不到此期限'); + } + $res = DB::table('lh_deposit_config')->where('id','<>',$configId)->where('currency_id',$model->currency_id)->where('day',$day)->first(); + if($res){ + return $this->error('存在重复的期限'); + } + DB::table('lh_deposit_config')->where('id',$configId)->update([ + 'day' => $day, + // 'total_rate' => $rate, + 'interest_rate' => $rate, + 'save_min' => $save_min, + 'intro' => $intro + // 'created_at' => date('Y-m-d H:i:s') + ]); + return $this->success('编辑成功'); + } + + + + + public function loanOrderView(){ + return view('admin.boss.loan_list'); + } + public function loanOrderList(Request $request){ + $limit = $request->get('limit', 20); + $where = []; + $account = $request->get('search'); + $status = $request->get('status'); + if($status){ + $where['lh_loan_order.status'] = $status; + } + $res = LhLoanOrder::join('lh_bank_account as b','bank_account_id','=','b.id') + ->join('users as u','uid','=','u.id') + ->where(function($q)use($account){ + if($account){ + $q->where('u.account_number','=',$account)->orWhere('u.email','=',$account); + } + })->where($where) + ->select(['u.id as uid','u.account_number','u.email','u.phone','lh_loan_order.*']) + ->orderBy('lh_loan_order.id','desc') + ->paginate($limit); + return $this->layuiData($res); + } + + public function lhAccount(Request $request){ + $user_id = $request->get('user_id'); + $account = LhBankAccount::where('uid',$user_id)->first(); + if(!$account){ + return []; + } + return $this->success($account); + } + public function editLhAccountView(){ + return view('admin.boss.edit_lh_account'); + } + public function editLhAccount(Request $request){ + $id = $request->get('id'); + $account = LhBankAccount::where('id',$id)->first(); + if(!$account){ + return $this->error('找不到账户'); + } + + $account->df_balance = $request->get('df_balance'); + $account->usdt_balance = $request->get('usdt_balance'); + $account->save(); + return $this->success(''); + + + } + + public function unlockOrder(Request $request){ + $account = $request->get('search'); + $limit = $request->get('limit', 20); + $res = DB::table('wallet_unlock_order')->join('users as u','user_id','=','u.id') + ->where(function($q)use($account){ + if($account){ + $q->where('u.account_number','=',$account)->orWhere('u.email','=',$account); + } + })->orderBy('wallet_unlock_order.id','desc') + ->select(['u.account_number','u.email','u.phone','wallet_unlock_order.*']) + ->paginate($limit); + return $this->layuiData($res); + } + public function unlockOrderView(){ + return view('admin.boss.unlock_order'); + } + +} diff --git a/app/Http/Controllers/Admin/C2cDealController.php b/app/Http/Controllers/Admin/C2cDealController.php new file mode 100644 index 0000000..1baf0f3 --- /dev/null +++ b/app/Http/Controllers/Admin/C2cDealController.php @@ -0,0 +1,202 @@ +where("c2c_deal_send.type","=","sell")->select("c2c_deal.*","c2c_deal_send.type")->get(); + $buy_all_number=0; + foreach($aaaa as $key=>$value) + { + $buy_all_number=$buy_all_number+$value->number; + } + + //卖出交易总额 + $bbbb=C2cDeal::leftJoin("c2c_deal_send","c2c_deal.legal_deal_send_id","=","c2c_deal_send.id")->where("c2c_deal_send.type","=","buy")->select("c2c_deal.*","c2c_deal_send.type")->get(); + $sell_all_number=0; + foreach($bbbb as $key=>$value) + { + $sell_all_number=$sell_all_number+$value->number; + } + + // $currency = Currency::where('is_legal', 1)->orderBy('id', 'desc')->get();//获取法币 + //return view('admin.legal.deal', ['currency' => $currency]); + return view('admin.c2c.deal',['sell_all_number' => $sell_all_number,'buy_all_number'=>$buy_all_number]); + } + + public function list(Request $request) + { + $limit = $request->get('limit', 10); + $account_number = $request->get('account_number', ''); + $seller_number = $request->get('seller_number', ''); + $type = $request->get('type', ''); + // $currency_id = $request->get('currency_id', 0); + $result = new C2cDeal(); + if (!empty($account_number)) { + $result = $result->whereHas('user', function ($query) use ($account_number) { + $query->where('account_number', 'like', '%' . $account_number . '%'); + }); + } + if (!empty($seller_number)) { + + $result = $result->whereHas('seller', function ($query) use ($seller_number) { + $query->where('account_number', 'like', '%' . $seller_number . '%'); + }); + } + + if (!empty($type)) { + $result = $result->whereHas('legalDealSend', function ($query) use ($type) { + $query->where('type', $type); + }); + + } + // if (!empty($currency_id)) { + // $result = $result->whereHas('legalDealSend', function ($query) use ($currency_id) { + // $query->where('currency_id', $currency_id); + // }); + // } + + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + //导出c2c交易信息 + public function csv(Request $request) + { + +// $limit = $request->get('limit', 10); + $account_number = $request->get('account_number', ''); + $seller_number = $request->get('seller_number', ''); + $type = $request->get('type', ''); +// var_dump($account_number);var_dump($seller_number);var_dump($type); + // $currency_id = $request->get('currency_id', 0); + $result = new C2cDeal(); + if (!empty($account_number)) { + $result = $result->whereHas('user', function ($query) use ($account_number) { + $query->where('account_number', 'like', '%' . $account_number . '%'); + }); + } + if (!empty($seller_number)) { + + $result = $result->whereHas('seller', function ($query) use ($seller_number) { + $query->where('account_number', 'like', '%' . $seller_number . '%'); + }); + } + + if (!empty($type)) { + $result = $result->whereHas('legalDealSend', function ($query) use ($type) { + $query->where('type', $type); + }); + + } + // if (!empty($currency_id)) { + // $result = $result->whereHas('legalDealSend', function ($query) use ($currency_id) { + // $query->where('currency_id', $currency_id); + // }); + // } + + $data = $result->orderBy('id', 'desc')->get(); +// var_dump($data->toArray());die; + + +// $data = C2cDeal::all()->toArray(); + return Excel::create('交易信息', function ($excel) use ($data) { + $excel->sheet('交易信息', function ($sheet) use ($data) { + $sheet->cell('A1', function ($cell) { + $cell->setValue('ID'); + }); + $sheet->cell('B1', function ($cell) { + $cell->setValue('交易需求id'); + }); + $sheet->cell('C1', function ($cell) { + $cell->setValue('用户交易账号'); + }); + $sheet->cell('D1', function ($cell) { + $cell->setValue('真实姓名'); + }); + $sheet->cell('E1', function ($cell) { + $cell->setValue('买入/卖出'); + }); + $sheet->cell('F1', function ($cell) { + $cell->setValue('支付方式'); + }); + $sheet->cell('G1', function ($cell) { + $cell->setValue('单价'); + }); + + + $sheet->cell('H1', function ($cell) { + $cell->setValue('交易量'); + }); + $sheet->cell('I1', function ($cell) { + $cell->setValue('交易币'); + }); + $sheet->cell('J1', function ($cell) { + $cell->setValue('交易总金额'); + }); + $sheet->cell('K1', function ($cell) { + $cell->setValue('交易状态'); + }); + $sheet->cell('L1', function ($cell) { + $cell->setValue('交易时间'); + }); + $sheet->cell('M1', function ($cell) { + $cell->setValue('确认时间'); + }); + + if (!empty($data)) { + foreach ($data as $key => $value) { + if($value["type"]=="buy") + { + $value["type"]="卖出"; + } + elseif($value["type"]=="sell") + { + $value["type"]="买入"; + } + if($value["is_sure"]==0) + { + $value["is_sure"]="未完成"; + }elseif($value["is_sure"]==1) + { + $value["is_sure"]="已完成"; + } + elseif($value["is_sure"]==2) + { + $value["is_sure"]="取消"; + } + elseif($value["is_sure"]==3) + { + $value["is_sure"]="已付款"; + } +// var_dump($value["type"]);die; + $i = $key + 2; + $sheet->cell('A' . $i, $value['id']); + $sheet->cell('B' . $i, $value['legal_deal_send_id']); + $sheet->cell('C' . $i, $value['account_number']); + $sheet->cell('D' . $i, $value['user_realname']); + $sheet->cell('E' . $i, $value['type']); + $sheet->cell('F' . $i, $value['way_name']); + $sheet->cell('G' . $i, $value['price']); + $sheet->cell('H' . $i, $value['number']); + $sheet->cell('I' . $i, $value['currency_name']); + $sheet->cell('J' . $i, $value['deal_money']); + $sheet->cell('K' . $i, $value['is_sure']); + $sheet->cell('L' . $i, $value['format_create_time']); + $sheet->cell('M' . $i, $value['format_update_time']); + } + } + }); + })->download('xlsx'); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/C2cDealSendController.php b/app/Http/Controllers/Admin/C2cDealSendController.php new file mode 100644 index 0000000..01938fc --- /dev/null +++ b/app/Http/Controllers/Admin/C2cDealSendController.php @@ -0,0 +1,70 @@ +get('limit', 10); + $account_number = $request->get('account_number', ''); + //$seller_name = $request->get('seller_name', ''); + $type = $request->get('type', ''); + // $currency_id = $request->get('currency_id', 0); + $result = new C2cDealSend(); + + if(!empty($account_number)){ + + $result = $result->whereHas('user', function ($query) use ($account_number) { + $query->where('account_number', 'like', '%' . $account_number . '%'); + }); + } + + if (!empty($type)) { + + $result = $result->where('type', $type); + } + // if (!empty($currency_id)) { + + // $result = $result->where('currency_id', $currency_id); + // } + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + + //撤销 + public function sendBack(Request $request){ + $id = $request->get('id',0); + if (empty($id)){ + return $this->error('参数错误'); + } + $send = C2cDealSend::find($id); + if (empty($send)){ + return $this->error('无此记录'); + } + DB::beginTransaction(); + try{ + C2cDealSend::sendBack($id); + DB::commit(); + return $this->success('发布撤回成功,此发布改变为已完成状态'); + }catch (\Exception $exception){ + DB::rollback(); + return $this->error($exception->getMessage()); + } + + } + + + +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/C2cMerchantController.php b/app/Http/Controllers/Admin/C2cMerchantController.php new file mode 100644 index 0000000..104aced --- /dev/null +++ b/app/Http/Controllers/Admin/C2cMerchantController.php @@ -0,0 +1,90 @@ +orderBy('id', 'desc') + ->paginate($request->input('limit', 20)); + return $this->layuiData($data); + } + + public function save(Request $request) + { + $id = $request->input('id'); + $fields = $request->only([ + 'name','logo','available_qty','min_amount','max_amount','unit_price', + 'crypto_currency','fiat_currency','payment_methods','rating', + 'contact_type','contact_link','status','sort' + ]); + foreach (['unit_price','available_qty','min_amount','max_amount','rating','sort'] as $k) { + if (!isset($fields[$k]) || $fields[$k] === '') $fields[$k] = 0; + } + if (empty($fields['name'])) return $this->error('Name is required'); + + if ($id) { + C2cMerchant::where('id', $id)->update($fields); + } else { + C2cMerchant::create($fields); + } + return $this->success('OK'); + } + + public function delete(Request $request) + { + C2cMerchant::destroy($request->input('id')); + return $this->success('Deleted'); + } + + public function orderList(Request $request) + { + $query = C2cMerchantOrder::query() + ->leftJoin('users', 'c2c_merchant_order.user_id', '=', 'users.id') + ->leftJoin('c2c_merchant', 'c2c_merchant_order.merchant_id', '=', 'c2c_merchant.id') + ->select( + 'c2c_merchant_order.*', + 'users.phone as user_phone', + 'users.email as user_email', + 'c2c_merchant.name as merchant_name' + ); + + $merchant_id = $request->input('merchant_id'); + if ($merchant_id) $query->where('c2c_merchant_order.merchant_id', $merchant_id); + + $status = $request->input('status'); + if ($status !== null && $status !== '' && $status !== 'all') { + $query->where('c2c_merchant_order.status', intval($status)); + } + + $data = $query->orderBy('c2c_merchant_order.id', 'desc') + ->paginate($request->input('limit', 20)); + + $statusMap = [0 => 'Pending', 1 => 'Completed', 2 => 'Cancelled', 3 => 'Expired']; + $dirMap = ['buy' => 'Buy', 'sell' => 'Sell']; + foreach ($data as $item) { + $item->status_text = $statusMap[$item->status] ?? ''; + $item->direction_text = $dirMap[$item->direction] ?? $item->direction; + } + return $this->layuiData($data); + } + + public function completeOrder(Request $request) + { + $id = intval($request->input('id')); + $order = C2cMerchantOrder::find($id); + if (!$order) return $this->error('Order not found'); + if ($order->status != 0) return $this->error('Order already processed'); + + $order->update(['status' => 1]); + return $this->success('Completed'); + } +} diff --git a/app/Http/Controllers/Admin/CandyTransferController.php b/app/Http/Controllers/Admin/CandyTransferController.php new file mode 100644 index 0000000..c1ba01d --- /dev/null +++ b/app/Http/Controllers/Admin/CandyTransferController.php @@ -0,0 +1,105 @@ +get('limit', 20); + $page = $request->get('page', 1); + $account_number = $request->get('account_number', ''); + +// var_dump($account_number);die; + $feedback = new CandyTransfer(); + if(!empty($account_number)){ + $account_number=Users::where("account_number",$account_number)->first()->id; + $feedback = $feedback->where("from_user_id", '=', $account_number)->orwhere("to_user_id", '=', $account_number); + + } + $feedbackList = $feedback->orderBy('id', 'desc')->paginate($limit, ['*'], 'page', $page); + // dd($result); + return $this->layuiData($feedbackList); + } + public function feedBackDetail(Request $request){ + $id = $request->get('id', ''); + $feedback = FeedBack::find($id); + return view('admin.candytransfer.detail',['feedback'=> $feedback]); + } + public function feedBackDel(Request $request){ + $id = $request->get('id', ''); + $res = FeedBack::deatory($id); + if($res){ + return $this->success('删除成功'); + }else{ + return $this->error('请重试'); + } + } + public function reply(Request $request){ + $id = $request->get('id', ''); + $reply_content = $request->get('reply_content', ''); + if(empty($id)||empty($reply_content)){ + return $this->error('参数错误'); + } + $feedback = FeedBack::find($id); + $feedback->reply_content = $reply_content; + $feedback->is_reply = 1; + $feedback->reply_time = time(); + $feedback->save(); + return $this->success('回复成功'); + } + //导出用户列表至excel + public function csv() + { + $data = FeedBack::all()->toArray(); + return Excel::create('反馈数据', function ($excel) use ($data) { + $excel->sheet('反馈数据', function ($sheet) use ($data) { + $sheet->cell('A1', function ($cell) { + $cell->setValue('ID'); + }); + $sheet->cell('B1', function ($cell) { + $cell->setValue('账户名'); + }); + $sheet->cell('C1', function ($cell) { + $cell->setValue('反馈内容'); + }); + $sheet->cell('D1', function ($cell) { + $cell->setValue('回复内容'); + }); + $sheet->cell('E1', function ($cell) { + $cell->setValue('反馈时间'); + }); + $sheet->cell('F1', function ($cell) { + $cell->setValue('回复时间'); + }); + $sheet->cell('G1', function ($cell) { + $cell->setValue('状态'); + }); + + if (!empty($data)) { + foreach ($data as $key => $value) { + $i = $key + 2; + $sheet->cell('A' . $i, $value['id']); + $sheet->cell('B' . $i, $value['account_number']); + $sheet->cell('C' . $i, $value['content']); + $sheet->cell('D' . $i, $value['reply_content']); + $sheet->cell('E' . $i, $value['create_time']); + $sheet->cell('F' . $i, $value['reply_time']); + $sheet->cell('G' . $i, $value['is_reply']); + } + } + }); + })->download('xlsx'); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/CashbController.php b/app/Http/Controllers/Admin/CashbController.php new file mode 100644 index 0000000..b73c27b --- /dev/null +++ b/app/Http/Controllers/Admin/CashbController.php @@ -0,0 +1,268 @@ +get('limit', 20); + $account_number = $request->input('account_number', ''); + $user_id = $request->input('user_id', ''); + // file_put_contents('/www/wwwroot/crypto/public/t.txt',$user_id."---".$account_number); + $userWalletOut = new UsersWalletOut(); + $userWalletOutList = $userWalletOut->whereHas('user', function ($query) use ($account_number,$user_id) { + if ($account_number != '') { + $query->where('phone', $account_number) + ->orWhere('account_number', $account_number) + ->orWhere('email', $account_number) + ->orWhere('id', $account_number); + } + if ($user_id != '') { + $query->where('id', $user_id); + } + })->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($userWalletOutList); + } + + public function show(Request $request) + { + $id = $request->get('id', ''); + if (!$id) { + return $this->error('参数小错误'); + } + $walletout = UsersWalletOut::find($id); + $card_info = null; + $card_info_data = []; + if ($walletout->type == 1) { // 提现到银行卡 + $card_info = UserCashInfo::where('user_id', $walletout->user_id)->first(); + } else if ($walletout->type == 2) { // 提现到国际卡 + // 获取表单设置 + $forms = Setting::getValueByKey("form_international"); + $list = explode("\n", $forms); + $lang = session('lang', 'en'); + $langs = ['en', 'zh', 'hk', 'fra', 'jp', 'kor', 'spa', 'th']; + $new_forms = []; + + $card_info = UserCashInfoInternational::where('user_id', $walletout->user_id)->first(); + $data = explode("\n", $card_info->data); + $card_info_data = []; + foreach ($list as $i => $item) { + $_item = explode('|', $item); // 多语言用|分隔开,分别是en|zh|hk|fra|jp|kor|spa|th + $_values = []; + foreach ($langs as $_k => $_lang) { + try { + $_values[$_lang] = $_item[$_k]; + } catch (\Exception $e) { + $_values[$_lang] = $_item[0]; + } + } + $new_forms[] = $_values[$lang]; + try{ + $card_info_data[$_values[$lang]] = $data[$i]; + } catch (\Exception $e) { + $card_info_data[$_values[$lang]] = ''; + } + } + } + $use_chain_api = Setting::getValueByKey('use_chain_api', 0); + return view('admin.cashb.edit', ['wallet_out' => $walletout,'use_chain_api' => $use_chain_api, 'card_info'=>$card_info, 'card_info_data' => $card_info_data]); + + } + + //test + public function done(Request $request) + { + set_time_limit(0); + $id = $request->get('id', ''); + $method = $request->get('method', ''); + $notes = $request->get('notes', ''); + $verificationcode = $request->input('verificationcode', ''); + $txid = $request->input('txid', ''); + if (!$id) { + return $this->error('参数错误'); + } + + try { + DB::beginTransaction(); + $wallet_out = UsersWalletOut::where('status', '<=', 1)->lockForUpdate()->findOrFail($id); + $number = $wallet_out->number; + $real_number = bc_mul($wallet_out->number, bc_sub(1, bc_div($wallet_out->rate, 100))); + $user_id = $wallet_out->user_id; + $currency = 3;//$wallet_out->currency;dapp只有USDC =3 + $currency_type = $wallet_out->currency_type; + + $currency_model = Currency::find($currency); + + $contract_address = $currency_model->contract_address; + $total_account = $currency_model->total_account; + + + $user_wallet = UsersWallet::where('user_id', $user_id)->where('currency', $currency)->lockForUpdate()->first(); + + if ($method == 'done') {//确认提币 + // $key = $currency_model->origin_key; + // //以太坊确认提币后。返回成功执行后台操作ldh + // $chain_address = $wallet_out->address; + // if (empty($total_account) || empty($key)) { + // throw new \Exception('请检查您的币种设置:('); + // } + // if (!in_array($currency_type, ['eth', 'erc20', 'usdt', 'btc'])) { + // throw new \Exception('币种类型暂不支持:('); + // } + // if ($currency_type == 'erc20') { + // if (empty($contract_address)) { + // throw new \Exception('币种设置缺少合约地址:('); + // } + // } + // $use_chain_api = Setting::getValueByKey('use_chain_api', 0); + // if ($use_chain_api == 1) { + // //调用链上接口 + // if ($verificationcode == '') { + // throw new Exception('请填写验证码'); + // } + // $params = [ + // 'currency_name' => $currency_model->name, + // 'chain_address' => $chain_address, + // 'real_number' => $wallet_out->real_number, + // 'total_account' => $total_account, + // 'key' => $key + // ]; + // $query_str = md5(http_build_query($params)); + // if (Cache::has($query_str)) { + // throw new \Exception('请勿重复操作,以免给您带来损失,建议用区块链浏览器查询该提币地址的交易记录'); + // } + // Cache::put($query_str, 1, 5); + // $transfer_result = BlockChain::transfer($currency_model->name, $currency_model->type, $chain_address, $wallet_out->real_number, $total_account, $key, 3, 0, $verificationcode); + // if (isset($transfer_result['code']) && $transfer_result['code'] == 0) { + // //链上请求成功 + // $wallet_out->txid = $transfer_result['txid']; //写入信息 + // } else { + // throw new \Exception('链上请求出错:(' . ' 错误信息:' . $transfer_result); + // } + // }else{ + // if ($txid == '') { + // throw new Exception('当前提币没有使用接口,请填写交易哈希以便于用户查询'); + // } + // $wallet_out->txid = $txid; + + // } + $wallet_out->status = 2;//提币成功状态 + $wallet_out->notes = $notes;//反馈的信息 + $wallet_out->verificationcode = $verificationcode; + $wallet_out->update_time = time(); + $wallet_out->save(); + $change_result = change_wallet_balance($user_wallet, 4, -$number, AccountLog::WALLETOUTDONE, '提币成功', true); + if ($change_result !== true) { + throw new Exception($change_result); + } + } else { + $wallet_out->status = 3;//提币失败状态 + $wallet_out->notes = $notes;//反馈的信息 + $wallet_out->verificationcode = $verificationcode; + $wallet_out->update_time = time(); + + $wallet_out->save(); + $change_result = change_wallet_balance($user_wallet, 4, -$number, AccountLog::WALLETOUTBACK, '提币失败,锁定余额减少', true); + if ($change_result !== true) { + throw new Exception($change_result); + } + $change_result = change_wallet_balance($user_wallet, 4, $number, AccountLog::WALLETOUTBACK, '提币失败,锁定余额撤回'); + if ($change_result !== true) { + throw new Exception($change_result); + } + } + DB::commit(); + return $this->success('操作成功:)'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + //导出用户列表至excel + public function csv() + { + $data = USersWalletOut::all()->toArray(); + return Excel::create('提币记录', function ($excel) use ($data) { + $excel->sheet('提币记录', function ($sheet) use ($data) { + $sheet->cell('A1', function ($cell) { + $cell->setValue('ID'); + }); + $sheet->cell('B1', function ($cell) { + $cell->setValue('账户名'); + }); + $sheet->cell('C1', function ($cell) { + $cell->setValue('虚拟币'); + }); + $sheet->cell('D1', function ($cell) { + $cell->setValue('提币数量'); + }); + $sheet->cell('E1', function ($cell) { + $cell->setValue('手续费'); + }); + $sheet->cell('F1', function ($cell) { + $cell->setValue('实际提币'); + }); + $sheet->cell('G1', function ($cell) { + $cell->setValue('提币地址'); + }); + $sheet->cell('H1', function ($cell) { + $cell->setValue('反馈信息'); + }); + $sheet->cell('I1', function ($cell) { + $cell->setValue('状态'); + }); + $sheet->cell('J1', function ($cell) { + $cell->setValue('提币时间'); + }); + if (!empty($data)) { + foreach ($data as $key => $value) { + $i = $key + 2; + if ($value['status'] == 1) { + $value['status'] = '申请提币'; + } else if ($value['status'] == 2) { + $value['status'] = '提币成功'; + } else { + $value['status'] = '提币失败'; + } + $sheet->cell('A' . $i, $value['id']); + $sheet->cell('B' . $i, $value['account_number']); + $sheet->cell('C' . $i, $value['currency_name']); + $sheet->cell('D' . $i, $value['number']); + $sheet->cell('E' . $i, $value['rate']); + $sheet->cell('F' . $i, $value['real_number']); + $sheet->cell('G' . $i, $value['address']); + $sheet->cell('H' . $i, $value['notes']); + $sheet->cell('I' . $i, $value['status']); + $sheet->cell('I' . $i, $value['create_time']); + } + } + }); + })->download('xlsx'); + } +} diff --git a/app/Http/Controllers/Admin/ClaimController.php b/app/Http/Controllers/Admin/ClaimController.php new file mode 100644 index 0000000..761ea46 --- /dev/null +++ b/app/Http/Controllers/Admin/ClaimController.php @@ -0,0 +1,172 @@ +get(); + return view("admin.claim.index")->with('ins_type', $ins_type); + } + + public function lists(Request $request) + { + $limit = $request->get('limit'); + $start_time = $request->get('start_time', ''); + $end_time = $request->get('end_time', ''); + $status = $request->get('apply_status', -1); + $type = $request->get('type', -1); + + $mobile = $request->get('mobile', ''); + $name = $request->get('name', null); + + $list = InsuranceClaimApply::where(function ($query) use ($start_time) { + if (!empty($start_time)) { + $query->where('created_at', '>=', $start_time); + } + })->where(function ($query) use ($end_time) { + if (!empty($end_time)) { + $query->where('created_at', '<=', $end_time); + } + })->where(function ($query) use ($status) { + if ($status != -1) { + $query->where('apply_status', $status); + } + })->where(function ($query) use ($type) { + if ($type != -1) { + $query->where('insurance_type', $type); + } + })->where(function ($query) use ($mobile) { + if (!empty($mobile)) { + $user = Users::where('account_number', $mobile)->first(); + if (!empty($user)) { + $query->where('user_id', $user->id); + } + } + })->where(function($query) use ($name){ + if(!empty($name)){ + $query->whereHas('user',function ($query) use ($name){ + $query->whereHas('userReal',function ($query) use ($name){ + $query->where('name',$name); + }); + }); + } + })->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($list); + } + + /** + * 确认索赔 + */ + public function affirm(Request $request) + { + $claim_apply_id = $request->get('id', 0); + $claim_apply = InsuranceClaimApply::find($claim_apply_id); + $admin = session()->get('admin_username'); + if (!$claim_apply) { + return $this->error('错误参数'); + } + if ($claim_apply->apply_status) { + return $this->error('该理赔已处理'); + } + $user_insurance = UsersInsurance::where('id', $claim_apply->user_insurance_id)->first(); + //保险类型 + $insurance_type = $user_insurance->insurance_type; + + try { + DB::beginTransaction(); + $user_wallet = UsersWallet::where('user_id', $claim_apply->user_id) + ->where('currency', $insurance_type->currency_id) + ->lockForUpdate() + ->first(); + + + switch ($insurance_type->claim_direction) { + case 1: + //索赔清除用户受保金额 + change_wallet_balance($user_wallet, 5, -$user_wallet->insurance_balance, + AccountLog::USER_CLAIM_COMPENSATION, '保险赔偿用户[清除受保金额]', false); + + //将保险受保金额给予用户保险账户 + change_wallet_balance($user_wallet, 5, $claim_apply->compensate, + AccountLog::USER_CLAIM_COMPENSATION, '保险赔偿用户[赔偿受保金额]', false); + break; + case 2: + //将用户的保险状态改变 + $user_insurance->status = 0; + $user_insurance->rescinded_at = \Carbon\Carbon::now()->toDateTimeString(); + $user_insurance->rescinded_type = 1;//解约类型 + $user_insurance->save(); + //索赔清除用户受保金额 + change_wallet_balance($user_wallet, 5, -$user_wallet->insurance_balance, + AccountLog::USER_CLAIM_COMPENSATION, '保险赔偿用户[清除受保金额]', false); + + //将保险受保金额给予用户的期权账户 + change_wallet_balance($user_wallet, 4, $claim_apply->compensate, + AccountLog::USER_CLAIM_COMPENSATION, '保险赔偿用户[赔偿受保金额]', false); + + change_wallet_balance($user_wallet, 5, -$user_wallet->lock_insurance_balance, + AccountLog::INSURANCE_RESCISSION2, '保险解约,扣除保险金额', true); + break; + default: + throw new \Exception('未知受保金额去向状态'); + } + //更改索赔状态 + $user_insurance->claim_status=0; + $user_insurance->save(); + + //更改申请状态 + $claim_apply->apply_status = 1; + $claim_apply->operator = $admin; + $claim_apply->save(); + DB::commit(); + return $this->success('处理成功!'); + } catch (\Exception $e) { + DB::rollBack(); + return $this->error('处理失败:' . $e->getMessage()); + } + } + + + /** + * 拒绝 + */ + public function reject(Request $request) + { + $claim_apply_id = $request->get('id', 0); + $claim_apply = InsuranceClaimApply::find($claim_apply_id); + if (!$claim_apply) { + return $this->error('错误参数'); + } + $user_insurance = UsersInsurance::find($claim_apply->user_insurance_id); + $refuse_reason = $request->get('refuse_reason', ''); + $admin = session()->get('admin_username'); + try { + DB::beginTransaction(); + $user_insurance->claim_status = 0; + $user_insurance->save(); + + $claim_apply->refuse_reason = $refuse_reason; + $claim_apply->operator = $admin; + $claim_apply->apply_status = 2; + $claim_apply->save(); + DB::commit(); + return $this->success('成功'); + } catch (\Exception $e) { + DB::rollBack(); + return $this->success('失败:' . $e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/Admin/CoinTradeController.php b/app/Http/Controllers/Admin/CoinTradeController.php new file mode 100644 index 0000000..1697f22 --- /dev/null +++ b/app/Http/Controllers/Admin/CoinTradeController.php @@ -0,0 +1,55 @@ +get('search',''); + $limit = $request->get('limit', 20); + $status = $request->get('status'); + $type = $request->get('type'); + if($status){ + $where['coin_trade.status'] = $status; + } + if($type){ + $where['coin_trade.type'] = $type; + } + $res = CoinTrade::join('users as u','u_id','=','u.id') + ->join('currency as c','currency_id' ,'=','c.id') + ->join('currency as l','legal_id','=','l.id') + ->where($where) + ->where(function($q)use($account){ + if($account){ + $q->where('u.account_number','=',$account)->orWhere('u.email','=',$account); + }}) + ->select(['u.id','u.account_number','coin_trade.*','l.name as legal_name','c.name as currency_name']) + ->orderBy('coin_trade.id','desc') + ->paginate($limit); + return $this->layuiData($res); + } + public function finishTrade(Request $request){ + $id = $request->get('id'); + $coinTrade = CoinTrade::find($id); + if($coinTrade->status != 1){ + return $this->error('不在交易中状态'); + } + try{ + CoinTradeLogic::forceMatchTrade($coinTrade->id); + }catch (\Exception $e){ + return $this->error($e->getMessage()); + } + return $this->success('操作成功'); + } + public function index(){ + return view('admin.cointrade.index'); + } +} diff --git a/app/Http/Controllers/Admin/Controller.php b/app/Http/Controllers/Admin/Controller.php new file mode 100644 index 0000000..ab6422d --- /dev/null +++ b/app/Http/Controllers/Admin/Controller.php @@ -0,0 +1,51 @@ + $data, //数据或其它信息 + 'info' => $info, //提示信息 + 'status' => $status //1成功, 0失败 + ); + return response()->json($result); + } + public function error($message) + { + return response()->json(['type' => 'error', 'message' => $message]); + } + public function success($message) + { + return response()->json(['type' => 'ok', 'message' => $message]); + } + + + public function layuiData($paginateObj,$extra_data = '') + { + return response()->json([ + 'code' => 0, + 'msg' => '', + 'count' => $paginateObj->total(), + 'data' => $paginateObj->items(), + 'extra_data' => $extra_data, + ]); + } + + public function layui_table($pagination) + { + $count = $pagination->total(); + $items = $pagination->items(); + $result = array( + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $items, + ); + return json_encode($result); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/CurrencyController.php b/app/Http/Controllers/Admin/CurrencyController.php new file mode 100644 index 0000000..ec0b4e9 --- /dev/null +++ b/app/Http/Controllers/Admin/CurrencyController.php @@ -0,0 +1,785 @@ +get('id', 0); + if (empty($id)) { + $result = new Currency(); + } else { + $result = Currency::find($id); + } + + // $result->price_max = Setting::getValueByKey($result->name.'_PRICE_MAX', 0); + // $result->price_min = Setting::getValueByKey($result->name.'_PRICE_MIN', 0); + return view('admin.currency.add')->with('result', $result); + } + + public function class_transfer(Request $request){ + $id = $request->get('id', 0); + $currency = CurrencyClass::find($id); + + + if (empty($currency)) { + return $this->error('参数错误'); + } + + if ($currency->is_display == 1) { + $currency->is_display = 0; + + } else { + $currency->is_display = 1; + + } + try { + $currency->save(); + + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + + public function is_open(Request $request){ + $id = $request->get('id', 0); + $currency = Currency::find($id); + + if (empty($currency)) { + return $this->error('参数错误'); + } + + if ($currency->is_open == 1) { + $currency->is_open = 0; + $data['is_open'] = 0; + } else { + $currency->is_open = 1; + $data['is_open'] = 1; + } + try { + $currency->save(); + CurrencyMatch::where('currency_id', $id)->update($data); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + + public function is_transfer(Request $request){ + $id = $request->get('id', 0); + $currency = Currency::find($id); + if (empty($currency)) { + return $this->error('参数错误'); + } + + if ($currency->is_transfer == 1) { + $currency->is_transfer = 0; + } else { + $currency->is_transfer = 1; + } + try { + $currency->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + public function postAdd(Request $request) + { + $address_erc=$request->get('address_erc')??""; + $address_omni=$request->get('address_omni')??""; + $issue_num=$request->get('issue_num',0)??0; + $content=$request->get('content','')??''; + $id = $request->get('id', 0); + $name = $request->get('name', ''); + $real_name = $request->get('real_name', ''); + $vcode= $request->get('vcode', ''); + $sort = $request->get('sort', 0) ?? 0; + $logo = $request->get('logo', '') ?? ''; + $type = $request->get('type', '') ?? ''; + $is_legal = $request->get('is_legal', 0) ?? 0; + $is_lever = $request->get('is_lever', 0) ?? 0; + $is_match = $request->get('is_match', 0) ?? 0; + $is_micro = $request->get('is_micro', 0); + $micro_min = $request->get('micro_min', 0); + $micro_max = $request->get('micro_max', 0); + $micro_holdtrade_max = $request->input('micro_holdtrade_max', 0); //最大下单笔数 + $price = $request->get('price', 0); + $min_number = $request->get('min_number',0); + $max_number = $request->get('max_number', 0); + $rate = $request->get('rate', 0) ?? 0; + $rmb_relation = $request->get('rmb_relation', 0) ?? 0; + //$total_account = $request->get('total_account', '') ?? ''; + $micro_trade_fee = $request->get('micro_trade_fee', 0)??0; + //$key = $request->get('key', '') ?? ''; + $contract_address = $request->get('contract_address', '') ?? ''; + $decimal_scale = $request->get('decimal_scale', 18); + $chain_fee = $request->get('chain_fee', 0); + $insurancable = $request->get('insurancable', 0); + $verificationcode = $request->input('verificationcode', ''); + $enabled = $request->get('enabled', 0); + $min_unit = $request->get('min_unit', 0); + $count = $request->get('count', 0); + // $price_max = $request->get('price_max',2); + // $price_min = $request->get('price_min',1); + + //自定义验证错误信息 + $messages = [ + 'required' => ':attribute 为必填字段', + ]; + $validator = Validator::make($request->all(), [ + 'name' => 'required', + 'sort' => 'required', + 'type' => 'required', + ], $messages); + + try { + DB::beginTransaction(); + $projectname = config('app.name'); + //如果验证不通过 + if ($validator->fails()) { + throw new \Exception($validator->errors()->first()); + } + $currency = Currency::findOrNew($id); + + $has = Currency::where('name', $name)->first(); + + if (empty($id) && !empty($has)) { + throw new \Exception('币种 ' . $name . ' 已存在'); + } + + // $chain_client = app('LbxChainServer'); + + // if ($currency->total_account != $total_account) { + // if ($verificationcode == '') { + // throw new \Exception('请先填写验证码再操作'); + // } else { + // $uri = '/v3/wallet/changeaddress'; + // $response = $chain_client->request('post', $uri, [ + // 'form_params' => [ + // 'projectname' => $projectname, + // 'coin' => strtoupper($currency->type), + // 'address' => $total_account, + // 'verificationcode' => $verificationcode, + // ], + // ]); + // $result = json_decode($response->getBody()->getContents(), true); + // if (!isset($result['code']) || $result['code'] != 0) { + // throw new \Exception($result['msg'] ?? '请求发生错误'); + // } + // } + // } + $currency->address_omni=$address_omni; + $currency->address_erc=$address_erc; + $currency->micro_trade_fee=$micro_trade_fee; + $currency->issue_num=$issue_num; + $currency->content=$content; + $currency->name = $name; + $currency->real_name = $real_name; + $currency->vcode = $vcode; + $currency->sort = intval($sort); + $currency->logo = $logo; + $currency->is_legal = $is_legal; + $currency->is_lever = $is_lever; + $currency->is_match = $is_match; + $currency->is_micro = $is_micro; + $currency->min_number = $min_number; + $currency->max_number = $max_number; + $currency->micro_holdtrade_max = $micro_holdtrade_max; + $currency->rate = $rate; + $currency->price = $price; + $currency->micro_min = $micro_min; + $currency->micro_max = $micro_max; + $currency->rmb_relation = $rmb_relation; + //$currency->total_account = $total_account; + $currency->decimal_scale = $decimal_scale; + $currency->insurancable = $insurancable; + $currency->chain_fee = $chain_fee; //链上手续费 + // if ($key != '********' ) { + // $uri = '/v3/wallet/encrypt'; + // $response = $chain_client->request('post', $uri, [ + // 'form_params' => [ + // 'projectname' => $projectname, + // 'p' => $key, + // ], + // ]); + // $result = json_decode($response->getBody()->getContents(), true); + // if (!isset($result['code']) || $result['code'] != 0) { + // throw new \Exception($result['msg'] ?? '请求发生错误'); + // } + // $currency->key = $result['data']['k']; + // } + + $oldmin_unit=$currency->min_unit; + $oldcount=$currency->count; + $currency->enabled = $enabled; + $currency->min_unit = $min_unit; + $currency->count = $count; + + $currency->contract_address = $contract_address; + $currency->type = $type; + $currency->is_display = 1; + + if($enabled==1){ + if($min_unit!=$oldmin_unit || $count!=$oldcount){ + // $currency->yujicontact= bcadd($currency->oncontact,$count,4); + $currency->oncontact=0; + + } + }else{ + $currency->yujicontact=0; + $currency->oncontact=0; + } + + + $result = $currency->save();//保存币种 + if($result){ + CurrencyContact::where('currency_id', $id)->delete(); + $data['sort'] = intval($sort); + CurrencyMatch::where('currency_id', $id)->update($data); + } + + // Setting::updateValueByKey($currency->name.'_PRICE_MAX', $price_max); + // Setting::updateValueByKey($currency->name.'_PRICE_MIN', $price_min); + + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error('操作失败:' . $exception->getMessage()); + } + } + public function setInAddress(Request $request) + { + $id = $request->route('id', 0); + $currency = Currency::findOrFail($id); + return view('admin.currency.set_in_address', [ + 'currency' => $currency, + ]); + } + + public function setOutAddress(Request $request) + { + $id = $request->route('id', 0); + $currency = Currency::findOrFail($id); + return view('admin.currency.set_out_address', [ + 'currency' => $currency, + ]); + } + + /** + * 设置转入钱包地址 + * + * @param Request $request + * @return \Illuminate\Http\Response + */ + public function postSetInAddress(Request $request) + { + try { + $id = $request->input('id', 0); + $verificationcode = $request->input('verificationcode', ''); + $collect_account = $request->input('collect_account', ''); + $currency = Currency::findOrFail($id); + if ($verificationcode == '') { + throw new \Exception('请先填写验证码再操作'); + } + if ($collect_account == '' || $collect_account == $currency->total_account) { + throw new \Exception('转入地址不能为空或与转出地址相同'); + } + $projectname = config('app.name'); + $chain_client = app('LbxChainServer'); + // 更改转入地址 + $uri = '/v3/wallet/changeinaddress'; + $response = $chain_client->request('post', $uri, [ + 'form_params' => [ + 'projectname' => $projectname, + 'coin' => strtoupper($currency->type), + 'address' => $collect_account, + 'verificationcode' => $verificationcode, + ], + ]); + $result = json_decode($response->getBody()->getContents(), true); + if (!isset($result['code']) || $result['code'] != 0) { + throw new \Exception($result['msg'] ?? '请求发生错误'); + } + $currency->collect_account = $collect_account; + $currency->save(); + return $this->success('操作完成'); + } catch (\Throwable $th) { + return $this->error($th->getMessage()); + } + } + + /** + * 设置转出钱包地址 + * + * @param Request $request + * @return \Illuminate\Http\Response + */ + public function postSetOutAddress(Request $request) + { + try { + $id = $request->input('id', 0); + $verificationcode = $request->input('verificationcode', ''); + $total_account = $request->input('total_account', ''); + $key = $request->input('key', ''); + $encrypt_key = ''; + $currency = Currency::findOrFail($id); + if ($verificationcode == '') { + throw new \Exception('请先填写验证码再操作'); + } + if ($total_account == '' || $total_account == $currency->collect_account) { + throw new \Exception('转出地址不能为空或与归拢地址不能相同'); + } + $projectname = config('app.name'); + $chain_client = app('LbxChainServer'); + // 更改转出地址 + $uri = '/v3/wallet/changeoutaddress'; + $response = $chain_client->request('post', $uri, [ + 'form_params' => [ + 'projectname' => $projectname, + 'coin' => strtoupper($currency->type), + 'address' => $total_account, + 'verificationcode' => $verificationcode, + ], + ]); + $result = json_decode($response->getBody()->getContents(), true); + if (!isset($result['code']) || $result['code'] != 0) { + throw new \Exception($result['msg'] ?? '请求发生错误'); + } + $auto_encrypt_private = Setting::getValueByKey('auto_encrypt_private', 1); + if ($key != '********' && $key != '') { + if ($auto_encrypt_private) { + $uri = '/v3/wallet/encrypt'; + $response = $chain_client->request('post', $uri, [ + 'form_params' => [ + 'projectname' => $projectname, + 'p' => $key, + ], + ]); + $result = json_decode($response->getBody()->getContents(), true); + if (!isset($result['code']) || $result['code'] != 0) { + throw new \Exception($result['msg'] ?? '请求发生错误'); + } + $encrypt_key = $result['data']['k']; + } else { + $encrypt_key = ''; + } + } + $currency->key = $encrypt_key; + $currency->total_account = $total_account; + $currency->save(); + return $this->success('操作完成'); + } catch (\Throwable $th) { + return $this->error($th->getMessage()); + } + } + + public function lists(Request $request) + { + $limit = $request->get('limit', 20); + $insurable = $request->get('insurancable', null); + $result = new Currency(); + + if($insurable){ + $result->where('insurancable',1); + } + +// $account_number = $request->get('account_number',''); + + $result = $result->orderBy('sort', 'asc')->paginate($limit); + + return $this->layuiData($result); + } + + public function listsclass(Request $request) + { + $limit = $request->get('limit', 20); + $insurable = $request->get('is_display', null); + $result = new CurrencyClass(); + + if($insurable){ + $result->where('is_display',1); + } + +// $account_number = $request->get('account_number',''); + + $result = $result->orderBy('sort', 'asc')->paginate($limit); + + return $this->layuiData($result); + } + + + public function delete(Request $request) + { + $id = $request->get('id', 0); + $acceptor = Currency::find($id); + if (empty($acceptor)) { + return $this->error('无此币种'); + } + try { + $acceptor->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function isDisplay(Request $request) + { + $id = $request->get('id', 0); + $currency = Currency::find($id); + if (empty($currency)) { + return $this->error('参数错误'); + } + if ($currency->is_display == 1) { + $currency->is_display = 0; + } else { + $currency->is_display = 1; + } + try { + $currency->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + public function isInsurancable(Request $request) + { + $id = $request->get('id', 0); + $currency = Currency::find($id); + if (empty($currency)) { + return $this->error('参数错误'); + } + if ($currency->insurancable == 1) { + $currency->insurancable = 0; + } else { + $currency->insurancable = 1; + } + try { + $currency->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function executeCurrency(Request $request) + { + $id = intval($request->get('id', 0)); + $is_execute = Setting::getValueByKey('currency_' . $id, 0); + if ($is_execute == 1) { + return $this->error('该币上币程序正在后台执行中'); + } elseif ($is_execute == 2) { + return $this->error('该币已经运行过上币程序'); + } else { + $path = base_path(); + $process = new Process('nohup php artisan execute_currency ' . $id . ' >./execute_currency.log 2>&1 &', $path); //第一个参数是运行的命令,命令方式跟 Linux 一致,第二个参数是可以执行此条命令的路径 + //上边那个是交易所的上币逻辑,下边这个是钱包的上币逻辑 + //$process = new Process('nohup php artisan make_wallet ' . $id . ' >./execute_currency.log 2>&1 &', $path); //第一个参数是运行的命令,命令方式跟 Linux 一致,第二个参数是可以执行此条命令的路径 + $process->run(); + return $this->success('开始在后台执行上币脚本'); + } + } + + /** + * 交易对显示 + * + * @return void + */ + public function match() + { + return view('admin.currency.match'); + } + + public function matchList(Request $request) + { + $legal_id = $request->route('legal_id'); + $limit = $request->input('limit', 10); + $legal = Currency::find($legal_id); + $matchs = $legal->quotation()->paginate($limit); + return $this->layuiData($matchs); + } + + public function addMatch($legal_id) + { + $is_legal = Currency::where('id', $legal_id)->value('is_legal'); + if (!$is_legal) { + abort(403, '指定币种不是法币,不能添加交易对'); + } + $currencies = Currency::where('id', '<>', $legal_id)->get(); + $market_from_names = CurrencyMatch::enumMarketFromNames(); + return view('admin.currency.match_add')->with('currencies', $currencies) + ->with('market_from_names', $market_from_names); + } + + public function postAddMatch(Request $request, $legal_id) + { + $is_legal = Currency::where('id', $legal_id)->value('is_legal'); + if (!$is_legal) { + return $this->error('指定币种不是法币,不能添加交易对'); + } + $currency_id = $request->input('currency_id'); + $is_display = $request->input('is_display', 1); + $market_from = $request->input('market_from', 0); + $open_transaction = $request->input('open_transaction', 0); + $open_lever = $request->input('open_lever', 0); + $open_microtrade = $request->input('open_microtrade', 0); + $open_coin_trade = $request->input('open_coin_trade', 0); + $lever_share_num = $request->input('lever_share_num', 1); + $coin_trade_success = $request->input('coin_trade_success', 0); + $spread = $request->input('spread', 0); + $overnight = $request->input('overnight', 0); + $lever_trade_fee = $request->input('lever_trade_fee', 0); + $lever_min_share = $request->input('lever_min_share', 0); + $lever_max_share = $request->input('lever_max_share', 0); + $fluctuate_min = $request->input('fluctuate_min', 0); + $fluctuate_max = $request->input('fluctuate_max', 0); + $risk_group_result = $request->input('risk_group_result', 0); + $cate = $request->input('category'); + $min = $request->input('min',0); + //检测交易对是否已存在 + $exist = CurrencyMatch::where('currency_id', $currency_id) + ->where('legal_id', $legal_id) + ->first(); + if ($exist) { + return $this->error('对应交易对已存在'); + } + CurrencyMatch::unguard(); + $currency_match = CurrencyMatch::create([ + 'legal_id' => $legal_id, + 'currency_id' => $currency_id, + 'is_display' => $is_display, + 'market_from' => $market_from, + 'open_transaction' => $open_transaction, + 'open_lever' => $open_lever, + 'open_microtrade' => $open_microtrade, + 'open_coin_trade' => $open_coin_trade, + 'lever_share_num' => $lever_share_num, + 'lever_trade_fee' => $lever_trade_fee, + 'fluctuate_min' => $fluctuate_min, + 'fluctuate_max' => $fluctuate_max, + 'risk_group_result' => $risk_group_result, + 'spread' => $spread, + 'overnight' => $overnight, + 'lever_min_share' => $lever_min_share, + 'lever_max_share' => $lever_max_share, + 'category' => $cate, + 'min' => $min, + 'create_time' => time(), + 'coin_trade_success' => $coin_trade_success, + ]); + CurrencyMatch::reguard(); + + $all=DB::table("currency_matches")->where("market_from",1)->where("is_display",1)->select("id","currency_id","legal_id")->get(); + $all=json_decode(json_encode($all),true); + foreach ($all as $k=>$v){ + $one=DB::table("currency")->where("id",$v["currency_id"])->select("name")->first(); + $legal=DB::table("currency")->where("id",$v["legal_id"])->select("name")->first(); + $all[$k]["name"]=$one->name; + $all[$k]["legal_name"]=$legal->name; + } + $str="['.PHP_EOL; + foreach ($all as $k=>$v){ + if($k>0){ + $str.=','.PHP_EOL; + } + $str.='['.PHP_EOL; + $str.='"id"=>'.$v["id"].','.PHP_EOL; + $str.='"currency_id"=>'.$v["currency_id"].','.PHP_EOL; + $str.='"legal_id"=>'.$v["legal_id"].','.PHP_EOL; + $str.='"name"=>"'.$v["name"].'"'.','.PHP_EOL; + $str.='"legal_name"=>"'.$v["legal_name"].'"'.PHP_EOL; + $str.=']'; + } + // $str.=json_encode($all).PHP_EOL; + $str.=']'.PHP_EOL.'];'.PHP_EOL; + WFile("../config/tasks_matches.php",$str); + + return isset($currency_match->id) ? $this->success('添加成功') : $this->error('添加失败'); + } + + public function editMatch($id) + { + + $currency_match = CurrencyMatch::where('currency_id',$id)->first(); + if (!$currency_match) { + abort(403, '指定交易对不存在'); + } + $market_from_names = CurrencyMatch::enumMarketFromNames(); + $currencies = Currency::where('id', '<>', $currency_match->legal_id)->get(); + $var = compact('currency_match', 'currencies', 'market_from_names'); + return view('admin.currency.match_add', $var); + } + + public function postEditMatch(Request $request, $id) + { + $currency_id = $request->input('currency_id'); + $is_display = $request->input('is_display', 1); + $market_from = $request->input('market_from', 0); + $open_transaction = $request->input('open_transaction', 0); + $open_lever = $request->input('open_lever', 0); + $open_microtrade = $request->input('open_microtrade', 0); + $open_coin_trade = $request->input('open_coin_trade', 0); + $coin_trade_success = $request->input('coin_trade_success', 0); + $lever_share_num = $request->input('lever_share_num', 1); + $spread = $request->input('spread', 0); + $overnight = $request->input('overnight', 0); + $lever_trade_fee = $request->input('lever_trade_fee', 0); + $lever_min_share = $request->input('lever_min_share', 0); + $lever_max_share = $request->input('lever_max_share', 0); + $fluctuate_min = $request->input('fluctuate_min', 0); + $fluctuate_max = $request->input('fluctuate_max', 0); + $risk_group_result = $request->input('risk_group_result', 0); + $cate = $request->input('category'); + $min = $request->input('min',0); + $currency_match = CurrencyMatch::where('currency_id',$id)->first();//CurrencyMatch::find($id); + if (!$currency_match) { + abort(403, '指定交易对不存在'); + } + CurrencyMatch::unguard(); + $result = $currency_match->fill([ + 'currency_id' => $currency_id, + 'is_display' => $is_display, + 'market_from' => $market_from, + 'open_transaction' => $open_transaction, + 'open_lever' => $open_lever, + 'open_microtrade' => $open_microtrade, + 'open_coin_trade' => $open_coin_trade, + 'lever_share_num' => $lever_share_num, + 'lever_trade_fee' => $lever_trade_fee, + 'fluctuate_min' => $fluctuate_min, + 'fluctuate_max' => $fluctuate_max, + 'risk_group_result' => $risk_group_result, + 'spread' => $spread, + 'overnight' => $overnight, + 'lever_min_share' => $lever_min_share, + 'lever_max_share' => $lever_max_share, + 'category' => $cate, + 'min' => $min, + 'create_time' => time(), + 'coin_trade_success' => $coin_trade_success, + ])->save(); + CurrencyMatch::reguard(); + + $all=DB::table("currency_matches")->where("market_from",1)->where("is_display",1)->select("id","currency_id","legal_id")->get(); + $all=json_decode(json_encode($all),true); + foreach ($all as $k=>$v){ + $one=DB::table("currency")->where("id",$v["currency_id"])->select("name")->first(); + $legal=DB::table("currency")->where("id",$v["legal_id"])->select("name")->first(); + $all[$k]["name"]=$one->name; + $all[$k]["legal_name"]=$legal->name; + } + $str="['.PHP_EOL; + foreach ($all as $k=>$v){ + if($k>0){ + $str.=','.PHP_EOL; + } + $str.='['.PHP_EOL; + $str.='"id"=>'.$v["id"].','.PHP_EOL; + $str.='"currency_id"=>'.$v["currency_id"].','.PHP_EOL; + $str.='"legal_id"=>'.$v["legal_id"].','.PHP_EOL; + $str.='"name"=>"'.$v["name"].'"'.','.PHP_EOL; + $str.='"legal_name"=>"'.$v["legal_name"].'"'.PHP_EOL; + $str.=']'; + } + // $str.=json_encode($all).PHP_EOL; + $str.=']'.PHP_EOL.'];'.PHP_EOL; + WFile("../config/tasks_matches.php",$str); + return $result ? $this->success('保存成功') : $this->error('保存失败'); + } + + public function delMatch($id) + { + $result = CurrencyMatch::destroy($id); + + $all=DB::table("currency_matches")->where("market_from",1)->where("is_display",1)->select("id","currency_id","legal_id")->get(); + $all=json_decode(json_encode($all),true); + foreach ($all as $k=>$v){ + $one=DB::table("currency")->where("id",$v["currency_id"])->select("name")->first(); + $legal=DB::table("currency")->where("id",$v["legal_id"])->select("name")->first(); + $all[$k]["name"]=$one->name; + $all[$k]["legal_name"]=$legal->name; + } + $str="['.PHP_EOL; + foreach ($all as $k=>$v){ + if($k>0){ + $str.=','.PHP_EOL; + } + $str.='['.PHP_EOL; + $str.='"id"=>'.$v["id"].','.PHP_EOL; + $str.='"currency_id"=>'.$v["currency_id"].','.PHP_EOL; + $str.='"legal_id"=>'.$v["legal_id"].','.PHP_EOL; + $str.='"name"=>"'.$v["name"].'"'.','.PHP_EOL; + $str.='"legal_name"=>"'.$v["legal_name"].'"'.PHP_EOL; + $str.=']'; + } + // $str.=json_encode($all).PHP_EOL; + $str.=']'.PHP_EOL.'];'.PHP_EOL; + WFile("../config/tasks_matches.php",$str); + return $result ? $this->success('删除成功') : $this->error('删除失败'); + } + + public function microMatch(Request $request) + { + return view('admin.setting.currency_risk'); + } + + public function microMatchList(Request $request) + { + $limit = $request->input('limit', 10); + $risk = $request->input('risk', -2); + $currency_match = CurrencyMatch::where('open_microtrade', 1) + ->when($risk != -2, function ($query) use ($risk) { + $query->where('risk_group_result', $risk); + }) + ->paginate($limit); + $items = $currency_match->getCollection(); + $items->transform(function ($item, $key) { + return $item->append('risk_group_result_name'); + }); + $currency_match->setCollection($items); + return $this->layuiData($currency_match); + } + + public function microRisk(Request $request) + { + $ids = $request->input('ids', []); + $risk = $request->input('risk', 0); + $affect_rows = CurrencyMatch::whereIn('id', $ids)->update(['risk_group_result' => $risk]); + return $this->success($affect_rows . '个交易对设置成功'); + } +} diff --git a/app/Http/Controllers/Admin/CurrencyDepositController.php b/app/Http/Controllers/Admin/CurrencyDepositController.php new file mode 100644 index 0000000..f6626d7 --- /dev/null +++ b/app/Http/Controllers/Admin/CurrencyDepositController.php @@ -0,0 +1,130 @@ +route('currency_id'); + $limit = $request->get('limit', 20); + // var_dump($currencyId);exit; + $list = CurrencyDeposit::where('currency_id',$currencyId)->orderBy('id', 'asc')->paginate($limit); + + return $this->layuiData($list); + } + + public function newConfig(Request $request){ + $currencyId = $request->get('currency_id'); + $day = $request->get('day'); + $rate = $request->get('rate'); + $save_min = $request->get('save_min'); + $output = $request->get('out_currency_id'); + $res = DB::table('currency_deposit')->where('currency_id',$currencyId)->where('day',$day)->where('output_currency_id',$output)->first(); + if($res){ + return $this->error('存在重复的期限'); + } + DB::table('currency_deposit')->insert([ + 'day' => $day, + 'output_currency_id' => $output, + 'total_interest_rate' => $rate, + 'currency_id' => $currencyId, + 'save_min' => $save_min, + 'created_at' => date('Y-m-d H:i:s') + ]); + return $this->success('创建成功'); + } + + public function deleteConfig(Request $request){ + $configId = $request->get('id'); + DB::table('currency_deposit')->where('id',$configId)->delete(); + return $this->success('删除成功'); + } + + public function editConfig(Request $request){ + $configId = $request->get('id'); + $day = $request->get('day'); + $rate = $request->get('rate'); + $save_min = $request->get('save_min'); + $model = DB::table('currency_deposit')->where('id',$configId)->first(); + if(!$model){ + return $this->error('找不到次期限'); + } + $res = DB::table('currency_deposit')->where('id','<>',$configId)->where('currency_id',$model->currency_id)->where('day',$day)->first(); + if($res){ + return $this->error('存在重复的期限'); + } + DB::table('currency_deposit')->where('id',$configId)->update([ + 'day' => $day, + // 'total_rate' => $rate, + 'total_interest_rate' => $rate, + 'save_min' => $save_min, + // 'created_at' => date('Y-m-d H:i:s') + ]); + return $this->success('创建成功'); + } + + public function orderList(Request $request){ + $account = $request->get('account_number'); + $currencyId = $request->get('currency_id'); + $status = $request->get('status'); + $limit = $request->get('limit', 20); + $page = $request->get('page', 1); + $where = []; + if($currencyId){ + $where['currency_id'] = $currencyId; + } + if($status){ + $where['lh_deposit_order.status'] = $status; + } + + // $model = new CurrencyDepositOrder(); + // $list = $model->join('users','users.id','=','u_id')->join('currency','currency.id','=','currency_id') + // ->where(function($q)use($account){ + // if($account){ + // $q->where('users.account_number','=',$account)->orWhere('users.email','=',$account); + // } + // })->where($where)->orderBy('currency_deposit_order.created_at','desc') + // ->select(['currency.name as currency_name','users.account_number','currency_deposit_order.*']) + // ->paginate($limit); + // $list = LhDepositOrder::join('currency','currency.id','=','currency_id') + // ->where($where) + // ->orderBy('lh_deposit_order.id','desc') + // ->skip($limit*($page-1))->take($limit) + // ->get(['currency.name as currency_name','lh_deposit_order.id','amount','day_rate','total_interest','start_at','end_at','status']) + // ->paginate($limit); + $model = new LhDepositOrder(); + $list = $model->join('users','users.id','=','user_id')->join('currency','currency.id','=','currency_id') + ->where(function($q)use($account){ + if($account){ + $q->where('users.account_number','=',$account)->orWhere('users.email','=',$account); + } + })->where($where)->orderBy('lh_deposit_order.created_at','desc') + ->select(['currency.name as currency_name','users.account_number','lh_deposit_order.*']) + ->paginate($limit); + return $this->layuiData($list); + } + public function orderView(){ + return view('admin.currency.order_list'); + } + + public function addConfigView(Request $request){ + $currencies = Currency::where('id', '>', 0)->get(); + return view('admin.currency.add_config')->with('currencies', $currencies); + + } + + public function editConfigView(Request $request){ + return view('admin.currency.edit_config'); + } + + public function configView(){ + return view('admin.currency.config'); + } +} diff --git a/app/Http/Controllers/Admin/CurrencyProjectController.php b/app/Http/Controllers/Admin/CurrencyProjectController.php new file mode 100644 index 0000000..52b154d --- /dev/null +++ b/app/Http/Controllers/Admin/CurrencyProjectController.php @@ -0,0 +1,244 @@ +get('project_id'); + $project = CurrencyProject::find($id); + return $this->success($project); + } + + public function projectList(Request $request){ + $limit = $request->get('limit', 20); + $model = new CurrencyProject(); + $currency_id = $request->get('currency_id'); + $where = []; + if($currency_id){ + $where['currency_id'] = $currency_id; + } + $list = $model->where($where)->paginate($limit); + return $this->layuiData($list); + } + + public function newProject(Request $request){ + $currencyId = $request->get('currency_id'); + $payCurrencyId = $request->get('pay_currency_id'); + $title = $request->get('title'); + $summary = $request->get('summary'); + $content = $request->get('content'); + $startAt = $request->get('start_at'); + $endAt = $request->get('end_at'); + $whiteBook = $request->get('white_book'); + $price = $request->get('price'); + $link = $request->get('link'); + $logo = $request->get('logo'); + $min = $request->get('min',0); + $amount = $request->get('amount'); + $sellBegin = $request->get('sell_begin',null); + + if(empty($amount) ||empty($currencyId) || empty($title) || empty($summary) || empty($content) || empty($startAt) || empty($endAt) || empty($whiteBook) || empty($link)){ + return $this->error('内容不能为空'); + } + $currency = Currency::find($currencyId); + if(!$currency){ + return $this->error('币种不存在'); + } + $payCurrency = Currency::find($payCurrencyId); + if(!$payCurrency){ + return $this->error('支付币种不存在'); + } + // $res = CurrencyProject::where('currency_id',$currencyId)->first(); + // if($res){ + // return $this->error('该币种已成立项目,不能重复'); + // } + if(strtotime($startAt) < time() || strtotime($endAt) < time()){ + return $this->error('开始时间与结束时间不得早于当前时间'); + } + if($sellBegin && strtotime($sellBegin) < strtotime($endAt)){ + return $this->error('配售时间不得早于结束时间'); + } + if(empty($request->input('total_apply')) || empty($request->input('win_rate'))){ + return $this->error('中奖配置不能为空'); + } + CurrencyProject::insert([ + 'currency_id' => $currencyId, + 'title' => $title, + 'summary' => $summary, + 'content' => $content, + 'white_book' => $whiteBook, + 'link' => $link, + 'price' => $price, + 'pay_currency_id' => $payCurrencyId, + 'start_at' => $startAt, + 'end_at' => $endAt, + 'logo' => $logo, + 'sell_begin' => $sellBegin, + 'min' => $min, + 'amount' => $amount, + 'sell_amount' => $request->input('sell_amount',0), + 'total_apply' => $request->input('total_apply'), + 'win_rate' => $request->input('win_rate') + + ]); + return $this->success('创建成功'); + } + + public function editProject(Request $request){ + $projectId = $request->get('project_id'); + $title = $request->get('title'); + $summary = $request->get('summary'); + $content = $request->get('content'); + $startAt = $request->get('start_at'); + $price = $request->get('price'); + $endAt = $request->get('end_at'); + $whiteBook = $request->get('white_book'); + $logo = $request->get('logo'); + $link = $request->get('link'); + $min = $request->get('min',0); + $sellBegin = $request->get('sell_begin',null); + $amount = $request->get('amount',0); + if(empty($amount) || empty($projectId) || empty($title) || empty($summary) || empty($content) || empty($startAt) || empty($endAt) || empty($whiteBook) || empty($link)){ + return $this->error('内容不能为空'); + } + + $project = CurrencyProject::find($projectId); + if(!$project){ + return $this->error('找不到此项目'); + } + if(strtotime($project->start_at) < time()){ + // return $this->error('项目已开启,不可编辑'); + } + if($project->status == 2){ + return $this->error('此项目已完结'); + } + if($sellBegin && strtotime($sellBegin) < strtotime($endAt)){ + return $this->error('配售时间不得早于结束时间'); + } + $data = [ + 'title' => $title, + 'summary' => $summary, + 'content' => $content, + 'white_book' => $whiteBook, + 'price' => $price, + 'link' => $link, + 'start_at' => $startAt, + 'logo' => $logo, + 'end_at' => $endAt, + 'sell_begin' => $sellBegin, + 'min' => $min, + 'amount' =>$amount, + 'sell_amount' => $request->input('sell_amount',0), + 'total_apply' => $request->input('total_apply'), + 'win_rate' => $request->input('win_rate') + ]; + CurrencyProject::where('id',$projectId)->update($data); + return $this->success('创建成功'); + } + + + public function projectOrderList(Request $request){ + $id = $request->get('project_id'); + $project = CurrencyProject::find($id); + $limit = $request->get('limit'); + $type = $request->get('type'); + $search = $request->get('search'); + $status = $request->get('status'); + if(!$project){ + return $this->error('找不到项目'); + } + $where = []; + if($type){ + $where['currency_project_order.type'] = $type; + } + if($status){ + $where['currency_project_order.status'] = $status; + } + $model = CurrencyProjectOrder::join('users','users.id','=','u_id'); + if($search){ + $model = $model->where("phone", 'like', '%' . $account . '%') + ->orwhere('email', 'like', '%' . $account . '%') + ->orWhere('account_number', 'like', '%' . $account . '%'); + } + $orders =$model->where('project_id',$id)->where($where) + ->select(['currency_project_order.*','users.account_number'])->paginate($limit); + return $this->layuiData($orders); + } + + public function confirmSell(Request $request){ + $order_id = $request->get('order_id'); + $amount = $request->get('amount'); + if(empty($order_id) || empty($amount)){ + return $this->error('参数错误'); + } + $order = CurrencyProjectOrder::find($order_id); + if(!$order){ + return $this->error('找不到订单'); + } + if($order->type != 3){ + return $this->error('订单类型异常'); + } + if($order->status != 2){ + return $this->error('订单状态异常'); + } + $price = bc_div($order->total_price,$amount,8); + $op_wallet = UsersWallet::where('user_id',$order->u_id) + ->where('currency',$order->currency_id) + ->first(); + DB::beginTransaction(); + try{ + $result = change_wallet_balance($op_wallet, + 4, + $amount, + AccountLog::IEO_OPERATION, + 'ieo order'); + $order->price = $price; + $order->coin_amount = $amount; + $order->status = 3; + $order->save(); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('success'); + } + + public function confirmSellView(){ + return view('admin.currency.confirm_sell'); + } + + public function projectOrderView(){ + return view('admin.currency.project_orders'); + } + + public function projectView(){ + return view('admin.currency.project_list'); + } + public function projectDetailView(){ + + $id = Input::get('id',0); + $info = null; + if ($id){ + $info = CurrencyProject::find($id); + } + + $currencies = Currency::where('id', '>', 0)->get(); + return view('admin.currency.project_detail')->with('currencies', $currencies) + ->with('info',$info); + } +} diff --git a/app/Http/Controllers/Admin/DefaultController.php b/app/Http/Controllers/Admin/DefaultController.php new file mode 100644 index 0000000..f746971 --- /dev/null +++ b/app/Http/Controllers/Admin/DefaultController.php @@ -0,0 +1,89 @@ +error('用户名必须填写'); + } + if (empty($password)) { + return $this->error('密码必须填写'); + } + $password = Users::MakePassword($password); + $admin = Admin::where('username', $username)->where('password', $password)->first(); + if (empty($admin)) { + return $this->error('用户名密码错误'); + } else { + $role = AdminRole::find($admin->role_id); + if (empty($role)) { + return $this->error('账号异常'); + } else { + session()->put('admin_username', $admin->username); + session()->put('admin_id', $admin->id); + session()->put('admin_role_id', $admin->role_id); + session()->put('admin_is_super', $role->is_super); + return $this->success('登陆成功'); + } + } + } + + public function login1() + { + return view('admin.login1'); + } + + public function index() + { + $admin_role = AdminRolePermission::where("role_id", session()->get('admin_role_id'))->get(); + $admin_role_data = array(); + foreach ($admin_role as $r) { + array_push($admin_role_data, $r->action); + } + return view('admin.indexnew')->with("admin_role_data", $admin_role_data);; + } + + public function indexnew() + { + $admin_role = AdminRolePermission::where("role_id", session()->get('admin_role_id'))->get(); + $admin_role_data = array(); + foreach ($admin_role as $r) { + array_push($admin_role_data, $r->action); + } + return view('admin.index')->with("admin_role_data", $admin_role_data);; + } + + + + public function getVerificationCode(Request $request) + { + $http_client = app('LbxChainServer'); + + $uri = '/v3/wallet/verification'; + + $response = $http_client->request('post', $uri, [ + 'form_params' => [ + 'projectname' => config('app.name'), + ], + ]); + $result = json_decode($response->getBody()->getContents(), true); + if (isset($result['code']) && $result['code'] == 0) { + return $this->success('发送成功'); + } else { + return $this->error($result['msg']); + } + } +} diff --git a/app/Http/Controllers/Admin/DualController.php b/app/Http/Controllers/Admin/DualController.php new file mode 100644 index 0000000..16cd76a --- /dev/null +++ b/app/Http/Controllers/Admin/DualController.php @@ -0,0 +1,259 @@ + "Jan", + '02' => "Feb", + '03' => "Mar", + '04' => "Apr", + '05' => "May", + '06' => "Jun", + '07' => "Jul", + '08' => "Aug", + '09' => "Sep", + '10' => "Oct", + '11' => "Nov", + '12' => "Dec"); + + public function index(){ + + return view('admin.dual.index'); + } + + public function order(){ + + + return view('admin.dual.order'); + } + + //订单列表 + public function order_lists(Request $request){ + + $limit = $request->get('limit', 20); + $orderid = $request->get('orderid'); + $user_id = $request->get('user_id'); + $status = $request->get('status'); + + + $list = DB::table('dual_order')->join('dual_currency', 'dual_currency.id', '=', 'dual_order.dual_id'); + + if($orderid){ + $list->where('dual_order.orderid','LIKE','%'.$orderid.'%'); + } + + if($status){ + $list->where('dual_order.status',$status); + } + + if($user_id){ + $list->where('dual_order.user_id',$user_id); + } + + $list = $list->select('dual_order.*','dual_currency.days')->orderBy('dual_order.id', 'desc')->paginate($limit); + return $this->layuiData($list); + } + + public function add(){ + $currencies = Currency::where('is_legal', 1)->get(); + return view('admin.dual.add')->with('currencies', $currencies); + } + + + public function editDualView(Request $request){ + $id = $request->get('id'); + if(empty($id)){ + return $this->error('参数错误'); + } + $dual_currency = DualCurrency::where(['id'=>$id])->first(); + + $invest = $dual_currency->invest; + + + $currencies = Currency::where('is_legal', 1)->get(); + // dump($dual_currency);die; + return view('admin.dual.edit_dual',['results' => $dual_currency])->with('currencies', $currencies)->with('invest', $invest); + } + + //编辑项目 + public function editDual(Request $request){ + + $id = $request->post('id'); + $name = $request->post('name'); + $days = $request->post('days'); + $rate = $request->post('rate'); + $ratemax = $request->post('ratemax'); + $amount = $request->post('amount'); + $amax = $request->post('amax'); + $status = $request->post('status'); + $hot = $request->post('hot'); + $commission = $request->post('commission'); + $total_number = $request->post('total_number'); + $invest = $request->post('invest'); + $investtr =''; + foreach ($invest as $k=>$v){ + + $investtr .=$v.'+'; + } + $liquidateddamages = $request->post('liquidateddamages'); + + if(empty($days)){ + return $this->error('参数错误'); + } + if($rate >= $ratemax){ + return $this->error('起始回报率不能大于最大回报率'); + } + + + if($amount >= $amax){ + return $this->error('起始金额不能大于最大金额'); + } + + + + $dual_currency = DualCurrency::where(['id'=>$id])->first(); + $dual_currency->invest = substr($investtr, 0, strlen($investtr) - 1); + $dual_currency->total_number = $total_number; + $dual_currency->remaining_number = $total_number; + $dual_currency->hot = $hot; + $dual_currency->commission = $commission; + $dual_currency->days = $days; + $dual_currency->name = $name;//$days."天"; + $dual_currency->rate = $rate; + $dual_currency->ratemax = $ratemax; + $dual_currency->amount = $amount; + $dual_currency->amax = $amax; + $dual_currency->liquidateddamages = $liquidateddamages; + $dual_currency->status = $status; + $dual_currency->save(); + + return $this->success('操作成功'); + // return $this->success(['data'=>$dual_currency]); + } + + //删除项目 + public function del(Request $request){ + $id = $request->post('id'); + +// file_put_contents('/www/wwwroot/xb-dex/public/d.txt',time().$id.PHP_EOL,FILE_APPEND); + $Zhiya_lk = DualCurrency::where('id',$id)->first();//->get(); + + + if(empty($Zhiya_lk)){ + return $this->error('不存在'); + } + + if($id){ + //whereNotIn + + DualCurrency::where('id', $id)->delete(); + + return $this->success('操作成功'); + }else{ + + return $this->error('失败'); + } + } + + + //新增项目 + public function saveDual(Request $request){ + $data = $request->all(); + $days = $data['days']; + $name = $data['name']; + $amount = $data['amount']; + $amax = $data['amax']; + $rate = $data['rate']; + $ratemax = $data['ratemax']; + $hot = $data['hot']; + $commission = $data['commission']; + $total_number = $data['total_number']; + $invest = $data['invest']; + $investtr =''; + foreach ($invest as $k=>$v){ + + $investtr .=$v.'+'; + } + // return $this->error($investtr); + if($data['days'] && $data['ratemax'] && $data['rate'] && $data['liquidateddamages'] && $data['amount'] && $data['amax']){ + + + + if($rate >= $ratemax){ + return $this->error('起始回报率不能大于最大回报率'); + } + if($amount >= $amax){ + return $this->error('起始金额不能大于最大金额'); + } + + // $_tp = $data['type'] =='call'? 'C':'P'; + + + $dual_currency = new DualCurrency(); + $dual_currency->invest = substr($investtr, 0, strlen($investtr) - 1); + $dual_currency->total_number = $total_number; + $dual_currency->remaining_number = $total_number; + $dual_currency->hot = $hot; + $dual_currency->commission = $commission; + $dual_currency->days = $days; + $dual_currency->name = $name;//$days."天"; + $dual_currency->rate = $data['rate']; + $dual_currency->ratemax = $data['ratemax']; + $dual_currency->amount = $data['amount']; + $dual_currency->amax = $data['amax']; + $dual_currency->liquidateddamages = $data['liquidateddamages']; + + $dual_currency->created = date('Y-m-d',time()); + + + $dual_currency->save(); + + return $this->success('操作成功'); + }else{ + + return $this->error('必填项不能为空'); + } + } + + //获取实时价格 + public function getNewPrice(Request $request){ + $currency = $request->get('currency'); + $currencys = Currency::where('id',$currency)->get()->toArray(); + + return $this->success(['data'=>$currencys]); + } + + //理财设置 + public function lists(Request $request) + { + $limit = $request->get('limit', 20); + $status = $request->get('status'); + + $results = DualCurrency::where('id','>',1); + + + if(isset($status)){ + $results->where('status',$status); + } + + // dump($results);die; + $results = $results->orderBy('id', 'desc')->orderBy('status','desc')->paginate($limit); + + + return $this->layuiData($results); + } + + + +} diff --git a/app/Http/Controllers/Admin/FeedBackController.php b/app/Http/Controllers/Admin/FeedBackController.php new file mode 100644 index 0000000..b16d1de --- /dev/null +++ b/app/Http/Controllers/Admin/FeedBackController.php @@ -0,0 +1,102 @@ +get('limit', 20); + $page = $request->get('page', 1); + $account_number = $request->get('account_number', ''); + $feedback = new FeedBack(); + if(!empty($account_number)){ + $feedback = $feedback->whereHas('user', function ($query) use ($account_number) { + $query->where("account_number", 'like', '%' . $account_number . '%'); + }); + } + $feedbackList = $feedback->orderBy('id', 'desc')->paginate($limit, ['*'], 'page', $page); + // dd($result); + return $this->layuiData($feedbackList); + } + public function feedBackDetail(Request $request){ + $id = $request->get('id', ''); + $feedback = FeedBack::find($id); + return view('admin.feedback.detail',['feedback'=> $feedback]); + } + public function feedBackDel(Request $request){ + $id = $request->get('id', ''); + $res = FeedBack::find($id)->delete(); + if($res){ + return $this->success('删除成功'); + }else{ + return $this->error('请重试'); + } + } + public function reply(Request $request){ + $id = $request->get('id', ''); + $reply_content = $request->get('reply_content', ''); + if(empty($id)||empty($reply_content)){ + return $this->error('参数错误'); + } + $feedback = FeedBack::find($id); + $feedback->reply_content = $reply_content; + $feedback->is_reply = 1; + $feedback->reply_time = time(); + $feedback->save(); + return $this->success('回复成功'); + } + //导出用户列表至excel + public function csv() + { + $data = FeedBack::all()->toArray(); + return Excel::create('反馈数据', function ($excel) use ($data) { + $excel->sheet('反馈数据', function ($sheet) use ($data) { + $sheet->cell('A1', function ($cell) { + $cell->setValue('ID'); + }); + $sheet->cell('B1', function ($cell) { + $cell->setValue('账户名'); + }); + $sheet->cell('C1', function ($cell) { + $cell->setValue('反馈内容'); + }); + $sheet->cell('D1', function ($cell) { + $cell->setValue('回复内容'); + }); + $sheet->cell('E1', function ($cell) { + $cell->setValue('反馈时间'); + }); + $sheet->cell('F1', function ($cell) { + $cell->setValue('回复时间'); + }); + $sheet->cell('G1', function ($cell) { + $cell->setValue('状态'); + }); + + if (!empty($data)) { + foreach ($data as $key => $value) { + $i = $key + 2; + $sheet->cell('A' . $i, $value['id']); + $sheet->cell('B' . $i, $value['account_number']); + $sheet->cell('C' . $i, $value['content']); + $sheet->cell('D' . $i, $value['reply_content']); + $sheet->cell('E' . $i, $value['create_time']); + $sheet->cell('F' . $i, $value['reply_time']); + $sheet->cell('G' . $i, $value['is_reply']); + } + } + }); + })->download('xlsx'); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/FlashAgainstController.php b/app/Http/Controllers/Admin/FlashAgainstController.php new file mode 100644 index 0000000..3f37bac --- /dev/null +++ b/app/Http/Controllers/Admin/FlashAgainstController.php @@ -0,0 +1,133 @@ +get('limit'); + $start_time=$request->get('start_time',''); + $status=$request->get('status',-1); + $end_time=$request->get('end_time',''); + $mobile=$request->get('mobile',''); + + $list=FlashAgainst::where(function ($query) use ($start_time){ + if (!empty($start_time)){ + $query->where('create_time','>=',strtotime($start_time)); + } + })->where(function ($query) use ($end_time){ + if (!empty($end_time)){ + $query->where('create_time','>=',strtotime($end_time)); + } + })->where(function ($query) use ($status){ + if ($status!=-1){ + $query->where('status',$status); + } + })->where(function ($query) use ($mobile){ + if (!empty($mobile)){ + $user=Users::where('account_number',$mobile)->first(); + if (!empty($user)){ + $query->where('user_id',$user->id); + } + } + })->orderBy('id','desc')->paginate($limit); + return $this->layuiData($list); + } + + public function affirm(Request $request){ + $id=$request->get('id',''); + if (empty($id)) return $this->error('参数错误'); + $result=FlashAgainst::find($id); + if (empty($result)) return $this->error('参数错误'); + if ($result->status==1) return $this->error('已经通过,无法二次通过'); + if ($result->status==2) return $this->error('已经驳回,无法通过'); + + try{ + DB::beginTransaction(); + $l_wallet=UsersWallet::where('user_id',$result->user_id)->where('currency',$result->left_currency_id)->lockForUpdate()->first(); + $r_wallet=UsersWallet::where('user_id',$result->user_id)->where('currency',$result->right_currency_id)->lockForUpdate()->first(); + if (empty($l_wallet)||empty($r_wallet)){ + DB::rollBack(); + return $this->error('钱包不存在'); + } + + $result2=change_wallet_balance($l_wallet,2,-$result->num,AccountLog::DEBIT_BALANCE_MINUS_LOCK,'闪兑扣除锁定金额',true); + if ($result2!==true){ + DB::rollBack(); + return $this->error('操作失败'); + } + $result1=change_wallet_balance($r_wallet,4,$result->absolute_quantity,AccountLog::DEBIT_BALANCE_ADD,'闪兑通过,增加余额'); + + if ($result1 !== true){ + + DB::rollBack(); + return $this->error('操作失败'); + } + $result->status=1; + $result->review_time=time(); + $result->save(); + DB::commit(); + return $this->success('成功'); + + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage().'----'.$e->getLine()); + } + + + } + + + public function reject(Request $request){ + $id=$request->get('id',''); + if (empty($id)) return $this->error('参数错误'); + $result=FlashAgainst::find($id); + if (empty($result)) return $this->error('参数错误'); + if ($result->status==1) return $this->error('已经通过,无法驳回'); + if ($result->status==2) return $this->error('已经驳回,无法二次驳回'); + + try{ + DB::beginTransaction(); + $l_wallet=UsersWallet::where('user_id',$result->user_id)->where('currency',$result->left_currency_id)->lockForUpdate()->first(); + + if (empty($l_wallet)){ + DB::rollBack(); + return $this->error('钱包不存在'); + } + + $result2=change_wallet_balance($l_wallet,2,-$result->num,AccountLog::DEBIT_BALANCE_MINUS_LOCK,'闪兑扣除锁定金额',true); + if ($result2!==true){ + DB::rollBack(); + return $this->error('操作失败'); + } + $result1= change_wallet_balance($l_wallet,2,$result->num,AccountLog::DEBIT_BALANCE_ADD_REJECT,'闪兑驳回,增加余额'); + if ($result1!==true){ + DB::rollBack(); + return $this->error('操作失败'); + } + $result->status=2; + $result->review_time=time(); + $result->save(); + + DB::commit(); + return $this->success('成功'); + + }catch (\Exception $e){ + DB::rollBack(); + return $this->error('操作失败'); + } + } +} diff --git a/app/Http/Controllers/Admin/HazardRateController.php b/app/Http/Controllers/Admin/HazardRateController.php new file mode 100644 index 0000000..d7ba237 --- /dev/null +++ b/app/Http/Controllers/Admin/HazardRateController.php @@ -0,0 +1,181 @@ +get(); + return view('admin.lever.hazard.index')->with('currencies', $currencies); + } + + public function handle() + { + return view('admin.lever.hazard.handle'); + } + + public function postHandle(Request $request) + { + $trade_id = $request->input('id', 0); + $update_price = $request->input('update_price', 0); + $write_market = $request->input('write_market', 0); + if ($trade_id <= 0 || $update_price <= 0) { + return $this->error('参数不合法'); + } + $time = microtime(true); + $trade = LeverTransaction::where('status', LeverTransaction::TRANSACTION)->find($trade_id); + if (!$trade) { + return $this->error('交易不存在或已平仓'); + } + $legal_id = $trade->legal; + $legal = Currency::find($legal_id); + $currency_id = $trade->currency; + $currency = Currency::find($currency_id); + DB::beginTransaction(); + try { + //MarketHour::batchWriteMarketData($currency_id, $legal_id, 0, $update_price, 3, intval($time)); + if ($write_market) { + + MarketHour::batchEsearchMarket($currency->name, $legal->name, $update_price, intval($time)); //更新esearch行情价格 + $result = CurrencyQuotation::getInstance($legal_id, $currency_id)->updateData(['now_price' => $update_price]); //更新数据库价格 + if (!$result) { + throw new \Exception('更新每日价格失败'); + } + } + + LeverTransaction::newPrice($legal_id, $currency_id, $update_price, $time); + DB::commit(); + return $this->success('向系统发送价格成功'); + } catch (\Exception $e) { + DB::rollBack(); + return $this->error($e->getMessage()); + } + } + + public function lists(Request $request) + { + $limit = $request->input('limit', 10); + $legal_id = $request->input('legal_id', -1); + $type = $request->input('type', -1); + $operate = $request->input('operate', -1); + $hazard_rate = $request->input('hazard_rate', 0); + $user_id = $request->input('user_id', 0); + + $user_hazard = LeverTransaction::where('status', LeverTransaction::TRANSACTION) + ->where(function ($query) use ($user_id, $type, $legal_id) { + !empty($user_id) && $query->where('user_id', $user_id); + ($type != -1 && in_array($type, [1, 2])) && $query->where('type', $type); + $legal_id != -1 && $query->where('legal', $legal_id); + }) + ->orderBy('id', 'desc') + ->paginate($limit); + + $items = $user_hazard->getCollection(); + $items->transform(function ($item, $key) use ($legal_id) { + $user_wallet = UsersWallet::where('currency', $legal_id) + ->where('user_id', $item->user_id) + ->first(); + $sell_user = Users::where('id',$item->user_id)->first(); + // var_dump($item->user_id); + // $user_info = DB::table('users')->where('id','=', $item->user_id)->select(); + $item->setAppends(['symbol', 'mobile', 'account_number', 'type_name', 'profits']); + $hazard_rate = LeverTransaction::getWalletHazardRate($user_wallet); + $balance = $user_wallet->lever_balance ?? 0; + $item->setAttribute('lever_balance', $balance)->setAttribute('email', $sell_user) + ->setAttribute('hazard_rate', $hazard_rate); + return $item; + }); + if ($operate != -1 && !empty($hazard_rate)) { + switch ($operate) { + case 1: + $operate_symbol = '>='; + break; + case 2: + $operate_symbol = '<='; + break; + default: + $operate_symbol = null; + break; + } + $items = $items->where('hazard_rate', $operate_symbol, $hazard_rate); + } + $user_hazard->setCollection($items); + return $this->layuiData($user_hazard); + } + + public function total() + { + $currencies = Currency::where('is_legal', 1)->get(); + return view('admin.lever.hazard.total')->with('currencies', $currencies); + } + + public function totalLists(Request $request) + { + $limit = $request->input('limit', 10); + $legal_id = $request->input('legal_id', -1); + $type = $request->input('type', -1); + $operate = $request->input('operate', -1); + $hazard_rate = $request->input('hazard_rate', 0); + /* + SELECT + `user_id`, + SUM((case `type` when 1 then update_price-price when 2 then price-update_price END)) AS profits_total, + SUM(caution_money) AS caution_money_total + FROM lever_transaction + WHERE `status`=0 + GROUP BY user_id + */ + if($legal_id == -1){ + $legal_id=Currency::where('name','USDC')->first()->id??-1; + } + $user_hazard = LeverTransaction::where('status', LeverTransaction::TRANSACTION) + ->where(function ($query) use ($type, $legal_id) { + ($type != -1 && in_array($type, [1, 2])) && $query->where('type', $type); + $legal_id != -1 && $query->where('legal', $legal_id); + }) + ->select('user_id') + ->selectRaw('SUM((CASE `type` WHEN 1 THEN `update_price` - `price` WHEN 2 THEN `price` - `update_price` END) * `number` * `multiple`) AS `profits_total`') + ->selectRaw('SUM(`caution_money`) AS `caution_money_total`') + ->groupBy('user_id') + ->paginate($limit); + $items = $user_hazard->getCollection(); + $items->transform(function ($item, $key) use ($legal_id) { + $user_wallet = UsersWallet::where('currency', $legal_id) + ->where('user_id', $item->user_id) + ->first(); + $item->setAppends(['mobile', 'account_number']); + $hazard_rate = LeverTransaction::getWalletHazardRate($user_wallet); + $balance = $user_wallet->lever_balance ?? 0; + $item->setAttribute('lever_balance', $balance) + ->setAttribute('hazard_rate', floatval($hazard_rate)); + return $item; + }); + if ($operate != -1 && !empty($hazard_rate)) { + switch ($operate) { + case 1: + $operate_symbol = '>='; + break; + case 2: + $operate_symbol = '<='; + break; + default: + $operate_symbol = null; + break; + } + $items = $items->where('hazard_rate', $operate_symbol, $hazard_rate); + } + $user_hazard->setCollection($items); + return $this->layuiData($user_hazard); + } +} diff --git a/app/Http/Controllers/Admin/InsuranceController.php b/app/Http/Controllers/Admin/InsuranceController.php new file mode 100644 index 0000000..1498661 --- /dev/null +++ b/app/Http/Controllers/Admin/InsuranceController.php @@ -0,0 +1,186 @@ +get('id', 0); + if (empty($id)) { + $result = new InsuranceType(); + } else { + $result = InsuranceType::find($id); + } + $currency = Currency::where('insurancable', 1)->get(); + return view('admin.insurance.add')->with([ + 'result' => $result, + 'currency' => $currency + ]); + } + + public function postAdd(Request $request) + { + $id = $request->get('id', 0); + $data = $request->except('id'); + + try { + DB::beginTransaction(); + InsuranceType::updateOrCreate( + ['id' => $id], + $data + ); + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function lists(Request $request) + { + $limit = $request->get('limit', 10); + $result = new InsuranceType(); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + public function del(Request $request) + { + $id = $request->get('id', 0); + $result = InsuranceType::find($id); + if (empty($result)) { + return $this->error('参数错误'); + } + try { + $result->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + /* + * 开关 + */ + public function changeStatus(Request $request) + { + $id = $request->get('id', 0); + $insurance_type = InsuranceType::find($id); + if (empty($insurance_type)) { + return $this->error('参数错误'); + } + if ($insurance_type->status == 1) { + $insurance_type->status = 0; + } else { + $insurance_type->status = 1; + } + try { + $insurance_type->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function changeAutoClaim(Request $request) + { + $id = $request->get('id', 0); + $insurance_type = InsuranceType::find($id); + if (empty($insurance_type)) { + return $this->error('参数错误'); + } + if ($insurance_type->auto_claim == 1) { + $insurance_type->auto_claim = 0; + } else { + $insurance_type->auto_claim = 1; + } + try { + $insurance_type->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function changeTAdd1(Request $request) + { + $id = $request->get('id', 0); + $insurance_type = InsuranceType::find($id); + if (empty($insurance_type)) { + return $this->error('参数错误'); + } + if ($insurance_type->is_t_add_1 == 1) { + $insurance_type->is_t_add_1 = 0; + } else { + $insurance_type->is_t_add_1 = 1; + } + try { + $insurance_type->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + //============保险单=========== + + public function orderIndex() + { + return view('admin.insurance.order_index'); + } + + public function orderLists(Request $request) + { + $limit = $request->get('limit', 10); + $mobile = $request->get('mobile', ''); + $name = $request->get('name', null); + $type = $request->get('type', -1); + $status = $request->get('status', -1); + + + $result = new UsersInsurance(); + $result = $result->where(function ($query) use ($mobile) { + if (!empty($mobile)) { + $user = User::where('account_number', $mobile)->first(); + if (!empty($user)) { + $query->where('user_id', $user->id); + } + } + })->where(function($query) use ($name){ + if(!empty($name)){ + $query->whereHas('user',function ($query) use ($name){ + $query->whereHas('userReal',function ($query) use ($name){ + $query->where('name',$name); + }); + }); + } + })->where(function ($query) use ($type){ + if ($type != -1) { + $query->whereHas('insurance_type',function ($query) use ($type){ + $query->where('type',$type); + }); + } + })->where(function ($query) use ($status){ + if ($status != -1) { + $query->where('status',$status); + } + }); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + +} diff --git a/app/Http/Controllers/Admin/InsuranceRuleController.php b/app/Http/Controllers/Admin/InsuranceRuleController.php new file mode 100644 index 0000000..40c4cb3 --- /dev/null +++ b/app/Http/Controllers/Admin/InsuranceRuleController.php @@ -0,0 +1,96 @@ +get('id', 0); + if (empty($id)) { + $result = new InsuranceRule(); + } else { + $result = InsuranceRule::find($id); + } + $insurance_type = InsuranceType::all(); + + return view('admin.insurancerule.add')->with('result', $result)->with('insurance_type', $insurance_type); + } + + public function postAdd(Request $request) + { + $id = $request->get('id', 0); + $existing_number = $request->get('existing_number', ''); + $amount = $request->get('amount', ''); + $place_an_order_max = $request->get('place_an_order_max', ''); + $insurance_type_id = $request->get('insurance_type_id', ''); + + if (empty($id)) { + $result = new InsuranceRule(); + } else { + $result = InsuranceRule::find($id); + if ($result == null) { + return redirect()->back(); + } + } + $result->insurance_type_id = $insurance_type_id; + $result->amount = $amount; + $result->place_an_order_max = $place_an_order_max; + $result->existing_number = $existing_number; + + DB::beginTransaction(); + try { + $result->save(); //保存币种 + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function lists(Request $request) + { + $limit = $request->get('limit', 10); + $result = new InsuranceRule(); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + public function del(Request $request) + { + $id = $request->get('id', 0); + $result = InsuranceRule::find($id); + if (empty($result)) { + return $this->error('参数错误'); + } + try { + $result->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + +} diff --git a/app/Http/Controllers/Admin/InviteController.php b/app/Http/Controllers/Admin/InviteController.php new file mode 100644 index 0000000..12f88bf --- /dev/null +++ b/app/Http/Controllers/Admin/InviteController.php @@ -0,0 +1,240 @@ +get('limit',10); + $account = $request->get('account',''); + + $list = New AccountLog(); + + if (!empty($account)) { + $list = $list->whereHas('user', function($query) use ($account) { + $query->where("phone",'like','%'.$account.'%')->orwhere('email','like','%'.$account.'%'); + } ); + } + + $list = $list->where('type', AccountLog::INVITATION_TO_RETURN)-> orderBy('id','desc')->paginate($limit); + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]); + } + + public function del(Request $request){ + $id = $request->get('id'); + $accountlog = AccountLog::find($id); + if(empty($accountlog)){ + $this->error("记录未找到"); + } + + try { + $accountlog->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + //会员推荐关系图 + public function childs(){ + + return view("admin.invite.childs"); + } + + + public function getTree() + { + + + $data = Users::orderBy('id','asc')->get()->toArray(); + $list=$this->getSubTree($data); + + return response()->json(['code' => 0, 'data' => $list]); + + + + } + + public function getSubTree($data, $id = 0, $level = 0) + { + $list = array(); + foreach ($data as $key => $value) { + $val=[]; + $val['parent_id'] = strval($value['parent_id']); + if ($val['parent_id'] == $id) { + $val['id'] = $value['id']; + $val['name'] = $value['account_number']; + $val['level'] = $level; + $val['children'] =self::getSubTree($data, $value['id'], $level + 1); + + $list[] = $val; + + } + } + + return $list; + } + + //邀请背景图 + public function bgIndex(){ + return view("admin.invite.bgIndex"); + } + + public function bgList(Request $request){ + $limit = $request->get('limit',10); + + $list = New InviteBg(); + + $list = $list->orderBy('id','desc')->paginate($limit); + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]); + } + + public function bgdel(Request $request){ + $id = $request->get('id'); + $bg = InviteBg::find($id); + if(empty($bg)){ + $this->error("图片未找到"); + } + + try { + $bg->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + public function edit(Request $request){ + + $id = $request->get('id',0); + if (empty($id)){ + $bg=New InviteBg(); + $bg->create_time=time(); + }else{ + $bg = InviteBg::find($id); + } + + return view('admin.invite.edit',['res'=>$bg]); + } + + public function doedit(){ + $id = Input::get("id"); + $pic= Input::get("pic"); + if(empty($pic)){ + return $this->error('图片必须上传'); + } + if (empty($id)){ + $bg=New InviteBg(); + $bg->create_time=time(); + }else{ + $bg = InviteBg::find($id); + } + $bg->pic=$pic; + try { + $bg->save(); + return $this->success('操作成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + + + } + + + public function share(){ + $share_title = Setting::getValueByKey('share_title',''); + $share_content = Setting::getValueByKey('share_content',''); + $share_url = Setting::getValueByKey('share_url',''); + + return view('admin.invite.share',['title'=>$share_title,'content'=>$share_content,'url'=>$share_url]); + + } + + public function postShare(Request $request){ + $title = Input::get("share_title"); + $content= Input::get("share_content"); + $url= Input::get("share_url"); + + if(empty($title) || empty($content) || empty($url)){ + return $this->error('请填写完整信息'); + + } + $data = $request->all(); + + try { + + foreach ($data as $key => $value) { + Setting::updateValueByKey($key,$value); + } + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + + + } + + + public function getTopUsers(Request $request) + { + $page = $request->get('page',1); + $limit = $request->get('limit',10); + + + $lists = DB::table('users') + ->where('parent_id',0) + ->select('id','account_number','parent_id') + ->paginate($limit); + foreach ($lists->items() as &$item) { + $item->hasChildren = false; + $count = DB::table('users')->where('parent_id',$item->id)->count(); + if ($count > 0){ + $item->hasChildren = true; + } + } + unset($item); + + $result = array('data' => $lists->items(), 'page' => $page, 'pages' => $lists->lastPage(), 'total' => $lists->total()); + return $this->success($result); + } + + public function getSonByPid(Request $request) + { + $pid = $request->get('pid'); + + + $lists = DB::table('users') + ->where('parent_id',$pid) + ->select('id','account_number','parent_id') + ->get(); + foreach ($lists as &$item) { + $item->hasChildren = false; + $count = DB::table('users')->where('parent_id',$item->id)->count(); + if ($count > 0){ + $item->hasChildren = true; + } + } + unset($item); + + return $this->success($lists); + } + + + + + +} +?> \ No newline at end of file diff --git a/app/Http/Controllers/Admin/LegalDealController.php b/app/Http/Controllers/Admin/LegalDealController.php new file mode 100644 index 0000000..8ce24bc --- /dev/null +++ b/app/Http/Controllers/Admin/LegalDealController.php @@ -0,0 +1,380 @@ +orderBy('id', 'desc')->get();//获取法币 + + + $start =strtotime(date('Y-m-d 00:00:00')); + $end = strtotime(date('Y-m-d H:i:s')); + + //获取当天购买USDT + $aaaa=LegalDeal::leftJoin("legal_deal_send","legal_deal.legal_deal_send_id","=","legal_deal_send.id")->where("legal_deal_send.type","=","sell")->where("legal_deal.create_time",">",$start)->where("legal_deal.is_sure","=",1)->select("legal_deal.*","legal_deal_send.type")->get(); + $todaybuy_usdt=0; + foreach($aaaa as $key=>$value) + { + $todaybuy_usdt=$todaybuy_usdt+$value->number; + } + + //获取当天出售USDT + $bbbb=LegalDeal::leftJoin("legal_deal_send","legal_deal.legal_deal_send_id","=","legal_deal_send.id")->where("legal_deal_send.type","=","buy")->where("legal_deal.create_time",">",$start)->where("legal_deal.is_sure","=",1)->select("legal_deal.*","legal_deal_send.type")->get(); + $todaysell_usdt=0; + foreach($bbbb as $key=>$value) + { + $todaysell_usdt=$todaysell_usdt+$value->number; + } + + //USDT购买总数 + $cccc=LegalDeal::leftJoin("legal_deal_send","legal_deal.legal_deal_send_id","=","legal_deal_send.id")->where("legal_deal_send.type","=","sell")->where("legal_deal.is_sure","=",1)->select("legal_deal.*","legal_deal_send.type")->get(); + $buyall_usdt=0; + foreach($cccc as $key=>$value) + { + $buyall_usdt=$buyall_usdt+$value->number; + } + + //USDT出售总数 + $dddd=LegalDeal::leftJoin("legal_deal_send","legal_deal.legal_deal_send_id","=","legal_deal_send.id")->where("legal_deal_send.type","=","buy")->where("legal_deal.is_sure","=",1)->select("legal_deal.*","legal_deal_send.type")->get(); + $sellall_usdt=0; + foreach($dddd as $key=>$value) + { + $sellall_usdt=$sellall_usdt+$value->number; + } + + //usdt总冻结数量 + $eeee=UsersWallet::leftjoin("currency","users_wallet.currency","=","currency.id")->where("currency.name","=","USDC")->select("users_wallet.*","currency.name")->get(); + $all_lock_legal_balance=0; + foreach($eeee as $key=>$value) + { + $all_lock_legal_balance=$all_lock_legal_balance+$value->lock_legal_balance; + } + + + //usdt总可用余额 + $ffff=UsersWallet::leftjoin("currency","users_wallet.currency","=","currency.id")->where("currency.name","=","USDC")->select("users_wallet.*","currency.name")->get(); + $all_usdt_can_use=0; + foreach($ffff as $key=>$value) + { + $all_usdt_can_use=$all_usdt_can_use+$value->legal_balance; + } + + return view('admin.legal.deal', ['currency' => $currency,'todaybuy_usdt'=>$todaybuy_usdt,'todaysell_usdt'=>$todaysell_usdt,'buyall_usdt'=>$buyall_usdt,'sellall_usdt'=>$sellall_usdt,'all_lock_legal_balance'=>$all_lock_legal_balance,'all_usdt_can_use'=>$all_usdt_can_use]); + } + + public function list(Request $request) + { + $limit = $request->get('limit', 10); + $account_number = $request->get('account_number', ''); + $seller_name = $request->get('seller_name', ''); + $type = $request->get('type', ''); + $currency_id = $request->get('currency_id', 0); + $result = new LegalDeal(); + if (!empty($account_number)) { + $result = $result->whereHas('user', function ($query) use ($account_number) { + $query->where('account_number', 'like', '%' . $account_number . '%'); + }); + } + if (!empty($seller_name)) + { + $result = $result->whereHas('seller', function ($query) use ($seller_name) { + $query->where('name', 'like', '%' . $seller_name . '%'); + }); +// var_dump($seller_name);die; + } + + if (!empty($type)) { + $result = $result->whereHas('legalDealSend', function ($query) use ($type) { + $query->where('type', $type); + }); + + } + if (!empty($currency_id)) { + $result = $result->whereHas('legalDealSend', function ($query) use ($currency_id) { + $query->where('currency_id', $currency_id); + }); + } + + $result = $result->orderBy('id', 'desc')->paginate($limit); +//var_dump($result->toArray());die; + return $this->layuiData($result); + } + + + + /** + * 后台取消订单 + * @param Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function adminLegalDealCancel(Request $request) //tian add + { + $id = $request->get('id', null); + if (empty($id)) { + return $this->error('参数错误'); + } + $legal_deal = LegalDeal::find($id); + if (empty($legal_deal)) { + return $this->error('无此记录'); + } + DB::beginTransaction(); + try { +// if ($legal_deal->is_sure > 0) { +// DB::rollback(); +// return $this->error('该订单已操作,请勿取消666'); +// } + $user_id = Users::getUserId(); +// if ($legal_deal->type == 'sell') { //用户端-购买 +// if ($user_id != $legal_deal->user_id) { +// DB::rollback(); +// return $this->error('对不起,您无权操作'); +// } +// } elseif ($legal_deal->type == 'buy') {//用户端出售 +// $seller = Seller::find($legal_deal->seller_id); +// if ($user_id == $legal_deal->user_id) { +// DB::rollback(); +// return $this->error('对不起,您无权操作'); +// } +// } + // $number = $legal_deal->number; + // $legal_deal_send = LegalDealSend::LockForUpdate()->find($legal_deal->legal_deal_send_id); + // $users_wallet = UsersWallet::where('user_id', $user_id)->where('currency', $legal_deal_send->currency_id)->first(); + // if ($legal_deal_send->type == 'buy') { //求购 + // // do something + //// if ($users_wallet->legal_balance < $number){ + //// DB::rollback(); + //// return $this->error('您的法币余额不足'); + //// } + //// $legal_deal_send->surplus_number += $legal_deal->number;// + // $legal_deal_send->surplus_number = bc_add($legal_deal_send->surplus_number,$legal_deal->number,5);// + // if ($legal_deal_send->surplus_number > 0) { + // $legal_deal_send->is_done = 0; + // } + // $data_wallet1 = [ + // 'balance_type' => 1, + // 'wallet_id' => $users_wallet->id, + // 'lock_type' => 0, + // 'create_time' => time(), + // 'before' => $users_wallet->legal_balance, + // 'change' => $legal_deal->number, + // 'after' => bc_add($users_wallet->legal_balance, $legal_deal->number, 5), + // ]; + // $data_wallet2 = [ + // 'balance_type' => 1, + // 'wallet_id' => $users_wallet->id, + // 'lock_type' => 1, + // 'create_time' => time(), + // 'before' => $users_wallet->lock_legal_balance, + // 'change' => -$legal_deal->number, + // 'after' => bc_sub($users_wallet->legal_balance, $legal_deal->number, 5), + // ]; + //// $users_wallet->legal_balance += $legal_deal->number; + // $users_wallet->legal_balance = bc_add($users_wallet->legal_balance,$legal_deal->number,5); + //// $users_wallet->lock_legal_balance -= $legal_deal->number; + // $users_wallet->lock_legal_balance = bc_sub($users_wallet->lock_legal_balance,$legal_deal->number,5); + // $users_wallet->save(); + // $legal_deal_send->save(); + // + // AccountLog::insertLog( + // [ + // 'user_id' => $user_id, + // 'value' => $legal_deal->number, + // 'info' => '取消出售给商家法币', + // 'type' => AccountLog::LEGAL_DEAL_USER_SELL_CANCEL, + // 'currency' => $legal_deal_send->currency_id + // ], + // $data_wallet1 + // ); + // AccountLog::insertLog( + // [ + // 'user_id' => $user_id, + // 'value' => -$legal_deal->number, + // 'info' => '取消出售给商家法币', + // 'type' => AccountLog::LEGAL_DEAL_USER_SELL_CANCEL, + // 'currency' => $legal_deal_send->currency_id + // ], + // $data_wallet2 + // ); + // } elseif ($legal_deal_send->type == 'sell') { //出售 + //// $legal_deal_send->surplus_number += $legal_deal->number; + // $legal_deal_send->surplus_number = bc_add($legal_deal_send->surplus_number,$legal_deal->number,5); + // if ($legal_deal_send->surplus_number > 0) { + // $legal_deal_send->is_done = 0; + // } + // $legal_deal_send->save(); + // } + // $legal_deal->is_sure = 2; + // $legal_deal->save(); + // $legal_deal->update_time = time(); + // $legal_send = LegalDealSend::find($legal_deal->legal_deal_send_id); + // $legal_send->surplus_number += $legal_deal->number; + // $legal_send->save(); + LegalDeal::cancelLegalDealById($id); + DB::commit(); + return $this->success('操作成功,订单已取消'); + } catch (\Exception $exception) { + DB::rollback(); + return $this->error($exception->getMessage()); + } + } + + + //后台确认收到付款,订单状态改为完成 + //商家卖法币(后台确定,将币拨到用户) + public function adminDoSure(Request $request) + { + $id = $request->get('id', null); + if (empty($id)) return $this->error('参数错误'); + + try { + DB::beginTransaction(); + $legal_deal = LegalDeal::find($id); + if (empty($legal_deal)) { + DB::rollback(); + return $this->error('无此记录'); + } + if ($legal_deal->is_sure == 1) { + DB::rollback(); + return $this->error('该订单还未付款或已经操作过'); + } + $seller = Seller::lockForUpdate()->find($legal_deal->seller_id); + + $legal_send = LegalDealSend::find($legal_deal->legal_deal_send_id); + if (empty($legal_send)) { + DB::rollback(); + return $this->error('订单异常'); + } +// if ($legal_send->type == 'buy') { +// DB::rollback(); +// return $this->error('您不能确认该订单'); +// } + $user_wallet = UsersWallet::where('user_id', $legal_deal->user_id) + ->where('currency', $legal_send->currency_id) + ->lockForUpdate() + ->first(); + $seller_user_wallet = UsersWallet::where('user_id', $seller->user_id) + ->where('currency', $legal_send->currency_id) + ->lockForUpdate() + ->first(); + if (empty($user_wallet)) { + DB::rollback(); + return $this->error('该用户没有此币种钱包'); + } + + //更新交易状态 + $legal_deal->is_sure = 1; + $legal_deal->update_time = time(); + $legal_deal->save(); + + //减少商家法币锁定余额 + + $seller->lock_seller_balance = bc_sub($seller->lock_seller_balance,$legal_deal->number,5); + change_wallet_balance($seller_user_wallet, 1,-$legal_deal->number,AccountLog::LEGAL_USER_BUY,"用户购买商家法币,解除商家法币冻结", true); + + //增加用户法币余额 + change_wallet_balance($user_wallet, 1,$legal_deal->number,AccountLog::LEGAL_USER_BUY,'在 ' . $seller->name . ' 购买法币成功'); + + + $seller->save(); + + DB::commit(); + return $this->success('确认成功'); + } catch (\Exception $exception) { + DB::rollback(); + return $this->error($exception->getMessage()); + } + } + + + //商家购买用户法币(后台确定,将币拨到商家) + public function admin_userDoSure(Request $request) //用户确认收款 后台确认 + { + $id = $request->get('id', null); + if (empty($id)) return $this->error('参数错误'); + DB::beginTransaction(); + try { + $legal_deal = LegalDeal::find($id); + if (empty($legal_deal)) { + DB::rollback(); + return $this->error('无此记录'); + } + if ($legal_deal->is_sure != 3) { + DB::rollback(); + return $this->error('该订单还未付款或已经操作过'); + } + if ($legal_deal->is_sure == 1) { + DB::rollback(); + return $this->error('该订单已经操作过'); + } + + $user_id = Users::getUserId(); + $user = Users::find($user_id); +// if ($legal_deal->user_id != $user_id) { +// DB::rollback(); +// return $this->error('对不起,您无权操作'); +// } + $legal_send = LegalDealSend::find($legal_deal->legal_deal_send_id); + if (empty($legal_send)) { + DB::rollback(); + return $this->error('订单异常'); + } +// if ($legal_send->type == 'sell') { +// DB::rollback(); +// return $this->error('您不能确认该订单'); +// } + $seller = Seller::find($legal_deal->seller_id); + $user_wallet = UsersWallet::where('user_id', $legal_deal->user_id) + ->where('currency', $legal_send->currency_id) + ->lockForUpdate() + ->first(); + + $seller_user_wallet = UsersWallet::where('user_id', $seller->user_id) + ->where('currency', $legal_send->currency_id) + ->lockForUpdate() + ->first(); + if (empty($user_wallet)) { + DB::rollback(); + return $this->error('该用户没有此币种钱包'); + } + + if (empty($seller)) { + DB::rollback(); + return $this->error('商家不存在'); + } + + //更新交易状态 + $legal_deal->is_sure = 1; + $legal_deal->update_time = time(); + $legal_deal->save(); + + //减少用户法币锁定余额 + + change_wallet_balance($user_wallet, 1,-$legal_deal->number,AccountLog::LEGAL_SELLER_BUY,'卖币成功',true); + + //增加商家法币余额 + change_wallet_balance($seller_user_wallet, 1,$legal_deal->number,AccountLog::LEGAL_SELLER_BUY,"商家购买用户法币,增加商家法币"); + + DB::commit(); + return $this->success('确认成功'); + } catch (\Exception $exception) { + DB::rollback(); + return $this->error($exception->getMessage()); + } + } + + +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/LegalDealSendController.php b/app/Http/Controllers/Admin/LegalDealSendController.php new file mode 100644 index 0000000..fe4bbaf --- /dev/null +++ b/app/Http/Controllers/Admin/LegalDealSendController.php @@ -0,0 +1,46 @@ +orderBy('id','desc')->get();//获取法币 + return view('admin.legal.index',['currency'=> $currency]); + } + public function list(Request $request){ + $limit = $request->get('limit', 10); + //$account_number = $request->get('account_number', ''); + $seller_name = $request->get('seller_name', ''); + $type = $request->get('type', ''); + $currency_id = $request->get('currency_id', 0); + $result = new LegalDealSend(); + + if(!empty($seller_name)){ + + $result = $result->whereHas('seller', function ($query) use ($seller_name) { + $query->where('name', 'like', '%' . $seller_name . '%'); + }); + } + + if (!empty($type)) { + + $result = $result->where('type', $type); + } + if (!empty($currency_id)) { + + $result = $result->where('currency_id', $currency_id); + } + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/LendingController.php b/app/Http/Controllers/Admin/LendingController.php new file mode 100644 index 0000000..dbe2b6c --- /dev/null +++ b/app/Http/Controllers/Admin/LendingController.php @@ -0,0 +1,318 @@ + "Jan", + '02' => "Feb", + '03' => "Mar", + '04' => "Apr", + '05' => "May", + '06' => "Jun", + '07' => "Jul", + '08' => "Aug", + '09' => "Sep", + '10' => "Oct", + '11' => "Nov", + '12' => "Dec"); + + public function index(){ + + return view('admin.lending.index'); + } + + public function order(){ + + + return view('admin.lending.order'); + } + + //订单列表 + public function order_lists(Request $request){ + + $limit = $request->get('limit', 20); + $htcode = $request->get('htcode'); + $user_id = $request->get('user_id'); + + $list = DB::table('defi_order'); + + if (!empty($htcode)) { + $list = $list->where('htcode',$htcode); + } + + if($user_id){ + $list->where('user_id',$user_id); + } + + $list = $list->orderBy('id', 'desc')->paginate($limit); + file_put_contents('/www/wwwroot/crypto/public/t.txt',json_encode($list)); + + foreach ($list as $v){ + // $v->create_time = date('Y-m-d H:i:s',$v->create_time); + } + + + return $this->layuiData($list); + } + + public function add(){ + return view('admin.lending.add'); + } + + + public function editLendingView(Request $request){ + $id = $request->get('id'); + if(empty($id)){ + return $this->error('参数错误'); + } + $dual_currency = DB::table('defi')->where(['id'=>$id])->first(); + // dump($dual_currency);die; + return view('admin.lending.edit_lending',['results' => $dual_currency]); + } + + //删除项目 + public function del(Request $request){ + $id = $request->post('id'); + +// file_put_contents('/www/wwwroot/xb-dex/public/d.txt',time().$id.PHP_EOL,FILE_APPEND); + $Zhiya_lk = Defi::where('id',$id)->first();//->get(); + + + if(empty($Zhiya_lk)){ + return $this->error('不存在'); + } + + if($id){ + //whereNotIn + + DB::table('defi')->where('id', $id)->delete(); + + return $this->success('操作成功'); + }else{ + + return $this->error('失败'); + } + } + + + + + //编辑项目 + public function editLending(Request $request){ + $id = $request->post('id'); + // $title = $request->post('title'); + $days = $request->post('days'); + // $hk_type = $request->post('hk_type'); + //$amount = $request->post('amount'); + // $amax = $request->post('amax'); + $bilv = $request->post('bilv'); + $percent = $request->post('percent'); + $opaymentlv = $request->post('opaymentlv'); + $fwamount = $request->post('fwamount'); + if(empty($id)){ + return $this->error('参数错误'); + } + $dual_currency = Defi::where(['id'=>$id])->first(); + + if($bilv >100){ + return $this->error('利率有误'); + } + // $dual_currency->title = $title; + $dual_currency->days = $days; + // $dual_currency->amount = $amount; + // $dual_currency->amax = $amax; + // $dual_currency->hk_type = $hk_type; + $dual_currency->bilv = $bilv; + $dual_currency->percent = $percent; + $dual_currency->fwamount = $fwamount; + $dual_currency->opaymentlv = $opaymentlv; + $dual_currency->save(); + + + return $this->success(['data'=>$dual_currency]); + } + + //新增项目 + public function saveLending(Request $request){ + $data = $request->all(); + + // $amount = $data['amount']; + // $title = $data['title']; + $days = $data['days']; + $bilv = $data['bilv']; + $percent = $data['percent']; + $opaymentlv = $data['opaymentlv']; + $fwamount = $data['fwamount']; + // $hk_type = $data['hk_type']; + if($days && $bilv){ + if($bilv >= 100){ + return $this->error('利率不能大于100%'); + } + + $dual_currency = new Defi(); + + // $dual_currency->amount = $amount; + // $dual_currency->title = $title; + $dual_currency->days = $days; + $dual_currency->bilv = $bilv; + $dual_currency->percent = $percent; + $dual_currency->fwamount = $fwamount; + $dual_currency->opaymentlv = $opaymentlv; + // $dual_currency->hk_type = $hk_type; + $dual_currency->status = 1; + $dual_currency->type = 1; + $dual_currency->addtime = date("Y-m-d H:i:s",time()); + + + $dual_currency->save(); + + return $this->success('操作成功'); + }else{ + + return $this->error('必填项不能为空'); + } + } + + //获取实时价格 + public function getNewPrice(Request $request){ + $currency = $request->get('currency'); + $currencys = Currency::where('id',$currency)->get()->toArray(); + + return $this->success(['data'=>$currencys]); + } + + //理财设置 + public function lists(Request $request) + { + $limit = $request->get('limit', 20); + $status = $request->get('status'); + + // $results = DualCurrency::where('id','>',1); + + $results =DB::table('defi');//->orderBy('id', 'asc')->paginate($limit); lk_zhiya + + if(isset($status)){ + $results->where('status',$status); + } + + // dump($results);die; + $results = $results->orderBy('id', 'desc')->orderBy('status','desc')->paginate($limit); + + return $this->layuiData($results); + } + + public function show(Request $request) + { + $id = $request->get('id', ''); + if (!$id) { + return $this->error('参数错误'); + } + $walletout = DefiOrder::find($id); + + // $use_chain_api = Setting::getValueByKey('use_chain_api', 0); + return view('admin.lending.edit', ['wallet_out' => $walletout]); + + } + + //test + public function done(Request $request) + { + set_time_limit(0); + $id = $request->post('id', ''); + $user_id = $request->post('user_id', 0); + $amount = $request->post('amount', 0); + $method = $request->get('method', ''); + + if (!$id || !$user_id) { + return $this->error('参数错误'); + } + + try { + DB::beginTransaction(); + $wallet_out = DefiOrder::where('review_status', 1)->lockForUpdate()->findOrFail($id); + + + + $user_wallet = UsersWallet::where('user_id', $user_id)->where('currency', 3)->lockForUpdate()->first(); //lockForUpdate()-> + + if ($method == 'done') {//确认提币 + + $wallet_out->review_status = 2;//提币成功状态 + $wallet_out->status = 0;//反馈的信息 + + $wallet_out->review_time = date('Y-m-d H:i:s',time()+$wallet_out->days*24*60*60); + $wallet_out->save(); + $change_result = change_wallet_balance($user_wallet, 2, $amount, AccountLog::USER_LOAN_ORDER_BUY, '借贷放款成功'); + + if ($change_result !== true) { + throw new Exception($change_result); + } + } else { + $wallet_out->review_status = 3;//提币失败状态 + + + $wallet_out->review_time = date('Y-m-d H:i:s',time()); + + $wallet_out->save(); + + } + DB::commit(); + return $this->success('操作成功:)'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + + //test + public function cancle(Request $request) + { + set_time_limit(0); + $id = $request->post('id', ''); + + + if (!$id) { + return $this->error('参数错误'); + } + + try { + DB::beginTransaction(); + $wallet_out = DefiOrder::where('review_status', 1)->lockForUpdate()->findOrFail($id); + + + + + $wallet_out->review_status = 3;//提币失败状态 + + + $wallet_out->review_time = time(); + + $wallet_out->save(); + + + DB::commit(); + return $this->success('操作成功:)'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + +} diff --git a/app/Http/Controllers/Admin/LevelController.php b/app/Http/Controllers/Admin/LevelController.php new file mode 100644 index 0000000..e2de6a7 --- /dev/null +++ b/app/Http/Controllers/Admin/LevelController.php @@ -0,0 +1,203 @@ +get('id', 0); + if (empty($id)) { + $result = new Level(); + } else { + $result = Level::find($id); + } + + return view('admin.level.add')->with('result', $result); + } + + public function postAdd(Request $request) + { + DB::beginTransaction(); + try { + $id = $request->get('id', 0); + $name = $request->get('name', ''); + $fill_currency = $request->get('fill_currency', ''); + $direct_drive_price = $request->get('direct_drive_price', ''); + $direct_drive_count = $request->get('direct_drive_count', ''); + $max_algebra = $request->get('max_algebra', ''); + $level = $request->get('level', ''); + if (empty($id)) { + $levelModel = new Level(); + } else { + $levelModel = Level::find($id); + if ($levelModel == null) { + return redirect()->back(); + } + } + $levelModel->name = $name; + $levelModel->fill_currency = $fill_currency; + $levelModel->direct_drive_price = $direct_drive_price; + $levelModel->direct_drive_count = $direct_drive_count; + $levelModel->max_algebra = $max_algebra; + $levelModel->level = $level; + + $levelModel->save(); //保存币种 + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function lists(Request $request) + { + $limit = $request->get('limit', 10); + $result = new Level(); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + public function del(Request $request) + { + $id = $request->get('id', 0); + $result = Level::find($id); + if (empty($result)) { + return $this->error('参数错误'); + } + try { + $result->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + + //micro_seconds + + public function algebraIndex() + { + return view('admin.level.algebra_index'); + } + + public function algebraAdd(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + $result = new Algebra(); + } else { + $result = Algebra::find($id); + } + // $currencies = Currency::where('is_micro',1)->get(); + + return view('admin.level.algebra_add')->with('result', $result); + } + + public function algebraPostAdd(Request $request) + { + $id = $request->get('id', 0); + $name = $request->get('name', ''); + $algebra = $request->get('algebra', ''); + $rate = $request->get('rate', ''); + + if (empty($id)) { + $result = new Algebra(); + } else { + $result = Algebra::find($id); + if ($result == null) { + return redirect()->back(); + } + } + $result->name = $name; + $result->algebra = $algebra; + $result->rate = $rate; + + DB::beginTransaction(); + try { + $result->save(); //保存币种 + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function algebraLists(Request $request) + { + $limit = $request->get('limit', 10); + $result = new Algebra(); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + public function algebraDel(Request $request) + { + $id = $request->get('id', 0); + $result = Algebra::find($id); + if (empty($result)) { + return $this->error('参数错误'); + } + try { + $result->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function levelOrderIndex(){ + + return view('admin.level.orders'); + } + + public function levelOrderList(Request $request) + { + $limit = $request->get('limit', 10); + $ent_time=$request->get('end_time',''); + $start_time=$request->get('start_time',''); + $account=$request->get('account',''); + $result = new UserAlgebra(); + $result = $result->where(function ($query) use ($ent_time,$start_time,$account){ + + if (!empty($ent_time)){ + $query->where('created_at','<=',$ent_time); + } + + if (!empty($start_time)){ + $query->where('created_at','>=',$start_time); + } + if (!empty($account)){ + $user=Users::where('phone',$account)->Orwhere('email',$account)->first(); + if (!empty($account)){ + $query->where('user_id',$user->id); + } + } + })->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } +} diff --git a/app/Http/Controllers/Admin/LeverMultipleController.php b/app/Http/Controllers/Admin/LeverMultipleController.php new file mode 100644 index 0000000..5b17bc9 --- /dev/null +++ b/app/Http/Controllers/Admin/LeverMultipleController.php @@ -0,0 +1,327 @@ +get(); + return view('admin.levermultiple.add', [ + 'currency' => $res + ]); + } + + public function doadd(Request $request) + { + + $aaaaaaa=new LeverMultiple(); + $aaaaaaa->value= Input::get('value', ''); + $aaaaaaa->type=Input::get('type', ''); + $aaaaaaa->currency_id=Input::get('currency_id', ''); +//var_dump($aaaaaaa);die; + try { + $aaaaaaa->save(); + }catch (\Exception $ex){ + + } + return $this->success('添加成功'); + } + + public function postAdd(Request $request) + { + $id = $request->get('id', 0); + $name = $request->get('name', ''); + // $token = $request->get('token',''); + // $get_address = $request->get('get_address',''); + $sort = $request->get('sort', 0); + $logo = $request->get('logo', ''); + $type = $request->get('type', ''); + $is_legal = $request->get('is_legal', ''); + $is_lever = $request->get('is_lever', ''); + $is_match = $request->get('is_match', ''); + $min_number = $request->get('min_number', 0); + $rate = $request->get('rate', 0); + $total_account = $request->get('total_account', 0); + $key = $request->get('key', 0); + $contract_address = $request->get('contract_address', 0); + //自定义验证错误信息 + $messages = [ + 'required' => ':attribute 为必填字段', + ]; + $validator = Validator::make($request->all(), [ + 'name' => 'required', + 'sort' => 'required', + 'type' => 'required', + 'is_legal' => 'required', + 'is_lever' => 'required', + + // 'logo'=>'required', + ], $messages); + + //如果验证不通过 + if ($validator->fails()) { + return $this->error($validator->errors()->first()); + } + $has = Currency::where('name', $name)->first(); + if (empty($id) && !empty($has)) { + return $this->error($name . ' 已存在'); + } + if (empty($id)) { + $currency = new Currency(); + $currency->create_time = time(); + } else { + $currency = Currency::find($id); + } + $currency->name = $name; + // $acceptor->token = $token; + // $acceptor->get_address = $get_address; + $currency->sort = intval($sort); + $currency->logo = $logo; + $currency->is_legal = $is_legal; + $currency->is_lever = $is_lever; + $currency->is_match = $is_match; + $currency->min_number = $min_number; + $currency->rate = $rate; + $currency->total_account = $total_account; + $currency->key = $key; + $currency->contract_address = $contract_address; + $currency->type = $type; + $currency->is_display = 1; + DB::beginTransaction(); + try { + $currency->save();//保存币种 + // if(empty($id)){// 如果是添加新币 //没添加一种交易币,就给用户添加一个交易币钱包 + // $currency_id = Currency::where('name',$name)->first()->id; + // $users = Users::all(); + // foreach ($users as $key => $value) { + // $userWallet = new UsersWallet(); + // $userWallet->user_id = $value->id; + // $userWallet->currency = $currency_id; + // $userWallet->create_time = time(); + // $userWallet->save(); + // } + // } + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function lists(Request $request) + { +// $limit = $request->get('limit', 10); +// $account_number = $request->get('account_number',''); + $result = new LeverMultiple(); + $count=$result::all()->count(); + $result = $result->orderBy('currency_id','asc')->get()->toArray(); +// var_dump($result);die; + foreach($result as $key=>$value) + { + if($value['type']==1) + { + $result[$key]['type']="倍数"; + } + else + { + $result[$key]['type']="手数"; + } + } + + return response()->json(['code' => 0, 'data' => $result, 'count' => $count]); + } + + + public function del() + { + $admin = LeverMultiple::find(Input::get('id')); + if($admin == null) { + abort(404); + } + $bool = $admin->delete(); + if($bool){ + return $this->success('删除成功'); + }else{ + return $this->error('删除失败'); + } + } + + public function edit(Request $request){ + + $id = $request->get('id',0); + if (empty($id)){ + return $this->error("参数错误"); + } + + $result = LeverMultiple::find($id); + // +// $res=UserCashInfo::where('user_id',$id)->first(); + + return view('admin.levermultiple.edit',['result'=>$result]); + } + + //编辑用户信息 + public function doedit(){ + $password = Input::get("value"); + $id = Input::get("id"); + if (empty($id)) return $this->error("参数错误"); + $user = LeverMultiple::find($id); + $user->value=$password; + if (empty($user)) return $this->error("数据未找到"); +// DB::beginTransaction(); + try { + + $aa=$user->save(); +// var_dump($aa);die; + return $this->success('编辑成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + + + + } + + + /** + * 交易对显示 + * + * @return void + */ + public function match() + { + return view('admin.currency.match'); + } + + public function matchList(Request $request) + { + $legal_id = $request->route('legal_id'); + $limit = $request->input('limit', 10); + $legal = Currency::find($legal_id); + $matchs = $legal->quotation()->paginate($limit); + return $this->layuiData($matchs); + } + + public function addMatch($legal_id) + { + $is_legal = Currency::where('id', $legal_id)->value('is_legal'); + if (!$is_legal) { + abort(403, '指定币种不是法币,不能添加交易对'); + } + $currencies = Currency::where('id', '<>', $legal_id)->get(); + $market_from_names = CurrencyMatch::enumMarketFromNames(); + return view('admin.currency.match_add')->with('currencies', $currencies) + ->with('market_from_names', $market_from_names); + } + + public function postAddMatch(Request $request, $legal_id) + { + $is_legal = Currency::where('id', $legal_id)->value('is_legal'); + if (!$is_legal) { + return $this->error('指定币种不是法币,不能添加交易对'); + } + $currency_id = $request->input('currency_id'); + $is_display = $request->input('is_display', 1); + $market_from = $request->input('market_from', 0); + $open_transaction = $request->input('open_transaction', 0); + $open_lever = $request->input('open_lever', 0); + $lever_share_num = $request->input('lever_share_num', 1); + $spread = $request->input('spread', 0); + $overnight = $request->input('overnight', 0); + $lever_trade_fee = $request->input('lever_trade_fee', 0); + //检测交易对是否已存在 + $exist = CurrencyMatch::where('currency_id', $currency_id) + ->where('legal_id', $legal_id) + ->first(); + if ($exist) { + return $this->error('对应交易对已存在'); + } + CurrencyMatch::unguard(); + $currency_match = CurrencyMatch::create([ + 'legal_id' => $legal_id, + 'currency_id' => $currency_id, + 'is_display' => $is_display, + 'market_from' => $market_from, + 'open_transaction' => $open_transaction, + 'open_lever' => $open_lever, + 'lever_share_num' => $lever_share_num, + 'lever_trade_fee' => $lever_trade_fee, + 'spread' => $spread, + 'overnight' => $overnight, + 'create_time' => time(), + ]); + CurrencyMatch::reguard(); + return isset($currency_match->id) ? $this->success('添加成功') : $this->error('添加失败'); + } + + public function editMatch($id) + { + $currency_match = CurrencyMatch::find($id); + if (!$currency_match) { + abort(403, '指定交易对不存在'); + } + $market_from_names = CurrencyMatch::enumMarketFromNames(); + $currencies = Currency::where('id', '<>', $currency_match->legal_id)->get(); + $var = compact('currency_match', 'currencies', 'market_from_names'); + return view('admin.currency.match_add', $var); + } + + public function postEditMatch(Request $request, $id) + { + $currency_id = $request->input('currency_id'); + $is_display = $request->input('is_display', 1); + $market_from = $request->input('market_from', 0); + $open_transaction = $request->input('open_transaction', 0); + $open_lever = $request->input('open_lever', 0); + $lever_share_num = $request->input('lever_share_num', 1); + $spread = $request->input('spread', 0); + $overnight = $request->input('overnight', 0); + $lever_trade_fee = $request->input('lever_trade_fee', 0); + $currency_match = CurrencyMatch::find($id); + if (!$currency_match) { + abort(403, '指定交易对不存在'); + } + CurrencyMatch::unguard(); + $result = $currency_match->fill([ + 'currency_id' => $currency_id, + 'is_display' => $is_display, + 'market_from' => $market_from, + 'open_transaction' => $open_transaction, + 'open_lever' => $open_lever, + 'lever_share_num' => $lever_share_num, + 'lever_trade_fee' => $lever_trade_fee, + 'spread' => $spread, + 'overnight' => $overnight, + 'create_time' => time(), + ])->save(); + CurrencyMatch::reguard(); + return $result ? $this->success('保存成功') : $this->error('保存失败'); + } + + public function delMatch($id) + { + $result = CurrencyMatch::destroy($id); + return $result ? $this->success('删除成功') : $this->error('删除失败'); + } +} diff --git a/app/Http/Controllers/Admin/LeverTransactionController.php b/app/Http/Controllers/Admin/LeverTransactionController.php new file mode 100644 index 0000000..edc32a4 --- /dev/null +++ b/app/Http/Controllers/Admin/LeverTransactionController.php @@ -0,0 +1,67 @@ +get(); + return view('admin.lever.hazard.index', [ + 'currencies' => $currencies, + ]); + } + + public function lists() + { + $limit = $request->input('limit', 10); + $legal_id = $request->input('legal_id', 0); + $type = $request->input('type', 0); + $operate = $request->input('operate', -1); + $hazard_rate = $request->input('hazard_rate', 0); + $user_hazard = LeverTransaction::where('status', LeverTransaction::TRANSACTION) + ->where(function ($query) use ($type, $legal_id) { + ($type != -1 && in_array($type, [1, 2])) && $query->where('type', $type); + $legal_id != -1 && $query->where('legal', $legal_id); + }) + ->select('user_id') + ->selectRaw('SUM((CASE `type` WHEN 1 THEN `update_price` - `price` WHEN 2 THEN `price` - `update_price` END) * `number` * `multiple`) AS `profits_total`') + ->selectRaw('SUM(`caution_money`) AS `caution_money_total`') + ->selectRaw('SUM(`origin_caution_money`) AS `origin_caution_money_total`') + ->groupBy('user_id') + ->paginate($limit); + $items = $user_hazard->getCollection(); + $items->transform(function ($item, $key) use ($legal_id) { + $user_wallet = UsersWallet::where('currency', $legal_id) + ->where('user_id', $item->user_id) + ->first(); + $item->setAppends(['mobile', 'account_number']); + $hazard_rate = LeverTransaction::getWalletHazardRate($user_wallet); + $balance = $user_wallet->lever_balance ?? 0; + $item->setAttribute('lever_balance', $balance) + ->setAttribute('hazard_rate', $hazard_rate); + return $item; + }); + if ($operate != -1 && !empty($hazard_rate)) { + switch ($operate) { + case 1: + $operate_symbol = '>='; + break; + case 2: + $operate_symbol = '<='; + break; + default: + $operate_symbol = null; + break; + } + $items = $items->where('hazard_rate', $operate_symbol, $hazard_rate); + } + $user_hazard->setCollection($items); + return $this->layuiData($user_hazard); + } +} diff --git a/app/Http/Controllers/Admin/LevertolegalController.php b/app/Http/Controllers/Admin/LevertolegalController.php new file mode 100644 index 0000000..497984d --- /dev/null +++ b/app/Http/Controllers/Admin/LevertolegalController.php @@ -0,0 +1,448 @@ +value= Input::get('value', ''); + $aaaaaaa->type=Input::get('type', ''); +//var_dump($aaaaaaa);die; + try { + $aaaaaaa->save(); + }catch (\Exception $ex){ + + } + return $this->success('添加成功'); + } + + public function postAdd(Request $request) + { + $id = $request->get('id', 0); + $name = $request->get('name', ''); + // $token = $request->get('token',''); + // $get_address = $request->get('get_address',''); + $sort = $request->get('sort', 0); + $logo = $request->get('logo', ''); + $type = $request->get('type', ''); + $is_legal = $request->get('is_legal', ''); + $is_lever = $request->get('is_lever', ''); + $is_match = $request->get('is_match', ''); + $min_number = $request->get('min_number', 0); + $rate = $request->get('rate', 0); + $total_account = $request->get('total_account', 0); + $key = $request->get('key', 0); + $contract_address = $request->get('contract_address', 0); + //自定义验证错误信息 + $messages = [ + 'required' => ':attribute 为必填字段', + ]; + $validator = Validator::make($request->all(), [ + 'name' => 'required', + 'sort' => 'required', + 'type' => 'required', + 'is_legal' => 'required', + 'is_lever' => 'required', + + // 'logo'=>'required', + ], $messages); + + //如果验证不通过 + if ($validator->fails()) { + return $this->error($validator->errors()->first()); + } + $has = Currency::where('name', $name)->first(); + if (empty($id) && !empty($has)) { + return $this->error($name . ' 已存在'); + } + if (empty($id)) { + $currency = new Currency(); + $currency->create_time = time(); + } else { + $currency = Currency::find($id); + } + $currency->name = $name; + // $acceptor->token = $token; + // $acceptor->get_address = $get_address; + $currency->sort = intval($sort); + $currency->logo = $logo; + $currency->is_legal = $is_legal; + $currency->is_lever = $is_lever; + $currency->is_match = $is_match; + $currency->min_number = $min_number; + $currency->rate = $rate; + $currency->total_account = $total_account; + $currency->key = $key; + $currency->contract_address = $contract_address; + $currency->type = $type; + $currency->is_display = 1; + DB::beginTransaction(); + try { + $currency->save();//保存币种 + // if(empty($id)){// 如果是添加新币 //没添加一种交易币,就给用户添加一个交易币钱包 + // $currency_id = Currency::where('name',$name)->first()->id; + // $users = Users::all(); + // foreach ($users as $key => $value) { + // $userWallet = new UsersWallet(); + // $userWallet->user_id = $value->id; + // $userWallet->currency = $currency_id; + // $userWallet->create_time = time(); + // $userWallet->save(); + // } + // } + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function lists(Request $request) + { +// $limit = $request->get('limit', 10); +// $account_number = $request->get('account_number',''); + $result = new Levertolegal(); + $count=$result::all()->count(); + $result = $result->leftjoin("users","lever_tolegal.user_id","=","users.id")->where("lever_tolegal.type","=",1)->orderBy("lever_tolegal.add_time","desc")->select("lever_tolegal.*","users.phone")->get()->toArray(); + foreach($result as $key=>$value) + { + $result[$key]["add_time"]=date("Y-m-d H:i:s",$value["add_time"]); + $result[$key]["type"]="杠杆转法币"; + } +// var_dump($result);die; + + return response()->json(['code' => 0, 'data' => $result, 'count' => $count]); + } + + //审核 + public function addshow(Request $request) + { + $id = $request->get('id',null); + $res= Levertolegal::find($id); + + + $data = $res->toArray(); + + return view('admin.levertolegal.update',['result'=>$data]); + } + ////审核通过 + public function postAddyes(Request $request) + { + $id = $request->post('id',null); + $user_id = $request->post('user_id',null); + $number= $request->post('number',null); + + //查询出usdt币的id + $usdt_id=Currency::where("name","=","USDC")->first()->id; + + + //查询出对应的钱包对象 + $usdt_users_wallet=UsersWallet::where("currency","=",$usdt_id)->where("user_id","=",$user_id)->first(); +// var_dump($usdt_users_wallet);;die; + + + + $data_wallet1 = [ + 'balance_type' => 3,//余额类型:1.法币,2.币币,3.杆杠 + 'wallet_id' => $usdt_users_wallet->id, + 'lock_type' => 0, + 'create_time' => time(), + 'before' => $usdt_users_wallet->lever_balance, + 'change' => $number, + 'after' => bc_sub($usdt_users_wallet->lever_balance, $number, 5), + ]; + $data_wallet2 = [ + 'balance_type' => 1,//余额类型:1.法币,2.币币,3.杆杠 + 'wallet_id' => $usdt_users_wallet->id, + 'lock_type' => 0, + 'create_time' => time(), + 'before' => $usdt_users_wallet->legal_balance, + 'change' => $number, + 'after' => bc_add($usdt_users_wallet->legal_balance, $number, 5), + ]; +// $usdt_users_wallet->lever_balance = $usdt_users_wallet->lever_balance - $number; + + DB::beginTransaction(); + try { + $usdt_users_wallet->legal_balance = $usdt_users_wallet->legal_balance + $number; + //解冻冻结余额 +// var_dump($number);die; + $usdt_users_wallet->lock_lever_balance = $usdt_users_wallet->lock_lever_balance - $number; + $usdt_users_wallet->save(); + + //更改审核状态为通过 + $status_res=new Levertolegal(); + $status11=$status_res->find($id); + $status11->status=2;//1:未审核 2:审核通过 3:审核不通过 + $status11->save(); + + AccountLog::insertLog([ + 'user_id' => $user_id, + 'value' => -$number, + 'currency' => $usdt_id, + 'info' => AccountLog::getTypeInfo(AccountLog::WALLET_LEVEL_LEGAL_OUT),//杠杆转法币审核通过,杠杆减少 + 'type' => AccountLog::WALLET_LEVEL_LEGAL_OUT, + ], $data_wallet1); + AccountLog::insertLog([ + 'user_id' => $user_id, + 'value' => $number, + 'currency' => $usdt_id, + 'info' => AccountLog::getTypeInfo(AccountLog::WALLET_LEVEL_LEGAL_IN),//杠杆转法币审核通过,法币增加 + 'type' => AccountLog::WALLET_LEVEL_LEGAL_IN, + ], $data_wallet2); + DB::commit(); + return $this->success('划转成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + + + + } +//审核不通过 + public function postAddno(Request $request) + { + $id = $request->post('id',null); + $user_id = $request->post('user_id',null); + $number= $request->post('number',null); + + //查询出usdt币的id + $usdt_id=Currency::where("name","=","USDC")->first()->id; + + + //查询出对应的钱包对象 + $usdt_users_wallet=UsersWallet::where("currency","=",$usdt_id)->where("user_id","=",$user_id)->first(); + + try { + $usdt_users_wallet->lever_balance = $usdt_users_wallet->lever_balance + $number; + //审核不通过解冻冻结余额 + $usdt_users_wallet->lock_lever_balance = $usdt_users_wallet->lock_lever_balance - $number; + $usdt_users_wallet->save(); + + //更改审核状态为通过 + $status_res=new Levertolegal(); + $status11=$status_res->find($id); + $status11->status=3;//1:未审核 2:审核通过 3:审核不通过 + $status11->save(); + + $usdt_users_wallet->save(); + AccountLog::newinsertLog([ + 'user_id' => $user_id, + 'value' => $number, + 'currency' => $usdt_id, + 'info' => AccountLog::getTypeInfo(AccountLog::WALLET_JIEDONGGANGGAN), + 'type' => AccountLog::WALLET_JIEDONGGANGGAN, + ]); + DB::commit(); + + return $this->success('审核不通过!'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + public function del() + { + $admin = LeverMultiple::find(Input::get('id')); + if($admin == null) { + abort(404); + } + $bool = $admin->delete(); + if($bool){ + return $this->success('删除成功'); + }else{ + return $this->error('删除失败'); + } + } + + public function edit(Request $request){ + + $id = $request->get('id',0); + if (empty($id)){ + return $this->error("参数错误"); + } + + $result = LeverMultiple::find($id); + // +// $res=UserCashInfo::where('user_id',$id)->first(); + + return view('admin.levermultiple.edit',['result'=>$result]); + } + + //编辑用户信息 + public function doedit(){ + $password = Input::get("value"); + $id = Input::get("id"); + if (empty($id)) return $this->error("参数错误"); + $user = LeverMultiple::find($id); + $user->value=$password; + if (empty($user)) return $this->error("数据未找到"); +// DB::beginTransaction(); + try { + + $aa=$user->save(); +// var_dump($aa);die; + return $this->success('编辑成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + + + + } + + + /** + * 交易对显示 + * + * @return void + */ + public function match() + { + return view('admin.currency.match'); + } + + public function matchList(Request $request) + { + $legal_id = $request->route('legal_id'); + $limit = $request->input('limit', 10); + $legal = Currency::find($legal_id); + $matchs = $legal->quotation()->paginate($limit); + return $this->layuiData($matchs); + } + + public function addMatch($legal_id) + { + $is_legal = Currency::where('id', $legal_id)->value('is_legal'); + if (!$is_legal) { + abort(403, '指定币种不是法币,不能添加交易对'); + } + $currencies = Currency::where('id', '<>', $legal_id)->get(); + $market_from_names = CurrencyMatch::enumMarketFromNames(); + return view('admin.currency.match_add')->with('currencies', $currencies) + ->with('market_from_names', $market_from_names); + } + + public function postAddMatch(Request $request, $legal_id) + { + $is_legal = Currency::where('id', $legal_id)->value('is_legal'); + if (!$is_legal) { + return $this->error('指定币种不是法币,不能添加交易对'); + } + $currency_id = $request->input('currency_id'); + $is_display = $request->input('is_display', 1); + $market_from = $request->input('market_from', 0); + $open_transaction = $request->input('open_transaction', 0); + $open_lever = $request->input('open_lever', 0); + $lever_share_num = $request->input('lever_share_num', 1); + $spread = $request->input('spread', 0); + $overnight = $request->input('overnight', 0); + $lever_trade_fee = $request->input('lever_trade_fee', 0); + //检测交易对是否已存在 + $exist = CurrencyMatch::where('currency_id', $currency_id) + ->where('legal_id', $legal_id) + ->first(); + if ($exist) { + return $this->error('对应交易对已存在'); + } + CurrencyMatch::unguard(); + $currency_match = CurrencyMatch::create([ + 'legal_id' => $legal_id, + 'currency_id' => $currency_id, + 'is_display' => $is_display, + 'market_from' => $market_from, + 'open_transaction' => $open_transaction, + 'open_lever' => $open_lever, + 'lever_share_num' => $lever_share_num, + 'lever_trade_fee' => $lever_trade_fee, + 'spread' => $spread, + 'overnight' => $overnight, + 'create_time' => time(), + ]); + CurrencyMatch::reguard(); + return isset($currency_match->id) ? $this->success('添加成功') : $this->error('添加失败'); + } + + public function editMatch($id) + { + $currency_match = CurrencyMatch::find($id); + if (!$currency_match) { + abort(403, '指定交易对不存在'); + } + $market_from_names = CurrencyMatch::enumMarketFromNames(); + $currencies = Currency::where('id', '<>', $currency_match->legal_id)->get(); + $var = compact('currency_match', 'currencies', 'market_from_names'); + return view('admin.currency.match_add', $var); + } + + public function postEditMatch(Request $request, $id) + { + $currency_id = $request->input('currency_id'); + $is_display = $request->input('is_display', 1); + $market_from = $request->input('market_from', 0); + $open_transaction = $request->input('open_transaction', 0); + $open_lever = $request->input('open_lever', 0); + $lever_share_num = $request->input('lever_share_num', 1); + $spread = $request->input('spread', 0); + $overnight = $request->input('overnight', 0); + $lever_trade_fee = $request->input('lever_trade_fee', 0); + $currency_match = CurrencyMatch::find($id); + if (!$currency_match) { + abort(403, '指定交易对不存在'); + } + CurrencyMatch::unguard(); + $result = $currency_match->fill([ + 'currency_id' => $currency_id, + 'is_display' => $is_display, + 'market_from' => $market_from, + 'open_transaction' => $open_transaction, + 'open_lever' => $open_lever, + 'lever_share_num' => $lever_share_num, + 'lever_trade_fee' => $lever_trade_fee, + 'spread' => $spread, + 'overnight' => $overnight, + 'create_time' => time(), + ])->save(); + CurrencyMatch::reguard(); + return $result ? $this->success('保存成功') : $this->error('保存失败'); + } + + public function delMatch($id) + { + $result = CurrencyMatch::destroy($id); + return $result ? $this->success('删除成功') : $this->error('删除失败'); + } +} diff --git a/app/Http/Controllers/Admin/LtcController.php b/app/Http/Controllers/Admin/LtcController.php new file mode 100644 index 0000000..98f62a8 --- /dev/null +++ b/app/Http/Controllers/Admin/LtcController.php @@ -0,0 +1,112 @@ +get('limit',10); + $list = new Ltc(); + $list = $list->orderBy('id','desc')->paginate($limit); + return response()->json(['code'=>0,'data'=>$list->items(),'count'=>$list->total()]); + } + + public function add() + { + $level = Ltc::getLevelName(); + return view('admin.ltc.add',['levelName'=>$level]); + } + + public function postAdd(Request $request){ + $name = $request->get('name',''); + $profile = $request->get('profile',''); + $detail = $request->get('detail',''); + $price = $request->get('price',''); + $number = $request->get('number',''); + $thumbnail = $request->get('thumbnail',''); + if(empty($name)){ + return $this->error('请输入名称'); + } + if(empty($profile)){ + return $this->error('请输入简介'); + } + if(empty($detail)){ + return $this->error('请输入详情'); + } + if(empty($price)){ + return $this->error('请输入价格'); + } + if(empty($number)){ + return $this->error('请输入数量'); + } + if(empty($thumbnail)){ + return $this->error("请上传图片"); + } + + $id = $request->get('id',''); + if(empty($id)){ + $result = new Ltc(); + }else{ + $result = Ltc::find($id); + } + try{ + $result->name = $name; + $result->profile = $profile; + $result->detail = $detail; + $result->price = $price; + $result->number = $number; + $result->thumbnail = $thumbnail; + $result->create_time = time(); + $result->save(); + return $this->success('添加成功'); + }catch (\Exception $e){ + return $this->error($e->getMessage()); + } + } + + public function edit() + { + $id = Input::get('id',null); + if(empty($id)){ + return $this->error('参数错误'); + } + $result = Ltc::find($id); + if(empty($result)){ + return $this->error('无此数据'); + } + $level = Ltc::getLevelName(); + return view('admin.ltc.add', ['result'=>$result,'levelName'=>$level]); + } + + public function del(Request $request){ + $id = $request->get('id',''); + if(empty($id)){ + return $this->error('参数错误'); + } + $result = Ltc::find($id); + try{ + $result->delete(); + return $this->success('删除成功'); + }catch(\Exception $e){ + return $this->error($e->getMessage()); + } + } + + public function buyList(Request $request){ + $limit = $request->get('limit',10); + $result = new LtcBuy(); + $result = $result->orderBy('id','desc')->paginate($limit); + return response()->json(['code'=>0,'data'=>$result->items(),'count'=>$result->total()]); + } +} +?> \ No newline at end of file diff --git a/app/Http/Controllers/Admin/MailMessageController.php b/app/Http/Controllers/Admin/MailMessageController.php new file mode 100644 index 0000000..935f957 --- /dev/null +++ b/app/Http/Controllers/Admin/MailMessageController.php @@ -0,0 +1,141 @@ +get('limit'); + $start_time = strtotime($request->get('start_time', 0)); + $end_time = strtotime($request->get('end_time', 0)); + + $list = MailMessage::where(function ($query) use ($start_time) { + if (!empty($start_time)) { + $query->where('create_time', '>=', $start_time); + } + })->where(function ($query) use ($end_time) { + if ($end_time != '') { + $query->where('create_time', '<=', $end_time); + } + })->orderBy('id', 'desc')->paginate($limit); + + return $this->layuiData($list); + } + + public function add(){ + $user_list = Users::all(); + return view("admin.message.add", [ + 'user_list' => $user_list + ]); + } + + public function postAdd(Request $request){ + $userIds = Input::get("userIds"); + $title = Input::get("title"); + $content = Input::get("content"); + $abstract = Input::get("abstract"); + + if (empty($title) || empty($content)) return $this->error("参数错误"); + + + DB::beginTransaction(); + $mailMessage = new MailMessage(); + try { + + $mailMessage->user_ids = $userIds ?? ''; + $mailMessage->title = $title ?? ''; + $mailMessage->content = $content ?? ''; + $mailMessage->status = 1; + $mailMessage->abstract = $abstract; + $mailMessage->create_time = time(); + $mailMessage->save(); + + DB::commit(); + $send = ['type' => 'mail_message', 'period' => true]; + UserChat::sendChat($send); + return $this->success('保存发送成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + public function post_add(Request $request){ + $userIds = Input::get("userIds"); + $title = Input::get("title"); + $content = Input::get("content"); + + if (empty($title) || empty($content)) return $this->error("参数错误"); + + + DB::beginTransaction(); + $mailMessage = new MailMessage(); + try { + + $mailMessage->user_ids = $userIds ?? ''; + $mailMessage->title = $title ?? ''; + $mailMessage->content = $content ?? ''; + $mailMessage->status = 0; + $mailMessage->abstract = $abstract; + $mailMessage->create_time = time(); + $mailMessage->save(); + + DB::commit(); + return $this->success('保存成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + public function del(Request $request) + { + $id = $request->get('id'); + $userreal = MailMessage::find($id); + if (empty($userreal)) { + $this->error("信息未找到"); + } + try { + + $userreal->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + public function fs(Request $request){ + $id = $request->get('id'); + $userreal = MailMessage::find($id); + if (empty($userreal)) { + $this->error("信息未找到"); + } + try { + $userreal -> status = 1; + $userreal->save(); + return $this->success('发送成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + +} diff --git a/app/Http/Controllers/Admin/MarketController.php b/app/Http/Controllers/Admin/MarketController.php new file mode 100644 index 0000000..9cb277b --- /dev/null +++ b/app/Http/Controllers/Admin/MarketController.php @@ -0,0 +1,129 @@ +where('is_display', 1)->get(); + $currency = Currency::where('is_display', 1)->get(); + + return view('admin.market.add')->with(['rest' => $legal, 'list' => $currency]); + } + + public function postAdd(Request $request) + { + $currency_id = $request->get('currency_id', 0); + $legal_id = $request->get('legal_id', ''); + $start_price = $request->get('start_price', 0); + $end_price = $request->get('end_price', ''); + $type = $request->get('type', ''); + $highest = $request->get('highest', ''); + $mminimum = $request->get('mminimum', ''); + $number = $request->get('number', 0); + $times = $request->get('start_time', 0); + if ($legal_id == $currency_id) { + return $this->error('法币和币种不能一样'); + } + if (empty($start_price) || empty($end_price) || empty($highest) || empty($mminimum)) { + return $this->error('请把数据填写完整'); + } + if ($type == 0) { + $market = new MarketDay(); + $times = date('Y-m-d', strtotime($times)); + $market->times = $times; + } else { + $market = new MarketHour(); + $market->type = $type; + $times = strtotime($times); + $market->day_time = $times; + } + + $market->currency_id = $currency_id; + $market->legal_id = $legal_id; + $market->start_price = $start_price; + $market->end_price = $end_price; + $market->highest = $highest; + $market->mminimum = $mminimum; + $market->number = $number; + + + DB::beginTransaction(); + try { + $market->save();//保存币种 + + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } +//行情数据展示 + public function lists(Request $request) + { + $limit = $request->get('limit', 20); + //$account_number = $request->get('account_number',''); + $result = new MarketHour(); + $result = $result->orderBy('id', 'asc')->orderBy('id', 'desc')->paginate($limit); + foreach ($result as $k => $v) { + $legal = Currency::find($v->legal_id); + $v->legal_name = $legal->name; + $currency = Currency::find($v->currency_id); + $v->currency_name = $currency->name; + $v->day_time=date("Y-m-d H:i:s",$v->day_time); + } + return $this->layuiData($result); + } + + public function delete(Request $request) + { + $id = $request->get('id', 0); + $acceptor = MarketDay::find($id); + if (empty($acceptor)) { + return $this->error('无此记录'); + } + try { + $acceptor->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function isDisplay(Request $request) + { + $id = $request->get('id', 0); + $currency = Currency::find($id); + if (empty($currency)) { + return $this->error('参数错误'); + } + if ($currency->is_display == 1) { + $currency->is_display = 0; + } else { + $currency->is_display = 1; + } + try { + $currency->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + +} diff --git a/app/Http/Controllers/Admin/MicroController.php b/app/Http/Controllers/Admin/MicroController.php new file mode 100644 index 0000000..5860a2d --- /dev/null +++ b/app/Http/Controllers/Admin/MicroController.php @@ -0,0 +1,315 @@ +get('id', 0); + if (empty($id)) { + $result = new MicroNumber(); + } else { + $result = MicroNumber::find($id); + } + $currencies = Currency::where('is_micro', 1)->get(); + + return view('admin.micro.add')->with('result', $result)->with('currencies', $currencies); + } + + public function postAdd(Request $request) + { + $id = $request->get('id', 0); + $currency_id = $request->get('currency_id', ''); + $number = $request->get('number', ''); + + if (empty($id)) { + $micro_number = new MicroNumber(); + } else { + $micro_number = MicroNumber::find($id); + if ($micro_number == null) { + return redirect()->back(); + } + } + $micro_number->currency_id = $currency_id; + $micro_number->number = $number; + + DB::beginTransaction(); + try { + $micro_number->save(); //保存币种 + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function lists(Request $request) + { + $limit = $request->get('limit', 10); + $result = new MicroNumber(); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + public function del(Request $request) + { + $id = $request->get('id', 0); + $nicro_number = MicroNumber::find($id); + if (empty($nicro_number)) { + return $this->error('参数错误'); + } + try { + $nicro_number->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + + //micro_seconds + + public function secondsIndex() + { + return view('admin.micro.seconds_index'); + } + + public function secondsAdd(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + $result = new MicroSecond(); + } else { + $result = MicroSecond::find($id); + } + // $currencies = Currency::where('is_micro',1)->get(); + + return view('admin.micro.seconds_add')->with('result', $result); + } + + public function secondsPostAdd(Request $request) + { + $id = $request->get('id', 0); + $seconds = $request->get('seconds', ''); + $status = $request->get('status', ''); + $profit_ratio = $request->get('profit_ratio', ''); + $loss_ratio = $request->get('loss_ratio', ''); + $max_amount = $request->get('max_amount', ''); + $min_amount = $request->get('min_amount', ''); + if (empty($id)) { + $result = new MicroSecond(); + } else { + $result = MicroSecond::find($id); + if ($result == null) { + return redirect()->back(); + } + } + $result->seconds = $seconds; + $result->profit_ratio = $profit_ratio; + $result->loss_ratio = $loss_ratio; + $result->status = $status; + $result->max_amount = $max_amount; + $result->min_amount = $min_amount; + + DB::beginTransaction(); + try { + $result->save(); //保存币种 + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + DB::rollBack(); + return $this->error($exception->getMessage()); + } + } + + public function secondsLists(Request $request) + { + $limit = $request->get('limit', 10); + $result = new MicroSecond(); + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + + public function secondsDel(Request $request) + { + $id = $request->get('id', 0); + $result = MicroSecond::find($id); + if (empty($result)) { + return $this->error('参数错误'); + } + try { + $result->delete(); + return $this->success('删除成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function secondsStatus(Request $request) + { + $id = $request->get('id', 0); + $result = MicroSecond::find($id); + if (empty($result)) { + return $this->error('参数错误'); + } + if ($result->status == 1) { + $result->status = 0; + } else { + $result->status = 1; + } + try { + $result->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function order() + { + $currencies = Currency::where('is_micro', 1)->get(); + $currency_matches = CurrencyMatch::where('open_microtrade', 1)->get(); + return view('admin.micro.orders') + ->with('currencies', $currencies) + ->with('currency_matches', $currency_matches); + } + + public function orderList(Request $request) + { + $currency_id = $request->input('currency_id', -1); + $match_id = $request->input('match_id', -1); + $type = $request->input('type', -1); + $account = $request->input('account', ''); + $name = $request->input('name', ''); + $limit = $request->input('limit', 10); + $status = $request->input('status', -1); + $start = $request->input("start_time", ''); + $end = $request->input("end_time", ''); + $pre_profit_result = $request->input('pre_profit_result', -2); + $profit_result = $request->input('profit_result', -2); + + $results = MicroOrder::with(['currency', 'currencyMatch', 'user']) + ->when($currency_id != -1, function ($query) use ($currency_id) { + $query->where('currency_id', $currency_id); + })->when($match_id != -1, function ($query) use ($match_id) { + $query->where('match_id', $match_id); + })->when($type != -1, function ($query) use ($type) { + $query->where('type', $type); + })->when($status != -1, function ($query) use ($status) { + $query->where('status', $status); + })->when($pre_profit_result != -2, function ($query) use ($pre_profit_result) { + $query->where('pre_profit_result', $pre_profit_result); + })->when($profit_result != -2, function ($query) use ($profit_result) { + $query->where('profit_result', $profit_result); + })->when($account != '' || $name != '', function ($query) use ($account, $name) { + $query->whereHas('user', function ($query) use ($account, $name) { + $account != '' && $query->where("phone", 'like', '%' . $account . '%')->orwhere('email', 'like', '%' . $account . '%'); + $query->when($name != '', function ($query) use ($name) { + $query->whereHas('userReal', function ($query) use ($name) { + $query->where("name", 'like', '%' . $name . '%'); + }); + }); + }); + })->when($start !='', function ($query) use ($start) { + $query->where('created_at','>=', $start); + })->when($end !='', function ($query) use ($end) { + $query->where('created_at','<=', $end); + })->orderBy('id', 'desc') + ->paginate($limit); + $items = $results->getCollection(); + $items->transform(function ($item, $key) { + return $item->append('pre_profit_result_name')->makeVisible('pre_profit_result'); + }); + $results->setCollection($items); + return $this->layuiData($results); + } + + public function edit(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + return $this->error("参数错误"); + } + + $result = MicroOrder::findOrNew($id); + + return view('admin.micro.edit', ['result' => $result]); + } + + //编辑用户信息 + public function editPost() + { + + $risk = Input::get('risk', 0); + + $id = Input::get("id"); + + if (empty($id)) return $this->error("参数错误"); + + $res = MicroOrder::find($id); + if (empty($res)) { + return $this->error("数据未找到"); + } + if ($res->status != 1) { + return $this->error("数据状态下不能修改"); + } + + $res->pre_profit_result = $risk; + + + DB::beginTransaction(); + + try { + $res->save(); + + DB::commit(); + return $this->success('编辑成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + public function batchRisk(Request $request) + { + try { + $ids = $request->input('ids', []); + $risk = $request->input('risk', 0); + if (empty($ids)) { + throw new \Exception('请先选择要处理的交易'); + } + if (!in_array($risk, [-1, 0, 1])) { + throw new \Exception('输赢类型不正确'); + } + $affect_rows = MicroOrder::where('status', MicroOrder::STATUS_OPENED) + ->whereIn('id', $ids) + ->update([ + 'pre_profit_result' => $risk, + ]); + return $this->success('本次提交:' . count($ids) . '条,设置成功:' . $affect_rows . '条'); + } catch (\Throwable $th) { + return $this->error($th->getMessage()); + } + } +} diff --git a/app/Http/Controllers/Admin/MyQuotation.php b/app/Http/Controllers/Admin/MyQuotation.php new file mode 100644 index 0000000..d1b1ccb --- /dev/null +++ b/app/Http/Controllers/Admin/MyQuotation.php @@ -0,0 +1,162 @@ +where("market_from",2)->select("currency_id")->get(); + $bases=json_decode(json_encode($bases),true); + foreach ($bases as $k=>$v){ + $one=DB::table("currency")->where("id",$v["currency_id"])->select("id","name")->first(); + $bases[$k]["name"]=$one->name; + } + // var_dump($bases);die; + $base=$request->get("base",$bases[0]["name"]); + + $news = NeedleModel::where("base",$base)->orderBy('id', 'desc')->paginate(10); + $news->appends(['base'=>$base])->render(); + $data = [ + 'currencys' => $currencys = CurrencyMatch::where('market_from', 3)->get(), + 'news' => $news + ]; + $res=[ + 'data' => $data, + "bases"=>$bases, + "base"=>$base + ]; + //$res->appends(['base'=>$base])->render(); + + return view('admin.needle.quotation', $res); + } + + public function lists(Request $request) + { + + $param = [ + 'index' => 'market.quotation', + 'type' => 'doc',//$type, + 'body' => [ + 'query' => [ + 'bool' => [ + 'must' => [ + ['match' => ['base' => $request->get('currency')]], + ], + ], + ], + 'sort' => [ + 'itime' => ['order' => 'asc'] + ], + 'size' => $request->get('limit'), + 'from' => ($request->get('page') - 1) * $request->get('limit') + ], + ]; + $esclient = MarketHour::getEsearchClient(); + $result = $esclient->search($param); + $total = 0; + $data = []; + if (isset($result['hits'])) { + $data = array_column($result['hits']['hits'], '_source'); + $total = $result['hits']['total']['value']; + } + $res = ['code' => 0, + 'msg' => '', + 'count' => $total, + 'data' => $data]; + return $res; + } + + public function delete(Request $request) + { + $param = [ + 'index' => 'market.quotation', + 'type' => 'doc',//$type, + ]; + } + + public function reset(Request $request) + { + $param = [ + 'index' => 'market.quotation', + ]; + $eclient = MarketHour::getEsearchClient(); + $eclient->indices()->delete($param); + + foreach (['5min', '15min', '30min', '60min', '1day', '1week', '1mon'] as $v) { + try { + $param = [ + 'index' => 'market.kline.' . $v, + ]; + $eclient = MarketHour::getEsearchClient(); + $eclient->indices()->delete($param); + } catch (\Exception $e) { + + } + + } + return ['code' => 1]; + } + + public static function needleList($num = 0, $name) + { + $esclient = MarketHour::getEsearchClient(); + + $param = [ + 'index' => 'market.quotation', + 'type' => 'doc',//$type, + 'body' => [ + 'query' => [ + 'bool' => [ + 'must' => [ + ['match' => ['base' => $_POST]], + ['match' => ['base-currency' => $base_currency]], + ['match' => ['quote-currency' => $quote_currency]], + ], + 'filter' => [ + 'range' => [ + 'id' => [ + 'gte' => $from, + 'lte' => $to, + ], + ], + ], + ], + ], + 'sort' => [ + ], + 'size' => 20, + 'from' => 20 + ], + ]; + $result = $esclient->search($param); + if (isset($result['hits'])) { + $data = []; +// foreach($result['hits']['hits'] as $val) +// { +// $val['_source']; +// } + $data = array_column($result['hits']['hits'], '_source'); + + return $data; + } else { + return []; + } +// $news_query = NeedleModel::where(function ($query) use ($cId) { +// $cId > 0 && $query->where('id', $cId); +// })->orderBy('id', 'desc'); + $news = $num != 0 ? $news_query->paginate($num) : $news_query->get(); + return $news; + } +} diff --git a/app/Http/Controllers/Admin/NewsController.php b/app/Http/Controllers/Admin/NewsController.php new file mode 100644 index 0000000..946609f --- /dev/null +++ b/app/Http/Controllers/Admin/NewsController.php @@ -0,0 +1,418 @@ +where('title', 'like', $keyword); + $cId > 0 && $query->where('c_id', $cId); + !empty($lang) && $query->where('lang', $lang); + })->orderBy('id', 'desc'); + $news = $num != 0 ? $news_query->paginate($num) : $news_query->get(); + return $news; + } + + /** + * @num integer 每页记录数,为0则不分页 + * @id integer 分类ID,为0则返回所有 + */ + + public static function newsCateList($num = 0, $id = 0) + { + if($id == 0) { + if($num != 0) { + $discuss = NewsCategory::orderBy('id', 'desc')->paginate($num); + } else { + $discuss = NewsCategory::orderBy('id', 'desc')->get(); + } + } else { + if($num != 0) { + $discuss = NewsCategory::where('id', $id)->orderBy('id', 'asc')->paginate($num); + } else { + $discuss = NewsCategory::where('id', $id)->orderBy('id', 'asc')->get(); + } + } + return $discuss; + } + + /** + * @nId integer 所属新闻ID + * @num integer 每页记录数,为0则不分页 + */ + + public static function newsDiscussList($nId = 0, $num = 0) + { + if($nId == 0) { + return false; + } else { + if($num != 0) { + $discuss = NewsDiscuss::where('n_id', $nId)->orderBy('id', 'desc')->paginate($num); + } else { + $discuss = NewsDiscuss::where('n_id', $nId)->orderBy('id', 'desc')->get(); + } + } + return $discuss; + } + + /** + * 后台新闻列表 + * + * @return + */ + + public function index(Request $request, $c_id = 0, $keyword = '') + { + $c_id = intval($request->input('c_id', '0')); + $keyword = trim($request->input('keyword', '')); + $lang = trim($request->input('lang', '')); + $cateList = NewsCategory::all(); + $news = self::newsList($c_id, $keyword, $lang, 10); + $lang_list = NewsModel::getLangeList(); + $count = count($news); + $data = [ + 'count'=> $count, + 'news' => $news->appends([ + 'c_id' => $c_id, + 'keyword' => $keyword, + 'lang' => $lang, + ]), + 'cateList' => $cateList, + ]; + return view('admin.news.index', [ + 'data'=> $data, + 'lang_list' => $lang_list, + ]); + } + + /** + * 后台添加新闻表单 + * + * @return + */ + + public function add(Request $request) + { + $cateList = NewsCategory::all(); + $lang_list = NewsModel::getLangeList(); + return view('admin.news.add', [ + 'cateList' => $cateList, + 'langList' => $lang_list + ]); + } + + /** + * 处理添加新闻表单数据 + * + * @return + */ + + public function postAdd(Request $request) + { + $news = new NewsModel(); + $this->validate($request, [ + 'title' => 'required|min:1|max:128', + 'c_id' => 'required|integer', + 'author' => 'required|min:1|max:64', + 'content' => 'required', + 'lang' => 'required', + ]); + $news->title = $request->input('title'); + $news->c_id = $request->input('c_id'); + $news->recommend = $request->input('recommend', 0); + $thumbnail = $request->input('thumbnail', ""); + $cover = $request->input('cover', ""); + $news->thumbnail = empty($thumbnail) ? URL("images/zwtp.png"):$thumbnail; + $news->cover = empty($cover) ? URL("images/zwtp.png"):$cover; + $news->audit = $request->input('audit', 0); + $news->display = $request->input('display', 0); + $news->discuss = $request->input('discuss', 0); + $news->author = $request->input('author', '管理员') ; + $news->views = $request->input('views', 0); + $news->create_time = $request->input('create_time') == date('Y-m-d') ? strtotime(date('Y-m-d H:i:s')) : strtotime($request->input('create_time')); + $news->browse_grant = $request->input('browse_grant'); + $news->keyword = $request->input('keyword', '') ?? ''; + $news->abstract = $request->input('abstract', '') ?? ''; + $news->content = $request->input('content', '') ?? ''; + $news->lang = $request->input('lang', 'zh'); + $news->sorts = $request->input('sorts', 0); + $result = $news->save(); + return $result ? $this->success('添加成功!') : $this->error('添加失败!'); + } + + /** + * 编辑新闻表单 + * + * @return + */ + + public function edit(Request $request, $id = 0) + { + $news = NewsModel::find($id); + $cateList = NewsCategory::all(); + $lang_list = NewsModel::getLangeList(); + $data = [ + 'news' => $news, + 'cateList' => $cateList, + 'langList' => $lang_list, + ]; + return view('admin.news.add', $data); + } + + /** + * 处理编辑表单数据 + */ + + public function postEdit(Request $request, $id = 0) + { + $news = NewsModel::find($id); + $cateList = NewsCategory::all(); + $this->validate($request, [ + 'title' => 'required|min:1|max:128', + 'author' => 'required|min:1|max:64', + 'content' => 'required', + 'c_id' => 'required|integer|min:1', + 'lang' => 'required', + ]); + $news->title = $request->input('title'); + $news->c_id = $request->input('c_id'); + $thumbnail = $request->input('thumbnail', ""); + $cover = $request->input('cover', ""); + $news->thumbnail = empty($thumbnail) ? URL("images/zwtp.png"):$thumbnail; + $news->cover = empty($cover) ? URL("images/zwtp.png"):$cover; + $news->recommend = $request->input('recommend', 0); + $news->audit = $request->input('audit', 0); + $news->display = $request->input('display', 0); + $news->discuss = $request->input('discuss', 0); + $news->author = $request->input('author', '管理员'); + $news->views = $request->input('views', 0); + $news->create_time = $request->input('create_time') == date('Y-m-d') ? strtotime(date('Y-m-d H:i:s')) : strtotime($request->input('create_time')); + $news->browse_grant = $request->input('browse_grant'); + $news->keyword = $request->input('keyword', ''); + $news->abstract = $request->input('abstract', ''); + $news->content = $request->input('content', ''); + $news->lang = $request->input('lang', 'zh'); + $news->sorts = $request->input('sorts', 0); + $result = $news->save(); + return $result ? $this->success('编辑成功!') : $this->error('编辑失败!'); + } + + /** + * 后台删除新闻 + * @param $id 新闻ID + * @param $togetherDel 同评论一起删除 + * @return + */ + + public function del(Request $request, $id = 0, $togetherDel = 0) + { + //判断新闻对应评论是否一同删除 + $result = false; + $s = 0; + if($togetherDel) { + DB::beginTransaction(); + NewsDiscuss::where('n_id', $id)->delete() && $s++; + NewsModel::destroy($id) && $s++; + $result = $s == 2; + $result ? DB::commit() : DB::rollBack(); + } else { + $result = NewsModel::destroy($id); + } + return $result ? $this->success('删除成功!') : $this->error('删除失败!'); + } + + /** + * 后台新闻分类列表 + * + * @return + */ + + public function cateIndex(Request $request) + { + $count = NewsCategory::count(); + $newsCate = self::newsCateList(10); + $data = ['count' => $count, 'newsCate' => $newsCate]; + return view('admin.news.cateIndex', ['data'=> $data]); + } + + /** + * AJAX动态获取分类 + * @return array + */ + + public function getCateList() + { + $newsCate = self::newsCateList(); + $count = $newsCate->count(); + $data = [ + 'count' => $count, + 'cate' => $newsCate + ]; + return $data; + } + + /** + * 添加新闻分类表单 + * + * @return + */ + + public function cateAdd(Request $request) + { + return view('admin.news.cateAdd'); + } + + /** + * 处理添加分类数据 + * + * @return + */ + public function postCateAdd(Request $request) + { + $cate = new NewsCategory(); + $this->validate($request, [ + 'name' => 'required|min:1|max:128', + ]); + $cate->name = $request->input('name', ''); + $cate->sorts = $request->input('sorts', 0); + $cate->is_show = $request->input('is_show', 1); + $result = $cate->save(); + return $result ? $this->success('添加成功!') : $this->error('添加失败!'); + } + + /** + * 编辑新闻分类表单 + * + * @return + */ + + public function cateEdit(Request $request, $id = 0) + { + $cate = NewsCategory::find($id); + return view('admin.news.cateAdd', $cate); + } + + /** + * 处理编辑新闻分类数据 + * + * @return + */ + + public function PostCateEdit(Request $request, $id = 0) + { + $cate = NewsCategory::find($id); + $this->validate($request, [ + 'name' => 'required|min:1|max:128', + ]); + $cate->name = $request->input('name', ''); + $cate->sorts = $request->input('sorts', 0); + $cate->is_show = $request->input('is_show', 1); + $result = $cate->save(); + return $result ? $this->success('修改成功!') : $this->error('修改失败!'); + } + + /** + * 后台删除新闻分类 + * + * @return + */ + + public function cateDel(Request $request, $id = 0) + { + //需要先判断所属分类下是否有新闻 + $count = NewsModel::where('c_id', $id)->count(); + if($count > 0) { + return $this->error('删除失败,原因:对应分类下有新闻!'); + } else { + $result = NewsCategory::destroy($id); + return $result ? $this->success('删除成功!') : $this->error('删除失败!'); + } + } + + /** + * 新闻评论列表 + * + * @return + */ + + public function discussIndex(Request $request, $nId = 0) + { + $newsDiscuss = self::newsDiscussList($nId, 20); + $news = NewsModel::find($nId); + $data = [ + 'news' => $news, + 'newsDiscuss' => $newsDiscuss + ]; + return view('admin.news.discussIndex', $data); + } + + /** + * AJAX获取评论列表 + * @return array + */ + + public function getDisscussList(Request $request, $nId = 0) + { + $count = NewsDiscuss::where('n_id', $nId)->count(); + $newsCate = self::newsDiscussList($nId); + $data = [ + 'count' => $count, + 'cate' => $newsCate + ]; + return $data; + } + + /** + * 切换新闻评论显示状态 + * + * @return + */ + + public function discussShowToggle(Request $request, $id = 0) + { + if($id !=0) { + $discuss = NewsDiscuss::find($id); + $discuss->status = 1 - intval($discuss->status); + $result = $discuss->save(); + return $result ? $this->success('显示状态改变成功!') : $this->error('显示状态改变失败!'); + } else { + return $this->error('ID传参错误'); + } + } + + /** + * 删除新闻评论 + * + * @return + */ + + public function discussDel(Request $request, $id = 0) + { + if($id !=0) { + $result = NewsDiscuss::destroy($id); + return $result ? $this->success('删除成功!') : $this->error('删除失败!'); + } else { + return $this->error('ID传参错误'); + } + } +} diff --git a/app/Http/Controllers/Admin/PayController.php b/app/Http/Controllers/Admin/PayController.php new file mode 100644 index 0000000..b332b8d --- /dev/null +++ b/app/Http/Controllers/Admin/PayController.php @@ -0,0 +1,66 @@ +get('limit', 10); + $userId = $request->get('user_id', ''); + $status = $request->get('status', ''); + $start_time = $request->get('start_time', ''); + $end_time = $request->get('end_time', ''); + $list = PayUserInfo::where(function ($query) use ($userId) { + if (!empty($userId)) { + $query->where('user_id', $userId); + } + }) -> where(function ($query) use ($status) { + if ($status != '') { + $query->where('status', $status); + } + }) -> where(function ($query) use ($start_time) { + if (!empty($start_time)) { + $query->where('create_time', '>=', strtotime($start_time)); + } + }) -> where(function ($query) use ($end_time) { + if (!empty($end_time)) { + $query->where('create_time', '<=', strtotime($end_time)); + } + }) ->orderBy('id', 'asc') -> paginate($limit); + return $this->layuiData($list); + } + + public function closeNofity(Request $request){ + $id = $request->get('id'); + $payUserInfo = PayUserInfo::where("id",$id) ->first(); + if (empty($payUserInfo)){ + return $this->error('数据信息错误'); + } + + DB::beginTransaction(); + try { + $payUserInfo -> notify_status = 1; + $payUserInfo -> save(); + DB::commit(); + return $this->success("操作成功"); + } catch (\Exception $_var_6) { + DB::rollBack(); + return $this->error("关闭通知失败".$_var_6); + } + } +} diff --git a/app/Http/Controllers/Admin/PrizePoolController.php b/app/Http/Controllers/Admin/PrizePoolController.php new file mode 100644 index 0000000..49c00f2 --- /dev/null +++ b/app/Http/Controllers/Admin/PrizePoolController.php @@ -0,0 +1,66 @@ +with('scene_list', $scene_list); + } + + public function lists(Request $request) + { + $limit = $request->input('limit', 10); + $prize_pool = PrizePool::whereHas('toUser', function ($query) use ($request) { + $account_number = $request->input('account_number'); + if ($account_number) { + $query->where('account_number', $account_number) + ->orWhere('phone', $account_number) + ->orWhere('email', $account_number); + } + })->where(function ($query) use ($request) { + $scene = $request->input('scene', -1); + $start_time = strtotime($request->input('start_time', null)); + $end_time = strtotime($request->input('end_time', null)); + $scene != -1 && $query->where('scene', $scene); + $start_time && $query->where('create_time', '>=', $start_time); + $end_time && $query->where('create_time', '<=', $end_time); + })->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($prize_pool); + } + + public function count(Request $request) + { + $count_data = PrizePool::selectRaw('1 as user_count') + ->selectRaw('sum(`reward_qty`) as reward_qty') + ->whereHas('toUser', function ($query) use ($request) { + $account_number = $request->input('account_number'); + if ($account_number) { + $query->where('account_number', $account_number) + ->orWhere('phone', $account_number) + ->orWhere('email', $account_number); + } + })->where(function ($query) use ($request) { + $scene = $request->input('scene', -1); + $start_time = strtotime($request->input('start_time', null)); + $end_time = strtotime($request->input('end_time', null)); + $scene != -1 && $query->where('scene', $scene); + $start_time && $query->where('create_time', '>=', $start_time); + $end_time && $query->where('create_time', '<=', $end_time); + })->groupBy('to_user_id')->get(); + $user_count = $count_data->pluck('user_count')->sum(); + $reward_total = 0; + $count_data->pluck('reward_qty')->each(function ($item, $key) use (&$reward_total) { + $reward_total = bc_add($reward_total, $item); + }); + return response()->json([ + 'user_count' => $user_count, + 'reward_total' => $reward_total, + ]); + } +} diff --git a/app/Http/Controllers/Admin/RobotController.php b/app/Http/Controllers/Admin/RobotController.php new file mode 100644 index 0000000..aa43842 --- /dev/null +++ b/app/Http/Controllers/Admin/RobotController.php @@ -0,0 +1,159 @@ +input('id', 0); + $robot = Robot::find($id); + switch ($robot->status){ + case 0: + $robot->status = 1; + break; + case 1: + $robot->status = 0; + break; + } + $robot->save(); + return $this->success('保存成功'); + } + /**添加一个机器人 + * @return \Illuminate\Http\JsonResponse + */ + public function add() + { + if (request()->isMethod('GET')) { + + $id = request()->input('id', 0); + if (empty($id)) { + $result = new Robot(); + } else { + $result = Robot::find($id); + } + $currencies = Currency::where('is_display', 1)->orderBy('id', 'desc')->get(); + $legals = Currency::where('is_display', 1)->where('is_legal', 1)->orderBy('id', 'desc')->get(); + + return view('admin.robot.add')->with(['currencies' => $currencies, 'legals' => $legals, 'result' => $result]); + } + + if (request()->isMethod('POST')) { + $data['buy_user'] = request()->input('buy_user', ''); + $data['sell_user'] = request()->input('sell_user', ''); + $data['currency_id'] = request()->input('currency_id', 0); + $data['legal_id'] = request()->input('legal_id', 0); + $data['number_max'] = request()->input('number_max', 0); + $data['number_min'] = request()->input('number_min', 0); + $data['second'] = request()->input('second', ''); + $data['float_number_up'] = request()->input('float_number_up', '0.00000'); + $data['float_number_down'] = request()->input('float_number_down', '0.00000'); + + foreach ($data as $v) if (!$v) return $this->error('请填写完整表单'); + + $buy_user = Users::where('phone', $data['buy_user'])->first(); + $sell_user = Users::where('phone', $data['sell_user'])->first(); + + if (!$buy_user) return $this->error('找不到买家'); + if (!$sell_user) return $this->error('找不到卖家'); + if (!is_numeric($data['number_max']) || !is_numeric($data['number_min'])) return $this->error('上下限只能是数字'); + if ($data['number_max'] < $data['number_min']) return $this->error('错误的上下限'); + if (!is_numeric($data['float_number_up']) || !is_numeric($data['float_number_down'])) return $this->error('价格浮动数只能是数字'); + if ($data['float_number_up'] < 0 || $data['float_number_down'] < 0) return $this->error('价格浮动数不能为负数'); + + + $id = request()->input('id', 0); + + if ($id) { + $robot = Robot::find($id); + } else { + $robot = new Robot(); + $robot->create_time = time(); + } + + $data['sell'] = request()->input('sell', 0); + $data['buy'] = request()->input('buy', 0); + + DB::beginTransaction(); + try { + $robot->buy_user_id = $buy_user->id; + $robot->sell_user_id = $sell_user->id; + $robot->currency_id = $data['currency_id']; + $robot->legal_id = $data['legal_id']; + $robot->number_max = $data['number_max']; + $robot->number_min = $data['number_min']; + $robot->second = $data['second']; + $robot->float_number_down = $data['float_number_down']; + $robot->float_number_up = $data['float_number_up']; + $robot->sell = $data['sell']; + $robot->buy = $data['buy']; + + $info = $robot->save(); + if (!$info) throw new \Exception('保存失败'); + + DB::commit(); + return $this->success('保存成功'); + } catch (\Exception $e) { + DB::rollback(); + return $this->error($e->getMessage()); + } + } + } + + /**返回页面 + * + */ + public function list() + { + return view('admin.robot.list'); + } + + /**返回列表数据 + * @return \Illuminate\Http\JsonResponse + */ + public function listData() + { + $limit = request()->input('limit', 10); + $list = Robot::paginate($limit); + return $this->layuiData($list); + } + + + public function delete() + { + $id = request()->input('id', 0); + $robot = Robot::find($id); + + if (!$robot) return $this->error('找不到这个机器人'); + + if ($robot->status == Robot::START) return $this->error('机器人正在运行,不能删除'); + + DB::beginTransaction(); + try { + $info = $robot->delete(); + if (!$info) throw new \Exception('删除失败'); + + DB::commit(); + return $this->success('删除成功'); + } catch (\Exception $e) { + DB::rollback(); + return $this->error($e->getMessage()); + } + } + + + +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/SellerController.php b/app/Http/Controllers/Admin/SellerController.php new file mode 100644 index 0000000..1a2f11e --- /dev/null +++ b/app/Http/Controllers/Admin/SellerController.php @@ -0,0 +1,262 @@ +get("id", 0); + $VslANFv = Seller::find($EWLCuXv); + if (empty($VslANFv)) { + return $this->error("参数错误"); + } + if ($VslANFv->status == 1) { + $VslANFv->status = 0; + } else { + $VslANFv->status = 1; + } + try { + $VslANFv->save(); + return $this->success("操作成功"); + } catch (\Exception $MBiuMjv) { + return $this->error($MBiuMjv->getMessage()); + } + } + public function lists(Request $request) + { + $mOViITQ = $request->get("limit", 10); + $PVVHhIv = $request->get("account_number", ""); + $lSZwmpQ = new Seller(); + if (!empty($PVVHhIv)) { + $wBUciPQ = Users::where("account_number", "like", "%" . $PVVHhIv . "%")->get()->pluck("id"); + $lSZwmpQ = $lSZwmpQ->whereIn("user_id", $wBUciPQ); + } + $lSZwmpQ = $lSZwmpQ->orderBy("id", "desc")->paginate($mOViITQ); + return $this->layuiData($lSZwmpQ); + } + public function add(Request $request) + { + $wzCTTIQ = $request->get("id", 0); + if (empty($wzCTTIQ)) { + $bSHyBhv = new Seller(); + $bSHyBhv->create_time = time(); + } else { + $bSHyBhv = Seller::find($wzCTTIQ); + } + $sYOdeDQ = Bank::all(); + $ZlIsRIv = Currency::where("is_legal", 1)->orderBy("id", "desc")->get(); + return view("admin.seller.add")->with(["result" => $bSHyBhv, "banks" => $sYOdeDQ, "currencies" => $ZlIsRIv]); + } + public function postAdd(Request $request) + { + $sYwmMfv = $request->get("id", 0); + $ElrRcJv = $request->get("account_number", ""); + $lhxBpkJ = $request->get("name", ""); + $lHYNMJv = $request->get("mobile", ""); + $GlYdHdJ = $request->get("currency_id", ""); + $LIltKOQ = $request->get("wechat_nickname", ""); + $ZpUjYWv = $request->get("wechat_account", ""); + $UrCMwzJ = $request->get("ali_nickname", ""); + $yBzscSQ = $request->get("ali_account", ""); + $jUDYFGv = $request->get("bank_account", ""); + $iElciLQ = $request->get("bank_address", ""); + $ZivQULJ = $request->get("bank_name", ""); + $LlQbUxJ = ["required" => ":attribute 为必填字段"]; + $NhGlCFQ = Validator::make($request->all(), ["account_number" => "required", "name" => "required", "mobile" => "required", "currency_id" => "required", "wechat_account" => "required", "ali_account" => "required", "bank_account" => "required", "bank_address" => "required", "bank_name" => "required"], $LlQbUxJ); + if ($NhGlCFQ->fails()) { + return $this->error($NhGlCFQ->errors()->first()); + } + $xDIOduJ = Users::where("account_number", $ElrRcJv)->first(); + if (empty($xDIOduJ)) { + return $this->error("找不到此交易账号的用户"); + } + $WgatXjQ = UserReal::where("user_id", $xDIOduJ->id)->where("review_status", 2)->first(); + if (empty($WgatXjQ)) { + return $this->error("此用户还未通过实名认证"); + } + $RXmFpAQ = Currency::find($GlYdHdJ); + if (empty($RXmFpAQ)) { + return $this->error("币种不存在"); + } + if (empty($RXmFpAQ->is_legal)) { + return $this->error("该币不是法币"); + } + $YCUGrXv = Seller::where("name", $lhxBpkJ)->where("user_id", "!=", $xDIOduJ->id)->where("currency_id", $GlYdHdJ)->first(); + if (empty($sYwmMfv) && !empty($YCUGrXv)) { + return $this->error("此法币 " . $lhxBpkJ . " 商家名称已存在"); + } + $FrqBwlQ = Seller::where("user_id", $xDIOduJ->id)->where("currency_id", $GlYdHdJ)->first(); + if (!empty($FrqBwlQ) && empty($sYwmMfv)) { + return $this->error("此用户已是此法币商家"); + } + if (empty($sYwmMfv)) { + $ctlmbJQ = new Seller(); + $ctlmbJQ->create_time = time(); + } else { + $ctlmbJQ = Seller::find($sYwmMfv); + } + $JYlcgxv = Bank::where("name", $ZivQULJ)->first(); + if ($JYlcgxv) { + $GzlYeZJ = $JYlcgxv->id; + } else { + $AMBtlKv = new Bank(); + $GzlYeZJ = $AMBtlKv->insertGetId(["name" => $ZivQULJ]); + } + $ctlmbJQ->user_id = $xDIOduJ->id; + $ctlmbJQ->name = $lhxBpkJ; + $ctlmbJQ->mobile = $lHYNMJv; + $ctlmbJQ->currency_id = $GlYdHdJ; + $ctlmbJQ->wechat_nickname = $LIltKOQ; + $ctlmbJQ->wechat_account = $ZpUjYWv; + $ctlmbJQ->ali_nickname = $UrCMwzJ; + $ctlmbJQ->ali_account = $yBzscSQ; + $ctlmbJQ->bank_id = intval($GzlYeZJ); + $ctlmbJQ->bank_account = $jUDYFGv; + $ctlmbJQ->bank_address = $iElciLQ; + $ctlmbJQ->status = 1; + try { + $ctlmbJQ->save(); + return $this->success("操作成功"); + } catch (\Exception $OLncirv) { + return $this->error($OLncirv->getMessage()); + } + } + public function delete(Request $request) + { + $CMGNquQ = $request->get("id", 0); + $zULfAdQ = Seller::find($CMGNquQ); + if (empty($zULfAdQ)) { + return $this->error("无此用户"); + } + try { + $zULfAdQ->delete(); + return $this->success("删除成功"); + } catch (\Exception $nXnYPCJ) { + return $this->error($nXnYPCJ->getMessage()); + } + } + public function sendBack(Request $request) + { + $nffuTUJ = $request->get("id", 0); + if (empty($nffuTUJ)) { + return $this->error("参数错误"); + } + try { + DB::beginTransaction(); + $EazxunJ = LegalDealSend::lockForUpdate()->find($nffuTUJ); + if (empty($EazxunJ)) { + DB::rollback(); + return $this->error("无此记录"); + } + if ($EazxunJ->is_shelves != 2) { + throw new \Exception("必须下架后才可以撤销"); + } + if ($EazxunJ->is_done != 0) { + throw new \Exception("当前发布状态无法撤销"); + } + if (bc_comp($EazxunJ->surplus_number) <= 0) { + throw new \Exception("当前发布剩余数量不足,无法撤销"); + } + LegalDealSend::sendBack($nffuTUJ); + DB::commit(); + return $this->success("发布撤回成功,此发布改变为已完成状态"); + } catch (\Exception $sCvTfzJ) { + DB::rollback(); + return $this->error($sCvTfzJ->getMessage()); + } + } + public function sendDel(Request $request) + { + $PWlKXSv = $request->get("id", 0); + if (empty($PWlKXSv)) { + return $this->error("参数错误"); + } + $HyztDwQ = LegalDealSend::isHasIncompleteness($PWlKXSv); + if ($HyztDwQ) { + return $this->error("该发布信息下有未完成订单,请先运行撤回发布再来删除"); + } + DB::beginTransaction(); + try { + $XNldeIJ = LegalDealSend::lockForUpdate()->find($PWlKXSv); + if (empty($XNldeIJ)) { + return $this->error("无此记录"); + } + $UZfwGZQ = LegalDeal::where("legal_deal_send_id", $PWlKXSv)->get(); + if (!empty($UZfwGZQ)) { + foreach ($UZfwGZQ as $XilJuhv) { + $XilJuhv->delete(); + } + } + if ($XNldeIJ->type == "sell") { + if ($XNldeIJ->surplus_number > 0) { + $GhxsTBJ = Seller::lockForUpdate()->find($XNldeIJ->seller_id); + if (!empty($GhxsTBJ)) { + $cTAvPXv = $GhxsTBJ->user_id; + $egjCciv = UsersWallet::lockForUpdate()->where("user_id", $cTAvPXv)->where("currency", $GhxsTBJ->currency_id)->first(); + $NelPScQ = change_wallet_balance($egjCciv, 1, -$XNldeIJ->surplus_number, AccountLog::SELLER_BACK_SEND, "系统删除", true); + if ($NelPScQ !== true) { + throw new \Exception("删除失败:减少冻结资金失败"); + } + $uhhTkFv = change_wallet_balance($egjCciv, 1, $XNldeIJ->surplus_number, AccountLog::SELLER_BACK_SEND, "系统删除"); + if ($uhhTkFv !== true) { + throw new \Exception("删除失败:增加余额失败"); + } + $GhxsTBJ->lock_seller_balance = bc_sub($GhxsTBJ->lock_seller_balance, $XNldeIJ->surplus_number, 5); + $GhxsTBJ->save(); + } + } + } + $XNldeIJ->delete(); + DB::commit(); + return $this->success("删除成功"); + } catch (\Exception $fnqRLxJ) { + DB::rollback(); + return $this->error($fnqRLxJ->getMessage()); + } + } + public function is_shelves(Request $request) + { + $PkBDliJ = $request->get("id", 0); + $XAqRljJ = $request->get("is_shelves", 1); + if (empty($PkBDliJ)) { + return $this->error("参数错误"); + } + $iZKliEv = LegalDealSend::find($PkBDliJ); + if (empty($iZKliEv)) { + return $this->error("无此记录"); + } + if (empty($iZKliEv->is_shelves)) { + $iZKliEv->is_shelves = 1; + $iZKliEv->save(); + } + DB::beginTransaction(); + try { + if ($iZKliEv->is_shelves == 1) { + $iZKliEv->is_shelves = 2; + } elseif ($iZKliEv->is_shelves == 2) { + $iZKliEv->is_shelves = 1; + } + $iZKliEv->save(); + DB::commit(); + return $this->success("操作成功"); + } catch (\Exception $BIZQdDJ) { + DB::rollback(); + return $this->error($BIZQdDJ->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/SettingController.php b/app/Http/Controllers/Admin/SettingController.php new file mode 100644 index 0000000..56106a9 --- /dev/null +++ b/app/Http/Controllers/Admin/SettingController.php @@ -0,0 +1,163 @@ +toArray(); + $setting = []; + foreach ($settingList as $key => $value) { + $setting[$value['key']] = $value['value']; + } + // $receivingList = ReceivingBankCard::all(); + return view('admin.setting.base', ['setting' => $setting]); + } + + public function bankCard(Request $request){ + $limit = $request->get('limit', 10); + $list = ReceivingBankCard::orderBy('id','desc') -> paginate($limit); + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]); + } + + public function bankAdd(Request $request){ + if ($request->isMethod('post')) { + try { + $receivingBankCard = new ReceivingBankCard(); + $receivingBankCard -> currency_logo = Input::get('currency_logo', ''); + $receivingBankCard -> currency_name = Input::get('currency_name', ''); + $receivingBankCard -> pay_way_name = Input::get('pay_way_name', ''); + $receivingBankCard -> commissions = Input::get('commissions', ''); + $receivingBankCard -> account_name = Input::get('account_name', ''); + $receivingBankCard -> iban = Input::get('iban', ''); + $receivingBankCard -> beneficiary_country = Input::get('beneficiary_country', ''); + $receivingBankCard -> bank_code = Input::get('bank_code', ''); + $receivingBankCard -> bank_name = Input::get('bank_name', ''); + $receivingBankCard -> bank_address = Input::get('bank_address', ''); + $receivingBankCard->save(); + }catch (\Exception $ex){ + return $this->error($ex->getMessage()); + } + return $this->success('添加成功'); + }else{ + return view('admin.setting.bankAdd'); + } + + } + + public function editBankCard(Request $request){ + $id = $request->get('id'); + $bankCard = ReceivingBankCard::where("id", $id)->first(); + if ($request->isMethod('post')) { + try { + $bankCard -> currency_logo = Input::get('currency_logo', ''); + $bankCard -> currency_name = Input::get('currency_name', ''); + $bankCard -> pay_way_name = Input::get('pay_way_name', ''); + $bankCard -> commissions = Input::get('commissions', ''); + $bankCard -> account_name = Input::get('account_name', ''); + $bankCard -> iban = Input::get('iban', ''); + $bankCard -> beneficiary_country = Input::get('beneficiary_country', ''); + $bankCard -> bank_code = Input::get('bank_code', ''); + $bankCard -> bank_name = Input::get('bank_name', ''); + $bankCard -> bank_address = Input::get('bank_address', ''); + $bankCard->save(); + }catch (\Exception $ex){ + return $this->error($ex->getMessage()); + } + return $this->success('编辑成功'); + }else{ + return view('admin.setting.bankEdit',['bankCard' => $bankCard]); + } + } + + public function delBankCard(Request $request){ + $id = $request->get('id'); + $bankCard = ReceivingBankCard::where("id", $id)->first(); + if (empty($bankCard)) { + $this->error("信息未找到"); + } + try { + $bankCard->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + public function index_second(){ + $settingList = Setting::all()->toArray(); + $setting = []; + foreach ($settingList as $key => $value) { + $setting[$value['key']] = $value['value']; + } + // var_dump($setting); + return view('admin.setting.index_second', ['setting' => $setting]); + } + + public function dataSetting() + { + $settingList = Setting::all()->toArray(); + $setting = []; + foreach ($settingList as $key => $value) { + $setting[$value['key']] = $value['value']; + } + return view('admin.setting.data', ['setting' => $setting]); + } + + public function postAdd(Request $request) + { + $data = $request->all(); + $generation = $request->input('generation'); + $reward_ratio = $request->input('reward_ratio'); + $need_has_trades = $request->input('need_has_trades'); + unset($data['generation'], $data['reward_ratio'], $data['need_has_trades']); + $lever_fee_options = compact('generation', 'reward_ratio', 'need_has_trades'); + $lever_fee_options = make_multi_array(['generation', 'reward_ratio', 'need_has_trades'], count($generation), $lever_fee_options); + + $generation = array_column($lever_fee_options, 'generation'); + $reward_ratio = array_column($lever_fee_options, 'reward_ratio'); + array_multisort($generation, SORT_ASC, SORT_NUMERIC, $lever_fee_options); + + $data['lever_fee_options'] = serialize($lever_fee_options); + try { + foreach ($data as $key => $value) { + $setting = Setting::where('key', $key)->first(); + + if (!$setting) { + $setting = new Setting(); + $setting->key = $key; + } + + $setting->value = $value; + $setting->save(); + } + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + + public function dogeneralaccount(Request $request) + { + $data = $request->all(); + foreach ($data as $key => $value) { + switch ($key) { + case 'contract_address': + break; + case 'total_account_address': + break; + case 'total_account_key': + break; + } + Setting::updateValueByKey($key, $value); + } + return $this->success('操作成功'); + } +} diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php new file mode 100644 index 0000000..5adfc00 --- /dev/null +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -0,0 +1,106 @@ +$bonus,'ecology'=>$ecology]); + } + public function base() + { + $rate_exchange = Setting::getValueByKey('rate_exchange'); + $company_eth_address = Setting::getValueByKey('company_eth_address'); + $lock_daily_return = Setting::getValueByKey('lock_daily_return'); + $version = Setting::getValueByKey('version','1.0'); + $transaction_fee = Setting::getValueByKey('transaction_fee',[]); + $transaction_fee = @json_decode($transaction_fee,true); + + $results = array( + 'rate_exchange' => $rate_exchange, + 'lock_daily_return' => $lock_daily_return, + 'company_eth_address' => $company_eth_address, + 'version' => $version, + ); + return view('admin.settings.base', ['results' => $results,"transaction_fee"=>$transaction_fee]); + } + public function setBase(Request $request) + { + $data = $request->all(); + + $transaction_fee = array( + "service_one_min"=>$data["service_one_min"], + "service_one_max"=>$data["service_one_max"], + "service_one_proportion"=>$data["service_one_proportion"], + "service_two_min"=>$data["service_two_min"], + "service_two_max"=>$data["service_two_max"], + "service_two_proportion"=>$data["service_two_proportion"], + "service_three_min"=>$data["service_three_min"], + "service_three_max"=>$data["service_three_max"], + "service_three_proportion"=>$data["service_three_proportion"], + ); + + foreach ($data as $key => $value) { + if (isset($transaction_fee[$key])){ + continue; + } + switch ($key) { + case 'rate_exchange': + break; + case 'company_eth_address': + break; + case 'lock_daily_return': + break; + case 'version': + break; + } + Setting::updateValueByKey($key, $value); + } + + $transaction_fee = json_encode($transaction_fee); + Setting::updateValueByKey("transaction_fee", $transaction_fee); + + return $this->success('操作成功'); + } + public function Insert(){ + $bouns = Input::get('bonus',''); + $total_arr = Input::get('total_arr',''); + $ecology = Input::get('ecology',''); + $ecology_arr = Input::get('ecology_arr',''); + + $total_arr = json_encode($total_arr); + $ecology_arr = json_encode($ecology_arr); + + if(empty($bouns) || empty($total_arr)){ + return $this->error('日均收益参数错误'); + } + if(empty($ecology) || empty($ecology_arr)){ + return $this->error('推广奖励参数错误'); + } +// $first_result = Setting::where('key',$bouns)->where('value',$total_arr)->first(); +// if(!empty($first_result)){ +// return $this->success('已设置过该奖金'); +// } +// $second_result = Setting::where('key',$ecology)->where('value',$ecology_arr)->first(); +// if(!empty($second_result)){ +// return $this->success('已设置过该推广奖励'); +// } + try{ + Setting::updateValueByKey($bouns,$total_arr); + Setting::updateValueByKey($ecology,$ecology_arr); + return $this->success('设置成功'); + }catch (\Exception $e){ + return $this->error($e->getMessage()); + } + } +} +?> \ No newline at end of file diff --git a/app/Http/Controllers/Admin/TipsController.php b/app/Http/Controllers/Admin/TipsController.php new file mode 100644 index 0000000..dbf8f1a --- /dev/null +++ b/app/Http/Controllers/Admin/TipsController.php @@ -0,0 +1,82 @@ +get('type'); + + // if ($type == 1){ + // $count = CoinTrade::where('status',1)->count(); + + // $code = $count == 0 ? 200 : 100; + + // return ['code'=>$code,'type'=>$type]; + // } + + // if ($type == 2){ + // $count = CoinTrade::where('status',1)->count(); + + // $code = $count == 0 ? 200 : 100; + + // return ['code'=>$code,'type'=>$type]; + // } + if ($type == 3){ + + $count = MicroOrder::whereHas('user')->where('status',1)->count(); + + $code = $count == 0 ? 200 : 100; + + return ['code'=>$code,'type'=>$type]; + } + + if ($type == 6){ + + $count = ChargeReq::whereHas('user')->where('status',1)->count(); + + $code = $count == 0 ? 200 : 100; + + return ['code'=>$code,'type'=>$type]; + } + + if ($type == 7){ + + $count = UserReal::whereHas('user')->where('review_status',1)->count(); + + $code = $count == 0 ? 200 : 100; + + return ['code'=>$code,'type'=>$type]; + } + + if ($type == 8){ + $count = UsersWalletOut::whereHas('user')->where('status',1)->count(); + + $code = $count == 0 ? 200 : 100; + + return ['code'=>$code,'type'=>$type]; + } + + if($type == 99){ + $count = PayUserInfo::where('notify_status',0) -> where('status',1) ->count(); + $code = $count == 0 ? 200 : 100; + return ['code'=>$code,'type'=>$type]; + } + + + die(); + } + +} diff --git a/app/Http/Controllers/Admin/TransactionController.php b/app/Http/Controllers/Admin/TransactionController.php new file mode 100644 index 0000000..dc671f8 --- /dev/null +++ b/app/Http/Controllers/Admin/TransactionController.php @@ -0,0 +1,288 @@ + $_var_0]); + } + public function lists() + { + $_var_1 = Input::get("limit", 10); + $_var_2 = Input::get("account_number", ""); + $_var_3 = Input::get("type", ""); + $_var_4 = Input::get("currency", ""); + $_var_5 = Input::get("status", ""); + $_var_6 = new Transaction(); + if (!empty($_var_2)) { + $users = Users::where("account_number", "like", "%" . $_var_2 . "%")->get()->pluck("id"); + $_var_6 = $_var_6->where(function ($query) use($users) { + $query->whereIn("from_user_id", $users); + }); + } + if (!empty($_var_3)) { + $_var_6 = $_var_6->where("type", "=", $_var_3); + } + if (!empty($_var_4)) { + $_var_6 = $_var_6->where("currency", $_var_4); + } + if (!empty($_var_5)) { + $_var_6 = $_var_6->where("status", $_var_5); + } + $_var_7 = $_var_6->orderBy("id", "desc")->paginate($_var_1); + return response()->json(["code" => 0, "data" => $_var_7->items(), "count" => $_var_7->total()]); + } + public function completeIndex() + { + return view("admin.transaction.complete"); + } + public function inIndex() + { + return view("admin.transaction.in"); + } + public function outIndex() + { + return view("admin.transaction.out"); + } + public function cnyIndex() + { + return view("admin.transaction.cny"); + } + public function completeList(Request $request) + { + $_var_8 = $request->get("limit", 10); + $_var_9 = $request->get("account_number", ""); + $_var_10 = new TransactionComplete(); + if (!empty($_var_9)) { + $_var_11 = Users::where("account_number", "like", "%" . $_var_9 . "%")->get()->pluck("id"); + $_var_10 = $_var_10->whereIn("user_id", $_var_11); + } + $_var_10 = $_var_10->orderBy("id", "desc")->paginate($_var_8); + return $this->layuiData($_var_10); + } + public function inList(Request $request) + { + $_var_12 = $request->get("limit", 10); + $_var_13 = $request->get("account_number", ""); + $_var_14 = new TransactionIn(); + if (!empty($_var_13)) { + $_var_15 = Users::where("account_number", "like", "%" . $_var_13 . "%")->get()->pluck("id"); + $_var_14 = $_var_14->whereIn("user_id", $_var_15); + } + $_var_14 = $_var_14->orderBy("id", "desc")->paginate($_var_12); + return $this->layuiData($_var_14); + } + public function outList(Request $request) + { + $_var_16 = $request->get("limit", 10); + $_var_17 = $request->get("account_number", ""); + $_var_18 = new TransactionOut(); + if (!empty($_var_17)) { + $_var_19 = Users::where("account_number", "like", "%" . $_var_17 . "%")->get()->pluck("id"); + $_var_18 = $_var_18->whereIn("user_id", $_var_19); + } + $_var_18 = $_var_18->orderBy("id", "desc")->paginate($_var_16); + return $this->layuiData($_var_18); + } + public function cnyList(Request $request) + { + $_var_20 = $request->get("limit", 10); + $_var_21 = $request->get("account_number", ""); + $_var_22 = new AccountLog(); + if (!empty($_var_21)) { + $_var_23 = Users::where("account_number", "like", "%" . $_var_21 . "%")->get()->pluck("id"); + $_var_22 = $_var_22->whereIn("user_id", $_var_23); + } + $_var_24 = array(13, 14, 15, 20, 22, 24); + $_var_22 = $_var_22->whereIn("type", $_var_24)->orderBy("id", "desc")->paginate($_var_20); + return $this->layuiData($_var_22); + } + public function Leverdeals_show() + { + return view("admin.leverdeals.list"); + } + public function Leverdeals(Request $request) + { + $_var_25 = $request->input("limit", 20); + $id = $request->input("id", 0); + $username = $request->input("phone", ""); + $status = $request->input("status", 10); + $type = $request->input("type", 0); + $legal_id = $request->input("legal_id", -1); + $start = $request->input("start", ""); + $end = $request->input("end", ""); + $_var_26 = LeverTransaction::whereHas("user", function ($query) use($username) { + $username != "" && $query->where("account_number", $username)->orWhere("id", $username); + })->where(function ($query) use($id, $status, $type, $legal_id) { + $id != 0 && $query->where("id", $id); + $legal_id != -1 && $query->where("legal", $legal_id); + $status != 10 && in_array($status, [LeverTransaction::ENTRUST, LeverTransaction::BUY, LeverTransaction::CLOSED, LeverTransaction::CANCEL, LeverTransaction::CLOSING]) && $query->where("status", $status); + $type > 0 && in_array($type, [1, 2]) && $query->where("type", $type); + })->where(function ($query) use($start, $end) { + !empty($start) && $query->where("create_time", ">=", strtotime($start . " 0:0:0")); + !empty($end) && $query->where("create_time", "<=", strtotime($end . " 23:59:59")); + }); + $_var_27 = clone $_var_26; + $_var_28 = $_var_27->select([DB::raw("SUM((CASE `type` WHEN 1 THEN `update_price` - `price` WHEN 2 THEN `price` - `update_price` END) * `number`* `multiple`) AS `balance1`"), DB::raw("sum(origin_caution_money) as balance2"), DB::raw("sum(trade_fee) as balance3")])->first(); + $_var_28 && ($_var_28 = $_var_28->setAppends([])); + $_var_29 = $_var_26->orderBy("id", "desc")->paginate($_var_25); + $_var_30 = $_var_29->getCollection(); + $_var_30->transform(function ($item, $key) { + $item->setAppends(["symbol", "account_number", "profits", "time"]); + return $item; + }); + return $this->layuiData($_var_29, ["total" => $_var_28]); + } + public function csv(Request $request) + { + $_var_31 = $request->input("id", 0); + $_var_32 = $request->input("phone", ""); + $_var_33 = $request->input("status", 10); + $_var_34 = $request->input("type", 0); + $_var_35 = $request->input("start", ""); + $_var_36 = $request->input("end", ""); + $_var_37 = []; + if ($_var_31 > 0) { + $_var_37[] = ["lever_transaction.id", "=", $_var_31]; + } + if (!empty($_var_32)) { + $_var_38 = DB::table("users")->where("account_number", $_var_32)->first(); + if ($_var_38 !== null) { + $_var_37[] = ["lever_transaction.user_id", "=", $_var_38->id]; + } + } + if ($_var_33 != 10 && in_array($_var_33, [LeverTransaction::ENTRUST, LeverTransaction::BUY, LeverTransaction::CLOSED, LeverTransaction::CANCEL, LeverTransaction::CLOSING])) { + $_var_37[] = ["lever_transaction.status", "=", $_var_33]; + } + if ($_var_34 > 0 && in_array($_var_34, [1, 2])) { + $_var_37[] = ["type", "=", $_var_34]; + } + if (!empty($_var_35) && !empty($_var_36)) { + $_var_37[] = ["lever_transaction.create_time", ">", strtotime($_var_35 . " 0:0:0")]; + $_var_37[] = ["lever_transaction.create_time", "<", strtotime($_var_36 . " 23:59:59")]; + } + $_var_39 = TransactionOrdercopy::leftjoin("users", "lever_transaction.user_id", "=", "users.id")->select("lever_transaction.*", "users.phone")->whereIn("lever_transaction.status", [LeverTransaction::ENTRUST, LeverTransaction::BUY, LeverTransaction::CLOSED, LeverTransaction::CANCEL, LeverTransaction::CLOSING])->where($_var_37)->get(); + foreach ($_var_39 as $_var_40 => $_var_41) { + $_var_39[$_var_40]["create_time"] = date("Y-m-d H:i:s", $_var_41->create_time); + $_var_39[$_var_40]["transaction_time"] = date("Y-m-d H:i:s", substr($_var_41->transaction_time, 0, strpos($_var_41->transaction_time, "."))); + $_var_39[$_var_40]["update_time"] = date("Y-m-d H:i:s", substr($_var_41->update_time, 0, strpos($_var_41->update_time, "."))); + $_var_39[$_var_40]["handle_time"] = date("Y-m-d H:i:s", substr($_var_41->handle_time, 0, strpos($_var_41->handle_time, "."))); + $_var_39[$_var_40]["complete_time"] = date("Y-m-d H:i:s", substr($_var_41->complete_time, 0, strpos($_var_41->complete_time, "."))); + } + $data = $_var_39; + return Excel::create("杠杆交易", function ($excel) use($data) { + $excel->sheet("杠杆交易", function ($sheet) use($data) { + $sheet->cell("A1", function ($cell) { + $cell->setValue("ID"); + }); + $sheet->cell("B1", function ($cell) { + $cell->setValue("用户名"); + }); + $sheet->cell("C1", function ($cell) { + $cell->setValue("交易手续费"); + }); + $sheet->cell("D1", function ($cell) { + $cell->setValue("隔夜费金额"); + }); + $sheet->cell("E1", function ($cell) { + $cell->setValue("交易类型"); + }); + $sheet->cell("F1", function ($cell) { + $cell->setValue("当前状态"); + }); + $sheet->cell("G1", function ($cell) { + $cell->setValue("原始价格"); + }); + $sheet->cell("H1", function ($cell) { + $cell->setValue("开仓价格"); + }); + $sheet->cell("I1", function ($cell) { + $cell->setValue("当前价格"); + }); + $sheet->cell("J1", function ($cell) { + $cell->setValue("手数"); + }); + $sheet->cell("K1", function ($cell) { + $cell->setValue("倍数"); + }); + $sheet->cell("L1", function ($cell) { + $cell->setValue("初始保证金"); + }); + $sheet->cell("M1", function ($cell) { + $cell->setValue("当前可用保证金"); + }); + $sheet->cell("N1", function ($cell) { + $cell->setValue("创建时间"); + }); + $sheet->cell("O1", function ($cell) { + $cell->setValue("价格刷新时间"); + }); + $sheet->cell("P1", function ($cell) { + $cell->setValue("平仓时间"); + }); + $sheet->cell("Q1", function ($cell) { + $cell->setValue("完成时间"); + }); + if (!empty($data)) { + foreach ($data as $_var_42 => $_var_43) { + if ($_var_43["type"] == 1) { + $_var_43["type"] = "买入"; + } else { + $_var_43["type"] = "卖出"; + } + if ($_var_43["status"] == 0) { + $_var_43["status"] = "挂单中"; + } elseif ($_var_43["status"] == 1) { + $_var_43["status"] = "交易中"; + } elseif ($_var_43["status"] == 2) { + $_var_43["status"] = "平仓中"; + } elseif ($_var_43["status"] == 3) { + $_var_43["status"] = "已平仓"; + } elseif ($_var_43["status"] == 4) { + $_var_43["status"] = "已撤单"; + } + $_var_44 = $_var_42 + 2; + $sheet->cell("A" . $_var_44, $_var_43["id"]); + $sheet->cell("B" . $_var_44, $_var_43["phone"]); + $sheet->cell("C" . $_var_44, $_var_43["trade_fee"]); + $sheet->cell("D" . $_var_44, $_var_43["overnight_money"]); + $sheet->cell("E" . $_var_44, $_var_43["type"]); + $sheet->cell("F" . $_var_44, $_var_43["status"]); + $sheet->cell("G" . $_var_44, $_var_43["origin_price"]); + $sheet->cell("H" . $_var_44, $_var_43["price"]); + $sheet->cell("I" . $_var_44, $_var_43["update_price"]); + $sheet->cell("J" . $_var_44, $_var_43["share"]); + $sheet->cell("K" . $_var_44, $_var_43["multiple"]); + $sheet->cell("L" . $_var_44, $_var_43["origin_caution_money"]); + $sheet->cell("M" . $_var_44, $_var_43["caution_money"]); + $sheet->cell("N" . $_var_44, $_var_43["create_time"]); + $sheet->cell("O" . $_var_44, $_var_43["update_time"]); + $sheet->cell("P" . $_var_44, $_var_43["handle_time"]); + $sheet->cell("Q" . $_var_44, $_var_43["complete_time"]); + } + } + }); + })->download("xlsx"); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/TransactionLegalController.php b/app/Http/Controllers/Admin/TransactionLegalController.php new file mode 100644 index 0000000..6d9ee15 --- /dev/null +++ b/app/Http/Controllers/Admin/TransactionLegalController.php @@ -0,0 +1,40 @@ +get();//获取法币 + // var_dump($currency); + return view('admin.transaction.legal',['currency'=> $currency]); + } + public function list(Request $request){ + $limit = $request->get('limit', 10); + $account_number = $request->get('account_number', ''); + $type = $request->get('type', ''); + $currency = $request->get('currency', ''); + $result = new TransactionLegal(); + if(!empty($account_number)){ + $result = $result->whereHas('user', function ($query) use ($account_number) { + $query->where('account_number', 'like', '%' . $account_number . '%'); + }); + } + if (!empty($type)) { + $result = $result->where('type', $type); + } + if (!empty($currency)) { + $result = $result->where('currency', $currency); + } + $result = $result->orderBy('id', 'desc')->paginate($limit); + return $this->layuiData($result); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/UeditorController.php b/app/Http/Controllers/Admin/UeditorController.php new file mode 100644 index 0000000..05a9ebf --- /dev/null +++ b/app/Http/Controllers/Admin/UeditorController.php @@ -0,0 +1,232 @@ + "uploadimage", + "imageFieldName" => "upfile", + "imageMaxSize" => 2048000, + "imageAllowFiles" => [ + ".png", + ".jpg", + ".jpeg", + ".gif", + ".bmp" + ], + "imageCompressEnable" => true, + "imageCompressBorder" => 1600, + "imageInsertAlign" => "none", + "imageUrlPrefix" => "", + "imagePathFormat" => "/upload/ueditor/image/{yyyy}{mm}{dd}/{time}{rand =>6}", + "scrawlActionName" => "uploadscrawl", + "scrawlFieldName" => "upfile", + "scrawlPathFormat" => "/upload/ueditor/image/{yyyy}{mm}{dd}/{time}{rand =>6}", + "scrawlMaxSize" => 2048000, + "scrawlUrlPrefix" => "", + "scrawlInsertAlign" => "none", + "snapscreenActionName" => "uploadimage", + "snapscreenPathFormat" => "/upload/ueditor/image/{yyyy}{mm}{dd}/{time}{rand =>6}", + "snapscreenUrlPrefix" => "", + "snapscreenInsertAlign" => "none", + "catcherLocalDomain" => [ + "127.0.0.1", + "localhost", + "img.tradingview.com" + ], + "catcherActionName" => "catchimage", + "catcherFieldName" => "source", + "catcherPathFormat" => "/upload/ueditor/image/{yyyy}{mm}{dd}/{time}{rand =>6}", + "catcherUrlPrefix" => "", + "catcherMaxSize" => 2048000, + "catcherAllowFiles" => [ + ".png", + ".jpg", + ".jpeg", + ".gif", + ".bmp" + ], + "videoActionName" => "uploadvideo", + "videoFieldName" => "upfile", + "videoPathFormat" => "/upload/ueditor/video/{yyyy}{mm}{dd}/{time}{rand =>6}", + "videoUrlPrefix" => "", + "videoMaxSize" => 102400000, + "videoAllowFiles" => [ + ".flv", + ".swf", + ".mkv", + ".avi", + ".rm", + ".rmvb", + ".mpeg", + ".mpg", + ".ogg", + ".ogv", + ".mov", + ".wmv", + ".mp4", + ".webm", + ".mp3", + ".wav", + ".mid" + ], + "fileActionName" => "uploadfile", + "fileFieldName" => "upfile", + "filePathFormat" => "/upload/ueditor/file/{yyyy}{mm}{dd}/{time}{rand =>6}", + "fileUrlPrefix" => "", + "fileMaxSize" => 51200000, + "fileAllowFiles" => [ + ".png", + ".jpg", + ".jpeg", + ".gif", + ".bmp", + ".flv", + ".swf", + ".mkv", + ".avi", + ".rm", + ".rmvb", + ".mpeg", + ".mpg", + ".ogg", + ".ogv", + ".mov", + ".wmv", + ".mp4", + ".webm", + ".mp3", + ".wav", + ".mid", + ".rar", + ".zip", + ".tar", + ".gz", + ".7z", + ".bz2", + ".cab", + ".iso", + ".doc", + ".docx", + ".xls", + ".xlsx", + ".ppt", + ".pptx", + ".pdf", + ".txt", + ".md", + ".xml" + ], + "imageManagerActionName" => "listimage", + "imageManagerListPath" => "/upload/ueditor/image/", + "imageManagerListSize" => 20, + "imageManagerUrlPrefix" => "", + "imageManagerInsertAlign" => "none", + "imageManagerAllowFiles" => [ + ".png", + ".jpg", + ".jpeg", + ".gif", + ".bmp" + ], + "fileManagerActionName" => "listfile", + "fileManagerListPath" => "/upload/ueditor/file/", + "fileManagerUrlPrefix" => "", + "fileManagerListSize" => 20, + "fileManagerAllowFiles" => [ + ".png", + ".jpg", + ".jpeg", + ".gif", + ".bmp", + ".flv", + ".swf", + ".mkv", + ".avi", + ".rm", + ".rmvb", + ".mpeg", + ".mpg", + ".ogg", + ".ogv", + ".mov", + ".wmv", + ".mp4", + ".webm", + ".mp3", + ".wav", + ".mid", + ".rar", + ".zip", + ".tar", + ".gz", + ".7z", + ".bz2", + ".cab", + ".iso", + ".doc", + ".docx", + ".xls", + ".xlsx", + ".ppt", + ".pptx", + ".pdf", + ".txt", + ".md", + ".xml" + ] + ]; + return $config; + } + + public function ueditor(Request $request) + { + $action = $request->input('action', ''); + $config = $this->getConfig(); + switch ($action) { + case 'config': + return $this->getConfig(); + /* 上传图片 */ + case 'uploadimage': + /* 上传涂鸦 */ + case 'uploadscrawl': + /* 上传视频 */ + case 'uploadvideo': + /* 上传文件 */ + case 'uploadfile': + $field_name = str_ireplace('upload', '', $action) . 'FieldName'; + $field = $config[$field_name]; + $file = $request->file($field); + $result = UploaderDAO::fileUpload($file, 'ueditor'); + break; + /* 列出图片 */ + case 'listimage': + //$result = include("action_list.php"); + break; + /* 列出文件 */ + case 'listfile': + //$result = include("action_list.php"); + break; + + /* 抓取远程文件 */ + case 'catchimage': + //$result = include("action_crawler.php"); + break; + + default: + $result = array( + 'state' => '请求地址出错' + ); + break; + } + return response()->json($result); + + } +} diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php new file mode 100644 index 0000000..33a8986 --- /dev/null +++ b/app/Http/Controllers/Admin/UserController.php @@ -0,0 +1,1760 @@ +get('phone', ''); + $email = $request->get('email', ''); + $password = $request->get('password', ''); + $parent = $request->get('parent', ''); + $area_code_id = $request->get('area_code_id', ''); + if (empty($password) || (empty($email) && (empty($phone) && empty($area_code_id)))) { + return $this->error('参数错误'); + } + if(empty($area_code_id)){ + $area_code_id = 0; + } + if(empty($email)){ + $email = 0; + } + $parent_id = 0; + if(!empty($parent)){ + $p = Users::where("extension_code", $parent)->first(); + $parent_id = $p->id; + } + $type = "mobile"; + $users = new Users(); + $users->password = Users::MakePassword($password); + $users->parent_id = $parent_id; + if(empty($phone)){ + $users->account_number = $email; + }else{ + $users->account_number = $phone; + } + + $users->area_code_id = $area_code_id; + if ($type == "mobile") { + $users->phone = $phone; + $users->email = $email; + } else { + $users->email = $email; + $users->phone = $phone; + } + $user_default_avatar = DB::table('settings')->where('key','user_default_avatar')->first(); + + $users->head_portrait = $user_default_avatar->value; + $users->time = time(); + $users->extension_code = Users::getExtensionCode(); + + DB::beginTransaction(); + try { + $users->parents_path = UserDAO::getRealParentsPath($users); // 生成parents_path tian add + // 代理商节点id。标注该用户的上级代理商节点。这里存的代理商id是agent代理商表中的主键,并不是users表中的id。 + $users->agent_note_id = Agent::reg_get_agent_id_by_parentid($parent_id); + // 代理商节点关系 + $users->agent_path = Agent::agentPath($parent_id); + + $users->save(); // 保存到user表中 + $test = UsersWallet::makeWallet($users->id); + // DB::rollBack(); + // return $this->error('File:'); + UserProfile::unguarded(function () use ($users) { + $users->userProfile()->create([]); + }); + + DB::commit(); + return $this->success("注册成功"); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error('File:' . $ex->getFile() . ',Line:' . $ex->getLine() . ',Message:' . $ex->getMessage()); + } + } + + + //开通盲盒作者 + public function setBindBox(Request $request){ + $id = $request->get('id', ''); + if (empty($id)) return $this->error("参数错误"); + + $user = Users::where('id',$id)->first(); + if($user->is_realname != 2){ + return $this->error("用户还未实名!"); + } + if($user->is_bind_box_author==1){ + $user->is_bind_box_author = 0; + }else{ + $user->is_bind_box_author = 1; + } + $user->save(); + return $this->success("操作成功"); + } + + //导出用户列表至excel + public function csv(Request $request) + { + // $limit = $request->get('limit', 10); + $account = $request->get('account', ''); + + $list = new Users(); + $list = $list->leftjoin("user_real", "users.id", "=", "user_real.user_id"); + //var_dump($n);die; + if (!empty($account)) { + $list = $list->where("phone", 'like', '%' . $account . '%') + ->orwhere('email', 'like', '%' . $account . '%') + ->orWhere('account_number', 'like', '%' . $account . '%'); + } + $list = $list->select("users.*", "user_real.card_id")->orderBy('users.id', 'desc')->get(); + $data = $list; + + return Excel::create('用户数据', function ($excel) use ($data) { + $excel->sheet('用户数据', function ($sheet) use ($data) { + $sheet->cell('A1', function ($cell) { + $cell->setValue('ID'); + }); + $sheet->cell('B1', function ($cell) { + $cell->setValue('账户名'); + }); + /* + $sheet->cell('C1', function ($cell) { + $cell->setValue('团队充值业绩'); + }); + $sheet->cell('D1', function ($cell) { + $cell->setValue('直推实名人数'); + }); + $sheet->cell('E1', function ($cell) { + $cell->setValue('团队实名人数'); + }); + */ + $sheet->cell('F1', function ($cell) { + $cell->setValue('邀请码'); + }); + $sheet->cell('G1', function ($cell) { + $cell->setValue('用户状态'); + }); + $sheet->cell('H1', function ($cell) { + $cell->setValue('头像'); + }); + $sheet->cell('I1', function ($cell) { + $cell->setValue('注册时间'); + }); + if (!empty($data)) { + foreach ($data as $key => $value) { + $i = $key + 2; + $sheet->cell('A' . $i, $value['id']); + $sheet->cell('B' . $i, $value['account_number']); + $sheet->cell('C' . $i, $value['top_upnumber']); + $sheet->cell('D' . $i, $value['zhitui_real_number']); + $sheet->cell('E' . $i, $value['real_teamnumber']); + $sheet->cell('F' . $i, $value['extension_code']); + $sheet->cell('G' . $i, $value['status']); + $sheet->cell('H' . $i, $value['head_portrait']); + $sheet->cell('I' . $i, $value['time']); + } + } + }); + })->download('xlsx'); + } + + //用户列表 + public function lists(Request $request) + { + $limit = $request->get('limit', 10); + $account = $request->get('account', ''); + $name = $request->get('name', ''); + $risk = $request->get('risk', -2); + + $list = new Users(); + $list = $list->leftjoin("user_real", "users.id", "=", "user_real.user_id"); + + if (!empty($account)) { + $list = $list->where("phone", 'like', '%' . $account . '%') + ->orwhere('users.email', 'like', '%' . $account . '%') + ->orwhere('users.id', 'like', '%' . $account . '%') + ->orwhere('user_real.name', 'like', '%' . $account . '%') + ->orWhere('users.account_number', 'like', '%' . $account . '%'); + } + + $list = $list->when($name != '', function ($query) use ($name) { + $query->whereHas('userReal', function ($query) use ($name) { + $query->where('name', $name); + }); + }); + + if ($risk != -2) { + $list = $list->where('risk', $risk); + } + + $list = $list->select("users.*", "user_real.card_id") + ->orderBy('users.time', 'desc') + ->paginate($limit); + $items = $list->getCollection(); + + $items->transform(function ($item, $key) { + $level = UserLevelModel::pluck('name', 'id'); + $level = $level ? $level->toArray() : []; + if ($item->user_level == 0){ + $item->level_text = '无'; + }else{ + $item->level_text = $level[$item->user_level]; + } + + $item->append('risk_name'); + + $cashInfo = UserCashInfo::where('user_id', $item->id)->first(); + $hasCashInfo = false; + if (!empty($cashInfo)) { + $hasCashInfo = true; + } + $item->cash_info = $hasCashInfo; + + $item->balance = UsersWallet::where('user_id', $item->id)->value('micro_balance'); + + $cashInfoInternational = UserCashInfoInternational::where('user_id', $item->id)->first(); + $hasCashInfoInternational = false; + if (!empty($cashInfoInternational)) { + $hasCashInfoInternational = true; + } + $item->cash_info_international = $hasCashInfoInternational; + + return $item; + }); + $list->setCollection($items); + + $USDT_id = Currency::where('name', 'USDC')->first()->id; + + + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]); + } + + public function edit(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + return $this->error("参数错误"); + } + + $result = new Users(); + $result = $result->leftjoin("user_real", "users.id", "=", "user_real.user_id")->select("users.*", "user_real.card_id")->find($id); + //var_dump($result->toArray());die; + $res = UserCashInfo::where('user_id', $id)->first(); + $level = UserLevelModel::pluck('name', 'id'); + $level = $level ? $level->toArray() : []; + $user_list = Users::all(); + + return view('admin.user.edit', ['result' => $result, 'res' => $res,'level'=>$level,'user_list' => $user_list]); + } + + //编辑用户信息 + public function doedit() + { + // $phone = Input::get("phone"); + $parent_id = Input::get("parent_id"); + $common = Input::get("common"); + $card_id = Input::get("card_id"); + $password = Input::get("password"); + $account_number = Input::get("account_number"); + $pay_password = Input::get("pay_password"); + $bank_account = Input::get("bank_account"); + $bank_name = Input::get("bank_name"); + $alipay_account = Input::get("alipay_account"); + $wechat_nickname = Input::get("wechat_nickname"); + $wechat_account = Input::get("wechat_account"); + $is_service = Input::get("is_service",0)??0; + $risk = Input::get('risk', 0); + $yqr = Input::get('yqr'); + $user_level = Input::get('user_level', 0); + $virtual_follow_num = Input::get('virtual_follow_num', 0); + + $id = Input::get("id"); + if (empty($id)) return $this->error("参数错误"); + + $user = Users::find($id); + if (empty($user)) { + return $this->error("数据未找到"); + } + + if($id == $parent_id){ + return $this->error("上级用户不能是自己"); + } + + //$user->account_number = $account_number; + + if (!empty($password)) { + $user->password = Users::MakePassword($password); + } + if (!empty($pay_password)) { + $user->pay_password = Users::MakePassword($pay_password); + } + if (!empty($is_service)) { + $has_service = Users::where('is_service',1)->first(); + if($has_service){ + return $this->error("只允许设置一个客服,当前客服账号:{$has_service->account_number}"); + } + $user->is_service = $is_service; + } + $flag = 0; + if ($user->user_level != $user_level){ + $flag = 1; + } + $user->risk = $risk; + $user->user_level = $user_level; + $user->parent_id = $parent_id; + $user->common = $common; + $user->yqr = $yqr; + if(!empty($virtual_follow_num)){ + $user->virtual_follow_num = $virtual_follow_num; + } + DB::beginTransaction(); + + try { + $user->save(); + $cashinfo = UserCashInfo::where('user_id', $id)->first(); + if (empty($cashinfo)) { + $cashinfo = new UserCashInfo(); + $cashinfo->user_id = $id; + } + + $cashinfo->bank_name = $bank_name ?? ''; + $cashinfo->bank_account = $bank_account ?? ''; + $cashinfo->alipay_account = $alipay_account ?? ''; + $cashinfo->wechat_account = $wechat_account ?? ''; + $cashinfo->wechat_nickname = $wechat_nickname ?? ''; + $cashinfo->save(); + //更改身份证号 + if (!empty($card_id)) { + $real = UserReal::where("user_id", "=", $id)->first(); + $real->card_id = $card_id; + $real->save(); + } + if ($flag == 1){ + DB::table('user_level_log')->insertGetId([ + 'user_id' => $id, + 'level_id' => $user_level, + 'type' => 1, + 'create_time' => time() + ]); + } + DB::commit(); + return $this->success('编辑成功'); + } catch (\Exception $ex) { + DB::rollBack(); + return $this->error($ex->getMessage()); + } + } + + public function lockUser(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + return $this->error("参数错误"); + } + $result = Users::find($id); + // + // $res=UserCashInfo::where('user_id',$id)->first(); + return view('admin.user.lock', ['result' => $result]); + } + + public function doLock(Request $request) + { + $id = $request->get('id', 0); + $date = $request->get('date', 0); + $status = $request->get('status', 0); + $frozen_funds = $request->get('frozen_funds', 0); + + if (empty($id)) { + return $this->error('参数错误'); + } + $user = Users::find($id); + if (empty($user)) { + return $this->error('参数错误'); + } + if (empty($date)) { + return $this->error('缺少时间!'); + } + $users = new Users(); + $result = $users->lockUser($user, $status, $date, $frozen_funds); + if (!$result) { + return $this->error('锁定失败'); + } + return $this->success('操作成功'); + } + + public function del(Request $request) + { + $this->error("用户未找到"); + $id = $request->get('id'); + $user = Users::getById($id); + if (empty($user)) { + $this->error("用户未找到"); + } + if($id==1) $this->error("系统用户不能删除"); + try { + $user->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + public function lock(Request $request) + { + $id = $request->get('id', 0); + + $user = Users::find($id); + if (empty($user)) { + return $this->error('参数错误'); + } + if ($user->status == 1) { + $user->status = 0; + } else { + $user->status = 1; + } + try { + $user->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function wallet(Request $request) + { + $id = $request->get('id', null); + if (empty($id)) { + return $this->error('参数错误'); + } + return view("admin.user.user_wallet", ['user_id' => $id]); + } + + public function walletList(Request $request) + { + $limit = $request->get('limit', 10); + $user_id = $request->get('user_id', null); + if (empty($user_id)) { + return $this->error('参数错误'); + } + $list = new UsersWallet(); + $list = $list->where('user_id', $user_id)->orderBy('id', 'desc')->paginate($limit); + + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]); + } + +//钱包锁定状态 + public function walletLock(Request $request) + { + $id = $request->get('id', 0); + + $wallet = UsersWallet::find($id); + if (empty($wallet)) { + return $this->error('参数错误'); + } + if ($wallet->status == 1) { + $wallet->status = 0; + } else { + $wallet->status = 1; + } + try { + $wallet->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + /* + * 调节账户 + * */ + public function conf(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + return $this->error('参数错误'); + } + $result = UsersWallet::find($id); + if (empty($result)) { + return $this->error('无此结果'); + } + $account = Users::where('id', $result->user_id)->value('phone'); + if (empty($account)) { + $account = Users::where('id', $result->user_id)->value('email'); + } + $result['account'] = $account; + return view('admin.user.conf', ['results' => $result]); + } + + //调节账号 type 1法币交易余额 2法币交易锁定余额 3币币交易余额 4币币交易锁定余额 5杠杆交易余额 6杠杆交易锁定余额 + public function postConf(Request $request) + { + $message = [ + 'required' => ':attribute 不能为空', + ]; + $validator = Validator::make($request->all(), [ + 'way' => 'required', //增加 increment;减少 decrement + 'type' => 'required', //原生余额1;消费余额2;增值余额3;可增加其他账户调节字段 + 'conf_value' => 'required', //值 + ], $message); + + //以上验证通过后 继续验证 + $validator->after(function ($validator) use ($request) { + + $wallet = UsersWallet::find($request->get('id')); + if (empty($wallet)) { + return $validator->errors()->add('isUser', '没有此钱包'); + } + $user = Users::getById($wallet->user_id); + if (empty($user)) { + return $validator->errors()->add('isUser', '没有此用户'); + } + $way = $request->get('way', 'increment'); + $type = $request->get('type', 1); + $conf_value = $request->get('conf_value', 0); + if ($type == 1 && $way == 'decrement') { + if ($wallet->legal_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包法币交易余额不足' . $conf_value . '元'); + } + } elseif ($type == 2 && $way == 'decrement') { + if ($wallet->lock_legal_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包法币交易锁定余额不足' . $conf_value . '元'); + } + } elseif ($type == 3 && $way == 'decrement') { + if ($wallet->change_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包币币交易余额不足' . $conf_value . '元'); + } + } elseif ($type == 4 && $way == 'decrement') { + if ($wallet->lock_change_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包币币交易锁定余额不足' . $conf_value . '元'); + } + } elseif ($type == 5 && $way == 'decrement') { + if ($wallet->lever_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包闪兑交易余额不足' . $conf_value . '元'); + } + } elseif ($type == 6 && $way == 'decrement') { + if ($wallet->lock_lever_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包闪兑交易锁定余额不足' . $conf_value . '元'); + } + }elseif ($type == 7 && $way == 'decrement') { + if ($wallet->micro_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包期权余额不足' . $conf_value . '元'); + } + } elseif ($type == 8 && $way == 'decrement') { + if ($wallet->lock_micro_balance < $conf_value) { + return $validator->errors()->add('isBalance', '此钱包期权锁定余额不足' . $conf_value . '元'); + } + } + + + + + }); + //如果验证不通过 + if ($validator->fails()) { + return $this->error($validator->errors()->first()); + } + + $id = $request->get('id', null); + $way = $request->get('way', 'increment'); + $type = $request->get('type', 1); + $conf_value = $request->get('conf_value', 0); + $info = $request->get('info', ':'); + $wallet = UsersWallet::find($id); + $user = Users::getById($wallet->user_id); + + + $data_wallet['wallet_id'] = $id; + $data_wallet['create_time'] = time(); + DB::beginTransaction(); + try { + if ($type == 1) { + $data_wallet['balance_type'] = 1; + $data_wallet['lock_type'] = 0; + $data_wallet['before'] = $wallet->legal_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->legal_balance, $conf_value, 5); + $wallet->increment('legal_balance', $conf_value); + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LEGAL_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LEGAL_BALANCE, 'currency' => $wallet->currency], $data_wallet); + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->legal_balance, $conf_value, 5); + $wallet->decrement('legal_balance', $conf_value); + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LEGAL_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LEGAL_BALANCE, 'currency' => $wallet->currency], $data_wallet); + } + } elseif ($type == 2) { + $data_wallet['balance_type'] = 1; + $data_wallet['lock_type'] = 1; + $data_wallet['before'] = $wallet->lock_legal_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->lock_legal_balance, $conf_value, 5); + $wallet->increment('lock_legal_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_LEGAL_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_LEGAL_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->lock_legal_balance, $conf_value, 5); + $wallet->decrement('lock_legal_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_LEGAL_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_LEGAL_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + } elseif ($type == 3) { + $data_wallet['balance_type'] = 2; + $data_wallet['lock_type'] = 0; + $data_wallet['before'] = $wallet->change_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->change_balance, $conf_value, 5); + $wallet->increment('change_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_CHANGE_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_CHANGE_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->change_balance, $conf_value, 5); + $wallet->decrement('change_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_CHANGE_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_CHANGE_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + } elseif ($type == 4) { + $data_wallet['balance_type'] = 2; + $data_wallet['lock_type'] = 1; + $data_wallet['before'] = $wallet->lock_change_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->lock_change_balance, $conf_value, 5); + $wallet->increment('lock_change_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_CHANGE_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_CHANGE_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->lock_change_balance, $conf_value, 5); + $wallet->decrement('lock_change_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_CHANGE_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_CHANGE_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + } elseif ($type == 5) { + $data_wallet['balance_type'] = 3; + $data_wallet['lock_type'] = 0; + $data_wallet['before'] = $wallet->lever_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->lever_balance, $conf_value, 5); + $wallet->increment('lever_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LEVER_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LEVER_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->lever_balance, $conf_value, 5); + $wallet->decrement('lever_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LEVER_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LEVER_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + } elseif ($type == 6) { + $data_wallet['balance_type'] = 3; + $data_wallet['lock_type'] = 1; + $data_wallet['before'] = $wallet->lock_lever_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->lock_lever_balance, $conf_value, 5); + $wallet->increment('lock_lever_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_LEVER_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_LEVER_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->lock_lever_balance, $conf_value, 5); + $wallet->decrement('lock_lever_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_LEVER_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_LEVER_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + }elseif ($type == 7) { + $data_wallet['balance_type'] = 4; + $data_wallet['lock_type'] = 0; + $data_wallet['before'] = $wallet->micro_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->micro_balance, $conf_value, 5); + $wallet->increment('micro_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_MICRO_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_MICRO_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->micro_balance, $conf_value, 5); + $wallet->decrement('micro_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_MICRO_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_MICRO_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + } elseif ($type == 8) { + $data_wallet['balance_type'] = 4; + $data_wallet['lock_type'] = 1; + $data_wallet['before'] = $wallet->lock_micro_balance; + if ($way == 'increment') { + $data_wallet['change'] = $conf_value; + $data_wallet['after'] = bc_add($wallet->lock_micro_balance, $conf_value, 5); + $wallet->increment('lock_micro_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_MICRO_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_MICRO_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } else { + $data_wallet['change'] = $conf_value * -1; + $data_wallet['after'] = bc_sub($wallet->lock_micro_balance, $conf_value, 5); + $wallet->decrement('lock_micro_balance', $conf_value); + + AccountLog::insertLog(['user_id' => $user->id, 'value' => $conf_value * -1, 'info' => AccountLog::getTypeInfo(AccountLog::ADMIN_LOCK_MICRO_BALANCE) . ":" . $info, 'type' => AccountLog::ADMIN_LOCK_MICRO_BALANCE, 'currency' => $wallet->currency], $data_wallet); + + } + } + //$wallet->save(); + //$user->save(); + DB::commit(); + return $this->success('操作成功'); + } catch (\Exception $e) { + DB::rollback(); + return $this->error($e->getMessage()); + } + } + + //删除钱包 + public function delw(Request $request) + { + $id = $request->get('id'); + $wallet = UsersWallet::find($id); + if (empty($wallet)) { + $this->error("钱包未找到"); + } + if($id==1)$this->error("系统用户,不能删除"); + try { + $wallet->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + /* + * 提币地址信息 + * */ + public function address(Request $request) + { + $id = $request->get('id', 0); + if (empty($id)) { + return $this->error('参数错误'); + } + $result = UsersWallet::find($id); + if (empty($result)) { + return $this->error('无此结果'); + } + + + $list = Address::where('user_id', $result->user_id)->where('currency', $result->currency)->get()->toArray(); + + return view('admin.user.address', ['results' => $result, 'list' => $list]); + } + /* + * 修改提币地址信息 + * */ + public function addressEdit(Request $request) + { + $user_id = $request->get('user_id', 0); + $currency = $request->get('currency', 0); + $total_arr = $request->get('total_arr', ''); + if (empty($user_id) || empty($currency)) { + return $this->error('参数错误'); + } + DB::beginTransaction(); + try { + Address::where('user_id', $user_id)->where('currency', $currency)->delete(); + if (!empty($total_arr)) { + foreach ($total_arr as $key => $val) { + $ads = new Address(); + $ads->user_id = $user_id; + $ads->currency = $currency; + $ads->address = $val['address']; + $ads->notes = $val['notes']; + $ads->save(); + } + } + DB::commit(); + return $this->success('修改提币地址成功'); + } catch (\Exception $e) { + DB::rollback(); + return $this->error($e->getMessage()); + } + + } + + //加入黑名单 + public function blacklist(Request $request) + { + $id = $request->get('id', 0); + + $user = Users::find($id); + if (empty($user)) { + return $this->error('参数错误'); + } + if ($user->is_blacklist == 1) { + $user->is_blacklist = 0; + } else { + $user->is_blacklist = 1; + } + try { + $user->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + public function candyConf(Request $request, $id) + { + $user = Users::find($id); + return view('admin.user.candy_conf')->with('user', $user); + } + + public function postCandyConf(Request $request, $id) + { + $user = Users::find($id); + $way = $request->input('way', 0); + $change = $request->input('change', 0); + $memo = $request->input('memo', ''); + if (!in_array($way, [1, 2])) { + return $this->error('调整方式传参错误'); + } + if ($change <= 0) { + return $this->error('调整金额必须大于0'); + } + if ($way == 2) { + $change = bc_mul($change, -1); + } + $result = change_user_candy($user, $change, AccountLog::ADMIN_CANDY_BALANCE, '后台调整' . ($way == 2 ? '减少' : '增加') . '通证 ' . $memo); + return $result === true ? $this->success('调整成功') : $this->error('调整失败:' . $result); + } + + public function score(Request $request) + { + $id = $request->get('id', 0); + + if (empty($id)) { + return $this->error("参数错误"); + } + $user = Users::find($id); + + if ($request->getMethod() == 'POST'){ + + DB::beginTransaction(); + try { + $way = $request->input('way', 0); + $change = $request->input('change', 0); + $memo = $request->input('memo', ''); + if (!in_array($way, [1, 2])) { + throw new \Exception('调整方式传参错误'); + } + if ($change <= 0) { + throw new \Exception('调整金额必须大于0'); + } + if ($way == 2) { + $change = bc_mul($change, -1,2); + } + // 修改用户积分 + $user->score += $change; + if (!$user->save()){ + throw new \Exception('资产保存失败'); + } + // 保存积分日志 + $log = [ + 'user_id' => $id, + 'type' => $way, + 'change' => $change, + 'remarks' => $memo, + 'create_time' => date('Y-m-d H:i:s',time()), + ]; + $res = DB::table('score_log')->insert($log); + if (empty($res)){ + throw new \Exception('资产记录保存失败'); + } + DB::commit(); + } catch (\Exception $e) { + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('调整成功'); + } + + return view('admin.user.score')->with('user', $user); + } + + public function userWalletList(Request $request) + { + $id = $request->get('id', 0); + + if (empty($id)) { + return $this->error("参数错误"); + } + + $user = Users::find($id); + if ($request->getMethod() == 'POST'){ + DB::beginTransaction(); + try { + $address = $request->input("address",""); + $ids = $request->input("ids",""); + foreach ($ids as $key => $value) + { + $wallet = UsersWalletWithdraw::where('id',$value)->first(); + $wallet->address = $address[$key]; + $wallet->save(); + } + DB::commit(); + } catch (\Exception $e) { + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('操作成功'); + } + $page = $request->get('page',1); + $limit = $request->get('limit',999); + $lists = DB::table('users_wallet_withdraw') + ->join('currency', 'currency.id', '=', 'users_wallet_withdraw.currency') + ->where('users_wallet_withdraw.user_id',$id) + ->select('users_wallet_withdraw.*', 'currency.name') + ->orderBy('users_wallet_withdraw.id', 'desc') + ->paginate($limit); + + // $result = array('data' => $lists->items(), 'page' => $page, 'pages' => $lists->lastPage(), 'total' => $lists->total()); + // return $this->success($result); + return view('admin.user.user_walletList', ['data' => $lists->items(), 'user' => $user]); + } + + public function cashInfo(Request $request) + { + $id = $request->get('id', 0); + + if (empty($id)) { + return $this->error("参数错误"); + } + + $user = Users::find($id); + + $cashInfo = UserCashInfo::where('user_id', $id)->first(); + + if ($request->getMethod() == 'POST'){ + + DB::beginTransaction(); + try { + if (empty($cashInfo)) { + $cashInfo = new UserCashInfo(); + $cashInfo->user_id = $id; + $cashInfo->create_time = time(); + } + $real_name = $request->input('real_name', ''); + $bank_name = $request->input('bank_name', ''); + $bank_dizhi = $request->input('bank_dizhi', ''); + $bank_account = $request->input('bank_account', ''); + $iban = $request->input('iban', ''); + $bank_code = $request->input('bank_code', ''); + $bank_address = $request->input('bank_address', ''); + $cashInfo->real_name = $real_name; + $cashInfo->bank_name = $bank_name; + $cashInfo->bank_dizhi = $bank_dizhi; + $cashInfo->bank_account = $bank_account; + $cashInfo->iban = $iban; + $cashInfo->bank_code = $bank_code; + $cashInfo->bank_address = $bank_address; + $cashInfo->save(); + DB::commit(); + } catch (\Exception $e) { + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('操作成功'); + } + + return view('admin.user.cash_info', ['cashInfo' => $cashInfo, 'user' => $user]); + } + + public function deleteCashInfo(Request $request) { + $id = $request->get('id', 0); + + if (empty($id)) { + return $this->error("参数错误"); + } + $user = Users::find($id); + + $cashInfo = UserCashInfo::where('user_id', $id)->first(); + if (empty($cashInfo)) { + return $this->error('信息不存在'); + } + + if ($request->getMethod() == 'DELETE'){ + try { + $cashInfo->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + } + + public function cashInfoInternational(Request $request) + { + $id = $request->get('id', 0); + + if (empty($id)) { + return $this->error("参数错误"); + } + $user = Users::find($id); + $cashInfo = UserCashInfoInternational::where('user_id', $id)->first(); + + if ($request->getMethod() == 'POST'){ + + DB::beginTransaction(); + try { + if (empty($cashInfo)) { + $cashInfo = new UserCashInfoInternational(); + $cashInfo->user_id = $id; + $cashInfo->create_time = time(); + } + $real_name = $request->input('real_name', ''); + $bank_name = $request->input('bank_name', ''); + $bank_dizhi = $request->input('bank_dizhi', ''); + $bank_account = $request->input('bank_account', ''); + $bank_network = $request->input('bank_network', ''); + $idcard = $request->input('idcard', ''); + $swift_code = $request->input('swift_code', ''); + $phone = $request->input('phone', ''); + $cashInfo->real_name = $real_name; + $cashInfo->bank_name = $bank_name; + $cashInfo->bank_dizhi = $bank_dizhi; + $cashInfo->bank_account = $bank_account; + $cashInfo->bank_network = $bank_network; + $cashInfo->idcard = $idcard; + $cashInfo->swift_code = $swift_code; + $cashInfo->phone = $phone; + $cashInfo->save(); + DB::commit(); + } catch (\Exception $e) { + DB::rollBack(); + return $this->error($e->getMessage()); + } + return $this->success('操作成功'); + } + + return view('admin.user.cash_info_international')->with('cashInfo', $cashInfo)->with('user', $user); + } + + public function deleteCashInfoInternational(Request $request) { + $id = $request->get('id', 0); + + if (empty($id)) { + return $this->error("参数错误"); + } + $user = Users::find($id); + + $cashInfo = UserCashInfoInternational::where('user_id', $id)->first(); + if (empty($cashInfo)) { + return $this->error('信息不存在'); + } + + if ($request->getMethod() == 'DELETE'){ + try { + $cashInfo->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + } + + //链上余额归集到总账号 + public function balance(Request $request) + { + exit('功能被禁用'); + set_time_limit(0); + $id = $request->get('id', 0);//钱包id + $wallet = UsersWallet::find($id); + if (empty($wallet)) { + return $this->error('钱包不存在'); + } + $btc_chain_balance = 0; + $currency = Currency::find($wallet->currency); + $total_account = $currency->total_account; + $user_address = $wallet->address; + $number = $wallet->old_balance; + $lessen = bc_pow(10, 8); + //$origin_number = $number = $wallet->old_balance; + $btc_key = decrypt($wallet->private); + $btc_id = Currency::where('name', 'BTC')->first()->id; + $fee = bc_mul($currency->chain_fee, bc_pow(10, $currency->decimal_scale ?? 8)); + if ($id != $btc_id) { + $btc_wallet = UsersWallet::where('address', $user_address) + ->where('currency', $btc_id) + ->first(); + $usdt_balance_url = 'http://43.129.16.120:82/wallet/usdt/balance?address=' . $user_address; + $content = RPC::apihttp($usdt_balance_url); + $content = json_decode($content, true); + if (isset($content['code']) && $content['code'] == 0 && isset($content['data'])) { + $origin_number = $content['data']['balance']; + } else { + return $this->error('获取USDT链上余额失败:' . var_export($content, true)); + } + } else { + $btc_wallet = $wallet; + } + $btc_balance_url = 'http://43.129.16.120:80/wallet/btc/balance?address=' . $user_address; + $btc_content = RPC::apihttp($btc_balance_url); + $btc_content = json_decode($btc_content, true); + if (isset($btc_content["code"]) && $btc_content["code"] == 0) { + $btc_chain_balance = $btc_content['data']['balance']; + if ($id == $btc_id) { + $origin_number = bc_sub($btc_chain_balance, $fee); + } + $btc_chain_balance = bc_div($btc_chain_balance, $lessen, 8); + } else { + return $this->error('获BTC取链上余额失败'); + } + + if (bc_comp($btc_chain_balance, $currency->chain_fee) < 0) { + return $this->error('当前账户BTC余额不足,请充值之后再归拢'); + } + + $origin_number = bc_div($origin_number, $lessen); + + $old_balance = 0; + if (empty($total_account)) { + return $this->error('usdt币种设置错误'); + } + if ($currency->type == 'usdt') { +// var_dump($currency->type);var_dump($total_account);var_dump($origin_number);var_dump($user_address);var_dump($btc_key);var_dump($fee);die; + $content = BlockChain::transfer($currency->type, $currency->type, $total_account, $origin_number, $user_address, $btc_key, 1, $fee); + } elseif ($currency->type == 'btc') { + $content = BlockChain::transfer($currency->type, $currency->type, $total_account, $origin_number, $user_address, $btc_key, 1, $fee); + } else { + return $this->error('只支持usdt、btc归拢'); + } + //记录错误日志 + Log::useDailyFiles(base_path('storage/logs/blockchain/collect'), 7); + Log::critical('用户id:' . $wallet->user_id . ',币种:' . $currency->type . ',归拢:' . $origin_number, $content); + if (isset($content["errcode"]) && $content["errcode"] == "0" && isset($content['txid'])) { + try { + DB::beginTransaction(); + $wallet = UsersWallet::lockForUpdate()->find($id); + //如果转的是usdt,需要扣btc + $btc_wallet->refresh(); + if ($currency->type == 'usdt') { + //扣手续费不用更新old_balance,这样直接扣除可避免原打入的手续费被当作充值到账 + $btc_wallet->old_balance = $btc_wallet->old_balance - $currency->chain_fee - 0.00000546; + $btc_wallet->save(); + } + AccountLog::insertLog([ + 'user_id' => 0, + 'value' => 0, + 'info' => '对用户id' . $wallet->user_id . ',币种:' . $currency->type . ',归拢:' . $origin_number . ',交易哈希值:' . $content['txid'], + 'type' => 881 + ]); + $wallet->refresh(); + $wallet->old_balance = $old_balance;; + $wallet->gl_time = time(); + $wallet->txid = $content['txid']; + $wallet->save(); + DB::commit(); + return $this->success('归拢成功,请在30分钟后刷新余额'); + } catch (\Exception $ex) { + DB::rollback(); + return $this->error($ex->getMessage()); + } + } else { + return $this->error(var_export($content, true)); + } + } + + + //向账户充btc手续费0.00006 + public function sendBtc(Request $request) + { + exit('功能被禁用'); + set_time_limit(0); + $id = $request->get('id', 0);//钱包id + $wallet = UsersWallet::find($id); + if (empty($wallet)) { + return $this->error('钱包不存在'); + } + $user_address = $wallet->address; + $currency = Currency::find($wallet->currency); + $btc_id = Currency::where('name', 'BTC')->first()->id; + // return $currency->id.'+'.$btc_id; + if ($currency->id != $btc_id) { + return $this->error('只支持btc账户'); + } + $total_account = $currency->total_account; + $key = $currency->key; + $account = bc_mul($currency->chain_fee, 100000000, 0); + $url = "http://43.129.16.120:82/wallet/btc/sendto?fromaddress=" . $total_account . "&toaddress=" . $user_address . "&privkey=" . $key . "&amount=" . $account; + $content = file_get_contents($url); + $content = @json_decode($content, true); + if ($content['code'] == 0) { + AccountLog::insertLog([ + 'user_id' => 0, + 'value' => $currency->chain_fee, + 'info' => '向' . $wallet->user_id . '打手续费', + 'type' => 8888888 + ]); + $wallet->old_balance = $wallet->old_balance + $currency->chain_fee; + $wallet->gl_time = time(); + $wallet->save(); + return $this->success('转入手续费成功'); + } else { + return $this->error('转入错误' . $content['msg']); + } + } + + public function batchRisk(Request $request) + { + try { + $ids = $request->input('ids', []); + $risk = $request->input('risk', 0); + if (empty($ids)) { + throw new \Exception('请先选择用户'); + } + if (!in_array($risk, [-1, 0, 1])) { + throw new \Exception('输赢类型不正确'); + } + $affect_rows = Users::whereIn('id', $ids) + ->update([ + 'risk' => $risk, + ]); + return $this->success('本次提交:' . count($ids) . '条,设置成功:' . $affect_rows . '条'); + } catch (\Throwable $th) { + return $this->error($th->getMessage()); + } + } + public function chargeShow(Request $request){ + $id = $request->get('id', ''); + if (!$id) { + return $this->error('参数小错误'); + } + $chargeDetail = DB::table('charge_req') -> where('id','=',$id)->first(); + return view('admin.user.edit_charge', ['charge_info'=>$chargeDetail]); + } + + public function chargeList(Request $request){ + $limit = $request->get('limit', 20); + $rate=Setting::getValueByKey('USDTRate', 7.28); + $account_number = $request->input('account_name', ''); + $userid = $request->input('userid', 0); + + + if(empty($account_number) && empty($userid)){ + $list = DB::table('charge_req') + ->join('users', 'users.id', '=', 'charge_req.uid') + ->join('currency', 'currency.id', '=', 'charge_req.currency_id') + ->leftjoin('user_cash_info', 'user_cash_info.user_id', '=', 'charge_req.uid') + ->select('charge_req.*','user_cash_info.bank_account','currency.price','currency.rmb_relation', 'users.account_number', 'currency.name') + ->orderBy('charge_req.id', 'desc')->paginate($limit); + // $list = DB::table('charge_req') + // ->join('users', 'users.id', '=', 'charge_req.uid') + // ->orderBy('charge_req.id', 'desc')->paginate($limit); + } + + if(!empty($account_number)){ + $list = DB::table('charge_req') + ->join('users', 'users.id', '=', 'charge_req.uid') + ->join('currency', 'currency.id', '=', 'charge_req.currency_id') + ->leftjoin('user_cash_info', 'user_cash_info.user_id', '=', 'charge_req.uid') + ->select('charge_req.*','user_cash_info.bank_account','currency.price','currency.rmb_relation', 'users.account_number', 'currency.name') + ->where('charge_req.account_name', 'like' ,"%$account_number%") + // ->orWhere('charge_req.uid', 'like' ,"%$userid%") + ->orderBy('charge_req.id', 'desc')->paginate($limit); + + } + if(!empty($userid)){ + $list = DB::table('charge_req') + ->join('users', 'users.id', '=', 'charge_req.uid') + ->join('currency', 'currency.id', '=', 'charge_req.currency_id') + ->leftjoin('user_cash_info', 'user_cash_info.user_id', '=', 'charge_req.uid') + ->select('charge_req.*','user_cash_info.bank_account','currency.price','currency.rmb_relation', 'users.account_number', 'currency.name') + // ->where('charge_req.account_name', 'like' ,"%$account_number%") + ->Where('charge_req.uid', 'like' ,"%$userid%") + ->orderBy('charge_req.id', 'desc')->paginate($limit); + // $list = DB::table('charge_req') + // ->join('users', 'users.id', '=', 'charge_req.uid') + // ->where('charge_req.account_name', 'like' ,"%$account_number%") + // // ->where('charge_req.account_name','=',$account_number) + // ->orderBy('charge_req.id', 'desc')->paginate($limit); + } + + if(!empty($account_number) && !empty($userid)){ + $list = DB::table('charge_req') + ->join('users', 'users.id', '=', 'charge_req.uid') + ->join('currency', 'currency.id', '=', 'charge_req.currency_id') + ->leftjoin('user_cash_info', 'user_cash_info.user_id', '=', 'charge_req.uid') + ->select('charge_req.*','user_cash_info.bank_account','currency.price','currency.rmb_relation', 'users.account_number', 'currency.name') + ->where('charge_req.account_name', 'like' ,"%$account_number%") + ->Where('charge_req.uid', 'like' ,"%$userid%") + ->orderBy('charge_req.id', 'desc')->paginate($limit); + + } + // if($account_number != null){ + // $list = DB::table('charge_req') + // ->join('users', 'users.id', '=', 'charge_req.uid') + // ->join('currency', 'currency.id', '=', 'charge_req.currency_id') + // ->leftjoin('user_cash_info', 'user_cash_info.user_id', '=', 'charge_req.uid') + // ->select('charge_req.*','user_cash_info.bank_account','currency.price','currency.rmb_relation', 'users.account_number', 'currency.name') + // ->where('charge_req.account_name','=',$account_number) + // ->orderBy('charge_req.id', 'desc')->paginate($limit); + // }else{ + // $list = DB::table('charge_req') + // ->join('users', 'users.id', '=', 'charge_req.uid') + // ->where('charge_req.account_name','=',$account_number) + // ->join('currency', 'currency.id', '=', 'charge_req.currency_id') + // ->where('charge_req.typr') + // ->leftjoin('user_cash_info', 'user_cash_info.user_id', '=', 'charge_req.uid') + // ->select('charge_req.*','user_cash_info.bank_account','currency.price','currency.rmb_relation', 'users.account_number', 'currency.name') + // ->orderBy('charge_req.id', 'desc')->paginate($limit); + // } + //$userWalletOut = new ChargeReq(); + // $userWalletOutList = $userWalletOut->whereHas('user', function ($query) use ($account_number) { + // if ($account_number != '') { + // $query->where('phone', $account_number) + // ->orWhere('account_number', $account_number) + // ->orWhere('email', $account_number) + // ->orWhere('id', $account_number); + // } + // })->orderBy('id', 'desc')->paginate($limit); + + // $userWalletOut = new UsersWalletOut(); + // $userWalletOutList = $userWalletOut->orderBy('id', 'desc')->paginate($limit); + // var_dump($list);exit; + + return $this->layuiData($list); + } + + public function passReq(Request $request){ + $id = $request->get('id',0); + if(empty($id)){ + return $this->error('参数错误'); + } + $req = Db::table('charge_req')->where(['id' => $id,'status'=> 1])->first(); + if(!$req){ + return $this->error('充值记录错误'); + } + + + + + + + // return $this->success('充值成功'); $req->currency_id + // file_put_contents('/www/wwwroot/crypto/public/tt.txt',json_encode($req).PHP_EOL,FILE_APPEND); + //通过并加钱 + $legal = UsersWallet::where("user_id", $req->uid) + ->where("currency", 3) + ->lockForUpdate() + ->first(); + if(!$legal){ + return $this->error('找不到用户钱包'); + } + $redis = Redis::connection(); + $lock = new RedisLock($redis,'manual_charge'.$req->id,10); + DB::beginTransaction(); + try{ + + DB::table('charge_req')->where('id',$id)->update(['status'=>2,'updated_at'=>date('Y-m-d H:i:s')]); + change_wallet_balance( + $legal, + 4, + $req->price, + AccountLog::WALLET_CURRENCY_IN, + '充值', + false, + 0, + 0, + serialize([ + ]), + false, + true + ); + if ($req->give > 0){ + change_wallet_balance( + $legal, + 4, + $req->give, + AccountLog::WALLET_CURRENCY_IN, + '会员充值赠送', + false, + 0, + 0, + serialize([ + ]), + false, + true + ); + } + // 计算用户升级 + UserLevelModel::checkUpgrade($req); + $lock->release(); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + // DB::table('users_wallet')->where(['currency'=>$req->currency_id,'user_id'=>$req->uid])->increment('lever_balance',$req->amount); + return $this->success('充值成功'); + } + + public function passReq111(Request $request){ + $id = $request->get('id',0); + if(empty($id)){ + return $this->error('参数错误'); + } + $req = Db::table('charge_req')->where(['id' => $id,'status'=> 1])->first(); + if(!$req){ + return $this->error('充值记录错误'); + } + + return $this->success($req->currency_id); + + // return $this->success('充值成功'); + //通过并加钱 + $legal = UsersWallet::where("user_id", $req->uid) + ->where("currency", $req->currency_id) + ->lockForUpdate() + ->first(); + if(!$legal){ + return $this->error('找不到用户钱包'); + } + $redis = Redis::connection(); + $lock = new RedisLock($redis,'manual_charge'.$req->id,10); + DB::beginTransaction(); + try{ + + DB::table('charge_req')->where('id',$id)->update(['status'=>2,'updated_at'=>date('Y-m-d H:i:s')]); + change_wallet_balance( + $legal, + 4, + $req->amount, + AccountLog::WALLET_CURRENCY_IN, + '充值', + false, + 0, + 0, + serialize([ + ]), + false, + true + ); + if ($req->give > 0){ + change_wallet_balance( + $legal, + 4, + $req->give, + AccountLog::WALLET_CURRENCY_IN, + '会员充值赠送', + false, + 0, + 0, + serialize([ + ]), + false, + true + ); + } + // 计算用户升级 + UserLevelModel::checkUpgrade($req); + $lock->release(); + DB::commit(); + }catch (\Exception $e){ + DB::rollBack(); + return $this->error($e->getMessage()); + } + // DB::table('users_wallet')->where(['currency'=>$req->currency_id,'user_id'=>$req->uid])->increment('lever_balance',$req->amount); + return $this->success('充值成功'); + } + + + public function refuseReq(Request $request){ + $id = $request->get('id',0); + if(empty($id)){ + return $this->error('参数错误'); + } + $req = Db::table('charge_req')->where(['id' => $id,'status'=> 1])->first(); + if(!$req){ + return $this->error('充值记录错误'); + } + + DB::table('charge_req')->where('id',$id)->update(['status'=>3]); + return $this->success('拒绝成功'); + } + public function chargeReq(Request $request){ + $imageServerUrl = Setting::getValueByKey('image_server_url', ''); + return view('admin.user.charge',['imageServerUrl' => $imageServerUrl]); + } + + public function levelList(Request $request){ + + if ($request->method() == 'POST'){ + $limit = $request->post('limit', 10); + $list = UserLevelModel::orderBy('id', 'asc') + ->paginate($limit); + return $this->layuiData($list); + } + return view('admin.user.level'); + } + + public function levelEdit(Request $request) + { + + + if ($request->getMethod() == 'POST'){ + + $params = $request->post(); + if (empty(intval($params['id']))){ + return $this->error('参数错误'); + } + if (empty($params['name'])){ + return $this->error('级别名称不能为空'); + } + if (floatval(empty($params['amount']))){ + return $this->error('升级金额不能为空'); + } + if (floatval(empty($params['give']))){ + return $this->error('赠送比例不能为空'); + } + if (floatval(empty($params['pic']))){ + return $this->error('级别徽章不能为空'); + } + $id = $params['id']; + unset($params['id']); + $res = UserLevelModel::where('id',$id)->update($params); + if (empty($res)){ + return $this->error('保存失败'); + } + return $this->success('编辑成功'); + } + $level = UserLevelModel::find($request->get('id')); + return view('admin.user.level_edit')->with('level', $level); + } + + /** + * 设置用户是否为交易员 + */ + public function trader(Request $request){ + $user = Users::query()->find($request->user_id); + if(empty($user)){ + return $this->error('用户不存在'); + } + + $user->is_trader = $user->is_trader == 2 ? 1 : 2; + $user->save(); + return $this->success('操作成功'); + } + + public function quotation(Request $request) + { + //基本币 + $bases=DB::table("currency_matches")->where("market_from",2)->select("currency_id")->get(); + $bases=json_decode(json_encode($bases),true); + foreach ($bases as $k=>$v){ + $one=DB::table("currency")->where("id",$v["currency_id"])->select("id","name")->first(); + $bases[$k]["name"]=$one->name; + } + $base=$request->get("base",$bases[0]["name"]); + + + $last = MyQuotation::where("base",$base)->orderBy('id', 'desc')->first(); + /*$where=[ + "market_from"=>1 + ]; + // $currencys = CurrencyMatch::where($where)->get(); + */ + $currencys=$bases; + //echo json_encode($currencys); + $res=[ + 'data' => $last, + 'currencys' => $currencys, + "bases"=>$bases, + "base"=>$base + ]; + return view('admin.quotation.index',$res); + } + + public function saveQuotation(Request $request) + { + + + $url = config('app.kline_url'); + + $con = $request->post('kline'); + $date = $request->post('date'); + $currency = strtoupper($request->post('currency')); + + $info = DB::table('currency')->where('name',$currency)->first(); + + $matches = DB::table('currency_matches')->where('currency_id',$info->id)->first(); + + $obj = json_decode($con, true); + $timestamp = strtotime($date); + $esclient = MarketHour::getEsearchClient(); + for ($i = 0; $i < count($obj); $i++) { + //$timeed = strtotime('+ ' . ($i * 60) . ' seconds', $timestamp); + $timeed = strtotime('+ ' . ($i * 60) . ' seconds', $timestamp); + $timefor = date('Y-m-d H:i:s', $timeed); + $needle = MyQuotation::where('itime', $timeed)->where('symbol', $currency.'/USDT')->first(); + if($needle){ + continue; + } + $needle = new MyQuotation(); + $needle->open = $obj[$i][1]; + $needle->high = $obj[$i][2]; + $needle->low = $obj[$i][3]; + $needle->close = $obj[$i][4]; + $needle->vol = $obj[$i][5]; + $needle->diffchange = $obj[$i][6]; + $needle->base = $currency; + $needle->target = 'USDC'; + $needle->symbol = "{$needle->base}/{$needle->target}"; + $needle->itime = date("Y-m-d H:i:s",$timeed); + $needle->rtime = date("Y-m-d H:i:s",$timeed); + $timefor = date('i', $timeed); + $period = '1min'; + if($timefor%5==0){ + $period .= ',5min'; + $needle->period5=1; + } + if($timefor%15==0){ + $period .= ',15min'; + $needle->period15=1; + } + if($timefor%30==0){ + $period .= ',30min'; + $needle->period30=1; + } + if($timefor%60==0){ + $period .= ',60min'; + $needle->period60=1; + } + $needle->period = $period; + $zd =''; + if($obj[$i][6]>0) $zd='+'; + + $kline_imin = file_get_contents($url.'config/kline_imin.txt'); + + $kline_imin = str_replace('CLOSE',$obj[$i][4],$kline_imin); + $kline_imin = str_replace('HIGH',$obj[$i][2],$kline_imin); + $kline_imin = str_replace('NOW_PRICE',$obj[$i][4],$kline_imin); + $kline_imin = str_replace('LOW',$obj[$i][3],$kline_imin); + $kline_imin = str_replace('OPEN',$obj[$i][1],$kline_imin); + $kline_imin = str_replace('TIME','"'.$timeed.'"',$kline_imin); + $kline_imin = str_replace('CURRENCY_ID',$info->id,$kline_imin); + $kline_imin = str_replace('MATCH_ID',$matches->id,$kline_imin); + $kline_imin = str_replace('PYPLC',$currency,$kline_imin); + + $kline_imin = str_replace('VOLUME',$obj[$i][5],$kline_imin); + $kline_imin = str_replace('CHANGE',$zd.$obj[$i][6],$kline_imin); + + file_put_contents($url.'config/kline/'.$timeed.'_kline_1min_'.$currency.'.php',$kline_imin); + + + $dymic = file_get_contents($url.'config/dymic.txt'); + + $dymic = str_replace('CLOSE',$obj[$i][4],$dymic); + $dymic = str_replace('HIGH',$obj[$i][2],$dymic); + $dymic = str_replace('NOW_PRICE',$obj[$i][4],$dymic); + $dymic = str_replace('LOW',$obj[$i][3],$dymic); + $dymic = str_replace('OPEN',$obj[$i][1],$dymic); + $dymic = str_replace('TIME','"'.$timeed.'"',$dymic); + $dymic = str_replace('CURRENCY_ID',$info->id,$dymic); + $dymic = str_replace('MATCH_ID',$matches->id,$dymic); + $dymic = str_replace('PYPLC',$currency,$dymic); + $dymic = str_replace('VOLUME',$obj[$i][5],$dymic); + $dymic = str_replace('CHANGE',$zd.$obj[$i][6],$dymic); + file_put_contents($url.'config/kline/'.$timeed.'_daymarket_'.$currency.'.php',$dymic); + + $needle->save(); + + /* $id = strtolower($needle->base . $needle->target) . '.1min.' . ($timeed * 1000); + $ob = json_decode(json_encode($needle),true); + $ob['id'] = $id; + $ob['itime'] = $timeed; + + + $params = [ + 'index' => 'market.quotation', + 'type' => 'doc', + 'id' => $id, + 'body' => json_decode(json_encode($ob)), + ]; + $delete_param = [ + 'index' => 'market.quotation', + 'type' => 'doc', + 'id' => $id, + ]; + try { + $esclient->get($delete_param) && $esclient->delete($delete_param); + } catch (\Exception $exception) + { + + } + $response = $esclient->index($params);*/ + } + + //return $response; + } + +} diff --git a/app/Http/Controllers/Admin/UserGradeSettingController.php b/app/Http/Controllers/Admin/UserGradeSettingController.php new file mode 100644 index 0000000..02d4127 --- /dev/null +++ b/app/Http/Controllers/Admin/UserGradeSettingController.php @@ -0,0 +1,68 @@ +where('key', 'user_grade_setting')->first(); + $values = json_decode($data->value); + + $ordinary_setting = collect($values)->where('grade', 1)->first(); + $vip_setting = collect($values)->where('grade', 2)->first(); + $svip_setting = collect($values)->where('grade', 3)->first(); + $setting['ordinary'] = collect($ordinary_setting)->toArray(); + $setting['vip'] = collect($vip_setting)->toArray(); + $setting['svip'] = collect($svip_setting)->toArray(); + + return view("admin.userGradeSetting.index", [ + 'setting' => $setting + ]); + } + + public function store(Request $request) + { + try { + $data = [ + [ + 'grade' => 1, + 'ore_pool_income' => $request->ordinary_ore_pool_income, + 'delivery_contract_30s_switch' => $request->ordinary_delivery_contract_30s_switch, + 'transaction_service_change' => $request->ordinary_transaction_service_change, + 'withdraw_coin_service_change' => $request->ordinary_withdraw_coin_service_change + ], + [ + 'grade' => 2, + 'ore_pool_income' => $request->vip_ore_pool_income, + 'delivery_contract_30s_switch' => $request->vip_delivery_contract_30s_switch, + 'transaction_service_change' => $request->vip_transaction_service_change, + 'withdraw_coin_service_change' => $request->vip_withdraw_coin_service_change + ], + [ + 'grade' => 3, + 'ore_pool_income' => $request->svip_ore_pool_income, + 'delivery_contract_30s_switch' => $request->svip_delivery_contract_30s_switch, + 'transaction_service_change' => $request->svip_transaction_service_change, + 'withdraw_coin_service_change' => $request->svip_withdraw_coin_service_change + ], + ]; + Setting::query()->updateOrCreate([ + 'key' => 'user_grade_setting' + ], [ + 'value' => json_encode($data), + 'notes' => '会员等级权益配置' + ]); + + return $this->success('操作成功'); + } catch (\Throwable $e) { + return $this->error($e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/UserRealController.php b/app/Http/Controllers/Admin/UserRealController.php new file mode 100644 index 0000000..090bab2 --- /dev/null +++ b/app/Http/Controllers/Admin/UserRealController.php @@ -0,0 +1,344 @@ +get('limit', 10); + $account = $request->get('account', ''); + $review_status_s = $request->get('review_status_s', 0); + + $list = new UserReal(); + if (!empty($account)) { + $list = $list->whereHas('user', function ($query) use ($account) { + $query->where("phone", 'like', '%' . $account . '%')->orwhere('email', 'like', '%' . $account . '%'); + }); + } + if(!empty($review_status_s)){ + $list = $list->where('review_status',$review_status_s); + } + + $list = $list->orderBy('id', 'desc')->paginate($limit); + return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]); + } + + public function detail(Request $request) + { + + $id = $request->get('id', 0); + if (empty($id)) { + return $this->error("参数错误"); + } + + $result = UserReal::find($id); + + $imageServerUrl = Setting::getValueByKey('image_server_url', ''); + + if(!empty($result -> front_pic)){ + $result -> front_pic = $imageServerUrl.$result ->front_pic; + } + + if(!empty($result -> reverse_pic)){ + $result -> reverse_pic = $imageServerUrl.$result ->reverse_pic; + } + + return view('admin.userReal.info', ['result' => $result,'imageServerUrl' => $imageServerUrl]); + } + + public function del(Request $request) + { + $id = $request->get('id'); + $userreal = UserReal::find($id); + if (empty($userreal)) { + $this->error("认证信息未找到"); + } + try { + + $userreal->delete(); + return $this->success('删除成功'); + } catch (\Exception $ex) { + return $this->error($ex->getMessage()); + } + } + + /* + //状态审核 + public function auth(Request $request) + { + $id = $request->get('id', 0); + $userreal = UserReal::find($id); + if (empty($userreal)) { + return $this->error('参数错误'); + } + if ($userreal->review_status == 1) { + //从未认证到认证 + //查询users表判断是否为第一次实名认证 + $user = Users::find($userreal->user_id); + $is_realname = $user->is_realname; + if ($is_realname == 1) { + //1:未实名认证过 2:实名认证过 + $real_zhitui = Users::where("is_realname", "=", 2)->where("parent_id", "=", $userreal->user_id)->count();//实名认证过的有效直推人数 + //获取下级的总人数 + $member = Users::get()->toArray(); + $real_teamnumber = $this->GetTeamMember($member, $userreal->user_id);//实名认证过的团队人数 + $candy_number = 10; + $user->candy_number = $candy_number; + $user->push_status = 1; + $top_upnumber = $user->top_upnumber; + + //开始记录日志 + $candy_sender = new CandySender(); + PrizePool::send( + $candy_sender, + $sender = 0, + $user->candy_number, + $user, + $user, + //PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励 + $user->account_number . '实名认证通证奖励10个通证', + $attach_data = [] + ); + + if (3 <= $real_zhitui) { + //给自己加通证 +20 + $user->candy_number = $user->candy_number + 20; + $user->push_status = 2; + + $candy_sender = new CandySender(); + PrizePool::send( + $candy_sender, + $sender = 0, + 20, + $user, + $from_user = null, + //PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励 + '满足直推3人实名送20个通证', + $attach_data = [] + ); + } + if ($real_zhitui >= 5 && $real_teamnumber >= 15 && $top_upnumber >= 100) { + $user->candy_number = $user->candy_number + 50; + $user->push_status = 3; + $candy_sender = new CandySender(); + PrizePool::send( + $candy_sender, + $sender = 0, + 50, + $user, + $from_user = null, + //PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励 + '满足直推5人,实名认证团队15人充值达100美金;送50通证', + $attach_data = [] + ); + } + if ($real_zhitui >= 10 && $real_teamnumber >= 50 && $top_upnumber >= 1000) { + $user->candy_number = $user->candy_number + 300; + $user->push_status = 4; + $candy_sender = new CandySender(); + PrizePool::send( + $candy_sender, + $sender = 0, + 300, + $user, + $from_user = null, + //PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励 + '满足直推10人;实名认证,团队50人;充值达1000美金以上,送300通证', + $attach_data = [] + ); + } + if ($real_zhitui >= 30 && $real_teamnumber >= 100 && $top_upnumber >= 10000) { + $user->candy_number = $user->candy_number + 1300; + $user->push_status = 5; + $candy_sender = new CandySender(); + PrizePool::send( + $candy_sender, + $sender = 0, + 1300, + $user, + $from_user = null, + //PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励 + '满足直推30人,团队100人,充值1万送1300个', + $attach_data = [] + ); + } + if ($real_zhitui >= 50 && $real_teamnumber >= 200 && $top_upnumber >= 100000) { + $user->candy_number = $user->candy_number + 30000; + $user->push_status = 6; + $candy_sender = new CandySender(); + PrizePool::send( + $candy_sender, + $sender = 0, + 30000, + $user, + $from_user = null, + //PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励 + '直推50人实名认证,团队200人,充值金额达10万USDC,送30000通证', + $attach_data = [] + ); + } + $user->real_teamnumber = $real_teamnumber; + $user->is_realname = 2; + $user->save();//自己实名认证获取通证结束 + + } + $userreal->review_status = 2; + } else if ($userreal->review_status == 2) { + $userreal->review_status = 1; + } else { + $userreal->review_status = 1; + } + try { + $userreal->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + */ + + public function autherror(Request $request) + { + $id = $request->get('id', 0); + $userreal = UserReal::find($id); + if (empty($userreal)) { + return $this->error('参数错误'); + } + $user = Users::find($userreal->user_id); + if (!$user) { + return $this->error('用户不存在'); + } + + $userreal->review_status = 4; + + try { + $userreal->save(); + + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + + public function auth(Request $request) + { + $id = $request->get('id', 0); + $userreal = UserReal::find($id); + if (empty($userreal)) { + return $this->error('参数错误'); + } + $user = Users::find($userreal->user_id); + if (!$user) { + return $this->error('用户不存在'); + } + if ($userreal->review_status == 1) { + //从未认证到认证 + //查询users表判断是否为第一次实名认证 + $is_realname = $user->is_realname; + if ($is_realname != 2) { + //1:未实名认证过 2:实名认证过 + + $user->is_realname = 2; + + $user->save();//自己实名认证获取通证结束 + //判断自己上级的的触发奖励 + //UserDAO::addCandyNumber($user); + } + $userreal->review_status = 2; + } else if ($userreal->review_status == 2) { + $userreal->review_status = 1; + } else { + $userreal->review_status = 1; + } + try { + $userreal->save(); + //用户实名事件 + if ($userreal->review_status == 2) { + event(new RealNameEvent($user, $userreal)); + } + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + } + + //认证高级用户 + public function setAdvancedUser(Request $request) + { + $id = $request->get('id', 0); + $userreal = UserReal::find($id); + if (empty($userreal)) { + return $this->error('参数错误'); + } + $user = Users::find($userreal->user_id); + if (!$user) { + return $this->error('用户不存在'); + } + + if($userreal->review_status == 2 && $userreal->advanced_user==1){ + $userreal->advanced_user = 2;//null还没有提交过高级审核 1 等待审核的 2 已通过高级审核 + }else if($userreal->review_status != 2){ + return $this->success('请先审核用户信息'); + }else if($userreal->advanced_user == 2){ + return $this->success('已经审核过'); + }else if(!$userreal->advanced_user){ + return $this->error('该用户还未提交高级审核'); + } + + try { + $userreal->save(); + return $this->success('操作成功'); + } catch (\Exception $exception) { + return $this->error($exception->getMessage()); + } + + } + + //递归查询用户下级所有人数 + public function GetTeamMember($members, $mid) + { + $Teams = array();//最终结果 + $mids = array($mid);//第一次执行时候的用户id + do { + $othermids = array(); + $state = false; + foreach ($mids as $valueone) { + foreach ($members as $key => $valuetwo) { + if ($valuetwo['parent_id'] == $valueone) { + //实名认证通过的团队人数 + $Teams[] = $valuetwo['id'];//找到我的下级立即添加到最终结果中 + $othermids[] = $valuetwo['id'];//将我的下级id保存起来用来下轮循环他的下级 + // array_splice($members,$key,1);//从所有会员中删除他 + $state = true; + } + } + } + $mids = $othermids;//foreach中找到的我的下级集合,用来下次循环 + } while ($state == true); + //$Teams=Users::where("parents_path","like","%$mid%")->where("is_realname","=",2)->count(); + $Teams = Users::whereIn("id", $Teams)->where("is_realname", "=", 2)->count(); + return $Teams; + } +} diff --git a/app/Http/Controllers/Admin/WalletController.php b/app/Http/Controllers/Admin/WalletController.php new file mode 100644 index 0000000..53d6df9 --- /dev/null +++ b/app/Http/Controllers/Admin/WalletController.php @@ -0,0 +1,102 @@ + $currencies]); + } + + public function lists(Request $request) + { + $limit = $request->input('limit', 10); + $query = UsersWallet::whereHas('user', function ($query) use ($request) { + $account_number = $request->input('account_number', ''); + $account_number != '' && $query->where('account_number', $account_number)->orWhere('phone', $account_number)->orWhere('email', $account_number)->orWhere('id', $account_number); + })->where(function ($query) use ($request) { + $currency = $request->input('currency', -1); + $address = $request->input('address', ''); + $currency != -1 && $query->where('currency', $currency); + $address != '' && $query->where('address', $address); + }); + $query_total = clone $query; + $total = $query_total->select([ + DB::raw('sum(legal_balance) as legal_balance'), + DB::raw('sum(lock_legal_balance) as lock_legal_balance'), + DB::raw('sum(change_balance) as change_balance'), + DB::raw('sum(lock_change_balance) as lock_change_balance'), + DB::raw('sum(lever_balance) as lever_balance'), + DB::raw('sum(lock_lever_balance) as lock_lever_balance'), + ])->first(); + $total = $total->setAppends([]); + $user_wallet = $query->orderBy('old_balance', 'desc')->paginate($limit); + $list = $user_wallet->getCollection(); + $list->transform(function ($item, $key) { + $item->append('account_number'); + return $item; + }); + $user_wallet->setCollection($list); + return $this->layuiData($user_wallet, ['total' => $total]); + } + + public function updateBalance(Request $request) + { + $id = $request->input('id', 0); + $wallet = UsersWallet::find($id); + if (!$wallet) { + return $this->error('钱包不存在'); + } + //更改为队列方式更新 + UpdateBalance::dispatch($wallet)->onQueue('update:block:balance'); + return $this->success('更新请求已经发送到队列中,请稍后再查询'); + } + + /** + * 代入手续费 + * + * @param Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function transferPoundage(Request $request) + { + $id = $request->input('id', 0); + $refresh_balance = $request->input('refresh_balance', 0); + try { + $wallet = UsersWallet::find($id); + throw_unless($wallet, new \Exception('钱包不存在')); + $result = BlockChain::transferPoundage($wallet, $refresh_balance); + return $this->success('请求成功,交易哈希:' . ($result['txid'] ?? $result['data']['txHex'])); + } catch (\Throwable $th) { + return $this->error($th->getMessage()); + } + } + + /** + * 钱包归拢 + * + * @param Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function collect(Request $request) + { + $id = $request->input('id', 0); + $refresh_balance = $request->input('refresh_balance', 0); + try { + $wallet = UsersWallet::find($id); + throw_unless($wallet, new \Exception('钱包不存在')); + $result = BlockChain::collect($wallet, $refresh_balance); + return $this->success('请求成功,HASH:' . $result['txid']); + } catch (\Throwable $th) { + return $this->error($th->getMessage().$th->getFile().$th->getLine()); + } + } +} diff --git a/resources/views/admin/_layoutNew.blade.php b/resources/views/admin/_layoutNew.blade.php new file mode 100644 index 0000000..32a7066 --- /dev/null +++ b/resources/views/admin/_layoutNew.blade.php @@ -0,0 +1,103 @@ + + + + + 后台管理 + + + + + + + + + @yield('page-head') + + +
+
+
+
+ @yield('page-content') +
+
+
+
+ + + +@yield('scripts') + + \ No newline at end of file diff --git a/resources/views/admin/acceptor/add.blade.php b/resources/views/admin/acceptor/add.blade.php new file mode 100644 index 0000000..3d4fb97 --- /dev/null +++ b/resources/views/admin/acceptor/add.blade.php @@ -0,0 +1,139 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/acceptor/deal.blade.php b/resources/views/admin/acceptor/deal.blade.php new file mode 100644 index 0000000..591b4c1 --- /dev/null +++ b/resources/views/admin/acceptor/deal.blade.php @@ -0,0 +1,135 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+ +
+
+
+
+ +
+
+ + + +
+
+ + + +
+ + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/acceptor/index.blade.php b/resources/views/admin/acceptor/index.blade.php new file mode 100644 index 0000000..23b7d70 --- /dev/null +++ b/resources/views/admin/acceptor/index.blade.php @@ -0,0 +1,132 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + +
+ +
+ +
+ +
+
+
+
+ +
+
+ + + +
+
+ + + +
+ + + @endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/account/index.blade.php b/resources/views/admin/account/index.blade.php new file mode 100644 index 0000000..4a7d7f7 --- /dev/null +++ b/resources/views/admin/account/index.blade.php @@ -0,0 +1,152 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
0
+
+
+ + +@endsection + + @section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/account/viewDetail.blade.php b/resources/views/admin/account/viewDetail.blade.php new file mode 100644 index 0000000..a6e1cdb --- /dev/null +++ b/resources/views/admin/account/viewDetail.blade.php @@ -0,0 +1,36 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+@stop +@section('scripts') +@stop \ No newline at end of file diff --git a/resources/views/admin/ad/edit.blade.php b/resources/views/admin/ad/edit.blade.php new file mode 100644 index 0000000..238414e --- /dev/null +++ b/resources/views/admin/ad/edit.blade.php @@ -0,0 +1,166 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+ + +
+
+ + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ad/index.blade.php b/resources/views/admin/ad/index.blade.php new file mode 100644 index 0000000..860d9c0 --- /dev/null +++ b/resources/views/admin/ad/index.blade.php @@ -0,0 +1,138 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + + + +
+ + + + + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ad/positionEdit.blade.php b/resources/views/admin/ad/positionEdit.blade.php new file mode 100644 index 0000000..81eb35b --- /dev/null +++ b/resources/views/admin/ad/positionEdit.blade.php @@ -0,0 +1,70 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ad/positionIndex.blade.php b/resources/views/admin/ad/positionIndex.blade.php new file mode 100644 index 0000000..0387b5a --- /dev/null +++ b/resources/views/admin/ad/positionIndex.blade.php @@ -0,0 +1,116 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
+ + + + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ai/add.blade.php b/resources/views/admin/ai/add.blade.php new file mode 100644 index 0000000..4c4067f --- /dev/null +++ b/resources/views/admin/ai/add.blade.php @@ -0,0 +1,234 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + + + + +
+ +
+ @foreach ($currencies as $currency) + + + @endforeach + + +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + +
+ +
+ + +
+
+ +
+ +
+ +
+
+ +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ai/edit_ai.blade.php b/resources/views/admin/ai/edit_ai.blade.php new file mode 100644 index 0000000..5731c07 --- /dev/null +++ b/resources/views/admin/ai/edit_ai.blade.php @@ -0,0 +1,198 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ + +
+ @foreach ($currencies as $currency) + name) ? 'checked' : '' }} @else checked @endif> + + @endforeach + + +
+
+ +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+ + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ai/index.blade.php b/resources/views/admin/ai/index.blade.php new file mode 100644 index 0000000..aa17d6a --- /dev/null +++ b/resources/views/admin/ai/index.blade.php @@ -0,0 +1,372 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+ + + +
+ + + +
+ +
+
+ +
+ +
+
+ + +
+@endsection + +@section('scripts') + + + + + + +@endsection diff --git a/resources/views/admin/ai/order.blade.php b/resources/views/admin/ai/order.blade.php new file mode 100644 index 0000000..4acd920 --- /dev/null +++ b/resources/views/admin/ai/order.blade.php @@ -0,0 +1,109 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+ + + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ +
+
+
+ + +
+@endsection + +@section('scripts') + + + +@endsection diff --git a/resources/views/admin/auto/add.blade.php b/resources/views/admin/auto/add.blade.php new file mode 100644 index 0000000..15f8802 --- /dev/null +++ b/resources/views/admin/auto/add.blade.php @@ -0,0 +1,120 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/auto/index.blade.php b/resources/views/admin/auto/index.blade.php new file mode 100644 index 0000000..eec8b1a --- /dev/null +++ b/resources/views/admin/auto/index.blade.php @@ -0,0 +1,139 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + + +
+ + + + + +
+ + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bank/add.blade.php b/resources/views/admin/bank/add.blade.php new file mode 100644 index 0000000..604e1fd --- /dev/null +++ b/resources/views/admin/bank/add.blade.php @@ -0,0 +1,111 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ +
+ +
+ + +
+
+ + + + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bank/index.blade.php b/resources/views/admin/bank/index.blade.php new file mode 100644 index 0000000..9f13dd2 --- /dev/null +++ b/resources/views/admin/bank/index.blade.php @@ -0,0 +1,131 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + + {{--
--}} + {{--
--}} + {{----}} + {{--
--}} + {{----}} + {{--
--}} + {{--
--}} + {{--
--}} + {{--
--}} + {{----}} + {{--
--}} + {{--
--}} + + + + {{--
--}} +
+ + + +
+ + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/add.blade.php b/resources/views/admin/bindBox/add.blade.php new file mode 100644 index 0000000..5d5a824 --- /dev/null +++ b/resources/views/admin/bindBox/add.blade.php @@ -0,0 +1,509 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + @if(!empty($currency)) +
+ +
+ +
+
+ @endif + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+ + + + + + + + + + + +
文件名大小状态操作
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
结束时间
+
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/add_rarity_house_view.blade.php b/resources/views/admin/bindBox/add_rarity_house_view.blade.php new file mode 100644 index 0000000..e5170bc --- /dev/null +++ b/resources/views/admin/bindBox/add_rarity_house_view.blade.php @@ -0,0 +1,265 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + +
文件名大小状态操作
+
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/edit.blade.php b/resources/views/admin/bindBox/edit.blade.php new file mode 100644 index 0000000..f953a07 --- /dev/null +++ b/resources/views/admin/bindBox/edit.blade.php @@ -0,0 +1,341 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + + + +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
结束时间:
+
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/edit_rarity_house_view.blade.php b/resources/views/admin/bindBox/edit_rarity_house_view.blade.php new file mode 100644 index 0000000..15cb9d0 --- /dev/null +++ b/resources/views/admin/bindBox/edit_rarity_house_view.blade.php @@ -0,0 +1,264 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + +
+ +
+
+
+
+
+ + + + + + + + + + + +
文件名大小状态操作
+
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/index.blade.php b/resources/views/admin/bindBox/index.blade.php new file mode 100644 index 0000000..e81b03c --- /dev/null +++ b/resources/views/admin/bindBox/index.blade.php @@ -0,0 +1,332 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + +
+
+ +
+ +
+
+ + + + + + + + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+ + + + +
+@endsection + +@section('scripts') + + + + + + + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/order.blade.php b/resources/views/admin/bindBox/order.blade.php new file mode 100644 index 0000000..4cf4151 --- /dev/null +++ b/resources/views/admin/bindBox/order.blade.php @@ -0,0 +1,159 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + + + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+ + + + + + +
+@endsection + +@section('scripts') + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/quotation.blade.php b/resources/views/admin/bindBox/quotation.blade.php new file mode 100644 index 0000000..2ba197e --- /dev/null +++ b/resources/views/admin/bindBox/quotation.blade.php @@ -0,0 +1,111 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+ + + + + + +
+@endsection + +@section('scripts') + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/rarity_house.blade.php b/resources/views/admin/bindBox/rarity_house.blade.php new file mode 100644 index 0000000..95bad29 --- /dev/null +++ b/resources/views/admin/bindBox/rarity_house.blade.php @@ -0,0 +1,150 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+ + + + + +
+@endsection + +@section('scripts') + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/bindBox/success_order.blade.php b/resources/views/admin/bindBox/success_order.blade.php new file mode 100644 index 0000000..edae00d --- /dev/null +++ b/resources/views/admin/bindBox/success_order.blade.php @@ -0,0 +1,144 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+ + + + + + +
+@endsection + +@section('scripts') + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/boss/config.blade.php b/resources/views/admin/boss/config.blade.php new file mode 100644 index 0000000..5b49d1b --- /dev/null +++ b/resources/views/admin/boss/config.blade.php @@ -0,0 +1,108 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+
+
+ + +
+
+ +
+@endsection +@section('scripts') + + +@endsection diff --git a/resources/views/admin/boss/config_add.blade.php b/resources/views/admin/boss/config_add.blade.php new file mode 100644 index 0000000..10995ed --- /dev/null +++ b/resources/views/admin/boss/config_add.blade.php @@ -0,0 +1,94 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/boss/config_edit.blade.php b/resources/views/admin/boss/config_edit.blade.php new file mode 100644 index 0000000..9c6f5d3 --- /dev/null +++ b/resources/views/admin/boss/config_edit.blade.php @@ -0,0 +1,90 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/boss/edit_lh_account.blade.php b/resources/views/admin/boss/edit_lh_account.blade.php new file mode 100644 index 0000000..af850f0 --- /dev/null +++ b/resources/views/admin/boss/edit_lh_account.blade.php @@ -0,0 +1,123 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
+
+
+ +
+ +
+
+ + + + + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + +
+
+
+
+@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/boss/lh_order_list.blade.php b/resources/views/admin/boss/lh_order_list.blade.php new file mode 100644 index 0000000..ed21308 --- /dev/null +++ b/resources/views/admin/boss/lh_order_list.blade.php @@ -0,0 +1,180 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+ +
+ +
+
+
+
+ +@endsection + +@section('scripts') + + + + +@endsection diff --git a/resources/views/admin/boss/unlock_order.blade.php b/resources/views/admin/boss/unlock_order.blade.php new file mode 100644 index 0000000..8412c0f --- /dev/null +++ b/resources/views/admin/boss/unlock_order.blade.php @@ -0,0 +1,161 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+
+
+ +
+
+ + + +
+
+@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/c2c/deal.blade.php b/resources/views/admin/c2c/deal.blade.php new file mode 100644 index 0000000..e48021c --- /dev/null +++ b/resources/views/admin/c2c/deal.blade.php @@ -0,0 +1,253 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + + + +@section('page-content') +
+ + +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + +
+ {{----}} + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/c2c/index.blade.php b/resources/views/admin/c2c/index.blade.php new file mode 100644 index 0000000..a4bf94b --- /dev/null +++ b/resources/views/admin/c2c/index.blade.php @@ -0,0 +1,181 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ + + +
+
+ + + +
+ + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/candytransfer/detail.blade.php b/resources/views/admin/candytransfer/detail.blade.php new file mode 100644 index 0000000..0060c58 --- /dev/null +++ b/resources/views/admin/candytransfer/detail.blade.php @@ -0,0 +1,70 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/candytransfer/index.blade.php b/resources/views/admin/candytransfer/index.blade.php new file mode 100644 index 0000000..d08378e --- /dev/null +++ b/resources/views/admin/candytransfer/index.blade.php @@ -0,0 +1,134 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ {{----}} + +
+ +
+ +
+ +
+
+
+
+ +
+
+ + + +
+ {{----}} +
+ + + +
+ + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/cashb/edit.blade.php b/resources/views/admin/cashb/edit.blade.php new file mode 100644 index 0000000..c8d16db --- /dev/null +++ b/resources/views/admin/cashb/edit.blade.php @@ -0,0 +1,211 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ + + + + + + + + + + + + + + + + @if($wallet_out->type == 1 ) + + @endif + + @if($wallet_out->type == 1 ) + + + + + + + + + @endif + @if($wallet_out->type == 2 ) + @foreach ($card_info_data as $key => $item) + + + + @endforeach + @endif + @if($wallet_out->status == 1 || $wallet_out->status == 2) + + + + + + + + + @endif + + + + + + + +
+ 账户名:{{$wallet_out->account_number}} + + 币种:{{$wallet_out->currency_name}} +
+ 币种类型:基于{{$wallet_out->currency_type}} + + 费率:{{$wallet_out->rate}} +
+ 提币数量:{{$wallet_out->number}} + + 实际提币数量:{{$wallet_out->real_number}} +
+ 提币地址:{{$wallet_out->address}} + + 人民币价格:{{$wallet_out->real_rmb}}元 +
+ 真实姓名:{{$wallet_out->real_name}} + + 银行卡账号:{{$wallet_out->bank_account}} +
+ 开户银行:{{$wallet_out->bank_name}} + + 开户省市:{{$card_info->bank_dizhi}} +
+ {{$key}}:{{$item}} +
+ 申请时间:{{$wallet_out->create_time}} + + 当前状态:@if($wallet_out->status==1) 提交申请 + @elseif($wallet_out->status==2) 提币成功 + @elseif($wallet_out->status==3) 提币失败 + @else + @endif +
+
+
+
+ +
+ +
+
+ @if($wallet_out->status==1) + + + + + + + + @endif + +
+
+ + @if($wallet_out->status==1) + + + @endif +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/cashb/index.blade.php b/resources/views/admin/cashb/index.blade.php new file mode 100644 index 0000000..3d0e8ee --- /dev/null +++ b/resources/views/admin/cashb/index.blade.php @@ -0,0 +1,156 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+ + +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ + + + +
+ +
+ + + +
+ + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/claim/index.blade.php b/resources/views/admin/claim/index.blade.php new file mode 100644 index 0000000..f736777 --- /dev/null +++ b/resources/views/admin/claim/index.blade.php @@ -0,0 +1,168 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ + + +
+
+@endsection + +@section('scripts') + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/cointrade/index.blade.php b/resources/views/admin/cointrade/index.blade.php new file mode 100644 index 0000000..d917182 --- /dev/null +++ b/resources/views/admin/cointrade/index.blade.php @@ -0,0 +1,175 @@ +@extends('admin._layoutNew') + + +@section('page-head') + +@endsection + +@section('page-content') + +
+
+
+
+ + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +@endsection + +@section('scripts') + + + + +@endsection diff --git a/resources/views/admin/currency/add.blade.php b/resources/views/admin/currency/add.blade.php new file mode 100644 index 0000000..c89765e --- /dev/null +++ b/resources/views/admin/currency/add.blade.php @@ -0,0 +1,405 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+
    +
  • 基础参数
  • +
  • 交割参数
  • +
  • 提币参数
  • +
  • 充币参数
  • +
  • 插针参数
  • + +
+
+
+
+ +
+ +
+
请确保在交易所中该币种名称是惟一的
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+ +
+
+ + +
+ +
+ +
+ +
+ +
+ +
+ is_class ==2) checked @endif> + is_class ==3) checked @endif> + is_class ==0) checked @endif> + is_class ==6) checked @endif> + is_class ==9) checked @endif> +
+
+
+ +
+ +
+ +
+
$
+
+
+ +
+ +
+ +
+
+ +
+ is_legal ==1) checked @endif> + is_lever ==1) checked @endif> + is_micro ==1) checked @endif> + is_match ==1) checked @endif> +
+
+
+
+ +
+ +
+ + +
+
+
+
+
+ +
+ +
+
%
+
+
+ +
+ +
+
-
+
+ +
+
+
+ +
+ +
+
用户最大可持仓笔数,为0不限制
+
+
+ +
+
+ insurancable)) {{$result->insurancable == 1 ? 'checked' : ''}} @endif > + insurancable)) {{$result->insurancable == 0 ? 'checked' : ''}} @else checked @endif > +
+
+
+
+ +
+
+ +
+ +
+
-
+
+ +
+
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+
+ @if ( $result->id ==3) +
+ +
+ +
+
+ @endif + @if ( $result->id !=3) +
+ +
+ +
+
+ @endif +
+ +
+ +
+
+
+
+
+ +
+
+ enabled)) {{$result->enabled == 1 ? 'checked' : ''}} @endif > + enabled)) {{$result->enabled == 0 ? 'checked' : ''}} @else checked @endif > +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
请务必保证与区域链上小数位一致
+
+
+ +
+
+ +
+
链上归拢、提币的手续费
+
+
+
+ +
+ +
+ +
+ @if (isset($result->id) && $result->id > 0) +
+ +
+ + +
+
+ @endif + +
+
+
+ + +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/currency/add_config.blade.php b/resources/views/admin/currency/add_config.blade.php new file mode 100644 index 0000000..3f75cb9 --- /dev/null +++ b/resources/views/admin/currency/add_config.blade.php @@ -0,0 +1,120 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/currency/class.blade.php b/resources/views/admin/currency/class.blade.php new file mode 100644 index 0000000..a97c494 --- /dev/null +++ b/resources/views/admin/currency/class.blade.php @@ -0,0 +1,201 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+@endsection + +@section('scripts') + + + + + + + + + + + +@endsection diff --git a/resources/views/admin/currency/config.blade.php b/resources/views/admin/currency/config.blade.php new file mode 100644 index 0000000..0a7e3de --- /dev/null +++ b/resources/views/admin/currency/config.blade.php @@ -0,0 +1,220 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+@endsection +@section('scripts') + + +@endsection diff --git a/resources/views/admin/currency/index.blade.php b/resources/views/admin/currency/index.blade.php new file mode 100644 index 0000000..7f7429c --- /dev/null +++ b/resources/views/admin/currency/index.blade.php @@ -0,0 +1,248 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+@endsection + +@section('scripts') + + + + + + + + + + + + + + +@endsection diff --git a/resources/views/admin/currency/match.blade.php b/resources/views/admin/currency/match.blade.php new file mode 100644 index 0000000..0fd71d1 --- /dev/null +++ b/resources/views/admin/currency/match.blade.php @@ -0,0 +1,118 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+@endsection +@section('scripts') + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/currency/match_add.blade.php b/resources/views/admin/currency/match_add.blade.php new file mode 100644 index 0000000..c852bf1 --- /dev/null +++ b/resources/views/admin/currency/match_add.blade.php @@ -0,0 +1,182 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+
+
+

基础设置

+
+
+ +
+ +
+
+
+ +
+ is_display == 1 ? 'checked' : '' }} @else checked @endif> + is_display == 0) checked @endif> +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ +
+
-
+
+ +
+
+
+
+ +
+ risk_group_result ?? 0) == 1 ? 'checked' : ''}} > + risk_group_result ?? 0) == 0 ? 'checked' : ''}} > + risk_group_result ?? 0) == -1 ? 'checked' : ''}}> +
+
+
+ +
+ open_transaction == 1 ? 'checked' : '' }} @else checked @endif> + open_lever == 1 ? 'checked' : '' }} @else checked @endif> + open_microtrade == 1 ? 'checked' : '' }} @else checked @endif> + open_coin_trade == 1 ? 'checked' : '' }} @else checked @endif> + coin_trade_success == 1 ? 'checked' : '' }} @else checked @endif> + +
+
+
+
+
+

杠杆交易参数

+
+
+ +
+
+ +
+
-
+
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+ {{--
%
--}} +
+
+ +
+ +
+
%
+
+
+
+ +
+
+ +
+
%
+
+
+
+
+
+
+
+ +
+
+
+
+ +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/currency/order_list.blade.php b/resources/views/admin/currency/order_list.blade.php new file mode 100644 index 0000000..352bc5b --- /dev/null +++ b/resources/views/admin/currency/order_list.blade.php @@ -0,0 +1,152 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + + +
+
+
+
+ + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+ +
+ +
+
+
+
+ +@endsection + +@section('scripts') + + + + +@endsection diff --git a/resources/views/admin/currency/project_detail.blade.php b/resources/views/admin/currency/project_detail.blade.php new file mode 100644 index 0000000..0c1b43f --- /dev/null +++ b/resources/views/admin/currency/project_detail.blade.php @@ -0,0 +1,241 @@ +@extends('admin._layoutNew') +@section('page-head') + + + + +@endsection +@section('page-content') +
+ + {{ csrf_field() }} +
+ +
+ +
+
+
+ +
+ +
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +
+
+
+@endsection +@section('scripts') + + + + + +@endsection diff --git a/resources/views/admin/currency/project_list.blade.php b/resources/views/admin/currency/project_list.blade.php new file mode 100644 index 0000000..8d65407 --- /dev/null +++ b/resources/views/admin/currency/project_list.blade.php @@ -0,0 +1,183 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+ +@endsection + +@section('scripts') + + + + +@endsection diff --git a/resources/views/admin/currency/project_orders.blade.php b/resources/views/admin/currency/project_orders.blade.php new file mode 100644 index 0000000..7694655 --- /dev/null +++ b/resources/views/admin/currency/project_orders.blade.php @@ -0,0 +1,145 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
+
+
+
+ + + + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+ +
+ +
+
+
+
+ +@endsection + +@section('scripts') + + + + +@endsection diff --git a/resources/views/admin/currency/set_in_address.blade.php b/resources/views/admin/currency/set_in_address.blade.php new file mode 100644 index 0000000..cff6005 --- /dev/null +++ b/resources/views/admin/currency/set_in_address.blade.php @@ -0,0 +1,81 @@ +@extends('admin._layoutNew') + +@section('page-head') +@endsection + +@section('page-content') +
+
+ +
+ +
+
子账号统一转入的钱包地址,为了安全不能与转出地址相同
+
+
+ +
+ +
+ +
+ +
+
+ +
+
+
+@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/currency/set_out_address.blade.php b/resources/views/admin/currency/set_out_address.blade.php new file mode 100644 index 0000000..afd98c5 --- /dev/null +++ b/resources/views/admin/currency/set_out_address.blade.php @@ -0,0 +1,88 @@ +@extends('admin._layoutNew') + +@section('page-head') +@endsection + +@section('page-content') +
+
+ +
+ +
+
打手续费、提币的钱包地址,为了安全不建议留太多币,建议随用随存
+
+
+ +
+ +
+
打手续费、提币的对应钱包地址的私钥
+
+
+ +
+ +
+ +
+ +
+
+ +
+
+
+@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/dual/add.blade.php b/resources/views/admin/dual/add.blade.php new file mode 100644 index 0000000..7be0a29 --- /dev/null +++ b/resources/views/admin/dual/add.blade.php @@ -0,0 +1,222 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ + + +
+ +
+ @foreach ($currencies as $currency) + + + @endforeach + + +
+
+ + + + +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + +
+ +
+ + +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/dual/edit_dual.blade.php b/resources/views/admin/dual/edit_dual.blade.php new file mode 100644 index 0000000..fc30bfc --- /dev/null +++ b/resources/views/admin/dual/edit_dual.blade.php @@ -0,0 +1,184 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ + +
+ @foreach ($currencies as $currency) + name) ? 'checked' : '' }} @else checked @endif> + + @endforeach + + +
+
+ + +
+ +
+ +
+
+ +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ + +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+
+ + +
+ +
+ +
+
+
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/dual/index.blade.php b/resources/views/admin/dual/index.blade.php new file mode 100644 index 0000000..2a4f60b --- /dev/null +++ b/resources/views/admin/dual/index.blade.php @@ -0,0 +1,371 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+ + + +
+ + + +
+ +
+
+ +
+ +
+
+ + +
+@endsection + +@section('scripts') + + + + + + +@endsection diff --git a/resources/views/admin/dual/order.blade.php b/resources/views/admin/dual/order.blade.php new file mode 100644 index 0000000..e8e8009 --- /dev/null +++ b/resources/views/admin/dual/order.blade.php @@ -0,0 +1,109 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
+ + + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ +
+
+
+ + +
+@endsection + +@section('scripts') + + + +@endsection diff --git a/resources/views/admin/feedback/detail.blade.php b/resources/views/admin/feedback/detail.blade.php new file mode 100644 index 0000000..0060c58 --- /dev/null +++ b/resources/views/admin/feedback/detail.blade.php @@ -0,0 +1,70 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + +
+
+
+ +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/feedback/index.blade.php b/resources/views/admin/feedback/index.blade.php new file mode 100644 index 0000000..2f75d01 --- /dev/null +++ b/resources/views/admin/feedback/index.blade.php @@ -0,0 +1,131 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ {{----}} + +
+ +
+ +
+ +
+
+
+
+ +
+
+ + + +
+ +
+ + + +
+ + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/flashagainst/index.blade.php b/resources/views/admin/flashagainst/index.blade.php new file mode 100644 index 0000000..c41b547 --- /dev/null +++ b/resources/views/admin/flashagainst/index.blade.php @@ -0,0 +1,169 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+ +
+
+ + + +
+
+@endsection + +@section('scripts') + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/index.blade.php b/resources/views/admin/index.blade.php new file mode 100644 index 0000000..65f96e0 --- /dev/null +++ b/resources/views/admin/index.blade.php @@ -0,0 +1,197 @@ + + + + + + + 后台管理 + + + + + + + +
+ + +
+
+
+ 左侧导航区域(可配合layui已有的垂直导航) +
    + @if(in_array("user_index",$admin_role_data)) +
  • + 用户管理 +
    + @if(in_array("user_index",$admin_role_data)) +
    用户管理
    + @endif +
    +
  • + @endif + @if(in_array("tran_index",$admin_role_data)) +
  • + 交易记录 +
    + @if(in_array("tran_index",$admin_role_data)) +
    交易记录
    + @endif +
    +
  • + @endif + @if(in_array("set_bonus",$admin_role_data) || in_array("set_base",$admin_role_data)) +
  • + 奖金设置 +
    + @if(in_array("set_bonus",$admin_role_data)) +
    奖金设置
    + @endif + @if(in_array("set_base",$admin_role_data)) +
    基础设置
    + @endif +
    +
  • + @endif + @if(in_array("account_index",$admin_role_data)) +
  • + 日志信息 +
    + @if(in_array("account_index",$admin_role_data)) +
    日志信息
    + @endif +
    +
  • + @endif + @if(in_array("news_index",$admin_role_data)) +
  • + 新闻管理 +
    + @if(in_array("news_index",$admin_role_data)) +
    内容管理
    + @endif +
    +
  • + @endif + @if(in_array("manager_index",$admin_role_data)) +
  • + 管理员权限 +
    + @if(in_array("manager_index",$admin_role_data) || in_array("manager_roles",$admin_role_data)) +
    后台管理员
    + @endif + @if(in_array("manager_roles",$admin_role_data)) +
    角色管理
    + @endif +
    +
  • + @endif +
+
+
+
+ 内容主体区域 +
请稍等...
+
+ + +
+ --> + + + + + \ No newline at end of file diff --git a/resources/views/admin/indexnew.blade.php b/resources/views/admin/indexnew.blade.php new file mode 100644 index 0000000..b316e70 --- /dev/null +++ b/resources/views/admin/indexnew.blade.php @@ -0,0 +1,282 @@ + + + + + + 管理系统 + + + + + + + + + +
+ +
+ + +
+ +
+
+
+{{--
--}} +
+ +
+
+
    +
    +
    + +
    +
    + {{--
    --}} + {{--
    --}} + {{--
    组件示例
    --}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--按钮--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--进度条--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--表单--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--面板--}} + {{--
    --}} + {{--
    --}} + {{--

    Tab

    --}} + {{--选项卡--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--流加载--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--动画--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--日期时间--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--时间线--}} + {{--
    --}} + {{--
    --}} + {{--
    --}} + {{--
    --}} + {{--
    占位菜单
    --}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--自定义图片--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--QQ空间--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--图片--}} + {{--
    --}} + {{--
    --}} + {{--
    --}} + {{--
    --}} + {{--
    占位菜单
    --}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{--
    --}} + {{--
    --}} + {{--
    占位菜单
    --}} + {{--
    --}} + {{--
    --}} + {{----}} + {{--文章管理--}} + {{--
    --}} + {{--
    --}} + {{--
    --}} +
    +
    +
    +
    + + +
    + +
    + +
      + +
      + +
      + +
      + +
      + +
      +
      + + +
      +

      最新通知

      +
      +
      +
      +

      马云发来一条信息

      +
      + 今天晚上我请客! +
      +
      +
      +

      马化腾有问题请教

      +
      + QQ如何发送语音? +
      +
      +
      +

      你有一条新留言

      +
      + 牛逼 +
      +
      +
      +

      好友验证

      +
      + 高圆圆请求加你为好友 +
      +
      +
      +

      群系统消息

      +
      + 李彦宏邀请你加入百度AI技术交流群 +
      +
      +
      +
      +
      +

      展开

      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      + + 设置 +
      +
      +
      + + + + + + \ No newline at end of file diff --git a/resources/views/admin/insurance/add.blade.php b/resources/views/admin/insurance/add.blade.php new file mode 100644 index 0000000..cae640c --- /dev/null +++ b/resources/views/admin/insurance/add.blade.php @@ -0,0 +1,161 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      +
      + auto_claim)) {{$result->auto_claim == 1 ? 'checked' : ''}} @endif > + auto_claim)) {{$result->auto_claim == 0 ? 'checked' : ''}} @else checked @endif > +
      +
      +
      +
      + +
      +
      + status)) {{$result->status == 1 ? 'checked' : ''}} @endif > + status)) {{$result->status == 0 ? 'checked' : ''}} @else checked @endif > +
      +
      +
      + + +
      +
      + + +
      +
      +
      + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/insurance/index.blade.php b/resources/views/admin/insurance/index.blade.php new file mode 100644 index 0000000..c74e88d --- /dev/null +++ b/resources/views/admin/insurance/index.blade.php @@ -0,0 +1,131 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
      + + +@endsection + +@section('scripts') + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/insurance/order_index.blade.php b/resources/views/admin/insurance/order_index.blade.php new file mode 100644 index 0000000..577951d --- /dev/null +++ b/resources/views/admin/insurance/order_index.blade.php @@ -0,0 +1,121 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
      + +
      + +
      + +
      +
      + +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + +
      +
      +@endsection + +@section('scripts') + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/insurancerule/add.blade.php b/resources/views/admin/insurancerule/add.blade.php new file mode 100644 index 0000000..74c1e1c --- /dev/null +++ b/resources/views/admin/insurancerule/add.blade.php @@ -0,0 +1,81 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      + + + +
      +
      + + +
      +
      +
      + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/insurancerule/index.blade.php b/resources/views/admin/insurancerule/index.blade.php new file mode 100644 index 0000000..d871b5a --- /dev/null +++ b/resources/views/admin/insurancerule/index.blade.php @@ -0,0 +1,82 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
      + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/invite/bgIndex.blade.php b/resources/views/admin/invite/bgIndex.blade.php new file mode 100644 index 0000000..d9380cf --- /dev/null +++ b/resources/views/admin/invite/bgIndex.blade.php @@ -0,0 +1,95 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
      + + +
      + +
      +
      + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/invite/childs.blade.php b/resources/views/admin/invite/childs.blade.php new file mode 100644 index 0000000..891574f --- /dev/null +++ b/resources/views/admin/invite/childs.blade.php @@ -0,0 +1,158 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + +
      +
      + 用户邀请关系图 +
      + +{{--
      --}} +{{--
        --}} +{{--
        --}} + + + + + + +
        + + +
        + +
        + +@endsection + + +@section('scripts') + + + + + + +@endsection + + + + + + +{{-- @section('scripts')--}} + + +{{--@endsection--}} \ No newline at end of file diff --git a/resources/views/admin/invite/edit.blade.php b/resources/views/admin/invite/edit.blade.php new file mode 100644 index 0000000..97682e4 --- /dev/null +++ b/resources/views/admin/invite/edit.blade.php @@ -0,0 +1,89 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        + + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/invite/return.blade.php b/resources/views/admin/invite/return.blade.php new file mode 100644 index 0000000..6b734af --- /dev/null +++ b/resources/views/admin/invite/return.blade.php @@ -0,0 +1,104 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        +
        + +
        + +
        + +
        +
        +
        + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/invite/share.blade.php b/resources/views/admin/invite/share.blade.php new file mode 100644 index 0000000..2a5c0a5 --- /dev/null +++ b/resources/views/admin/invite/share.blade.php @@ -0,0 +1,62 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/legal/deal.blade.php b/resources/views/admin/legal/deal.blade.php new file mode 100644 index 0000000..9f9f91f --- /dev/null +++ b/resources/views/admin/legal/deal.blade.php @@ -0,0 +1,274 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + + + + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + + + + + +
        + + + + + + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/legal/index.blade.php b/resources/views/admin/legal/index.blade.php new file mode 100644 index 0000000..0e28d68 --- /dev/null +++ b/resources/views/admin/legal/index.blade.php @@ -0,0 +1,238 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lending/add.blade.php b/resources/views/admin/lending/add.blade.php new file mode 100644 index 0000000..a2ba583 --- /dev/null +++ b/resources/views/admin/lending/add.blade.php @@ -0,0 +1,152 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lending/edit.blade.php b/resources/views/admin/lending/edit.blade.php new file mode 100644 index 0000000..8cd599a --- /dev/null +++ b/resources/views/admin/lending/edit.blade.php @@ -0,0 +1,188 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + 用户ID:{{$wallet_out->user_id}} + + 订单编号:{{$wallet_out->htcode}} +
        + 验资金额:{{$wallet_out->yamount}} + + 总服务费:{{$wallet_out->fwamount}} +
        + 借币数量:{{$wallet_out->amount}} + + 借币期限:{{$wallet_out->days}} +
        + 日币息率:{{$wallet_out->lv_perday}} + + 手写签名: +
        + 签名:{{$wallet_out->signature}} + + 币息:{{$wallet_out->lixi}} +
        + 申请时间:{{$wallet_out->create_time}} + + 当前状态:@if($wallet_out->review_status==1) 提交申请 + @elseif($wallet_out->review_status==2) 放款成功 + @elseif($wallet_out->review_status==3) 放款驳回 + @else + @endif +
        +
        +
        + + @if($wallet_out->status==1) + + + + + + + + @endif + +
        +
        + + + + @if($wallet_out->review_status==1) + + + @endif +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lending/edit_lending.blade.php b/resources/views/admin/lending/edit_lending.blade.php new file mode 100644 index 0000000..282dc81 --- /dev/null +++ b/resources/views/admin/lending/edit_lending.blade.php @@ -0,0 +1,133 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        + + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lending/index.blade.php b/resources/views/admin/lending/index.blade.php new file mode 100644 index 0000000..8003938 --- /dev/null +++ b/resources/views/admin/lending/index.blade.php @@ -0,0 +1,344 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        + + + + + + +
        + + +
        +@endsection + +@section('scripts') + + + + + +@endsection diff --git a/resources/views/admin/lending/order.blade.php b/resources/views/admin/lending/order.blade.php new file mode 100644 index 0000000..3cb7082 --- /dev/null +++ b/resources/views/admin/lending/order.blade.php @@ -0,0 +1,143 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        + + + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        +
        + +
        +
        +
        + + +
        +@endsection + + +@section('scripts') + + + + + + + + + + + + +@endsection diff --git a/resources/views/admin/level/add.blade.php b/resources/views/admin/level/add.blade.php new file mode 100644 index 0000000..fdc64c4 --- /dev/null +++ b/resources/views/admin/level/add.blade.php @@ -0,0 +1,90 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/level/algebra_add.blade.php b/resources/views/admin/level/algebra_add.blade.php new file mode 100644 index 0000000..715ef37 --- /dev/null +++ b/resources/views/admin/level/algebra_add.blade.php @@ -0,0 +1,71 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/level/algebra_index.blade.php b/resources/views/admin/level/algebra_index.blade.php new file mode 100644 index 0000000..0d0f004 --- /dev/null +++ b/resources/views/admin/level/algebra_index.blade.php @@ -0,0 +1,80 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
        + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/level/index.blade.php b/resources/views/admin/level/index.blade.php new file mode 100644 index 0000000..babf154 --- /dev/null +++ b/resources/views/admin/level/index.blade.php @@ -0,0 +1,83 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
        + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/level/orders.blade.php b/resources/views/admin/level/orders.blade.php new file mode 100644 index 0000000..5eebbae --- /dev/null +++ b/resources/views/admin/level/orders.blade.php @@ -0,0 +1,171 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        + +
        +@endsection + + @section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lever/hazard/handle.blade.php b/resources/views/admin/lever/hazard/handle.blade.php new file mode 100644 index 0000000..ad939af --- /dev/null +++ b/resources/views/admin/lever/hazard/handle.blade.php @@ -0,0 +1,73 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        + + +
        + +
        +
        +
        + +
        + + +
        +
        +
        +
        + +
        +
        +
        + +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lever/hazard/index.blade.php b/resources/views/admin/lever/hazard/index.blade.php new file mode 100644 index 0000000..73763b6 --- /dev/null +++ b/resources/views/admin/lever/hazard/index.blade.php @@ -0,0 +1,125 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        +
        +
        +
        +@endsection +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lever/hazard/total.blade.php b/resources/views/admin/lever/hazard/total.blade.php new file mode 100644 index 0000000..b1043d4 --- /dev/null +++ b/resources/views/admin/lever/hazard/total.blade.php @@ -0,0 +1,116 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        %
        +
        +
        + +
        +
        +
        +
        +@endsection +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/lever/trade/index.blade.php b/resources/views/admin/lever/trade/index.blade.php new file mode 100644 index 0000000..42a7058 --- /dev/null +++ b/resources/views/admin/lever/trade/index.blade.php @@ -0,0 +1,101 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        %
        +
        +
        + +
        +
        +
        +
        +@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/leverdeals/list.blade.php b/resources/views/admin/leverdeals/list.blade.php new file mode 100644 index 0000000..f38bee6 --- /dev/null +++ b/resources/views/admin/leverdeals/list.blade.php @@ -0,0 +1,233 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + +
        +
        +
        + +
        + +
        + + + + + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/levermultiple/add.blade.php b/resources/views/admin/levermultiple/add.blade.php new file mode 100644 index 0000000..172d8c4 --- /dev/null +++ b/resources/views/admin/levermultiple/add.blade.php @@ -0,0 +1,91 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        + {{--管理员--}} +
        +
        +
        +
        + +
        + +
        +
        + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{--
        --}} +
        + +
        + +
        +
        +
        + +
        + +
        +
        + {{----}} +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/levermultiple/edit.blade.php b/resources/views/admin/levermultiple/edit.blade.php new file mode 100644 index 0000000..ead27b8 --- /dev/null +++ b/resources/views/admin/levermultiple/edit.blade.php @@ -0,0 +1,80 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/levermultiple/index.blade.php b/resources/views/admin/levermultiple/index.blade.php new file mode 100644 index 0000000..fe30f21 --- /dev/null +++ b/resources/views/admin/levermultiple/index.blade.php @@ -0,0 +1,150 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{----}} + +
        + + + + + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/levermultiple/match.blade.php b/resources/views/admin/levermultiple/match.blade.php new file mode 100644 index 0000000..9e64852 --- /dev/null +++ b/resources/views/admin/levermultiple/match.blade.php @@ -0,0 +1,103 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +@endsection +@section('scripts') + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/levermultiple/match_add.blade.php b/resources/views/admin/levermultiple/match_add.blade.php new file mode 100644 index 0000000..07ef3ee --- /dev/null +++ b/resources/views/admin/levermultiple/match_add.blade.php @@ -0,0 +1,118 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        + +
        + +
        +
        +
        + +
        + is_display == 1 ? 'checked' : '' }} @else checked @endif> + is_display == 0) checked @endif> +
        +
        +
        + +
        + +
        +
        +
        + +
        + open_transaction == 1 ? 'checked' : '' }} @else checked @endif> + open_lever == 1 ? 'checked' : '' }} @else checked @endif> +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        +
        %
        +
        +
        +
        + +
        +
        + +
        +
        %
        +
        +
        +
        + +
        +
        + +
        +
        %
        +
        +
        + +
        +
        + +
        +
        +
        + +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/levertolegal/add.blade.php b/resources/views/admin/levertolegal/add.blade.php new file mode 100644 index 0000000..7ec7c38 --- /dev/null +++ b/resources/views/admin/levertolegal/add.blade.php @@ -0,0 +1,69 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        + 修改购买上限 +
        +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/levertolegal/detail.blade.php b/resources/views/admin/levertolegal/detail.blade.php new file mode 100644 index 0000000..966fb82 --- /dev/null +++ b/resources/views/admin/levertolegal/detail.blade.php @@ -0,0 +1,107 @@ +@extends('admin._layoutNew') +@section('page_head') + +@stop + +@section('page-content') + + + +
        + + + + +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/levertolegal/index.blade.php b/resources/views/admin/levertolegal/index.blade.php new file mode 100644 index 0000000..7b0d4f9 --- /dev/null +++ b/resources/views/admin/levertolegal/index.blade.php @@ -0,0 +1,135 @@ +@extends('admin._layoutNew') +@section('page_head') + +@stop + +@section('page-content') + + {{----}} + +
        + + + + + + {{----}} +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/levertolegal/update.blade.php b/resources/views/admin/levertolegal/update.blade.php new file mode 100644 index 0000000..d762a8f --- /dev/null +++ b/resources/views/admin/levertolegal/update.blade.php @@ -0,0 +1,119 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        + 审核状态 +
        +
        +
        + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{--
        --}} + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{--
        --}} +
        + +
        + +
        + + {{----}} + +
        + + +
        +
        + + + {{----}} +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/login.blade.php b/resources/views/admin/login.blade.php new file mode 100644 index 0000000..0975bdc --- /dev/null +++ b/resources/views/admin/login.blade.php @@ -0,0 +1,224 @@ + + + + + 后台管理系 + + + + + +
        +
        +
        +
        +
        +
        +
        + +

        + + +

        +

        + + +

        + + + + + +
        +

        + + + + + 登录 + +

        +
        +
        + +
        + Copyright ©2018 后台管理系统 +
        + + \ No newline at end of file diff --git a/resources/views/admin/login2.blade.php b/resources/views/admin/login2.blade.php new file mode 100644 index 0000000..36772bd --- /dev/null +++ b/resources/views/admin/login2.blade.php @@ -0,0 +1,99 @@ + + + + + + + + Login + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/admin/login3.blade.php b/resources/views/admin/login3.blade.php new file mode 100644 index 0000000..6190ede --- /dev/null +++ b/resources/views/admin/login3.blade.php @@ -0,0 +1,150 @@ + + + + + 后台管理-登陆 + + + + + + + + + + + +
        + +
        + + + + + \ No newline at end of file diff --git a/resources/views/admin/ltc/add.blade.php b/resources/views/admin/ltc/add.blade.php new file mode 100644 index 0000000..a8bedaa --- /dev/null +++ b/resources/views/admin/ltc/add.blade.php @@ -0,0 +1,116 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        + + +
        +
        +
        + +
        + +
        +
        + +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/ltc/index.blade.php b/resources/views/admin/ltc/index.blade.php new file mode 100644 index 0000000..5abae5f --- /dev/null +++ b/resources/views/admin/ltc/index.blade.php @@ -0,0 +1,97 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + +
        +
        + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/ltc/ltcBuy.blade.php b/resources/views/admin/ltc/ltcBuy.blade.php new file mode 100644 index 0000000..04e0cde --- /dev/null +++ b/resources/views/admin/ltc/ltcBuy.blade.php @@ -0,0 +1,94 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/manager/add.blade.php b/resources/views/admin/manager/add.blade.php new file mode 100644 index 0000000..6862d92 --- /dev/null +++ b/resources/views/admin/manager/add.blade.php @@ -0,0 +1,92 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        + 管理员 +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/manager/admin_roles.blade.php b/resources/views/admin/manager/admin_roles.blade.php new file mode 100644 index 0000000..40dcd75 --- /dev/null +++ b/resources/views/admin/manager/admin_roles.blade.php @@ -0,0 +1,80 @@ +@extends('admin._layoutNew') +@section('page_head') + +@stop + +@section('page-content') + + + +
        + + + +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/manager/index.blade.php b/resources/views/admin/manager/index.blade.php new file mode 100644 index 0000000..bdc33e8 --- /dev/null +++ b/resources/views/admin/manager/index.blade.php @@ -0,0 +1,82 @@ +@extends('admin._layoutNew') +@section('page_head') + +@stop + +@section('page-content') + + + +
        + + + +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/manager/role_add.blade.php b/resources/views/admin/manager/role_add.blade.php new file mode 100644 index 0000000..661643f --- /dev/null +++ b/resources/views/admin/manager/role_add.blade.php @@ -0,0 +1,68 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        + 角色 +
        +
        +
        +
        + +
        + +
        +
        + +
        + +
        + + +
        +
        + + + +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/manager/role_permission.blade.php b/resources/views/admin/manager/role_permission.blade.php new file mode 100644 index 0000000..30855bb --- /dev/null +++ b/resources/views/admin/manager/role_permission.blade.php @@ -0,0 +1,71 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        + 权限管理 +
        +
        +
        + @foreach($modules as $module) +
        + + +
        + @foreach($module->actions as $action) + module]) && in_array($action->action, $permissions[$module->module])) checked @endif title="{{$action->name}}" value="{{$action->action}}"> + @endforeach +
        + +
        + @endforeach + +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/market/add.blade.php b/resources/views/admin/market/add.blade.php new file mode 100644 index 0000000..0e48dc9 --- /dev/null +++ b/resources/views/admin/market/add.blade.php @@ -0,0 +1,158 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        + +
        + + + + +
        + + +
        +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/market/index.blade.php b/resources/views/admin/market/index.blade.php new file mode 100644 index 0000000..ad04f44 --- /dev/null +++ b/resources/views/admin/market/index.blade.php @@ -0,0 +1,89 @@ +@extends('admin._layoutNew') +@section('page-head') +@endsection +@section('page-content') +
        + +
        +
        + +@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/message/add.blade.php b/resources/views/admin/message/add.blade.php new file mode 100644 index 0000000..f063377 --- /dev/null +++ b/resources/views/admin/message/add.blade.php @@ -0,0 +1,112 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/message/index.blade.php b/resources/views/admin/message/index.blade.php new file mode 100644 index 0000000..421b6f8 --- /dev/null +++ b/resources/views/admin/message/index.blade.php @@ -0,0 +1,166 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        + +
        +
        + +
        + +
        + +
        + + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/micro/add.blade.php b/resources/views/admin/micro/add.blade.php new file mode 100644 index 0000000..ff61924 --- /dev/null +++ b/resources/views/admin/micro/add.blade.php @@ -0,0 +1,70 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/micro/edit.blade.php b/resources/views/admin/micro/edit.blade.php new file mode 100644 index 0000000..ced1ba8 --- /dev/null +++ b/resources/views/admin/micro/edit.blade.php @@ -0,0 +1,88 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/micro/index.blade.php b/resources/views/admin/micro/index.blade.php new file mode 100644 index 0000000..9b6c675 --- /dev/null +++ b/resources/views/admin/micro/index.blade.php @@ -0,0 +1,80 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
        + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/micro/orders.blade.php b/resources/views/admin/micro/orders.blade.php new file mode 100644 index 0000000..26812bc --- /dev/null +++ b/resources/views/admin/micro/orders.blade.php @@ -0,0 +1,351 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        + +
        +
        +
        + + +
        + +
        + + +
        + +
        +@endsection + +@section('scripts') + + + + + + + + + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/micro/seconds_add.blade.php b/resources/views/admin/micro/seconds_add.blade.php new file mode 100644 index 0000000..b6de33e --- /dev/null +++ b/resources/views/admin/micro/seconds_add.blade.php @@ -0,0 +1,91 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        +
        + +
        + status == 1 ? 'checked' : '' }}> + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/micro/seconds_index.blade.php b/resources/views/admin/micro/seconds_index.blade.php new file mode 100644 index 0000000..41b945c --- /dev/null +++ b/resources/views/admin/micro/seconds_index.blade.php @@ -0,0 +1,98 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
        + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/needle/add.blade.php b/resources/views/admin/needle/add.blade.php new file mode 100644 index 0000000..1cc9f3a --- /dev/null +++ b/resources/views/admin/needle/add.blade.php @@ -0,0 +1,119 @@ +@extends('admin._layoutNew') +@section('page-head') +@endsection +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        +@endsection +@section('scripts') + +@endsection diff --git a/resources/views/admin/needle/index.blade.php b/resources/views/admin/needle/index.blade.php new file mode 100644 index 0000000..b8d915b --- /dev/null +++ b/resources/views/admin/needle/index.blade.php @@ -0,0 +1,208 @@ +@extends('admin._layoutNew') +@section('page-head') + + +@endsection +@section('page-content') +
        +
        +
        +
        + +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + @forelse ($data['news'] as $key => $news) + + + + + + + + + + + @empty + + @endforelse + +
        ID插入时间(分钟单位)交易对操作
        {{ $news->id }}{{ $news->itime }}{{ $news->open }}{{ $news->high }}{{ $news->low }}{{ $news->close }}{{ $news->base }}/{{ $news->target }} + +
        没有数据
        +
        + + {!! $data['news']->render() !!} +
        +@endsection +@section('scripts') + +@endsection diff --git a/resources/views/admin/needle/quotation.blade.php b/resources/views/admin/needle/quotation.blade.php new file mode 100644 index 0000000..3f7f83f --- /dev/null +++ b/resources/views/admin/needle/quotation.blade.php @@ -0,0 +1,220 @@ +@extends('admin._layoutNew') +@section('page-head') + + +@endsection +@section('page-content') +
        +
        +
        +
        + +
        + @foreach($bases as $v) + {{$v["name"]}} + @endforeach +
        +
        + +
        + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + @forelse ($data['news'] as $key => $news) + + + + + + + + + + + @empty + + @endforelse + +
        ID插入时间(分钟单位)交易对
        {{ $news->id }}{{ $news->itime }}{{ $news->open }}{{ $news->high }}{{ $news->low }}{{ $news->close }}{{ $news->base }}/{{ $news->target }}
        没有数据
        +
        + + {!! $data['news']->render() !!} +
        +@endsection +@section('scripts') + +@endsection diff --git a/resources/views/admin/news/add.blade.php b/resources/views/admin/news/add.blade.php new file mode 100644 index 0000000..ddb3be1 --- /dev/null +++ b/resources/views/admin/news/add.blade.php @@ -0,0 +1,181 @@ +@extends('admin._layoutNew') +@section('page-head') + + + + +@endsection +@section('page-content') +
        + + {{ csrf_field() }} +
        + +
        + +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        数字越大越靠前
        +
        +
        + +
        + +
        + +
        + + +
        +
        + +
        + +
        + +
        + + +
        +
        + +
        +
        + +
        + + + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        +@endsection +@section('scripts') + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/news/cateAdd.blade.php b/resources/views/admin/news/cateAdd.blade.php new file mode 100644 index 0000000..0a64ea6 --- /dev/null +++ b/resources/views/admin/news/cateAdd.blade.php @@ -0,0 +1,40 @@ +@extends('admin._layoutNew') +@section('page-head') + +@endsection +@section('page-content') +
        + {{ csrf_field() }} + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + + +
        +
        + +
        +
        + + +
        +
        +
        +@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/news/cateIndex.blade.php b/resources/views/admin/news/cateIndex.blade.php new file mode 100644 index 0000000..a403512 --- /dev/null +++ b/resources/views/admin/news/cateIndex.blade.php @@ -0,0 +1,135 @@ +@extends('admin._layoutNew') +@section('page-head') + +@endsection +@section('page-content') +
        + +
        + + + + + + + + + + + + + + + + + + + + + + @forelse ($data['newsCate'] as $key => $newsCate) + + + + + + + + + + + + @empty + + + + @endforelse + + +
        ID名称显示顺序帮助中心是否显示添加时间修改时间操作
        {{ $newsCate->id }}{{ $newsCate->name }}{{ $newsCate->sorts }} + @if ($newsCate->is_show == 1)@else@endif + {{ $newsCate->create_time }}{{ $newsCate->update_time }} + + +
        没有数据
        +
        + {!! $data['newsCate']->render() !!} +
        +@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/news/discussIndex.blade.php b/resources/views/admin/news/discussIndex.blade.php new file mode 100644 index 0000000..44c9e49 --- /dev/null +++ b/resources/views/admin/news/discussIndex.blade.php @@ -0,0 +1,72 @@ +@extends('admin._layoutNew') +@section('page-head') + + +@endsection +@section('page-content') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @forelse ($newsDiscuss as $key => $discuss) + + + + + + + + + + + + @empty + + + + @endforelse + +
        ID账号昵称内容支持反对发布时间显示状态操作
        {{ $discuss->id }}{{ $discuss->user->mobile }}{{ $discuss->user->nickname }}{{ $discuss->content }}{{ $discuss->support }}{{ $discuss->oppose }}{{ $discuss->create_time }}@if ($discuss->status == 1)@else@endif + + +
        没有数据
        +
        +{!! $newsDiscuss->render() !!} +
          +
        • 共{{$newsDiscuss->total()}}条数据,本页{{$newsDiscuss->count()}}条,{{$newsDiscuss->currentPage()}}/@if ($newsDiscuss->count() ==0 || $newsDiscuss->total()==0) 1 @else{{ceil($newsDiscuss->total()/$newsDiscuss->count())}}@endif页
        • +
        +
        + +@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/news/index.blade.php b/resources/views/admin/news/index.blade.php new file mode 100644 index 0000000..37b91a0 --- /dev/null +++ b/resources/views/admin/news/index.blade.php @@ -0,0 +1,194 @@ +@extends('admin._layoutNew') +@section('page-head') + + +@endsection +@section('page-content') +
        +
        +
        +
        + + +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        + +
        +
        + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + @forelse ($data['news'] as $key => $news) + + + + + + + + + + + @empty + + @endforelse + +
        ID标题分类语言发布人发布时间最后修改时间操作
        {{ $news->id }}{{ $news->title }}{{ $news->cate['name'] }}{{$news->lang}}{{ $news->author }}{{ $news->create_time }}{{ $news->update_time }} + + + + +
        没有数据
        +
        + + {!! $data['news']->render() !!} +
        +@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/prizepool/index.blade.php b/resources/views/admin/prizepool/index.blade.php new file mode 100644 index 0000000..73318ef --- /dev/null +++ b/resources/views/admin/prizepool/index.blade.php @@ -0,0 +1,195 @@ +@extends('admin._layoutNew') + +@section('page-head') + + +@endsection + +@section('page-content') +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        -
        +
        + +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        奖励总额:

        +

        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        奖励用户:

        +

        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        记录条数:

        +

        +
        +
        +
        +
        + +
        +@endsection +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/profits/index.blade.php b/resources/views/admin/profits/index.blade.php new file mode 100644 index 0000000..a5e5759 --- /dev/null +++ b/resources/views/admin/profits/index.blade.php @@ -0,0 +1,195 @@ +@extends('admin._layoutNew') + +@section('page-head') + + +@endsection + +@section('page-content') +
        +
        +
        +
        +
        +
        + +
        + +
        +
        + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{--
        --}} +
        + +
        + +
        +
        -
        +
        + +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        亏返总额:

        +

        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        亏返用户:

        +

        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        记录条数:

        +

        +
        +
        +
        +
        + +
        +@endsection +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/quotation/index.blade.php b/resources/views/admin/quotation/index.blade.php new file mode 100644 index 0000000..b68af73 --- /dev/null +++ b/resources/views/admin/quotation/index.blade.php @@ -0,0 +1,387 @@ +@extends('admin._layoutNew') +@section('page-head') + +@endsection +@section('page-content') + +
        +
        +
        +
        + +
        + +
        + @foreach($bases as $v) + {{$v["name"]}} + @endforeach +
        + +
        +
        +
        + +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        + +
        + +
        +
        +
        +
        +
        + +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        + +
        + +
        +
        +
        +
        +
        +
        + + +
        + + +
        + +@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/robot/add.blade.php b/resources/views/admin/robot/add.blade.php new file mode 100644 index 0000000..a78e78e --- /dev/null +++ b/resources/views/admin/robot/add.blade.php @@ -0,0 +1,139 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/robot/list.blade.php b/resources/views/admin/robot/list.blade.php new file mode 100644 index 0000000..de2f79f --- /dev/null +++ b/resources/views/admin/robot/list.blade.php @@ -0,0 +1,135 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + + +
        + + + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/seller/add.blade.php b/resources/views/admin/seller/add.blade.php new file mode 100644 index 0000000..e7fca0f --- /dev/null +++ b/resources/views/admin/seller/add.blade.php @@ -0,0 +1,138 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + {{--
        --}} + {{----}} + {{--
        --}} + {{----}} + {{--
        --}} + {{--
        --}} + + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + + + + + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/seller/index.blade.php b/resources/views/admin/seller/index.blade.php new file mode 100644 index 0000000..097463f --- /dev/null +++ b/resources/views/admin/seller/index.blade.php @@ -0,0 +1,154 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/setting/add.blade.php b/resources/views/admin/setting/add.blade.php new file mode 100644 index 0000000..ff33084 --- /dev/null +++ b/resources/views/admin/setting/add.blade.php @@ -0,0 +1,72 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/setting/bankAdd.blade.php b/resources/views/admin/setting/bankAdd.blade.php new file mode 100644 index 0000000..47b5d15 --- /dev/null +++ b/resources/views/admin/setting/bankAdd.blade.php @@ -0,0 +1,134 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        +
        + +
        + +
        + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + 取消 + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/setting/bankEdit.blade.php b/resources/views/admin/setting/bankEdit.blade.php new file mode 100644 index 0000000..7b6154e --- /dev/null +++ b/resources/views/admin/setting/bankEdit.blade.php @@ -0,0 +1,135 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        +
        + +
        + +
        + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        + 取消 + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/setting/base.blade.php b/resources/views/admin/setting/base.blade.php new file mode 100644 index 0000000..4df9266 --- /dev/null +++ b/resources/views/admin/setting/base.blade.php @@ -0,0 +1,1483 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') + +
        +
        +
        +
          +
        • 通知设置
        • +
        • 基础设置
        • +
        • 永续设置
        • + + + +
        • 交割设置
        • +
        • 联系我们
        • +
        • 收款银行卡
        • +
        +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + + + +
        +
        +
        +
        + + +
        +
        +
        + +
        +
        + +
        + +
        +
        + +
        + +
        + + +
        + + +
        +
        +
        + +
        + + +
        + + +
        +
        + +
        + +
        + + +
        + + +
        +
        + +
        + +
        + + +
        + + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + + + + + +
        + +
        + +
        +
        + +
        + +
        +
        + + +
        +
        注册时验证码是否必填
        +
        +
        +
        + +
        +
        + + +
        +
        +
        +
        + +
        +
        + + +
        +
        +
        +
        + +
        +
        + + +
        +
        +
        + + +
        + +
        +
        + + +
        +
        +
        + + +
        + +
        +
        + + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        + + +
        + +
        +
        + + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        + + +
        + +
        +
        + + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        + + +
        + +
        + +
        低于该积分 用户将限制提现
        +
        +
        + +
        + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        + + % +
        +
        + + + + + + + + + + + + + + + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + +
        +
        +
        + +
        +
        + +
        +
        + +
        +
        设置交易的手数和倍数
        +
        +
        +
        + +
        +
        + + +
        +
        打开用户将可以针对交易设置止盈止亏价
        +
        +
        +
        + +
        +
        + + +
        +
        打开后前台可以进行永续交易委托,即限价交易
        +
        +
        +
        + +
        +
        + +
        +
        %
        +
        用户的风险率达到或低于该值时触发爆仓
        +
        +
        + + +
        +
        + + +
        +
        +
        + +
        +
        + +
        +
        + +
        +
        千分比例
        +
        历史盈亏释放比例
        +
        +
        +
        + +
        +
        + +
        +
        %
        +
        1通证能兑换多少USDT
        +
        +
        +
        + +
        + @include('admin.setting.lever_tradefee_settle') +
        +
        + + + +
        +
        + + +
        +
        +
        + + +
        +
        + +
        + +
        + +
        +
        人,
        + +
        + +
        +
        人,
        + +
        + +
        +
        USDT
        +
        +
        +
        + +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        + +
        +
        %的通证,
        + +
        + +
        +
        +
        + + +
        +
        +
        + + +
        +
        +
        + +
        +
        + +
        +
        + + +
        +
        +
        + +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + +
        + +
        + +
        +
        + +
        + +
        +
        +
        + +
        +
        +
        +
        +
        +
        + +
        + +
        + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        +
        +
        +
        + +
        + +
        + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        +
        +
        +
        + +
        + +
        + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        +
        +
        +
        + +
        + +
        + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        +
        +
        + + +
        +
        +
        + +
        +
        + +
        +
        + + + + + +
        +
        +
        +
        + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + +
        +
        +
        + + +
        +
        + +
        +
        + + +
        +
        + +
        +
        +
        +
        + +
        +
        + + +
        +
        + +
        +
        +
        +
        + +
        +
        + + +
        +
        + +
        +
        +
        +
        + +
        +
        + + +
        +
        + +
        +
        +
        +
        + +
        +
        + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        + +
        +
        +
        +
        + +
        +
        + + +
        +
        + +
        +
        +
        + + + + +
        +
        + + +
        +
        +
        + +
        +
        + +
        +
        + + +
        + +
        +
        +
        + + +
        +
        +
        + 添加 + +
        +
        +
        +
        + +
        +
        +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/setting/currency_risk.blade.php b/resources/views/admin/setting/currency_risk.blade.php new file mode 100644 index 0000000..6c280bc --- /dev/null +++ b/resources/views/admin/setting/currency_risk.blade.php @@ -0,0 +1,94 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/setting/data.blade.php b/resources/views/admin/setting/data.blade.php new file mode 100644 index 0000000..2446ac0 --- /dev/null +++ b/resources/views/admin/setting/data.blade.php @@ -0,0 +1,49 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') + +
        +
        +
        + +
        + + +
        +
        +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/setting/index.blade.php b/resources/views/admin/setting/index.blade.php new file mode 100644 index 0000000..68f5c2c --- /dev/null +++ b/resources/views/admin/setting/index.blade.php @@ -0,0 +1,122 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/setting/lever_tradefee_settle.blade.php b/resources/views/admin/setting/lever_tradefee_settle.blade.php new file mode 100644 index 0000000..b896c93 --- /dev/null +++ b/resources/views/admin/setting/lever_tradefee_settle.blade.php @@ -0,0 +1,55 @@ +
        + +
        +
        +
        会员进行杠杆交易时,手续费按推荐关系进行比例结算
        +
        + + + + + + + + + + + + + + + + + @isset($setting['lever_fee_options']) + @foreach (unserialize($setting['lever_fee_options']) as $key => $options) + + + + + + + @endforeach + @endisset + +
        推荐代数手续费结算比例自身交易笔数操作
        +
        +
        + +
        +
        +
        +
        +
        + +
        +
        %
        +
        +
        +
        + +
        +
        +
        + +
        +
        diff --git a/resources/views/admin/transaction/cny.blade.php b/resources/views/admin/transaction/cny.blade.php new file mode 100644 index 0000000..eb22076 --- /dev/null +++ b/resources/views/admin/transaction/cny.blade.php @@ -0,0 +1,136 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/transaction/complete.blade.php b/resources/views/admin/transaction/complete.blade.php new file mode 100644 index 0000000..02e33a3 --- /dev/null +++ b/resources/views/admin/transaction/complete.blade.php @@ -0,0 +1,122 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/transaction/in.blade.php b/resources/views/admin/transaction/in.blade.php new file mode 100644 index 0000000..543aa8f --- /dev/null +++ b/resources/views/admin/transaction/in.blade.php @@ -0,0 +1,122 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/transaction/index.blade.php b/resources/views/admin/transaction/index.blade.php new file mode 100644 index 0000000..edbc736 --- /dev/null +++ b/resources/views/admin/transaction/index.blade.php @@ -0,0 +1,184 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        + + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + +
        + + + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/transaction/legal.blade.php b/resources/views/admin/transaction/legal.blade.php new file mode 100644 index 0000000..8076913 --- /dev/null +++ b/resources/views/admin/transaction/legal.blade.php @@ -0,0 +1,162 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/transaction/out.blade.php b/resources/views/admin/transaction/out.blade.php new file mode 100644 index 0000000..d4e8bcc --- /dev/null +++ b/resources/views/admin/transaction/out.blade.php @@ -0,0 +1,121 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + +
        +
        + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/add.blade.php b/resources/views/admin/user/add.blade.php new file mode 100644 index 0000000..7c3e372 --- /dev/null +++ b/resources/views/admin/user/add.blade.php @@ -0,0 +1,83 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/address.blade.php b/resources/views/admin/user/address.blade.php new file mode 100644 index 0000000..685d05b --- /dev/null +++ b/resources/views/admin/user/address.blade.php @@ -0,0 +1,135 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        + +
        + + {{$results->currency_name}} + @if(empty($list)) + + 暂时还没有提币地址 + @endif +
        + + +
        + + + +
        + +
        + @if(!empty($list)) + @foreach($list as $key => $value) +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        +
        + @endforeach + @endif +
        + +
        + + + + +
        +
        + + +
        +
        +
        +@stop +@section('scripts') + + +@stop \ No newline at end of file diff --git a/resources/views/admin/user/candy_conf.blade.php b/resources/views/admin/user/candy_conf.blade.php new file mode 100644 index 0000000..f503119 --- /dev/null +++ b/resources/views/admin/user/candy_conf.blade.php @@ -0,0 +1,76 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        +
        + +
        + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/cash_info.blade.php b/resources/views/admin/user/cash_info.blade.php new file mode 100644 index 0000000..f4722f0 --- /dev/null +++ b/resources/views/admin/user/cash_info.blade.php @@ -0,0 +1,124 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + + +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/cash_info_international.blade.php b/resources/views/admin/user/cash_info_international.blade.php new file mode 100644 index 0000000..124f6e8 --- /dev/null +++ b/resources/views/admin/user/cash_info_international.blade.php @@ -0,0 +1,128 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + + +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/charge.blade.php b/resources/views/admin/user/charge.blade.php new file mode 100644 index 0000000..1d6ecfc --- /dev/null +++ b/resources/views/admin/user/charge.blade.php @@ -0,0 +1,216 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        + + +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + + +
        + +
        + + + +
        + + + + + + +@endsection + +@section('scripts') + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/charge.blade.php.cope b/resources/views/admin/user/charge.blade.php.cope new file mode 100644 index 0000000..9a7e833 --- /dev/null +++ b/resources/views/admin/user/charge.blade.php.cope @@ -0,0 +1,148 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + + +
        + +
        + +
        + +
        +
        +
        +
        + +
        +
        + + + + +
        + +
        + + + +
        + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/chartdata_add.blade.php b/resources/views/admin/user/chartdata_add.blade.php new file mode 100644 index 0000000..8520f7a --- /dev/null +++ b/resources/views/admin/user/chartdata_add.blade.php @@ -0,0 +1,202 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') + +
        +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/user/conf.blade.php b/resources/views/admin/user/conf.blade.php new file mode 100644 index 0000000..a869b05 --- /dev/null +++ b/resources/views/admin/user/conf.blade.php @@ -0,0 +1,119 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + + + + +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/user/count.blade.php b/resources/views/admin/user/count.blade.php new file mode 100644 index 0000000..4142855 --- /dev/null +++ b/resources/views/admin/user/count.blade.php @@ -0,0 +1,86 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') +
        +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/user/edit.blade.php b/resources/views/admin/user/edit.blade.php new file mode 100644 index 0000000..88a9228 --- /dev/null +++ b/resources/views/admin/user/edit.blade.php @@ -0,0 +1,223 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @if($result->is_trader == 1) +
        + +
        + +
        +
        当数字大于0时生效,否则则展示真实跟随人数
        +
        + @endif + + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/edit_charge.blade.php b/resources/views/admin/user/edit_charge.blade.php new file mode 100644 index 0000000..9dbbe69 --- /dev/null +++ b/resources/views/admin/user/edit_charge.blade.php @@ -0,0 +1,92 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + + + + + + + + + + + + + + + @if($charge_info->type == 0 ) + + + + + @endif + @if($charge_info->type == 1 ) + + + + + + + + + + + + + @endif + +
        + 账户名:{{$charge_info->account_name}} + + 币种:{{$charge_info->currency_name}} +
        + 充值数量:{{$charge_info->amount}} + + @if($charge_info->type == 1 ) + 充值方式:银行卡 + @endif + @if($charge_info->type == 0 ) + 充值方式:在线充值 + @endif +
        + 费率:{{$charge_info->give}} + + 申请时间:{{$charge_info -> created_at}} +
        + 类型:{{$charge_info->sub_type}} + + 地址:{{$charge_info -> address}} +
        + 账户名称:{{$charge_info->bank_user_name}} + + IBAN:{{$charge_info -> iban}} +
        + 收款人国家/地区:{{$charge_info->beneficiary_country}} + + 银行编码(BIC/SWIFT):{{$charge_info -> bank_code}} +
        + 银行名称:{{$charge_info->bank_name}} + + 银行地址:{{$charge_info -> bank_address}} +
        +
        +
        + + +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/editltc.blade.php b/resources/views/admin/user/editltc.blade.php new file mode 100644 index 0000000..0d67f3a --- /dev/null +++ b/resources/views/admin/user/editltc.blade.php @@ -0,0 +1,110 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + {{$result->account_number}} +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/falseData.blade.php b/resources/views/admin/user/falseData.blade.php new file mode 100644 index 0000000..46eaf8f --- /dev/null +++ b/resources/views/admin/user/falseData.blade.php @@ -0,0 +1,114 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/falsedata_add.blade.php b/resources/views/admin/user/falsedata_add.blade.php new file mode 100644 index 0000000..0f760df --- /dev/null +++ b/resources/views/admin/user/falsedata_add.blade.php @@ -0,0 +1,65 @@ +@extends('admin._layoutNew') +@section('page-head') + +@stop +@section('page-content') + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + + + +
        +
        + + +
        +
        +
        +
        +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/user/index.blade.php b/resources/views/admin/user/index.blade.php new file mode 100644 index 0000000..9f67823 --- /dev/null +++ b/resources/views/admin/user/index.blade.php @@ -0,0 +1,318 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        +
        +
        + + +
        +
        + +
        +
        +@endsection + +@section('scripts') + + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/level.blade.php b/resources/views/admin/user/level.blade.php new file mode 100644 index 0000000..f0c062d --- /dev/null +++ b/resources/views/admin/user/level.blade.php @@ -0,0 +1,77 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +@endsection + +@section('scripts') + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/level_edit.blade.php b/resources/views/admin/user/level_edit.blade.php new file mode 100644 index 0000000..2ee628d --- /dev/null +++ b/resources/views/admin/user/level_edit.blade.php @@ -0,0 +1,137 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        + + +
        +
        + +
        + +
        + +
        + + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        百分比 该级别用户充值赠送对应比例的金额
        +
        + +
        + + +
        +
        + +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/lock.blade.php b/resources/views/admin/user/lock.blade.php new file mode 100644 index 0000000..e2d2377 --- /dev/null +++ b/resources/views/admin/user/lock.blade.php @@ -0,0 +1,80 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + status== 0 ? 'checked' : '' }}> + status== 1 ? 'checked' : '' }}> +
        +
        +
        +
        +
        + +
        + frozen_funds== 0 ? 'checked' : '' }}> + frozen_funds== 1 ? 'checked' : '' }}> +
        +
        +
        + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/pay_info_log.blade.php b/resources/views/admin/user/pay_info_log.blade.php new file mode 100644 index 0000000..6271027 --- /dev/null +++ b/resources/views/admin/user/pay_info_log.blade.php @@ -0,0 +1,198 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + +
        + + +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        + + + + + + + + + + +
        +
        + +
        +
        +
        + +
        + + + + + +
        + + + + + + + + + + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/score.blade.php b/resources/views/admin/user/score.blade.php new file mode 100644 index 0000000..6f646e3 --- /dev/null +++ b/resources/views/admin/user/score.blade.php @@ -0,0 +1,76 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + +
        + +
        + +
        +
        +
        + +
        + + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + + +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/user_wallet.blade.php b/resources/views/admin/user/user_wallet.blade.php new file mode 100644 index 0000000..2a797a9 --- /dev/null +++ b/resources/views/admin/user/user_wallet.blade.php @@ -0,0 +1,166 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
        + + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/user_walletList.blade.php b/resources/views/admin/user/user_walletList.blade.php new file mode 100644 index 0000000..15ff8cd --- /dev/null +++ b/resources/views/admin/user/user_walletList.blade.php @@ -0,0 +1,66 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        + @forelse($data as $item) +
        + +
        + + +
        +
        + @empty + @endforelse + +
        +
        + + +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/userGradeSetting/index.blade.php b/resources/views/admin/userGradeSetting/index.blade.php new file mode 100644 index 0000000..c3c842b --- /dev/null +++ b/resources/views/admin/userGradeSetting/index.blade.php @@ -0,0 +1,155 @@ +@extends('admin._layoutNew') + +@section('page-content') +
        +
        + 普通用户配置 +
        + +
        + +
        +
        %
        +
        +
        + +
        + + +
        +
        +
        + +
        + +
        +
        %
        +
        +
        + +
        + + +
        +
        %(0 代表不需要手续费)
        +
        +
        + +
        + VIP用户配置 +
        + +
        + +
        +
        %
        +
        +
        + +
        + + +
        +
        +
        + +
        + +
        +
        %
        +
        +
        + +
        + + +
        +
        %(0 代表不需要手续费)
        +
        +
        + +
        + SVIP用户配置 +
        + +
        + +
        +
        %
        +
        +
        + +
        + + +
        +
        +
        + +
        + +
        +
        %
        +
        +
        + +
        + + +
        +
        %(0 代表不需要手续费)
        +
        +
        +
        +
        + +
        +
        +
        + +@stop +@section('scripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/userReal/index.blade.php b/resources/views/admin/userReal/index.blade.php new file mode 100644 index 0000000..07c3333 --- /dev/null +++ b/resources/views/admin/userReal/index.blade.php @@ -0,0 +1,193 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') + + +
        + +
        + +
        +
        + +
        + +
        +
        + +
        + +
        + + + + + + + + + + +@endsection + + @section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/admin/userReal/info.blade.php b/resources/views/admin/userReal/info.blade.php new file mode 100644 index 0000000..5df7543 --- /dev/null +++ b/resources/views/admin/userReal/info.blade.php @@ -0,0 +1,72 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        +
        + +
        + + + @if(!empty($result->front_pic)) + 查看 + @endif +
        +
        +
        + +
        + + + @if(!empty($result->reverse_pic)) + 查看 + @endif +
        +
        +
        + +
        + + + +
        +
        + + +
        + +@endsection + diff --git a/resources/views/admin/wallet/index.blade.php b/resources/views/admin/wallet/index.blade.php new file mode 100644 index 0000000..c3326ba --- /dev/null +++ b/resources/views/admin/wallet/index.blade.php @@ -0,0 +1,299 @@ +@extends('admin._layoutNew') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        +
        +
        +
        +
        + + + + + + + + + + + + + +
        +
        +
        +

        + +

        +
        +
        +

        交易币总额:

        +

        +
        +
        +
        +
        +
        +
        +

        + +

        +
        +
        +

        杠杆币总额:

        +

        +
        +
        +
        +
        +
        +@endsection +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/capital/recharge.blade.php b/resources/views/agent/capital/recharge.blade.php new file mode 100644 index 0000000..6285359 --- /dev/null +++ b/resources/views/agent/capital/recharge.blade.php @@ -0,0 +1,135 @@ + +@extends('agent.layadmin') + +@section('title', '充币列表') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        +
        +
        + +
        +
        + +
        +
        +
        +@endsection + +@section('scripts') + + +@endsection diff --git a/resources/views/agent/capital/wallet.blade.php b/resources/views/agent/capital/wallet.blade.php new file mode 100644 index 0000000..1fd56f8 --- /dev/null +++ b/resources/views/agent/capital/wallet.blade.php @@ -0,0 +1,58 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + + + +
        + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/capital/withdraw.blade.php b/resources/views/agent/capital/withdraw.blade.php new file mode 100644 index 0000000..800fb59 --- /dev/null +++ b/resources/views/agent/capital/withdraw.blade.php @@ -0,0 +1,133 @@ +@extends('agent.layadmin') + +@section('title', '提币列表') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        +
        + +
        +
        + +
        +
        +
        +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/home.blade.php b/resources/views/agent/home.blade.php new file mode 100644 index 0000000..2f404ea --- /dev/null +++ b/resources/views/agent/home.blade.php @@ -0,0 +1,170 @@ + +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        + +
        +
        +
        + 杠杆结算订单量 + 总计 +
        +
        +

        {{$settlement }}

        + +
        +
        +
        + +
        +
        +
        + 下级代理商个数 + 总计 +
        +
        +

        {{$subordinate_agent_num }}

        + +
        +
        +
        +
        +
        +
        + 伞下会员总数 + 总计 +
        +
        +

        {{$subordinate_user_num }}

        + +
        +
        +
        + +
        +
        +
        + 日订单量 +
        +
        +
        +
        + +
        +
        +
        +
        +
        + + + + +
        +
        +@endsection +@section('scripts') + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/index.blade.php b/resources/views/agent/index.blade.php new file mode 100644 index 0000000..8920344 --- /dev/null +++ b/resources/views/agent/index.blade.php @@ -0,0 +1,118 @@ +@extends('agent.layadmin') + +@section('title', '代理商后台') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + + + +
        + + + @component('agent.layui_side_menu') + @endcomponent + + + + + +
        +
        +
        + +
        +
          +
        • +
        +
        +
        + + + +
        +
        + +
        +
        + + +
        +
        +
        + @endsection + +@section('scripts') + +@endsection + + + diff --git a/resources/views/agent/index2.blade.php b/resources/views/agent/index2.blade.php new file mode 100644 index 0000000..4c2337d --- /dev/null +++ b/resources/views/agent/index2.blade.php @@ -0,0 +1,28 @@ + + + + + + + 代理商管理总后台asdfadf + + + + + + + +
        + + + + + + diff --git a/resources/views/agent/indexbak.blade.php b/resources/views/agent/indexbak.blade.php new file mode 100644 index 0000000..bf825c4 --- /dev/null +++ b/resources/views/agent/indexbak.blade.php @@ -0,0 +1,28 @@ + + + + + + + 管理系统 + + + + + + + +
        + + + + + + diff --git a/resources/views/agent/layadmin.blade.php b/resources/views/agent/layadmin.blade.php new file mode 100644 index 0000000..96e94a0 --- /dev/null +++ b/resources/views/agent/layadmin.blade.php @@ -0,0 +1,35 @@ + + + + + @yield('title') + + + + + + @yield('page-head') + + + + + @yield('page-content') + + + + + +@yield('scripts') + \ No newline at end of file diff --git a/resources/views/agent/layui_side_menu.blade.php b/resources/views/agent/layui_side_menu.blade.php new file mode 100644 index 0000000..258df12 --- /dev/null +++ b/resources/views/agent/layui_side_menu.blade.php @@ -0,0 +1,129 @@ +
        +
        + + + +
        +
        diff --git a/resources/views/agent/login.blade.php b/resources/views/agent/login.blade.php new file mode 100644 index 0000000..fa49403 --- /dev/null +++ b/resources/views/agent/login.blade.php @@ -0,0 +1,120 @@ + + + + + 登入 - 代理商后台 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/agent/order/info.blade.php b/resources/views/agent/order/info.blade.php new file mode 100644 index 0000000..333b7c4 --- /dev/null +++ b/resources/views/agent/order/info.blade.php @@ -0,0 +1,174 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        +
        +
        订单编号 : {{$info['id']}}
        +
        订单状态 :已平仓
        +
        最新进度 :{{$info['complete_time']}}平仓
        +
        +
        + +
        +
        +
        +
        + + +
        +
        +
        +
        +
        +
        交易信息
        +
          + +
        • + +
          +
          + 买卖类型 : {{$info['type_name']}} +
          +
          +
        • + + +
        • + +
          +
          + 用户 : {{$info['account_number']}} +
          +
          +
        • + +
        • + +
          +
          + 交易对 : {{$info['symbol'] }} +
          +
          +
        • + +
        • + +
          +
          + 手数 : {{$info['share'] }} +
          +
          +
        • + +
        • + +
          +
          + 倍数 : {{$info['multiple'] }} +
          +
          +
        • + +
        +
        +
        +
        资金信息
        +
          + + +
        • + +
          +
          + 初始保证金 : {{$info['origin_caution_money'] }} +
          +
          +
        • + +
        • + +
          +
          + 当前可用保证金 : {{$info['caution_money'] }} +
          +
          +
        • + +
        • + +
          +
          + 最终盈亏 : {{$info['fact_profits'] }} +
          +
          +
        • + +
        • + +
          +
          + 交易手续费 : {{$info['trade_fee'] }} +
          +
          +
        • + +
        • + +
          +
          + 隔夜费率 : {{$info['overnight'] }} +
          +
          +
        • + +
        +
        +
        +
        状态及时间
        +
          + +
        • + +
          +
          + 交易状态 : {{$info['status_name'] }} +
          +
          +
        • + + +
        • + +
          +
          + 创建时间 : {{$info['time'] }} +
          +
          +
        • + + +
        • + +
          +
          + 平仓时间 : {{$info['complete_time'] }} +
          +
          +
        • + + +
        +
        +
        +
        +
        +
        +
        +
        +@endsection diff --git a/resources/views/agent/order/jie_index.blade.php b/resources/views/agent/order/jie_index.blade.php new file mode 100644 index 0000000..0e6fd98 --- /dev/null +++ b/resources/views/agent/order/jie_index.blade.php @@ -0,0 +1,272 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + @if($is_admin== 1 ) + + @endif + +
        + +
        + + + +
        +
        + +
        + +
        +
        +
        + + +@endsection + +@section('scripts') + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/order/leverlist.blade.php b/resources/views/agent/order/leverlist.blade.php new file mode 100644 index 0000000..1084df0 --- /dev/null +++ b/resources/views/agent/order/leverlist.blade.php @@ -0,0 +1,361 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + + +
        +
        + +
        +
        +
        + +@endsection + +@section('scripts') + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/order/microlist.blade.php b/resources/views/agent/order/microlist.blade.php new file mode 100644 index 0000000..5bbb22d --- /dev/null +++ b/resources/views/agent/order/microlist.blade.php @@ -0,0 +1,303 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + + +
        +
        + + + +
        +
        + +
        +
        +
        + +@endsection + +@section('scripts') + + + + + + + + + + + + +@endsection diff --git a/resources/views/agent/order/transaction.blade.php b/resources/views/agent/order/transaction.blade.php new file mode 100644 index 0000000..4be16e8 --- /dev/null +++ b/resources/views/agent/order/transaction.blade.php @@ -0,0 +1,139 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        + +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        + +
        + + +
        + +
        + +
        +
        +
        +
        +
        + + + +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/salesmen/add.blade.php b/resources/views/agent/salesmen/add.blade.php new file mode 100644 index 0000000..2414116 --- /dev/null +++ b/resources/views/agent/salesmen/add.blade.php @@ -0,0 +1,249 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        +
        +
        + +
        + + @if(isset($d['username'])) + + @else + + @endif + + + + + +
        +
        +
        + +
        + @if( (!isset($d['id']) || !$d['id']) && isset($d['son_level'])) + + @elseif(isset($d['id']) && $d['id']) + + @else + + @endif +
        +
        + +
        + +
        + +
        + +
        + +
        + +
        + +
        + +
        + + @if(!isset($d['id'])) + + @endif + +
        + +
        + @if(isset($d['is_lock'])) + + + @else + + + @endif +
        +
        当锁定时,该用户不能登录代理商管理平台
        +
        +
        + +
        + @if(isset($d['is_addson'])) + + + @else + + + @endif +
        +
        当禁止填加新代理商时,该用户不能添加自己的下级代理商
        +
        + @if(isset($d['id'])) +
        + +
        + +
        + +
        + @endif + +
        + +
        + +
        +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + +@endsection + +
        +
        +
        \ No newline at end of file diff --git a/resources/views/agent/salesmen/index.blade.php b/resources/views/agent/salesmen/index.blade.php new file mode 100644 index 0000000..daf71f6 --- /dev/null +++ b/resources/views/agent/salesmen/index.blade.php @@ -0,0 +1,184 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        +
        + +
        +
        + + +
        + +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + + + + +@endsection + +
        +
        +
        \ No newline at end of file diff --git a/resources/views/agent/set/info.blade.php b/resources/views/agent/set/info.blade.php new file mode 100644 index 0000000..dc50864 --- /dev/null +++ b/resources/views/agent/set/info.blade.php @@ -0,0 +1,115 @@ +@extends('agent.layadmin') + +@section('title', '设置资料') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        设置我的资料
        +
        + +
        + +
        + +
        + + +
        +
        当前角色不可更改为其它角色
        +
        +
        + +
        + +
        +
        不可修改。一般用于后台登入名
        +
        +
        + +
        + +
        +
        + +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        + + +
        +
        + +
        + +
        +
        +
        +
        +
        + +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/agent/set/password.blade.php b/resources/views/agent/set/password.blade.php new file mode 100644 index 0000000..64ddab3 --- /dev/null +++ b/resources/views/agent/set/password.blade.php @@ -0,0 +1,105 @@ + +@extends('agent.layadmin') + +@section('title', '设置密码') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        +
        +
        修改密码
        +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        6到16个字符
        +
        +
        + +
        + +
        +
        +
        + + +
        + + +
        + +
        +
        +
        + +
        +
        +
        + +
        +
        +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/agent/statistics/money.blade.php b/resources/views/agent/statistics/money.blade.php new file mode 100644 index 0000000..a341404 --- /dev/null +++ b/resources/views/agent/statistics/money.blade.php @@ -0,0 +1,406 @@ + +@extends('agent.layadmin') + +@section('title', '收益统计') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        + +
        + + + +
        +
        +
        +
        +
        +
        + + + +
        +
        +
        +
        +
        +
        + + + +
        +
        +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/agent/statistics/order.blade.php b/resources/views/agent/statistics/order.blade.php new file mode 100644 index 0000000..42c2cbd --- /dev/null +++ b/resources/views/agent/statistics/order.blade.php @@ -0,0 +1,396 @@ +@extends('agent.layadmin') + +@section('title', '订单统计') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        + +
        + + + +
        +
        +
        +
        +
        +
        + + + +
        +
        +
        +
        +
        +
        + + + +
        +
        +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/agent/statistics/user.blade.php b/resources/views/agent/statistics/user.blade.php new file mode 100644 index 0000000..b000d46 --- /dev/null +++ b/resources/views/agent/statistics/user.blade.php @@ -0,0 +1,377 @@ + +@extends('agent.layadmin') + +@section('title', '用户统计') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        + +
        + + + +
        +
        +
        +
        +
        +
        + + + +
        +
        +
        +
        +
        +
        + + + +
        +
        +
        +
        +
        +@endsection + +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/agent/user/index.blade.php b/resources/views/agent/user/index.blade.php new file mode 100644 index 0000000..24d6d41 --- /dev/null +++ b/resources/views/agent/user/index.blade.php @@ -0,0 +1,280 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + + +
        +
        +
        + + + +
        + +
        +
        +
        +@endsection + +@section('scripts') + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/user/leverlist.blade.php b/resources/views/agent/user/leverlist.blade.php new file mode 100644 index 0000000..57db7e8 --- /dev/null +++ b/resources/views/agent/user/leverlist.blade.php @@ -0,0 +1,195 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + + +
        +
        +
        + +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        + +
        +
        + +
        +
        +
        + +@endsection + +@section('scripts') + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/agent/user/risk.blade.php b/resources/views/agent/user/risk.blade.php new file mode 100644 index 0000000..4cc75fc --- /dev/null +++ b/resources/views/agent/user/risk.blade.php @@ -0,0 +1,73 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection +@section('page-content') +
        +
        + +
        + +
        +
        + + +
        + +
        + +
        +
        + + +
        +
        + + +
        +
        +
        + +@endsection + +@section('scripts') + + +@endsection + diff --git a/resources/views/agent/user/transfer.blade.php b/resources/views/agent/user/transfer.blade.php new file mode 100644 index 0000000..cc91904 --- /dev/null +++ b/resources/views/agent/user/transfer.blade.php @@ -0,0 +1,168 @@ +@extends('agent.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + +
        +
        +
        + + + +
        +
        + + +
        + +
        + + +
        +
        +
        +@endsection + +@section('scripts') + + +@endsection \ No newline at end of file diff --git a/resources/views/errors/403.blade.php b/resources/views/errors/403.blade.php new file mode 100644 index 0000000..f1f6960 --- /dev/null +++ b/resources/views/errors/403.blade.php @@ -0,0 +1,5 @@ +@extends('errors::layout') + +@section('title', 'Forbidden') + +@section('message', $exception->getMessage()?:'权限不足!') diff --git a/resources/views/errors/layout.blade.php b/resources/views/errors/layout.blade.php new file mode 100644 index 0000000..32bb323 --- /dev/null +++ b/resources/views/errors/layout.blade.php @@ -0,0 +1,57 @@ + + + + + + + + @yield('title') + + + + + + + + +
        +
        +
        + @yield('message') +
        +
        +
        + + diff --git a/resources/views/manages/auth.blade.php b/resources/views/manages/auth.blade.php new file mode 100644 index 0000000..b035eef --- /dev/null +++ b/resources/views/manages/auth.blade.php @@ -0,0 +1,63 @@ + +@extends('manages.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        权限列表
        +
        +
        + +
        +
        +
        +
        +
        +@endsection + +@section('scripts') + + + +@endsection diff --git a/resources/views/manages/console.blade.php b/resources/views/manages/console.blade.php new file mode 100644 index 0000000..42ef60f --- /dev/null +++ b/resources/views/manages/console.blade.php @@ -0,0 +1,189 @@ + +@extends('manages.layadmin') + +@section('page-head') + +@endsection + +@section('page-content') + +
        +
        +
        +
        +
        + +
        + + + +
        +
        + + +
        +
        + +
        +
        +
        +
        +
        +
        +@endsection diff --git a/resources/views/manages/index.blade.php b/resources/views/manages/index.blade.php new file mode 100644 index 0000000..6fdc3d2 --- /dev/null +++ b/resources/views/manages/index.blade.php @@ -0,0 +1,231 @@ +@extends('manages.layadmin') + +@section('title', '交易所管理系统') + +@section('page-head') + +@endsection + +@section('page-content') +
        +
        +
        + + + +
        + +
        +
        + + +
        +
        + +
        +
        +
        + +
        +
          +
        • +
        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + @endsection + +@section('scripts') + + + + +@endsection + + + diff --git a/resources/views/manages/layadmin.blade.php b/resources/views/manages/layadmin.blade.php new file mode 100644 index 0000000..f4a0b77 --- /dev/null +++ b/resources/views/manages/layadmin.blade.php @@ -0,0 +1,35 @@ + + + + + @yield('title') + + + + + + @yield('page-head') + + + + + @yield('page-content') + + + + + +@yield('scripts') + \ No newline at end of file diff --git a/resources/views/manages/layui_side_menu.blade.php b/resources/views/manages/layui_side_menu.blade.php new file mode 100644 index 0000000..966c861 --- /dev/null +++ b/resources/views/manages/layui_side_menu.blade.php @@ -0,0 +1,39 @@ + +
        +
        + +
          + + @foreach($menus as $vo) + @if($vo['menustatus']==1) +
        • + + + {{@$vo['title']}} + + @if(isset($vo['children'])) +
          + @foreach($vo['children'] as $v) + + @if($v['menustatus']==1) +
          + {{@$v['title']}} +
          + @endif + + @endforeach +
          + @endif +
        • + @endif + @endforeach + +
        +
        +
        diff --git a/resources/views/manages/login.blade.php b/resources/views/manages/login.blade.php new file mode 100644 index 0000000..fb72abd --- /dev/null +++ b/resources/views/manages/login.blade.php @@ -0,0 +1,216 @@ + + + + + 交易所管理系统 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php new file mode 100644 index 0000000..de07cd4 --- /dev/null +++ b/resources/views/welcome.blade.php @@ -0,0 +1,96 @@ + + + + + + + + + Laravel + + + + + + + + +
        + @if (Route::has('login')) + + @endif + +
        +
        + Laravel +
        + + +
        +
        + + diff --git a/routes/web.php b/routes/web.php new file mode 100644 index 0000000..8513e17 --- /dev/null +++ b/routes/web.php @@ -0,0 +1,1217 @@ + ['lang']], function () { + Route::get('api/token/10', 'Api\UserController@NftToken'); + + Route::post('api/set/lang', 'Api\DefaultController@language'); + Route::post('api/get/lang', 'Api\DefaultController@getlanguage'); + +// Route::get('/login', function () { +// session()->put('admin_username', ''); +// session()->put('admin_id', ''); +// session()->put('admin_role_id', ''); +// session()->put('admin_is_super', ''); +// // return view('admin/login'); +// return view('manages/login'); +// }); + // Route::get('/admin', function () { + // return redirect('/login'); + // }); + Route::get('/system', function () { + session()->put('admin_username', ''); + session()->put('admin_id', ''); + session()->put('admin_role_id', ''); + session()->put('admin_is_super', ''); + // return view('admin/login'); + return view('manages/login'); + }); + +// Route::get('/login', function () { +// session()->put('admin_username', ''); +// session()->put('admin_id', ''); +// session()->put('admin_role_id', ''); +// session()->put('admin_is_super', ''); +// // return view('admin/login'); +// return view('manages/login'); +// }); + // Route::get('/phpinfo', function () { + // phpinfo(); + // }); + Route::get('/manages/index', function () { + return redirect('/system'); + }); + Route::get('/', function () { + return redirect('/system'); + }); + Route::get('/manage', function () { + return redirect('/system'); + }); + // Route::get('/gzip', function (\Illuminate\Http\Request $request) { + // dump($request->getScheme()); + // $protocol = $request->getScheme(); + // $host = $request->getHost(); + + // dump($request->getSchemeAndHttpHost()); + // dump(gzencode('hehe')); + // }); + + + // Route::get('api/env.json', function () { + // $request = request(); + // $result = \App\Utils\RPC::apihttp($request->getSchemeAndHttpHost() . '/env.json'); + // return json_decode($result, true); + // }); + + Route::get('/api/wallet/transhistory', 'Api\WalletController@transhistory'); + + Route::get('/api/test/oList', 'Api\UserController@OrderList'); + + Route::get('/api/test/bList', 'Api\WalletController@BalanceList'); + + Route::get('/api/test/walletList', 'Api\WalletController@walletList'); + + Route::get('/api/news/listtest', 'Api\NewsController@getArticle'); + + Route::get('/api/wallet/earnedhistory', 'Api\WalletController@earnedhistory'); + //新资产 + Route::get('/api/wallet/newlist', 'Api\WalletController@New_walletList'); + + Route::get('/api/user/score', 'Api\UserController@getscore'); + // 会员等级奖励列表 + Route::post('/api/user/level', 'Api\UserController@getlevel'); + + Route::post('/api/user/getusdt', 'Api\UserController@getamount'); + //量化理财 + + Route::get('/api/defi/defiList', 'Api\DefiController@defiList'); + + Route::post('/api/defi/buy', 'Api\DefiController@Buy'); + + Route::get('/api/defi/orderList', 'Api\DefiController@OrderList'); + + Route::get('/api/defi/Detail', 'Api\DefiController@Detail'); + Route::get('/api/dual/testdetail', 'Api\DualController@getDetail'); + Route::get('/api/dual/index', 'Api\DualController@index'); + Route::get('/api/dual/dual_list', 'Api\DualController@dual_list'); + Route::get('/api/dual/dual_detail', 'Api\DualController@order_detail'); + Route::get('/api/dual/buyDualtest', 'Api\DualController@buyDual'); + + //AI量化理财 + Route::get('/api/ai/Detail', 'Api\AiController@getDetail'); + Route::get('/api/ai/testdetail', 'Api\AiController@getDetail'); + Route::get('/api/ai/index', 'Api\AiController@index'); + Route::get('/api/ai/ai_list', 'Api\AiController@ai_list'); + Route::get('/api/ai/ai_detail', 'Api\AiController@order_detail'); + Route::get('/api/ai/buyAitest', 'Api\AiController@buyAi'); + //借贷合同 + Route::get('/api/user/Getjiedaiht', 'Api\UserController@get_jiedai_htinfo'); + + Route::any('/api/index/CallBack', 'Api\IndexController@CallBack'); + Route::any('/api/wallet/get_type', 'Api\WalletController@gettype'); + Route::post('/api/pay/createPay','Api\PayController@pay'); + Route::post('/api/pay/notify','Api\PayNotifyController@notify'); + Route::post('/api/pay/payLog','Api\PayController@payLog'); + //获取setting表里的信息 + Route::any('api/currency/rangeNew', 'Api\CurrencyController@rangeNew'); + Route::any('api/getbizcate', 'Api\CurrencyController@bizcate'); + Route::get('api/getSetting', 'Api\UserController@getSetting'); + Route::get('api/getSiteConfig', 'Api\DefaultController@getSiteConfig'); + Route::get('/api/cfg/kefu', 'Api\NewsController@kefu');//获取系统客服链接 + Route::get('api/legaldeal/money_type', 'Api\LegalDealController@getMoneyType'); + Route::get('api/lh/interest', 'Api\BankController@dispatchInterest'); + Route::get('api/project', 'Api\CurrencyProjectController@projectList'); + + Route::get('api/kf', 'Api\UserController@kf'); + Route::get("api/US",'Api\DefaultController@US'); + Route::get('api/project/operation', 'Api\CurrencyProjectController@processOrder'); + Route::get('api/project/detail', 'Api\CurrencyProjectController@projectDetail'); + + + + Route::post('api/notify/wallet', 'Api\NoticeController@walletNotify'); + Route::get('api/notify/test', 'Api\NoticeController@test'); + Route::get('api/notify/withdraw', 'Api\NoticeController@withdrawQueue'); + Route::get('api/currency/interest', 'Api\CurrencyDepositController@dispatch'); + //Route::get('api/bank/interest', 'Api\BankController@dispatchInterest'); + Route::post('api/user/import', 'Api\LoginController@import'); + Route::post('api/user/dologin', 'Api\LoginController@dologin'); //切换模拟账号 + Route::post('api/user/doregister', 'Api\LoginController@doregister');//切换真实账号 + + Route::post('api/user/login', 'Api\LoginController@login'); + Route::post('api/user/register', 'Api\LoginController@register')->middleware(['XSS']); + Route::post('api/user/forget', 'Api\LoginController@forgetPassword'); + Route::post('api/user/check_mobile', 'Api\LoginController@checkMobileCode'); + Route::post('api/user/checkCode', 'Api\LoginController@checkCode'); + Route::post('api/user/check_email', 'Api\LoginController@checkEmailCode'); + Route::post('/api/news/list', 'Api\NewsController@getArticle'); + Route::post('/api/news/detail', 'Api\NewsController@get'); + Route::post('/api/news/help', 'Api\NewsController@getCategory'); + Route::post('/api/news/recommend', 'Api\NewsController@recommend'); + + Route::get('/api/faq', 'Api\NewsController@getFAQ'); + Route::get('/api/contactus', 'Api\NewsController@getContactUs'); + Route::get('/api/aboutus', 'Api\NewsController@getAboutUs'); + Route::any('/api/general_new', 'Api\NewsController@general'); + Route::get('/api/operational_compliance', 'Api\NewsController@getOperationalCompliance'); + Route::get('/api/getAgreement', 'Api\NewsController@getAgreement'); + + + Route::get('/api/news/index_pop', 'Api\NewsController@getIndexPopup'); + + Route::post('/api/news/get_invite_return_news', 'Api\NewsController@getInviteReturn'); + Route::get('/api/get_version', 'Api\DefaultController@getVersion'); + Route::post('/api/market/market', 'Api\MarketController@marketData'); + Route::post('/api/sms_send', 'Api\SmsController@smsPaaSooSend'); + Route::post('/api/sms_email_send', 'Api\SmsController@sms_email'); + Route::post('/api/sms_mail', 'Api\SmsController@sendMail'); + Route::post('/api/get_area_code', 'Api\SmsController@get_area_code'); + Route::post('/api/upload', 'Api\DefaultController@upload'); + Route::post('/api/upload_new', 'Api\DefaultController@upload_new'); + Route::get('/api/qrcode', function (Request $request) { + $qrCode = new Endroid\QrCode\QrCode($request->get('text')); + + header('Content-Type: ' . $qrCode->getContentType()); + echo $qrCode->writeString(); + }); + Route::any('/api/upload2', 'Api\DefaultController@upload2'); + Route::any('/api/uploadNFT', 'Api\DefaultController@uploadNFT'); + + + Route::post('/api/transaction/legal_list', 'Api\TransactionController@legalList'); + Route::get('/api/seller_list', 'Api\SellerController@lists'); + Route::get('api/legal_deal_platform', 'Api\LegalDealController@legalDealPlatform'); + Route::get('api/c2c_deal_platform', 'Api\C2cDealController@legalDealPlatform'); + Route::get('api/currency/list', 'Api\CurrencyController@lists'); + Route::get('api/currency/recharge', 'Api\CurrencyController@listsRecharge'); + Route::get('api/currency/quotation', 'Api\CurrencyController@quotation'); + Route::get('api/currency/optionalquotation', 'Api\CurrencyController@optionalQuotation'); + //站内信 + Route::get('api/mailMessage/getCount', 'Api\MailMessageController@getCount'); + Route::get('api/mailMessage/getList', 'Api\MailMessageController@getList'); + Route::get('api/mailMessage/detail', 'Api\MailMessageController@detail'); + // 币种接口 + Route::any('api/currency/quotation_new', 'Api\CurrencyController@newQuotation'); + + Route::any('api/currency/quotation_huang', 'Api\CurrencyController@huangnewQuotation'); + + Route::any('api/currency/deal', 'Api\CurrencyController@exDeal');//新单独的行情(带涨跌幅) + + Route::post('api/deal/info', 'Api\CurrencyController@dealInfo'); + + Route::post('api/deal/market_k', 'Api\CurrencyController@market_k'); + + Route::any('api/currency/bclass', 'Api\CurrencyController@b_class'); //币种分类 + + Route::get('api/currency/new_test', 'Api\CurrencyController@test'); //外汇 期货 + + Route::get('api/currency/sina_test', 'Api\CurrencyController@sinatest'); //外汇 期货 测试 + + Route::any('api/currency/new_timeshar','Api\CurrencyController@klineMarket')->middleware(['cross']); + Route::any('api/currency/new_tradehistory','Api\CurrencyController@tradeMarket')->middleware(['cross']); + Route::any('api/currency/kline_market', 'Api\CurrencyController@klineMarket')->middleware(['cross']); + Route::any('api/currency/timeshar', 'Api\CurrencyController@timeshar'); + Route::any('api/currency/fifteen_minutes', 'Api\CurrencyController@fifteen_minutes'); + Route::any('api/currency/market_hour', 'Api\CurrencyController@market_hour'); + Route::any('api/currency/four_hour', 'Api\CurrencyController@four_hour'); + + Route::any('api/currency/five_minutes', 'Api\CurrencyController@five_minutes'); + Route::any('api/currency/thirty_minutes', 'Api\CurrencyController@thirty_minutes'); + Route::any('api/currency/one_week', 'Api\CurrencyController@one_week'); + Route::any('api/currency/one_month', 'Api\CurrencyController@one_month'); + + Route::get('api/currency/lever', 'Api\CurrencyController@lever'); + Route::any('api/user/numberPromoters', 'Api\UserController@numberPromoters'); + Route::any('api/user/into_users', 'Api\UserController@into_users'); + Route::any('api/user/into_tra', 'Api\UserController@into_tra'); + Route::any('api/user/test', 'Api\UserController@test'); + Route::any('api/user/e_pwd', 'Api\UserController@e_pwd'); + Route::any('api/currency/update_date', 'Api\CurrencyController@update_date'); + Route::any('user/walletaddress', 'Api\UserController@walletaddress'); + + Route::any('/test555', 'Api\PrizePoolController@test555'); + + Route::any('api/area_code', 'Api\CurrencyController@area_code'); + + Route::get('api/kline', 'Api\MarketController@test'); + Route::get('api/getLtcKMB', 'Api\WalletController@getLtcKMB'); + + Route::post('api/getNode', 'Api\DefaultController@getNode'); + Route::get('api/wallet/flashAgainstList', 'Api\WalletController@flashAgainstList'); + + Route::prefix('api')->post('user/real_name', 'Api\UserController@realName')->middleware([ + 'demo_limit', + 'XSS', + 'check_api' + ]); + Route::prefix('api')->post('user/real_advanced', 'Api\UserController@realAdvanced')->middleware([ + 'demo_limit', + 'XSS', + 'check_api' + ]); + + Route::get('/api/menu', 'Api\DefaultController@getMenu'); + + + Route::get('api/crontab/rate', 'Api\CrontabController@getRate');//获取最新汇率 + Route::group(['prefix' => 'api', 'middleware' => ['check_api', 'XSS', /*'check_user'*/]], function () { + Route::post('user/uploadHeadPortrait', 'Api\UserController@uploadHeadPortrait'); + Route::post('user/editNickname', 'Api\UserController@editNickname'); + + + Route::get('/user/OrderCenter', 'Api\UserController@OrderList'); //订单中心 + //借贷信息 + Route::get('/user/GetJiedaiList', 'Api\UserController@jiedai_list'); //借贷列表 + Route::get('/user/GetJiedaiInfo', 'Api\UserController@get_jiedai_info'); + Route::post('user/jiedai', 'Api\UserController@savejiedai'); //借贷入库 + Route::post('user/jiedai_return', 'Api\UserController@JiedaiCancle'); //借贷还款 + + + + //AI量化理财 + + // Route::get('/ai/detail', 'Api\AiController@getDetail'); + Route::post('/ai/buyAi', 'Api\AiController@buyAi'); + Route::post('/ai/cancle', 'Api\AiController@Aicancle'); + + //量化理财 + + Route::get('/dual/detail', 'Api\DualController@getDetail'); + Route::post('/dual/buyDual', 'Api\DualController@buyDual'); + Route::post('/dual/dual_cancle', 'Api\DualController@Dualcancle'); + + //nft + Route::get('/bind_box/getBoxList', 'Api\BindBoxController@getBoxList'); + Route::get('/bind_box/getBoxDetail', 'Api\BindBoxController@getBoxDetail'); + Route::get('/bind_box/getArtist', 'Api\BindBoxController@getArtist'); + Route::get('/bind_box/getArtistDetail', 'Api\BindBoxController@getArtistDetail'); + Route::get('/bind_box/getNftCurrency', 'Api\BindBoxController@getNftCurrency'); + Route::post('/bind_box/collect', 'Api\BindBoxController@collect'); + Route::get('/bind_box/getCollection', 'Api\BindBoxController@getCollection'); + Route::post('/bind_box/buyNFT', 'Api\BindBoxController@buyNFT'); + Route::post('/bind_box/marginNFT', 'Api\BindBoxController@marginNFT'); + Route::post('/bind_box/auctionNFT', 'Api\BindBoxController@auctionNFT'); + Route::post('/bind_box/getBindBoxQuotationLog', 'Api\BindBoxController@getBindBoxQuotationLog'); + Route::post('/bind_box/getMyNFTs', 'Api\BindBoxController@getMyNFTs'); + Route::post('/bind_box/getMyBindBoxQuotationLog', 'Api\BindBoxController@getMyBindBoxQuotationLog'); + Route::post('/bind_box/openBlindBox', 'Api\BindBoxController@openBlindBox'); + Route::post('/bind_box/resellNFT', 'Api\BindBoxController@resellNFT'); + Route::post('/bind_box/getNeedPayNFTOrder', 'Api\BindBoxController@getNeedPayNFTOrder'); + Route::post('/bind_box/payNFTOrder', 'Api\BindBoxController@payNFTOrder'); + Route::any('/bind_box/readNFTOrderMessage', 'Api\BindBoxController@readNFTOrderMessage'); + Route::any('/bind_box/test', 'Api\BindBoxController@test'); + + + Route::post('/user/getTransferList', 'Api\UserController@getTransferList');//获取币币转换类型 + Route::post('/user/Transfer', 'Api\UserController@Transfer');//币币转换 + Route::post('/user/getTransferFee', 'Api\UserController@getTransferFee'); + Route::post('/user/getCreditList', 'Api\UserController@getCreditList');//信用分记录 + + + Route::get('/bank/my_account', 'Api\BankController@myAccount'); + Route::post('/bank/transaction', 'Api\BankController@saveMoney'); + Route::get('/bank/bank_log', 'Api\BankController@bankLog'); + Route::get('/bank/week_profit', 'Api\BankController@weekProfit'); + Route::post('/bank/deposit', 'Api\BankController@timeDeposit'); + Route::get('/bank/deposit_order', 'Api\BankController@myDepositOrder'); + Route::post('/bank/withdraw', 'Api\BankController@withdraw'); + Route::get('project/detail', 'Api\CurrencyProjectController@projectDetail'); + Route::get('recharge/log', 'Api\UserController@rechargeLog'); + + + // 新版用户认证信息 + Route::get('real/newstate', 'Api\UserController@newrealState'); + Route::post('real/newreal', 'Api\UserController@newsaveUserReal'); + Route::post('real/updatesPassword', 'Api\UserController@updatesPassword'); + // 用户认证信息 + Route::get('real/state', 'Api\UserController@realState'); + Route::post('user/real', 'Api\UserController@saveUserReal'); + // 用户钱包操作相关 + Route::get('user/wallet/list', 'Api\UserController@userWalletList'); + Route::post('user/wallet/save', 'Api\UserController@userWalletSave'); + Route::any('/bank/bankList', + 'Api\BankInfoController@bankList')->middleware(['cross']); + // 用户个人中心 + Route::get('user/center/new', 'Api\UserController@userCenterNew'); + // 自选列表 + Route::get('optional/list', 'Api\OptionalController@list'); + + // 自选列表 + Route::get('optional/list', 'Api\OptionalController@list'); + // 添加自选 + Route::post('optional/add', 'Api\OptionalController@add'); + // 移除自选 + Route::post('optional/del', 'Api\OptionalController@del'); + // 移除自选 + Route::get('user/withdraw/list', 'Api\UserController@withdrawList'); + + + Route::post('project/order', 'Api\CurrencyProjectController@postOrder');//认购 + Route::post('project/lottery', 'Api\CurrencyProjectController@joinLottery'); + Route::post('project/buy', 'Api\CurrencyProjectController@buyOrder');//配售 + Route::get('user/project/order', 'Api\CurrencyProjectController@userOrder'); + + Route::post('/user/collection', 'Api\UserController@addCollection'); + Route::post('/user/collection/delete', 'Api\UserController@deleteCollection'); + Route::get('/user/my_collection', 'Api\UserController@getCollection'); + Route::get('/currency/deposit/config', 'Api\CurrencyDepositController@configList'); + Route::post('/currency/deposit', 'Api\CurrencyDepositController@deposit'); + Route::get('/currency/deposit/list', 'Api\CurrencyDepositController@orderList'); + Route::get('/currency/deposit/log', 'Api\CurrencyDepositController@logList'); + Route::post('/currency/deposit/gain', 'Api\CurrencyDepositController@getInterest'); + Route::get('/option/pairs', 'Api\OptionController@pairs'); + Route::post('/option/order', 'Api\OptionController@placeOrder'); + Route::get('/option/orders', 'Api\OptionController@myOrders'); + + Route::post('/ieo/redeem', 'Api\IeoController@redeemCode'); + + Route::get('/credit/dashboard', 'Api\CreditController@dashboard'); + Route::post('/credit/subscribe', 'Api\CreditController@creditSubscribe'); + Route::get('/credit/orders', 'Api\CreditController@myCreditOrders'); + Route::post('/credit/repay', 'Api\CreditController@repay'); + Route::post('/credit/repayAll', 'Api\CreditController@repayAll'); + + Route::get('/c2c/merchants', 'Api\C2cMerchantController@list'); + Route::post('/c2c/order', 'Api\C2cMerchantController@createOrder'); + Route::get('/c2c/myorders', 'Api\C2cMerchantController@myOrders'); + Route::get('/c2c/order/detail', 'Api\C2cMerchantController@orderDetail'); + + Route::get('/loan/institutions', 'Api\LoanController@institution'); + Route::post('/loan/submit', 'Api\LoanController@submit'); + Route::get('/loan/list', 'Api\LoanController@myLoans'); + + Route::post('/coin/trade', 'Api\CoinTradeController@submit'); + Route::get('/coin/list', 'Api\CoinTradeController@tradeList'); + Route::get('/coin/canceltrade', 'Api\CoinTradeController@cancelTrade'); + Route::post('chat/bind', 'Api\ChatController@bind'); + Route::post('chat/send', 'Api\ChatController@send'); + Route::post('chat/get_chat_logs', 'Api\ChatController@getChatLog'); + Route::post('chat/get_unread_msg', 'Api\ChatController@getUnreadMsg'); + Route::any('seller/show_news', 'Api\SellerController@show_news'); + Route::any('/seller/seller_add', 'Api\SellerController@postAdd')->middleware(['demo_limit']); + Route::get('/currency/user_currency_list', 'Api\CurrencyController@userCurrencyList'); + Route::any('show_candynum', 'Api\CandyTransferController@show_candynum'); + Route::any('transfer_candy', 'Api\CandyTransferController@transfer_candy'); + Route::any('show_transfer_candylist', 'Api\CandyTransferController@show_transfer_candylist'); + Route::any('/currency/currency_show', 'Api\UserController@currency_show'); + Route::any('/currency/currency_tousdt', 'Api\UserController@currency_tousdt'); + Route::any('/currency/currency_tousdt_log', 'Api\UserController@currency_tousdt_log'); + Route::get('update_balance', 'Api\UserController@updateBalance'); + Route::any('/candy/candyshow', 'Api\UserController@candyshow'); + Route::any('/candy/candy_tousdt', 'Api\UserController@candy_tousdt'); + Route::any('/candy/candyhistory', 'Api\PrizePoolController@candyhistory'); + Route::any('/candy/candy_tousdthistory', 'Api\PrizePoolController@candy_tousdthistory'); + Route::any('/profits/show_profits', 'Api\AccountController@show_profits'); + Route::any('/charge_mention/log', 'Api\AccountController@chargeMentionMoney'); + Route::post('user/cash_info', 'Api\UserController@cashInfo')->middleware(['demo_limit']); + Route::post('user/cash_info_international', 'Api\UserController@cashInfoInternational')->middleware(['demo_limit']); + Route::post('user/cash_save', 'Api\UserController@saveCashInfo')->middleware(['demo_limit']); + Route::post('user/cash_save_international', 'Api\UserController@saveCashInfoInternational')->middleware(['demo_limit']); + Route::post('/checkpassword', 'Api\UserController@checkPayPassword'); + Route::post('/feedback/list', 'Api\FeedBackController@myFeedBackList'); + Route::post('/feedback/detail', 'Api\FeedBackController@feedBackDetail'); + Route::post('/feedback/add', 'Api\FeedBackController@feedBackAdd'); + Route::post('/currencyapplication/add', 'Api\FeedBackController@currencyAdd'); + Route::post('safe/safe_center', 'Api\UserController@safeCenter'); + Route::post('safe/gesture_add', 'Api\UserController@gesturePassAdd'); + Route::post('safe/gesture_del', 'Api\UserController@gesturePassDel'); + Route::post('safe/update_password', 'Api\UserController@updatePayPassword'); + Route::post('safe/mobile', 'Api\UserController@setMobile'); + Route::post('safe/email', 'Api\UserController@setEmail'); + Route::get('mining', 'Api\UserController@mining'); + Route::post('wallet/list', 'Api\WalletController@walletList'); + Route::post('wallet/balancelist', 'Api\WalletController@BalanceList'); + Route::post('wallet/Wiretransfer', 'Api\WalletController@Wiretransfer'); //电汇 + + Route::post('wallet/detail', 'Api\WalletController@getWalletDetail'); + Route::post('wallet/change', 'Api\WalletController@changeWallet'); + Route::any('wallet/hzhistory', 'Api\WalletController@hzhistory'); + + // Route::get('wallet/earnedhistory', 'Api\WalletController@earnedhistory'); + Route::post('wallet/charge_req', 'Api\WalletController@chargeReq'); //充值 + Route::post('wallet/get_info', 'Api\WalletController@getCurrencyInfo'); + Route::post('wallet/get_address', 'Api\WalletController@getAddressByCurrency'); + Route::post('wallet/out', 'Api\WalletController@postWalletOut')->middleware([ + 'demo_limit', + 'score_limit', + 'validate_locked', + 'lever_hold_check', + 'check_user' + ]); + Route::post('wallet/get_in_address', + 'Api\WalletController@getWalletAddressIn')->middleware(['demo_limit']); + Route::any('wallet/legal_log', 'Api\WalletController@legalLog'); + + Route::any('wallet/out_log', 'Api\WalletController@walletOutLog'); + Route::post('/wallet/flashAgainst', 'Api\WalletController@flashAgainst')->middleware('validate_locked'); + Route::get('/wallet/myFlashAgainstList', 'Api\WalletController@myFlashAgainstList'); + Route::any('wallet/my_conversion', 'Api\WalletController@myConversion'); + Route::any('wallet/conversion_list', 'Api\WalletController@conversionList'); + Route::post('wallet/conversion', 'Api\WalletController@conversion'); + Route::post('wallet/conversion_set', 'Api\WalletController@conversionSet'); + Route::post('transaction_in', 'Api\TransactionController@TransactionInList'); + Route::post('transaction_out', 'Api\TransactionController@TransactionOutList'); + Route::post('transaction_complete', 'Api\TransactionController@TransactionCompleteList'); + Route::post('transaction_del', 'Api\TransactionController@TransactionDel'); + + Route::get('/index', 'Api\DefaultController@index'); + Route::post('/user/vip', 'Api\UserController@vip'); + Route::post('/historical_data', 'Api\DefaultController@historicalData'); + + + Route::post('/quotation', 'Api\DefaultController@quotation'); + Route::post('/quotation/info', 'Api\DefaultController@quotationInfo'); + + Route::post('/transaction/revoke', 'Api\TransactionController@revoke'); + + Route::post('/transaction/entrust', 'Api\TransactionController@entrust'); + Route::post('/transaction/entrustlog', 'Api\TransactionController@entrustlog'); + Route::post('/transaction/deal', 'Api\TransactionController@deal'); + Route::post('/transaction/in', 'Api\TransactionController@in')->middleware('validate_locked'); + Route::post('/transaction/out', 'Api\TransactionController@out')->middleware('validate_locked'); + + Route::post('/lever/deal', 'Api\LeverController@deal'); + Route::post('/lever/dealall', 'Api\LeverController@dealAll'); + Route::post('/lever/submit', + ['uses' => 'Api\LeverController@submit', 'middleware' => ['validate_locked', 'check_user']]); + Route::post('/lever/dataget', + ['uses' => 'Api\LeverController@dataget', 'middleware' => ['validate_locked', 'check_user']]); + Route::post('/lever/close', ['uses' => 'Api\LeverController@close', 'middleware' => ['validate_locked', 'check_user']]); + Route::post('/lever/cancel', ['uses' => 'Api\LeverController@cancelTrade', 'middleware' => ['validate_locked', 'check_user']]); + Route::post('/lever/batch_close', ['uses' => 'Api\LeverController@batchCloseByType', 'middleware' => ['validate_locked', 'check_user']]); + Route::post('/lever/setstop', 'Api\LeverController@setStopPrice'); + Route::post('/lever/my_trade', 'Api\LeverController@myTrade'); + + Route::post('/lever/my_ls_order', 'Api\LeverController@mylsOrder'); + + Route::post('/false/data', 'Api\DefaultController@falseData'); + Route::post('/data/graph', 'Api\DefaultController@dataGraph'); + Route::get('/money/exit', 'Api\WalletController@moneyExit'); + Route::post('/money/exit', 'Api\WalletController@doMoneyExit'); + Route::get('/money/rechange', 'Api\WalletController@moneyRechange'); + Route::post('/wallet/add', 'Api\WalletController@add'); + Route::get('/wallet/lista', 'Api\WalletController@lista'); + + Route::post('/t/add', 'Api\TransactionController@tadd'); + + Route::get('follow/index', 'Api\FollowController@index'); //跟单中心 + Route::post('follow/follow', 'Api\FollowController@follow'); //跟随 + Route::post('follow/cancel', 'Api\FollowController@cancel'); //取消跟随 + Route::get('follow/traderDetail', 'Api\FollowController@traderDetail'); //交易员详情 + Route::get('follow/Detail', 'Api\FollowController@gdDetail'); //交易员详情 + Route::post('follow/selfHolding', 'Api\FollowController@selfHolding'); //转自持 + Route::get('follow/historyTrade', 'Api\FollowController@historyTrade'); //历史交易 + + Route::post('/account/list', 'Api\AccountController@list'); + Route::post('/transaction/add', 'Api\TransactionController@add'); + Route::post('/transaction/list', 'Api\TransactionController@list'); + Route::post('/transaction/info', 'Api\TransactionController@info'); + + Route::post('/user/update_address', 'Api\UserController@updateAddress'); + Route::post('/user/getuserbyaddress', 'Api\UserController@getUserByAddress'); + + Route::post('/user/chat', 'Api\UserController@sendchat'); + Route::post('/user/chatlist', 'Api\UserController@chatlist'); + + Route::any('handle_one', [ + 'uses' => 'Api\LegalDealController@handle_one', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('legal_send', 'Api\LegalDealController@postSend')->middleware([ + 'demo_limit', + 'validate_locked' + ]); + Route::get('legal_deal_info', [ + 'uses' => 'Api\LegalDealController@legalDealSendInfo', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::post('do_legal_deal', [ + 'uses' => 'Api\LegalDealController@doDeal', + 'middleware' => ['check_user', 'demo_limit', 'validate_locked'] + ]); + Route::get('legal_seller_deal', [ + 'uses' => 'Api\LegalDealController@sellerLegalDealList', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::get('legal_user_deal', [ + 'uses' => 'Api\LegalDealController@userLegalDealList', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::any('seller_legal_user_deal', [ + 'uses' => 'Api\LegalDealController@sellerUserLegalDealList', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::get('seller_info', 'Api\LegalDealController@sellerInfo')->middleware(['demo_limit']); + Route::get('seller_trade', 'Api\LegalDealController@tradeList')->middleware(['demo_limit']); + Route::get('legal_deal', [ + 'uses' => 'Api\LegalDealController@legalDealInfo', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('user_legal_pay', [ + 'uses' => 'Api\LegalDealController@userLegalDealPay', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('user_legal_pay_cancel', [ + 'uses' => 'Api\LegalDealController@userLegalDealCancel', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::get('my_seller', [ + 'uses' => 'Api\LegalDealController@mySellerList', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::get('legal_send_deal_list', [ + 'uses' => 'Api\LegalDealController@legalDealSellerList', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('legal_deal_sure', [ + 'uses' => 'Api\LegalDealController@doSure', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('legal_deal_user_sure', [ + 'uses' => 'Api\LegalDealController@userDoSure', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('back_send', [ + 'uses' => 'Api\LegalDealController@backSend', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('error_send', [ + 'uses' => 'Api\LegalDealController@errorSend', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('down_send', 'Api\LegalDealController@down')->middleware(['demo_limit', 'check_user', 'validate_locked']); + Route::post('user/invite_list', 'Api\UserController@inviteList')->middleware(['demo_limit']); + Route::get('user/invite', 'Api\UserController@invite')->middleware(['demo_limit']); + + Route::post('user/my_invite_list', 'Api\UserController@myInviteList')->middleware(['demo_limit']); + Route::post('user/my_account_return', + 'Api\UserController@myAccountReturn')->middleware(['demo_limit']); + Route::get('user/my_poster', 'Api\UserController@posterBg')->middleware(['demo_limit']); + Route::get('user/my_share', 'Api\UserController@share')->middleware(['demo_limit']); + Route::get('user/info', 'Api\UserController@info'); + Route::get('user/center', 'Api\UserController@userCenter'); + Route::get('user/logout', 'Api\UserController@logout'); + Route::post('user/setaccount', 'Api\UserController@setAccount')->middleware(['demo_limit']); + + Route::get('/wallet/currencylist', 'Api\WalletController@currencyList'); + Route::post('/wallet/addaddress', 'Api\WalletController@addAddress'); + Route::post('/wallet/deladdress', 'Api\WalletController@addressDel'); + + Route::get('/transaction/checkinout', 'Api\TransactionController@checkInOut'); + Route::get('/user/into_tra_log', 'Api\UserController@into_tra_log'); + Route::post('sendLtcKMB', 'Api\WalletController@sendLtcKMB'); + Route::get('PB', 'Api\WalletController@PB'); + Route::post('/transaction/walletIn', 'Api\TransactionController@walletIn')->middleware(['demo_limit']); + Route::post('/transaction/walletOut', 'Api\TransactionController@walletOut')->middleware(['demo_limit']); + Route::get('/transaction/balance', 'Api\TransactionController@balance')->middleware(['demo_limit']); + Route::post('wallet/ltcSend', 'Api\WalletController@ltcSend')->middleware(['demo_limit']); + Route::post('wallet_add', 'Api\WalletOneController@add'); + Route::get('new/walletList', 'Api\WalletOneController@walletList'); + Route::get('new/money/rechange', 'Api\WalletOneController@moneyRechange'); + Route::post('account/newlist', 'Api\WalletOneController@accountList'); + Route::post('transaction/newadd', 'Api\WalletOneController@walletChange'); + Route::post('get/userinfo', 'Api\WalletOneController@getInfo'); + Route::post('c2c_send', [ + 'uses' => 'Api\C2cDealController@postSend', + 'middleware' => ['check_user', 'validate_locked'] + ])->middleware(['demo_limit']); + Route::get('c2c_deal_info', [ + 'uses' => 'Api\C2cDealController@legalDealSendInfo', + 'middleware' => ['check_user'] + ])->middleware(['demo_limit']); + Route::post('c2c/do_legal_deal', [ + 'uses' => 'Api\C2cDealController@doDeal', + 'middleware' => ['check_user', 'demo_limit', 'validate_locked'] + ]); + Route::post('wallet/real_name', 'Api\UserController@walletRealName'); + Route::get('c2c/seller_info', 'Api\C2cDealController@sellerInfo')->middleware(['demo_limit']); + Route::get('c2c/seller_trade', 'Api\C2cDealController@tradeList')->middleware(['demo_limit']); + Route::get('c2c_seller_deal', [ + 'uses' => 'Api\C2cDealController@sellerLegalDealList', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::get('c2c_user_deal', [ + 'uses' => 'Api\C2cDealController@userLegalDealList', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::get('c2c_deal', + ['uses' => 'Api\C2cDealController@legalDealInfo', 'middleware' => ['demo_limit', 'check_user']]); + Route::post('c2c/user_legal_pay_cancel', [ + 'uses' => 'Api\C2cDealController@userLegalDealCancel', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::post('c2c/user_vv', + ['uses' => 'Api\C2cDealController@handle', 'middleware' => ['check_user', 'demo_limit']]); + Route::post('c2c/user_legal_pay', [ + 'uses' => 'Api\C2cDealController@userLegalDealPay', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::post('c2c/legal_deal_sure', + ['uses' => 'Api\C2cDealController@doSure', 'middleware' => ['check_user', 'demo_limit']]); + Route::post('c2c/legal_deal_user_sure', + ['uses' => 'Api\C2cDealController@userDoSure', 'middleware' => ['check_user', 'demo_limit']]); + Route::post('c2c/back_send', + ['uses' => 'Api\C2cDealController@backSend', 'middleware' => ['check_user', 'demo_limit']]); + Route::get('c2c/legal_send_deal_list', [ + 'uses' => 'Api\C2cDealController@legalDealSellerList', + 'middleware' => ['check_user', 'demo_limit'] + ]); + Route::prefix('microtrade')->namespace('Api')->group(function () { + Route::get('payable_currencies', 'MicroOrderController@getPayableCurrencies'); + Route::get('seconds', 'MicroOrderController@getSeconds'); + Route::post('submit', 'MicroOrderController@submit')->middleware('validate_locked', 'check_user'); + Route::get('lists', 'MicroOrderController@lists')->middleware('validate_locked'); + Route::get('bind_seconds', 'MicroOrderController@getBindSeconds'); + Route::get('get_result', 'MicroOrderController@getResult'); + Route::post('order', 'MicroOrderController@getOrder')->middleware('validate_locked','check_user'); //提交下单 + Route::get('getkaijiang', 'MicroOrderController@getOneById')->middleware('validate_locked'); //根据ID获取下单记录 + }); + Route::prefix('insurance')->namespace('Api')->group(function () { + Route::post('buy_insurance', 'InsuranceController@buyInsurance'); + Route::post('get_insurance_type', 'InsuranceController@getInsuranceType'); + Route::post('get_user_currency_insurance', 'InsuranceController@getUserCurrencyInsurance'); + Route::post('claim_apply', 'InsuranceController@claimApply'); + Route::post('manual_rescission', 'InsuranceController@manualRescission'); + }); + + + Route::get('insurance_money', 'Api\WalletController@Insurancemoney'); + Route::get('insurance_money_logs', 'Api\WalletController@Insurancemoneylogs'); + + }); + Route::post('api/user/walletRegister', 'Api\LoginController@walletRegister'); + Route::get('api/ltcGet', 'Api\WalletController@ltcGet'); + Route::post('/admin/login', 'Admin\DefaultController@login'); + Route::get('new/walletList', 'Api\WalletOneController@walletList'); + + Route::post('/admin/login', 'Admin\DefaultController@login'); + Route::group(['prefix' => 'winadmin', 'middleware' => ['admin_auth']], function () { + Route::get('/index', 'Admin\DefaultController@index'); + }); + Route::group(['prefix' => 'admin', 'middleware' => ['admin_auth']], function () { + + // Loan Management + Route::get('/loan/index', 'Admin\LoanController@index'); + Route::get('/loan/list', 'Admin\LoanController@list'); + Route::post('/loan/approve', 'Admin\LoanController@approve'); + Route::post('/loan/reject', 'Admin\LoanController@reject'); + + // IEO Management + Route::get('/ieo/projects', 'Admin\IeoController@projectIndex'); + Route::get('/ieo/project/list', 'Admin\IeoController@projectList'); + Route::post('/ieo/project/save', 'Admin\IeoController@projectSave'); + Route::post('/ieo/project/delete', 'Admin\IeoController@projectDelete'); + Route::get('/ieo/orders', 'Admin\IeoController@orderIndex'); + Route::get('/ieo/order/list', 'Admin\IeoController@orderList'); + Route::post('/ieo/order/force', 'Admin\IeoController@forceResult'); + Route::post('/ieo/order/lottery', 'Admin\IeoController@lottery'); + Route::get('/ieo/codes', 'Admin\IeoController@codeList'); + Route::post('/ieo/generate_codes', 'Admin\IeoController@generateCodes'); + + // Credit Management + Route::get('/credit', 'Admin\CreditController@index'); + Route::get('/credit/list', 'Admin\CreditController@list'); + Route::post('/credit/grant', 'Admin\CreditController@grant'); + Route::get('/credit/orders', 'Admin\CreditController@orderIndex'); + Route::get('/credit/order/list', 'Admin\CreditController@orderList'); + Route::get('/loan/list', 'Admin\LoanController@list'); + Route::post('/loan/approve', 'Admin\LoanController@approve'); + Route::post('/loan/reject', 'Admin\LoanController@reject'); + + // Option Management + Route::get('/option/orders', 'Admin\OptionController@orderIndex'); + Route::get('/option/order/list', 'Admin\OptionController@orderList'); + Route::post('/option/order/settle', 'Admin\OptionController@settle'); + + // C2C Merchant Management + Route::get('/c2c_merchant', 'Admin\C2cMerchantController@index'); + Route::get('/c2c_merchant/list', 'Admin\C2cMerchantController@list'); + Route::post('/c2c_merchant/save', 'Admin\C2cMerchantController@save'); + Route::post('/c2c_merchant/delete', 'Admin\C2cMerchantController@delete'); + Route::get('/c2c_merchant/orders', 'Admin\C2cMerchantController@orderIndex'); + Route::get('/c2c_merchant/order/list', 'Admin\C2cMerchantController@orderList'); + Route::post('/c2c_merchant/order/complete', 'Admin\C2cMerchantController@completeOrder'); + + Route::get('user/quotation', 'Admin\UserController@quotation'); + Route::post('user/quotation', 'Admin\UserController@saveQuotation'); + //双币理财后台 + Route::get('/dual/order', 'Admin\DualController@order'); + Route::get('/dual/editDualView', 'Admin\DualController@editDualView'); + Route::get('/dual/order_lists', 'Admin\DualController@order_lists'); + Route::get('/pay/payLog','Admin\PayController@payLog'); + Route::get('/payInfo/list','Admin\PayController@index'); + Route::post('/pay/close_nofity','Admin\PayController@closeNofity'); + Route::get('/dual/index', 'Admin\DualController@index'); + Route::get('/dual/add', 'Admin\DualController@add'); + Route::get('dual_list', 'Admin\DualController@lists'); + Route::get('/dual/getnewprice', 'Admin\DualController@getNewPrice'); + Route::post('/dual/saveDual', 'Admin\DualController@saveDual'); + Route::post('/dual/editDual', 'Admin\DualController@editDual'); + Route::post('/dual/del', 'Admin\DualController@del'); + + //AI + Route::get('/ai/order', 'Admin\AiController@order'); + Route::get('/ai/editAiView', 'Admin\AiController@editAiView'); + Route::get('/ai/order_lists', 'Admin\AiController@order_lists'); + Route::get('/ai/index', 'Admin\AiController@index'); + Route::get('/ai/add', 'Admin\AiController@add'); + Route::get('ai_list', 'Admin\AiController@lists'); + Route::get('/ai/getnewprice', 'Admin\AiController@getNewPrice'); + Route::post('/ai/saveAi', 'Admin\AiController@saveAi'); + Route::post('/ai/editAi', 'Admin\AiController@editAi'); + Route::post('/ai/del', 'Admin\AiController@del'); + + + Route::any('myquotation/all', 'Admin\MyQuotation@index'); + Route::get('/setting/index_second', 'Admin\SettingController@index_second'); + + //借贷 + Route::get('/lending/order', 'Admin\LendingController@order'); + Route::get('/lending/editLendingView', 'Admin\LendingController@editLendingView'); + Route::get('/lending/order_lists', 'Admin\LendingController@order_lists'); + + Route::get('/lending/index', 'Admin\LendingController@index'); + Route::get('/lending/add', 'Admin\LendingController@add'); + + Route::post('/lending/del', 'Admin\LendingController@del'); + Route::get('lending_list', 'Admin\LendingController@lists'); + + Route::get('/lending/getnewprice', 'Admin\LendingController@getNewPrice'); + Route::post('/lending/saveLending', 'Admin\LendingController@saveLending'); + Route::post('/lending/editLending', 'Admin\LendingController@editLending'); + + //借贷放款 审核 + Route::get('jiedai_show', 'Admin\LendingController@show')->middleware(['demo_limit']); + Route::post('jiedai_done', 'Admin\LendingController@done')->middleware(['demo_limit']); + Route::post('adjust_account', 'Admin\LendingController@cancle')->middleware(['demo_limit']); + + Route::get('/userGradeSetting/index', 'Admin\UserGradeSettingController@index'); + Route::post('/userGradeSetting/store', 'Admin\UserGradeSettingController@store'); + Route::post('/is_transfer', 'Admin\CurrencyController@is_transfer'); + Route::post('/is_open', 'Admin\CurrencyController@is_open'); + + Route::post('/deposit/cancelOrder', 'Admin\BossController@cancelOrder');//管理员取消订单 + + Route::get('/deposit/config/view', 'Admin\BossController@depositConfigView'); + + Route::get('/deposit/config', 'Admin\BossController@depositConfig'); + Route::get('/deposit/config/add/view', 'Admin\BossController@depositConfigAddView'); + Route::post('/deposit/add_deposit_config', 'Admin\BossController@addConfig'); + Route::post('/deposit/config/delete', 'Admin\BossController@depositConfigDelete'); + + + Route::get('/deposit/config/edit/view', 'Admin\BossController@depositConfigEditView'); + Route::post('/deposit/edit_deposit_config', 'Admin\BossController@editConfig'); + + + Route::get('/ybb/index', 'Admin\BossController@depositOrderView'); + Route::get('/ybb/list', 'Admin\BossController@depositOrderList'); + Route::get('/ybb/unlock/view', 'Admin\BossController@unlockOrderView'); + Route::get('/ybb/unlock/list', 'Admin\BossController@unlockOrder'); + Route::get('/ybb/account', 'Admin\BossController@lhAccount'); + Route::get('/ybb/account/edit/view', 'Admin\BossController@editLhAccountView'); + Route::post('/ybb/account/edit', 'Admin\BossController@editLhAccount'); + Route::get('/currency/project/view', 'Admin\CurrencyProjectController@projectView'); + Route::get('/currency/project/detail/view', 'Admin\CurrencyProjectController@projectDetailView'); + Route::get('/currency/project/list', 'Admin\CurrencyProjectController@projectList'); + Route::post('/currency/project/add', 'Admin\CurrencyProjectController@newProject'); + Route::post('/currency/project/edit', 'Admin\CurrencyProjectController@editProject'); + Route::get('/currency/project/detail', 'Admin\CurrencyProjectController@projectDetail'); + + Route::post('/currency/project/del', 'Admin\CurrencyProjectController@delProject'); + + + Route::get('/currency/deposit/{currency_id}', 'Admin\CurrencyDepositController@configView'); + Route::get('/currency/deposit/{currency_id}/list', 'Admin\CurrencyDepositController@currencyConfig'); + Route::get('/currency/deposit_config', 'Admin\CurrencyDepositController@addConfigView'); + + Route::get('/currency/deposit_order', 'Admin\CurrencyDepositController@orderView'); + Route::get('/currency/deposit_order/list', 'Admin\CurrencyDepositController@orderList'); + + Route::post('/currency/add_deposit_config', 'Admin\CurrencyDepositController@newConfig'); + Route::post('/currency/edit_deposit_config', 'Admin\CurrencyDepositController@editConfig'); + Route::post('/currency/delete_deposit_config', 'Admin\CurrencyDepositController@deleteConfig'); + + + Route::get('/coin_trade', 'Admin\CoinTradeController@index'); + Route::get('/coin_trade/list', 'Admin\CoinTradeController@tradeList'); + Route::post('/coin_trade/close', 'Admin\CoinTradeController@finishTrade'); + Route::get('/safe/verificationcode', 'Admin\DefaultController@getVerificationCode'); + Route::get('/flashagainst/index', 'Admin\FlashAgainstController@index'); + Route::get('/flashagainst/list', 'Admin\FlashAgainstController@lists'); + Route::post('/flashagainst/affirm', 'Admin\FlashAgainstController@affirm'); + Route::post('/flashagainst/reject', 'Admin\FlashAgainstController@reject'); + Route::any('/seller/status', 'Admin\SellerController@status'); + Route::get('/candytransfer/detail', 'Admin\CandyTransferController@feedBackDetail'); + Route::get('/candytransfer/del', 'Admin\CandyTransferController@feedBackDel'); + Route::post('/candytransfer/reply', 'Admin\CandyTransferController@reply'); + Route::get('/candytransfer/index', 'Admin\CandyTransferController@index'); + Route::get('/candytransfer/list', 'Admin\CandyTransferController@candytransfer_List'); + Route::any('admin_legal_pay_cancel', 'Admin\LegalDealController@adminLegalDealCancel'); + Route::any('legal_deal_admin_sure', 'Admin\LegalDealController@adminDoSure'); + Route::post('legal_deal_admin_user_sure', 'Admin\LegalDealController@admin_userDoSure'); + Route::any('Leverdeals/Leverdeals_show', 'Admin\TransactionController@Leverdeals_show'); + Route::any('Leverdeals/list', 'Admin\TransactionController@Leverdeals'); + Route::get('Leverdeals/csv', 'Admin\TransactionController@csv'); + Route::get('/legal', 'Admin\LegalDealSendController@index')->middleware(['demo_limit']); + Route::get('/legal/list', 'Admin\LegalDealSendController@list'); + Route::get('/legal_deal', 'Admin\LegalDealController@index')->middleware(['demo_limit']); + Route::get('/legal_deal/list', 'Admin\LegalDealController@list'); + Route::get('/c2c', 'Admin\C2cDealSendController@index')->middleware(['demo_limit']); + Route::get('/c2c/list', 'Admin\C2cDealSendController@list'); + Route::get('/c2c_deal', 'Admin\C2cDealController@index')->middleware(['demo_limit']); + Route::get('/c2c_deal/list', 'Admin\C2cDealController@list'); + Route::post('c2c/send/back', 'Admin\C2cDealSendController@sendBack'); + Route::post('c2c/send/del', 'Admin\C2cDealSendController@sendDel'); + Route::get('/feedback/detail', 'Admin\FeedBackController@feedBackDetail'); + Route::get('/feedback/del', 'Admin\FeedBackController@feedBackDel'); + Route::post('/feedback/reply', 'Admin\FeedBackController@reply'); + Route::get('/feedback/index', 'Admin\FeedBackController@index'); + Route::get('/feedback/list', 'Admin\FeedBackController@feedbackList'); + Route::get('/setting/index', 'Admin\SettingController@index'); + Route::get('/setting/list', 'Admin\SettingController@list'); + Route::get('/setting/add', 'Admin\SettingController@add'); + Route::post('/setting/postadd', 'Admin\SettingController@postAdd'); + Route::get('/setting/set_base', 'Admin\SettingController@base'); + Route::post('/setting/basesite', 'Admin\SettingController@setBase'); + Route::get('/setting/data/index', 'Admin\SettingController@dataSetting'); + Route::get('cashb', 'Admin\CashbController@index')->middleware(['demo_limit']); + Route::get('cashb_list', 'Admin\CashbController@cashbList'); + Route::get('cashb_show', 'Admin\CashbController@show')->middleware(['demo_limit']); + Route::post('cashb_done', 'Admin\CashbController@done')->middleware(['demo_limit']); + Route::get('cashb_back', 'Admin\CashbController@back')->middleware(['demo_limit']); + Route::get('/user/csv', 'Admin\UserController@csv')->middleware(['demo_limit']); + Route::get('/cashb/csv', 'Admin\CashbController@csv')->middleware(['demo_limit']); + Route::get('/feedback/csv', 'Admin\FeedBackController@csv')->middleware(['demo_limit']); + Route::get('/c2c_deal/csv', 'Admin\C2cDealController@csv')->middleware(['demo_limit']); + Route::get('/index', 'Admin\DefaultController@indexnew'); + Route::get('/user/user_index', 'Admin\UserController@index'); + Route::get('/user/list', 'Admin\UserController@lists'); + Route::get('/user/add', 'Admin\UserController@add'); + Route::post('/user/add', 'Admin\UserController@postadd'); + Route::get('/setting/bankCard', 'Admin\SettingController@bankCard'); + Route::get('/setting/bank_add', 'Admin\SettingController@bankAdd'); + Route::get('/setting/editBankCard', 'Admin\SettingController@editBankCard'); + Route::post('/setting/editBankCard', 'Admin\SettingController@editBankCard'); + Route::post('/setting/bank_add', 'Admin\SettingController@bankAdd'); + Route::post('/setting/delBankCard', 'Admin\SettingController@delBankCard'); + Route::get('/user/users_wallet', 'Admin\UserController@wallet'); + Route::get('/user/walletList', 'Admin\UserController@walletList'); + Route::post('/user/wallet_lock', 'Admin\UserController@walletLock'); + Route::post('/user/set_bind_box', 'Admin\UserController@setBindBox'); + Route::post('/user/trader', 'Admin\UserController@trader'); + //后台NFT + Route::get('/bind_box/index', 'Admin\BindBoxController@index'); + Route::get('/bind_box/list', 'Admin\BindBoxController@lists'); + Route::get('/bind_box/add', 'Admin\BindBoxController@add'); + Route::post('/bind_box/addNFT', 'Admin\BindBoxController@addNFT'); + Route::get('/bind_box/edit', 'Admin\BindBoxController@edit'); + Route::post('/bind_box/editNFT', 'Admin\BindBoxController@editNFT'); + Route::get('/bind_box/order', 'Admin\BindBoxController@order'); + Route::get('/bind_box/orderList', 'Admin\BindBoxController@orderList'); + Route::get('/bind_box/quotation', 'Admin\BindBoxController@quotation'); + Route::get('/bind_box/quotationList', 'Admin\BindBoxController@quotationList'); + Route::post('/bind_box/getRarityHouse', 'Admin\BindBoxController@getRarityHouse'); + Route::get('/bind_box/rarity_house', 'Admin\BindBoxController@rarity_house'); //盲盒仓库 + Route::get('/bind_box/rarity_house_list', 'Admin\BindBoxController@rarity_house_list'); //盲盒仓库列表 + Route::get('/bind_box/add_rarity_house_list', 'Admin\BindBoxController@rarity_house_list'); //盲盒仓库列表 + Route::get('/bind_box/add_rarity_house_view', 'Admin\BindBoxController@add_rarity_house_view'); //添加 + Route::post('/bind_box/add_rarity_house', 'Admin\BindBoxController@add_rarity_house'); // + Route::get('/bind_box/edit_rarity_house_view', 'Admin\BindBoxController@edit_rarity_house_view'); // + Route::post('/bind_box/edit_rarity_house', 'Admin\BindBoxController@edit_rarity_house'); // + Route::get('/bind_box/success_order', 'Admin\BindBoxController@success_order'); + Route::get('/bind_box/success_order_list', 'Admin\BindBoxController@success_order_list'); + Route::post('/bind_box/del', 'Admin\BindBoxController@del'); + + Route::get('/message/message_index', 'Admin\MailMessageController@index'); + Route::get('/message/message_list', 'Admin\MailMessageController@list'); + Route::get('/message/message_add', 'Admin\MailMessageController@add'); + Route::post('/message/message_add', 'Admin\MailMessageController@postAdd'); + Route::post('/message/message_post_add', 'Admin\MailMessageController@post_add'); + Route::post('/message/message_del', 'Admin\MailMessageController@del'); + Route::post('/message/message_fs', 'Admin\MailMessageController@fs'); + + Route::get('/tips/tips', 'Admin\TipsController@tips'); + + Route::get('/user/conf', 'Admin\UserController@conf'); + Route::post('/user/conf', 'Admin\UserController@postConf'); + Route::post('/user/del', 'Admin\UserController@del')->middleware(['demo_limit']); + Route::post('/user/delw', 'Admin\UserController@delw')->middleware(['demo_limit']); + Route::get('/user/lock', 'Admin\UserController@lockUser'); + Route::post('/user/lock', 'Admin\UserController@dolock'); + Route::post('/user/blacklist', 'Admin\UserController@blacklist')->middleware(['demo_limit']); + Route::get('user/candy_conf/{id}', 'Admin\UserController@candyConf'); + Route::post('user/candy_conf/{id}', 'Admin\UserController@postCandyConf'); + // 用户积分调节 + Route::get('user/score', 'Admin\UserController@score'); + Route::post('user/score', 'Admin\UserController@score'); + + // 用户银行卡 + Route::get('user/cash_info', 'Admin\UserController@cashInfo'); + Route::post('user/cash_info', 'Admin\UserController@cashInfo'); + Route::delete('user/cash_info', 'Admin\UserController@deleteCashInfo'); + //钱包地址 + Route::get('user/userWalletList', 'Admin\UserController@userWalletList'); + Route::post('user/userWalletList', 'Admin\UserController@userWalletList'); + // 用户银行卡(国际) + Route::get('user/cash_info_international', 'Admin\UserController@cashInfoInternational'); + Route::post('user/cash_info_international', 'Admin\UserController@cashInfoInternational'); + Route::delete('user/cash_info_international', 'Admin\UserController@deleteCashInfoInternational'); + + Route::get('user/level/list', 'Admin\UserController@levelList'); + Route::post('user/level/list', 'Admin\UserController@levelList'); + Route::get('user/level/edit', 'Admin\UserController@levelEdit'); + Route::post('user/level/edit', 'Admin\UserController@levelEdit'); + + + Route::get('/user/address', 'Admin\UserController@address'); + Route::post('/user/address_edit', 'Admin\UserController@addressEdit'); + Route::get('/user/edit', 'Admin\UserController@edit'); + Route::post('/user/edit', 'Admin\UserController@doedit'); + Route::get('/user/editltc', 'Admin\UserController@editltc'); + Route::post('/user/editltc', 'Admin\UserController@doeditltc'); + Route::post('/user/batch_risk', 'Admin\UserController@batchRisk'); + Route::get('/user/real_index', 'Admin\UserRealController@index'); + Route::get('/user/real_list', 'Admin\UserRealController@list'); + Route::get('/user/real_info', 'Admin\UserRealController@detail'); + Route::post('/user/real_del', 'Admin\UserRealController@del'); + Route::post('/user/real_error', 'Admin\UserRealController@autherror'); + Route::post('/user/real_auth', 'Admin\UserRealController@auth'); + Route::post('/user/real_advanced', 'Admin\UserRealController@setAdvancedUser'); + Route::get('/user/false_data', 'Admin\UserController@falseData'); + Route::get('/user/chart_data', 'Admin\UserController@chartData'); + Route::post('/user/chart_data', 'Admin\UserController@dochartData'); + Route::get('/user/falsedata_add', 'Admin\UserController@falsedataadd'); + Route::post('/user/falsedata_add', 'Admin\UserController@dofalsedataadd'); + Route::post('/user/falsedata_del', 'Admin\UserController@dofalsedatadel'); + Route::get('/user/falsedata', 'Admin\UserController@falsedatas'); + Route::get('/user/count_index', 'Admin\UserController@countData'); + Route::get('/account/account_index', 'Admin\AccountLogController@index'); + Route::get('/account/list', 'Admin\AccountLogController@lists'); + Route::get('/account/viewDetail', 'Admin\AccountLogController@view'); + Route::get('/invite/account_return', 'Admin\InviteController@return'); + Route::get('/invite/return_list', 'Admin\InviteController@returnList'); + Route::get('/invite/childs', 'Admin\InviteController@childs'); + Route::get('/invite/share', 'Admin\InviteController@share'); + Route::post('/invite/share', 'Admin\InviteController@postShare'); + Route::get('/invite/getTree', 'Admin\InviteController@getTree'); + + Route::get('/invite/getTop', 'Admin\InviteController@getTopUsers'); + Route::get('/invite/getSon', 'Admin\InviteController@getSonByPid'); + + + Route::post('/invite/del', 'Admin\InviteController@del'); + Route::get('/invite/edit', 'Admin\InviteController@edit'); + Route::post('/invite/edit', 'Admin\InviteController@doedit'); + Route::post('/invite/bgdel', 'Admin\InviteController@bgdel'); + Route::get('/transaction/tran_index', 'Admin\TransactionController@index'); + Route::get('/transaction/list', 'Admin\TransactionController@lists'); + Route::get('/manager/manager_index', function () { + return view('admin.manager.index'); + }); + Route::get('/manager/users', 'Admin\AdminController@users'); + Route::get('/manager/add', 'Admin\AdminController@add'); + Route::post('/manager/add', 'Admin\AdminController@postAdd'); + Route::post('/manager/delete', 'Admin\AdminController@del'); + Route::get('/manager/manager_roles', function () { + return view('admin.manager.admin_roles'); + }); + Route::get('/manager/manager_roles_api', 'Admin\AdminRoleController@users'); + Route::get('/manager/role_add', 'Admin\AdminRoleController@add'); + Route::post('/manager/role_add', 'Admin\AdminRoleController@postAdd'); + Route::post('/manager/role_delete', 'Admin\AdminRoleController@del'); + Route::get('/manager/role_permission', 'Admin\AdminRolePermissionController@update'); + Route::post('/manager/role_permission', 'Admin\AdminRolePermissionController@postUpdate'); + Route::get('/micro_number_index', function () { + return view('admin.micro.index'); + }); + Route::get('/micro_number_add', 'Admin\MicroController@add'); + Route::post('/micro_number_add', 'Admin\MicroController@postAdd'); + Route::get('/micro_numbers_list', 'Admin\MicroController@lists'); + Route::post('/micro_number_del', 'Admin\MicroController@del'); + Route::get('/micro_seconds_index', function () { + return view('admin.micro.seconds_index'); + }); + Route::get('/micro_seconds_add', 'Admin\MicroController@secondsAdd'); + Route::post('/micro_seconds_add', 'Admin\MicroController@secondsPostAdd'); + Route::get('/micro_seconds_list', 'Admin\MicroController@secondsLists'); + Route::post('/micro_seconds_status', 'Admin\MicroController@secondsStatus'); + Route::post('/micro_seconds_del', 'Admin\MicroController@secondsDel'); + Route::get('/micro_order', 'Admin\MicroController@order'); + Route::get('/micro_order_list', 'Admin\MicroController@orderList'); + Route::get('/micro_order_edit', 'Admin\MicroController@edit'); + Route::post('/micro_order_edit', 'Admin\MicroController@editPost'); + Route::post('/micro/batch_risk', 'Admin\MicroController@batchRisk'); + Route::get('/ad/ad_index', 'Admin\AdController@index'); + Route::get('/ad/list', 'Admin\AdController@lists'); + Route::get('/ad/edit', 'Admin\AdController@edit'); + Route::post('/ad/edit', 'Admin\AdController@doEdit'); + Route::post('/ad/del', 'Admin\AdController@del'); + Route::post('/ad/lock', 'Admin\AdController@lock'); + Route::get('/ad/position_index', 'Admin\AdController@positionIndex'); + Route::get('/ad/position_list', 'Admin\AdController@positionLists'); + Route::get('/ad/position_edit', 'Admin\AdController@positionEdit'); + Route::post('/ad/position_edit', 'Admin\AdController@doPositionEdit'); + Route::post('/ad/position_del', 'Admin\AdController@positionDel'); + Route::post('/ad/position_show', 'Admin\AdController@positionShow'); + Route::get('news_index', 'Admin\NewsController@index'); + Route::get('news_add', 'Admin\NewsController@add'); + Route::post('news_add', 'Admin\NewsController@postAdd'); + Route::get('news_edit/{id}', 'Admin\NewsController@edit'); + Route::post('news_edit/{id}', 'Admin\NewsController@postEdit'); + Route::get('news_del/{id}/{togetherDel?}', 'Admin\NewsController@del'); + Route::get('news_cate_index', 'Admin\NewsController@cateIndex'); + Route::get('news_cate_add', 'Admin\NewsController@cateAdd'); + Route::get('news_cate_list', 'Admin\NewsController@getCateList'); + Route::post('news_cate_add', 'Admin\NewsController@postCateAdd'); + Route::get('news_cate_edit/{id}', 'Admin\NewsController@cateEdit'); + Route::post('news_cate_edit/{id}', 'Admin\NewsController@postCateEdit'); + Route::get('news_cate_del/{id}', 'Admin\NewsController@cateDel'); + Route::get('seller', 'Admin\SellerController@index'); + Route::get('seller_list', 'Admin\SellerController@lists'); + Route::get('seller_add', 'Admin\SellerController@add')->middleware(['demo_limit']); + Route::post('seller_add', 'Admin\SellerController@postAdd')->middleware(['demo_limit']); + Route::post('seller_del', 'Admin\SellerController@delete')->middleware(['demo_limit']); + Route::post('send/back', 'Admin\SellerController@sendBack'); + Route::post('send/del', 'Admin\SellerController@sendDel'); + Route::post('send/is_shelves', 'Admin\SellerController@is_shelves'); + Route::get('complete', 'Admin\TransactionController@completeIndex'); + Route::get('in', 'Admin\TransactionController@inIndex'); + Route::get('out', 'Admin\TransactionController@outIndex'); + Route::get('cny', 'Admin\TransactionController@cnyIndex'); + Route::get('complete_list', 'Admin\TransactionController@completeList'); + Route::get('in_list', 'Admin\TransactionController@inList'); + Route::get('out_list', 'Admin\TransactionController@outList'); + Route::get('cny_list', 'Admin\TransactionController@cnyList'); + Route::get('/user/charge_req', 'Admin\UserController@chargeReq'); + Route::get('/user/charge_show', 'Admin\UserController@chargeShow'); + Route::get('/user/charge_list', 'Admin\UserController@chargeList'); + Route::post('/user/pass_req', 'Admin\UserController@passReq'); + Route::post('/user/refuse_req', 'Admin\UserController@refuseReq'); + Route::get('currency', 'Admin\CurrencyController@index'); + Route::post('/is_insurancable', 'Admin\CurrencyController@isInsurancable'); + Route::get('class', 'Admin\CurrencyController@cclass'); //币种分类 + Route::post('/class_transfer', 'Admin\CurrencyController@class_transfer'); //币种分类隐藏开关 + Route::get('currency_listclass', 'Admin\CurrencyController@listsclass'); + Route::get('currency_add', 'Admin\CurrencyController@add')->middleware(['demo_limit']); + Route::post('currency_add', 'Admin\CurrencyController@postAdd')->middleware(['demo_limit']); + Route::get('currency_list', 'Admin\CurrencyController@lists'); + Route::post('currency_del', 'Admin\CurrencyController@delete')->middleware(['demo_limit']); + Route::post('currency_display', 'Admin\CurrencyController@isDisplay'); + Route::post('currency_execute', 'Admin\CurrencyController@executeCurrency'); + Route::get('currency/match/{legal_id}', 'Admin\CurrencyController@match'); + Route::get('currency/match_list/{legal_id}', 'Admin\CurrencyController@matchList'); + Route::get('currency/match_add/{legal_id}', 'Admin\CurrencyController@addMatch'); + Route::post('currency/match_add/{legal_id}', + 'Admin\CurrencyController@postAddMatch')->middleware(['demo_limit']); + Route::get('currency/match_edit/{id}', 'Admin\CurrencyController@editMatch'); + Route::post('currency/match_edit/{id}', 'Admin\CurrencyController@postEditMatch'); + Route::any('currency/match_del/{id}', 'Admin\CurrencyController@delMatch')->middleware(['demo_limit']); + Route::get('currency/micro_match', 'Admin\CurrencyController@microMatch'); + Route::get('currency/micro_match_list', 'Admin\CurrencyController@microMatchList'); + Route::post('currency/micro_risk', 'Admin\CurrencyController@microRisk'); + Route::get('currency/set_in_address/{id}', 'Admin\CurrencyController@setInAddress')->middleware(['demo_limit']); + Route::get('currency/set_out_address/{id}', 'Admin\CurrencyController@setOutAddress')->middleware(['demo_limit']); + Route::post('currency/set_in_address', 'Admin\CurrencyController@postSetInAddress')->middleware(['demo_limit']); + Route::post('currency/set_out_address', 'Admin\CurrencyController@postSetOutAddress')->middleware(['demo_limit']); + Route::get('market', 'Admin\MarketController@index'); + Route::get('market_add', 'Admin\MarketController@add'); + Route::post('market_add', 'Admin\MarketController@postAdd'); + Route::get('market_list', 'Admin\MarketController@lists'); + Route::post('market_del', 'Admin\MarketController@delete'); + Route::post('market_display', 'Admin\MarketController@isDisplay'); + Route::get('auto_index', 'Admin\AutoController@index'); + Route::get('auto_add', 'Admin\AutoController@add'); + Route::post('auto_add', 'Admin\AutoController@postAdd'); + Route::get('auto_list', 'Admin\AutoController@lists'); + Route::post('auto_start', 'Admin\AutoController@postStart'); + Route::any('robot/add', 'Admin\RobotController@add'); + Route::any('robot/list', 'Admin\RobotController@list'); + Route::any('robot/list_data', 'Admin\RobotController@listData'); + Route::any('robot/delete', 'Admin\RobotController@delete'); + Route::any('robot/start', 'Admin\RobotController@start'); + Route::get('hazard/index', 'Admin\HazardRateController@index'); + Route::get('hazard/lists', 'Admin\HazardRateController@lists'); + Route::get('hazard/total', 'Admin\HazardRateController@total'); + Route::get('hazard/total_lists', 'Admin\HazardRateController@totalLists'); + Route::get('hazard/handle', 'Admin\HazardRateController@handle'); + Route::post('hazard/handle', 'Admin\HazardRateController@postHandle'); + Route::get('lever/index', 'Admin\LeverTransactionController@index'); + Route::get('lever/lists', 'Admin\LeverTransactionController@lists'); + Route::any('agent', 'Admin\AdminController@agent'); + Route::get('levermultiple/index', 'Admin\LeverMultipleController@index'); + Route::get('levermultiple/list', 'Admin\LeverMultipleController@lists'); + Route::post('levermultiple/del', 'Admin\LeverMultipleController@del'); + Route::any('levermultiple/edit', 'Admin\LeverMultipleController@edit'); + Route::any('levermultiple/doedit', 'Admin\LeverMultipleController@doedit'); + Route::any('levermultiple/add', 'Admin\LeverMultipleController@add'); + Route::any('levermultiple/doadd', 'Admin\LeverMultipleController@doadd'); + Route::get('levertolegal/index', 'Admin\LevertolegalController@index'); + Route::get('levertolegal/list', 'Admin\LevertolegalController@lists'); + Route::any('/levertolegal/addshow', 'Admin\LevertolegalController@addshow'); + Route::any('/levertolegal/postAddyes', 'Admin\LevertolegalController@postAddyes'); + Route::any('/levertolegal/postAddno', 'Admin\LevertolegalController@postAddno'); + Route::get('prizepool/index', 'Admin\PrizePoolController@index'); + Route::get('prizepool/lists', 'Admin\PrizePoolController@lists'); + Route::get('prizepool/count', 'Admin\PrizePoolController@count'); + Route::get('profits/index', 'Admin\AccountLogController@indexprofits'); + Route::get('profits/lists', 'Admin\AccountLogController@listsprofits'); + Route::get('profits/count', 'Admin\AccountLogController@countprofits'); + Route::get('/generalaccount', 'Admin\SettingController@generalaccount'); + Route::post('/generalaccount', 'Admin\SettingController@dogeneralaccount'); + Route::post('send/btc', 'Admin\UserController@sendBtc'); + Route::post('/user/balance', 'Admin\UserController@balance'); + Route::get('/wallet/index', 'Admin\WalletController@index'); + Route::get('/wallet/list', 'Admin\WalletController@lists'); + Route::get('/wallet/make', 'Admin\WalletController@makeWallet'); + Route::get('/wallet/update_balance', 'Admin\WalletController@updateBalance'); + Route::get('/wallet/transfer_poundage', 'Admin\WalletController@transferPoundage'); + Route::get('/wallet/collect', 'Admin\WalletController@collect'); + Route::get('/level_index', function () { + return view('admin.level.index'); + }); + Route::get('/level_add', 'Admin\LevelController@add'); + Route::post('/level_add', 'Admin\LevelController@postAdd'); + Route::get('/level_list', 'Admin\LevelController@lists'); + Route::post('/level_del', 'Admin\LevelController@del'); + Route::get('/level_algebra_index', function () { + return view('admin.level.algebra_index'); + }); + Route::get('/level_algebra_add', 'Admin\LevelController@algebraAdd'); + Route::post('/level_algebra_add', 'Admin\LevelController@algebraPostAdd'); + Route::get('/level_algebra_list', 'Admin\LevelController@algebraLists'); + Route::post('/level_algebra_del', 'Admin\LevelController@algebraDel'); + + Route::get('/level_order_index', function () { + return view('admin.level.orders'); + }); + + Route::get('/level_order_list', 'Admin\LevelController@levelOrderList'); + Route::get('/insurance_rules_index', function () { + return view('admin.insurancerule.index'); + }); + Route::get('/insurance_rules_add', 'Admin\InsuranceRuleController@add'); + Route::post('/insurance_rules_add', 'Admin\InsuranceRuleController@postAdd'); + Route::get('/insurance_rules_list', 'Admin\InsuranceRuleController@lists'); + Route::post('/insurance_rules_del', 'Admin\InsuranceRuleController@del'); + Route::get('/claim_index', 'Admin\ClaimController@index'); + Route::get('/claim_list', 'Admin\ClaimController@lists'); + Route::post('/claim_affirm', 'Admin\ClaimController@affirm'); + Route::post('/claim_reject', 'Admin\ClaimController@reject'); + Route::group(['prefix' => 'insurance'], function () { + Route::get('index', 'Admin\InsuranceController@index'); + Route::get('lists', 'Admin\InsuranceController@lists'); + Route::get('add', 'Admin\InsuranceController@add'); + Route::post('add', 'Admin\InsuranceController@postAdd'); + Route::post('del', 'Admin\InsuranceController@del'); + Route::post('change_auto_claim', 'Admin\InsuranceController@changeAutoClaim'); + Route::post('change_status', 'Admin\InsuranceController@changeStatus'); + Route::post('change_t_add_1', 'Admin\InsuranceController@changeTAdd1'); + Route::get('order_index', 'Admin\InsuranceController@orderIndex'); + Route::get('order_lists', 'Admin\InsuranceController@orderLists'); + }); + }); +}); \ No newline at end of file