作者 lyh

gx

@@ -41,7 +41,8 @@ class PayStripeApi @@ -41,7 +41,8 @@ class PayStripeApi
41 // 构造函数设置密钥 41 // 构造函数设置密钥
42 public function __construct() 42 public function __construct()
43 { 43 {
44 - $this->secretKey = 'sk_test_51MyseXIWCYVeLww1tbPZzRe1Qk4lS5d2VLiDjpju7G0ToiX1RJcFinQXNlftq9eCjZE0n2gjaz1mfy1g0mxTusdf00m636Gv62'; 44 +// $this->secretKey = 'sk_test_51MyseXIWCYVeLww1tbPZzRe1Qk4lS5d2VLiDjpju7G0ToiX1RJcFinQXNlftq9eCjZE0n2gjaz1mfy1g0mxTusdf00m636Gv62';
  45 + $this->secretKey = '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';
45 } 46 }
46 47
47 /** 48 /**
@@ -149,7 +150,8 @@ class PayStripeApi @@ -149,7 +150,8 @@ class PayStripeApi
149 { 150 {
150 try { 151 try {
151 // Webhook 签名密钥(从 Stripe 仪表盘获取) 152 // Webhook 签名密钥(从 Stripe 仪表盘获取)
152 - $endpointSecret = 'whsec_garhW2TrCIrduyM3rve9mFS2sn69B9Yt'; 153 +// $endpointSecret = 'whsec_garhW2TrCIrduyM3rve9mFS2sn69B9Yt';
  154 + $endpointSecret = 'whsec_YPuQn3XPuJ0xyiN6XFoF0ZLaxfRM3wnS';
153 // 获取原始请求内容 155 // 获取原始请求内容
154 $payload = request()->getContent(); 156 $payload = request()->getContent();
155 // 获取 Stripe 签名头 157 // 获取 Stripe 签名头
@@ -13,16 +13,23 @@ use App\Enums\Common\Code; @@ -13,16 +13,23 @@ use App\Enums\Common\Code;
13 use App\Helper\Arr; 13 use App\Helper\Arr;
14 use App\Http\Controllers\Bside\BaseController; 14 use App\Http\Controllers\Bside\BaseController;
15 use App\Jobs\UpdatePageJob; 15 use App\Jobs\UpdatePageJob;
  16 +use App\Models\Blog\Blog;
16 use App\Models\Com\Notify; 17 use App\Models\Com\Notify;
17 use App\Models\Com\UpdateLog; 18 use App\Models\Com\UpdateLog;
18 use App\Models\Com\UpdateNotify; 19 use App\Models\Com\UpdateNotify;
19 use App\Models\Com\UpdateProgress; 20 use App\Models\Com\UpdateProgress;
  21 +use App\Models\CustomModule\CustomModuleContent;
20 use App\Models\Devops\ServerConfig; 22 use App\Models\Devops\ServerConfig;
21 use App\Models\Devops\ServersIp; 23 use App\Models\Devops\ServersIp;
22 use App\Models\Domain\DomainInfo; 24 use App\Models\Domain\DomainInfo;
  25 +use App\Models\News\News;
  26 +use App\Models\Product\Category;
  27 +use App\Models\Product\CategoryRelated;
  28 +use App\Models\Product\Keyword;
23 use App\Models\Project\Country as CountryModel; 29 use App\Models\Project\Country as CountryModel;
24 use App\Models\Project\Project; 30 use App\Models\Project\Project;
25 use App\Models\RouteMap\RouteMap; 31 use App\Models\RouteMap\RouteMap;
  32 +use App\Models\WebSetting\SettingNum;
26 use App\Models\WebSetting\WebLanguage; 33 use App\Models\WebSetting\WebLanguage;
27 use Illuminate\Http\Request; 34 use Illuminate\Http\Request;
28 use Illuminate\Support\Facades\DB; 35 use Illuminate\Support\Facades\DB;
@@ -38,6 +45,76 @@ use Illuminate\Support\Facades\DB; @@ -38,6 +45,76 @@ use Illuminate\Support\Facades\DB;
38 class CNoticeController extends BaseController 45 class CNoticeController extends BaseController
39 { 46 {
40 /** 47 /**
  48 + * @remark :统计所有小语种
  49 + * @name :countLanguagePage
  50 + * @author :lyh
  51 + * @method :post
  52 + * @time :2025/1/4 10:13
  53 + */
  54 + public function countLanguagePage(){
  55 + $this->request->validate([
  56 + 'language'=>'required',
  57 + ],[
  58 + 'language.required' => 'name不能为空',
  59 + ]);
  60 + $lang_num = count($this->param['language']);
  61 + $keyword_num = (new Keyword())->counts(['route'=>['!=',null]]);
  62 +
  63 + $news_num = (new News())->counts(['status'=>1]);
  64 + $blog_num = (new Blog())->counts(['status'=>1]);
  65 + $custom_num = (new CustomModuleContent())->counts();
  66 + $settingModel = new SettingNum();
  67 + $product_page_number = 15;//默认15条
  68 + $news_page_number = $blog_page_number = 10;//默认10条
  69 + $list = $settingModel->list(['type'=>['in',[1,2,3]]]);
  70 + if(!empty($list)){
  71 + foreach ($list as $v){
  72 + if($v['type'] == 1){
  73 + $product_page_number = $v['num'];
  74 + }elseif ($v['type'] == 2){
  75 + $blog_page_number = $v['num'];
  76 + }else{
  77 + $news_page_number = $v['num'];
  78 + }
  79 + }
  80 + }
  81 + '翻译数量过多, 大概页面数量:1234567, 磁盘空间占用可能会超过40G,请谨慎使用!';
  82 + $data_num = 0;
  83 + }
  84 +
  85 + /**
  86 + * @remark :产品分类页面数量
  87 + * @name :productCateNum
  88 + * @author :lyh
  89 + * @method :post
  90 + * @time :2025/1/4 10:43
  91 + */
  92 + public function productNum(){
  93 + $number = (new Project())->counts(['status'=>1]);
  94 + $settingModel = new SettingNum();
  95 + $info = $settingModel->read(['type'=>1]);
  96 + if($info === false){
  97 + $product_page_number = 15;
  98 + }else{
  99 + $product_page_number = $info['num'];
  100 + }
  101 + $productCateModel = new Category();
  102 + $productCateList = $productCateModel->list(['status'=>1]);
  103 + if(!empty($productCateList)){
  104 + $cateReModel = new CategoryRelated();
  105 + foreach ($productCateList as $v){
  106 + $cate_num = $cateReModel->counts(['cate_id'=>$v['id']]);
  107 + if($cate_num == 0){
  108 + $number += 1;
  109 + }else{
  110 + $number += ceil($cate_num / $product_page_number);
  111 + }
  112 + }
  113 + }
  114 + return $number;
  115 + }
  116 +
  117 + /**
41 * 更新通知C端 118 * 更新通知C端
42 * @param Request $request 119 * @param Request $request
43 * @return \Illuminate\Http\JsonResponse 120 * @return \Illuminate\Http\JsonResponse