作者 赵彬吉
... ... @@ -36,6 +36,7 @@ class RemainDay extends Command
*/
protected $ceaseProjectId = [
354,
378,
649,
1283,
2066
... ...
... ... @@ -88,9 +88,9 @@ class SyncProject extends Command
if($data['data']['order_type'] == '首次'){
$this->sync($data['data'],$is_update);
//同步aicc
if($data['data']['exclusive_aicc']){
$this->toAicc($data['data']);
}
// if($data['data']['exclusive_aicc']){
// $this->toAicc($data['data']);
// }
//同步hagro
if($data['data']['exclusive_hagro']){
$this->toHagro($data['data']);
... ...
... ... @@ -16,9 +16,11 @@ use App\Models\Com\KeywordVideoTask;
use App\Models\Com\KeywordVideoTaskLog;
use App\Models\CustomModule\CustomModuleCategory;
use App\Models\CustomModule\CustomModuleContent;
use App\Models\CustomModule\CustomModuleExtentContent;
use App\Models\Devops\ServerConfig;
use App\Models\Devops\Servers;
use App\Models\Devops\ServersIp;
use App\Models\ExtentModule\ExtensionModuleValue;
use App\Models\File\File;
use App\Models\File\File as FileModel;
use App\Models\File\Image;
... ... @@ -62,14 +64,12 @@ class Demo extends Command
protected $description = 'demo';
public function handle(){
$keywordVideoModel = new KeywordVideoTask();
$list = $keywordVideoModel->list();
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['project_id'] . PHP_EOL;
ProjectServer::useProject($v['project_id']);
$this->getProduct();
echo date('Y-m-d H:i:s') . 'project_id:' . PHP_EOL;
ProjectServer::useProject(2837);
$this->ceshi();
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
}
... ...
... ... @@ -192,7 +192,7 @@ if (!function_exists('curl_c')) {
if($http_code == 200){
return $is_array ? json_decode($content, true) : $content;
}else{
return $http_code;
return false;
}
}
}
... ...
... ... @@ -88,7 +88,7 @@ class BaseController extends Controller
break;
case "end_at":
$this->_btw[1] = $v;
$this->map['updated_at'] = ['between', $this->_btw];
$this->map['created_at'] = ['between', $this->_btw];
break;
default:
if ($v != null) {
... ...
... ... @@ -32,6 +32,7 @@ class ManagerLogController extends BaseController
if(isset($this->map['name']) && !empty($this->map['name'])){
$ids = $managerModel->where('name', 'like', '%' . $this->param['name'] . '%')->pluck('id')->toArray();
$this->map['manage_id'] = ['in',$ids];
unset($this->map['name']);
}
if(isset($this->map['url']) && !empty($this->map['url'])){
$this->map['url'] = ['like','%'.$this->map['url'].'%'];
... ... @@ -61,6 +62,7 @@ class ManagerLogController extends BaseController
if(isset($this->map['name']) && !empty($this->map['name'])){
$ids = $userModel->where('name', 'like', '%' . $this->param['name'] . '%')->pluck('id')->toArray();
$this->map['operator_id'] = ['in',$ids];
unset($this->map['name']);
}
if(isset($this->map['model']) && !empty($this->map['model'])){
$this->map['model'] = ['like','%'.$this->map['model'].'%'];
... ...
... ... @@ -41,7 +41,9 @@ class OperationHeartbeatController extends BaseController
'is_custom.required' => '是否为扩展模版',
'is_template.required' => '详情页/可视化',
]);
if(empty($this->param['source_id'])){
$this->response('success');
}
$condition = ['project_id'=>$this->user['project_id'],'source'=>$this->param['source'],'source_id'=>$this->param['source_id'],
'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
$operationHeartbeatModel = new OperationHeartbeat();
... ...
... ... @@ -279,4 +279,16 @@ class KeywordController extends BaseController
$logic->delRelated($this->param['keyword_id'],$this->param['product_id']);
$this->response('success');
}
/**
* @remark :清除当前项目所有关键字
* @name :delAllKeyword
* @author :lyh
* @method :post
* @time :2024/12/5 16:34
*/
public function delAllKeyword(KeywordLogic $logic){
$logic->delAllKeyword();
$this->response('success');
}
}
... ...
... ... @@ -12,8 +12,11 @@ namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Logic\Bside\News\NewsLogic;
use App\Models\Channel\Channel;
use App\Models\CustomModule\CustomModuleCategory;
use App\Models\CustomModule\CustomModuleContent;
use App\Models\CustomModule\CustomModuleExtentContent;
use App\Models\Domain\DomainInfo;
use App\Models\ExtentModule\ExtensionModuleValue;
use App\Models\Manage\ManageHr;
use App\Models\Project\CountAllProject as AllProject;
use App\Models\Project\Project;
... ... @@ -31,139 +34,175 @@ class TestController extends BaseController
* @time :2024/11/11 14:51
*/
public function ceshi(){
$data = $this->NoSixProject();
$this->response('success',Code::SUCCESS,$data);
}
public function NoSixProject(){
$res_data = [];
// $i = 1;
// while (true){
$url = 'https://quanqiusou.cn/extend_api/api/projects.php?page=1&pagesize=1';
$result = http_get($url);
$data = $result['data'];
// if(empty($data)){
// break;
// }
// $res_data = array_merge($res_data,$data['data']);
// $i++;
// }
return $data;
}
public function SixProject(){
$projectModel = new Project();
$query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->where('gl_project.delete_status',Project::TYPE_ZERO);
$lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray();
$manageModel = new ManageHr();
foreach ($lists as $k => $v){
$allProjectModel = new AllProject();
$info = $allProjectModel->read(['version'=>1,'project_id'=>$v['id']],['id']);
if($info === false){
$channel = Channel::getChannelText($v['channel']['user_id'] ?? 0);
$data[] = [
'project_id'=>$v['id'],
'version'=>1,//代表6.0
'is_upgrade'=>$v['is_upgrade'],
'title'=>$v['title'],
'company'=>$v['company'],
'channel'=>$channel,
'sale'=>$this->end_channel($channel),
'join_date'=>$v['cooperate_date'],
'online_date'=>$v['uptime'],
'keywords_num'=>$v['key'],
'service_num'=>$v['day'],
'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
'plan'=>Project::planMap()[$v['plan']],
'status'=>$v['status'],
'test_domain'=>$v['test_domain'],
'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
'qa'=>$manageModel->getName($v['quality_mid'] ??''),
];
$allProjectModel->add($data);
}else{
$data_edit = [
'title'=>$v['title'],
'company'=>$v['company'],
'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
'sale'=>$this->end_channel($channel),
'join_date'=>$v['cooperate_date'],
'online_date'=>$v['uptime'],
'keywords_num'=>$v['key'],
'service_num'=>$v['day'],
'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
'plan'=>Project::planMap()[$v['plan']],
'status'=>$v['status'],
'test_domain'=>$v['test_domain'],
'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
'qa'=>$manageModel->getName($v['quality_mid'] ??''),
];
$allProjectModel->edit($data_edit,['id'=>$info['id']]);
}
}
$this->response('success',Code::SUCCESS,[]);
}
/**
* 需要查询的字段
* @return array
* @remark :导入扩展模块 (保留)
* @name :ceshis
* @author :lyh
* @method :post
* @time :2024/12/6 17:02
*/
public function selectParam(){
$select = [
'gl_project.id AS id',
'gl_project.title AS title',
'gl_project.channel AS channel',
'gl_project.company AS company',
'gl_project.type AS type',
'gl_project.extend_type AS extend_type',
'gl_project.uptime AS uptime',
'gl_project.is_upgrade AS is_upgrade',
'gl_project.created_at AS created_at',
'gl_project.cooperate_date AS cooperate_date',
'gl_project.site_status AS site_status',
'gl_project_deploy_build.keyword_num AS key',
'gl_project_deploy_build.service_duration AS day',
'gl_project_deploy_build.is_comment AS is_comment',
'gl_project_deploy_build.leader_mid AS leader_mid',
'gl_project_deploy_build.manager_mid AS manager_mid',
'gl_project_deploy_build.designer_mid AS designer_mid',
'gl_project_deploy_build.tech_mid AS tech_mid',
'gl_project_deploy_build.test_domain AS test_domain',
'gl_project_deploy_build.plan AS plan',
'gl_project_deploy_optimize.dept_id AS optimize_dept_id',
'gl_project_deploy_optimize.manager_mid AS optimize_manager_mid',
'gl_project_deploy_optimize.optimist_mid AS optimize_optimist_mid',
'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
'gl_project_deploy_optimize.tech_leader AS tech_leader',
'gl_project_deploy_optimize.domain AS domain',
'gl_project_deploy_optimize.api_no AS api_no',
public function ceshis(){
$data = 'MBR10100CT,Schottky Barrier Rectifier,TO-220AB,100,5*2,common cathode,100,0.85,10,2500,175,-,Active
MBR2060BCT,Schottky Barrier Rectifier,ITO-220AB,60,10*2,common cathode,150,0.75,50,5000,150,-,Active
MBR20150DCT,Schottky Barrier Rectifier,TO-263(D2PAK),150,10*2,common cathode,150,0.88,5,1500,175,-,Active
MUR2060CT,High Efficient Rectifier,TO-220AB,600,10*2,common cathode,150,1.7,1,500,150,50,Active
MUR2040FCT,High Efficient Rectifier,ITO-220AB,400,10*2,common cathode,150,1.3,1,500,150,50,Active
DSEK20S04B,Ultra fast soft Recovery Rectifier,TO-252(DPAK),400,10*2,common cathode,125,1.25,2,500,175,35,Active
DSEK30S06D,Ultra fast soft Recovery Rectifier,TO-263(D2PAK),600,15*2,common cathode,150,1.7,2,500,175,35,Active
DSEK60H06P,Ultra fast soft Recovery Rectifier,TO-247AD,600,30*2,common cathode,300,1.7,5,500,175,60,Active
GBU410,Bridge Rectifier,GBU,1000,4,-,125,1,1,500,150,-,Active
GBU1510,Bridge Rectifier,GBU,1000,15,-,250,1,1,500,150,-,Active
GBJ2510,Bridge Rectifier,GBJ,1000,25,-,300,1,1,500,150,-,Active
GBU1504H,High Efficient Bridge Rectifier,GBU,400,15,-,150,1.3,1,500,150,-,Active
GBU1506H,High Efficient Bridge Rectifier,GBU,400,15,-,150,1.7,1,500,150,-,Active
GBJ2504H,High Efficient Bridge Rectifier,GBJ,600,25,-,250,1.3,1,500,150,-,Active
GBJ2506H,High Efficient Bridge Rectifier,GBJ,600,25,-,250,1.7,1,500,150,-,Active
1N4007,Standard Recovery Rectifier,DO-41,1000,1,-,50,1,1,500,150,-,Active
1N5399,Standard Recovery Rectifier,DO-15,1000,1.5,-,75,1,1,500,150,-,Active
1N5408,Standard Recovery Rectifier,DO-27,1000,3,-,100,1,1,500,150,-,Active
RS1M,Fast Recovery Rectifier,SMA,1000,1,-,50,1.3,1,500,150,500,Active
RS2M,Fast Recovery Rectifier,SMB,1000,2,-,75,1.3,1,500,150,500,Active
RS3M,Fast Recovery Rectifier,SMC,1000,3,-,100,1.3,1,500,150,500,Active
SF28,Super fast Recovery Rectifier,DO-15,600,2,-,60,1.7,1,500,150,35,Active
SF56G,Super fast Recovery Rectifier,DO-27,400,5,-,125,1.3,1,500,150,35,Active
DSE1006,Super fast Recovery Rectifier,TO-220AC,600,10,Single Positive,150,1.7,1,500,150,35,Active
DSE1504F,Super fast Recovery Rectifier,ITO-220AC,400,15,Single Positive,150,1.4,1,500,150,35,Active';
$array = explode("\n", $data);
foreach ($array as $values){
$array1 = explode(',',$values);
$contentData = [
'name'=>$array1[0],
'route'=>'',
'project_id'=>2837,
'operator_id'=>6393,
'module_id'=>2,
];
return $select;
$customModuleCategoryModel = new CustomModuleCategory();
$catInfo = $customModuleCategoryModel->read(['name'=>$array1[1]]);
if($catInfo !== false){
$contentData['category_id'] = $catInfo['id'];
}
public function end_channel($channel){
if(!empty($channel)){
$parts = explode("-", $channel);
return end($parts);
$customModuleContentModel = new CustomModuleContent();
$contentId = $customModuleContentModel->addReturnId($contentData);
$route = RouteMap::setRoute($array1[0],RouteMap::SOURCE_MODULE,$contentId,2837);
$customModuleContentModel->edit(['route'=>$route],['id'=>$contentId]);
$pd_extended_field_arr = [
[
'key'=>'pd_extended_field_1',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[2],
'content_id'=>$contentId,
'module_id'=>2,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_2',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[3],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_3',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[4],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_4',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[5],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_5',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[6],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_6',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[7],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_7',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[8],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_8',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[9],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_9',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[10],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_10',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[11],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_11',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[12],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
];
$extendContentModel = new CustomModuleExtentContent();
$extendContentModel->insert($pd_extended_field_arr);
}
return $channel;
}
}
... ...
... ... @@ -234,8 +234,8 @@ class ImageController extends Controller
$tran_name = $tran_name[0];
}
$enName = generateRoute($tran_name);
if(substr($enName, 0, 1) === '-'){
$enName = md5(uniqid().$project_id.rand(1,1000));;
if(substr($enName, 0, 1) === '-' || empty($enName)){
$enName = md5(uniqid().$project_id.rand(1,1000));
}
$fileName = $enName;
$i=1;
... ...
... ... @@ -313,7 +313,11 @@ class KeywordLogic extends BaseLogic
$productIdArr = $keywordRelatedModel->selectField(['keyword_id'=>$keyword_id],'product_id');
if(!empty($productIdArr)){
$productModel = new Product();
$productList = $productModel->list(['id'=>['in',$productIdArr]],['id','title']);
$productList = $productModel->list(['id'=>['in',$productIdArr]],['id','title','route']);
foreach ($productList as $k => $v){
$v['route'] = $this->user['domain'].$v['route'];
$productList[$k] = $v;
}
}
return $this->success($productList);
}
... ... @@ -336,4 +340,31 @@ class KeywordLogic extends BaseLogic
return $this->success();
}
/**
* @remark :删除所有的关键字
* @name :delAllKeyword
* @author :lyh
* @method :post
* @time :2024/12/5 15:37
*/
public function delAllKeyword(){
DB::beginTransaction();
try {
//截断关联表
KeywordRelated::truncate();
//截断关键词表
Keyword::truncate();
//清空产品表的keyword_id字段
$routeMapModel = new RouteMap();
$routeMapModel->del(['source'=>'product_keyword']);
$productModel = new Product();
$productModel->edit(['keyword_id'=>''],['id'=>['>',0]]);
DB::commit();
}catch (\Exception $e){
DB::rollBack();
$this->fail('操作失败,请联系管理员');
}
return $this->success();
}
}
... ...
... ... @@ -53,6 +53,7 @@ class Project extends Base
3 => '告知书一',
4 => '告知书二',
5 => 'Q告知书二',
6 => 'CKA',
];
}
... ...
... ... @@ -132,9 +132,18 @@ class CosService
],
]);
if(empty($body_str)){
try {
$body = $body_str ?:curl_c($file_url,false);
$body_str = curl_c($file_url,false);
if(!$body_str){
$body_str = file_get_contents($file_url);
}
}catch (\Exception $e){
$body_str = '';
}
}
if(!$body_str){
return '';
}
... ... @@ -142,7 +151,7 @@ class CosService
$cosClient->putObject([
'Bucket' => $cos['bucket'],
'Key' => $key,
'Body' => $body,
'Body' => $body_str,
]);
return $key;
}catch (\Exception $e){
... ...
... ... @@ -282,6 +282,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::post('keyword/batchDel', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchDel'])->name('product_keyword_batchDel');
Route::any('keyword/delete', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'delete'])->name('product_keyword_delete');
Route::any('keyword/delRelated', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'delRelated'])->name('product_keyword_delRelated');
Route::any('keyword/delAllKeyword', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'delAllKeyword'])->name('product_keyword_delAllKeyword');
Route::any('keyword/batchUpdateKeyword', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchUpdateKeyword'])->name('product_keyword_batchUpdateKeyword');
Route::any('keyword/batchKeywordIsVideo', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchKeywordIsVideo'])->name('product_keyword_batchKeywordIsVideo');
Route::any('keyword/batchKeywordFiled', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchKeywordFiled'])->name('product_keyword_batchKeywordFiled');
... ...