作者 lyh

gx

... ... @@ -3,9 +3,13 @@
namespace App\Console\Commands;
use App\Helper\OaGlobalsoApi;
use App\Http\Logic\Aside\Project\PaymentLogic;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Models\Channel\Channel;
use App\Models\NoticeLog;
use App\Models\Project\Payment;
use App\Models\Project\Project;
use App\Models\Project\ProjectRenew;
use App\Utils\LogUtils;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Cache;
... ... @@ -63,7 +67,7 @@ class SyncProject extends Command
}
if($data['data']['order_type'] == '续费'){
$data['data']['type'] = 4; //续费记录单
ProjectLogic::instance()->renewSync($data['data']);
$this->renewSync($data['data']);
}
// @file_put_contents(storage_path('logs/lyh_error.log'), var_export($data['data'], true) . PHP_EOL, FILE_APPEND);
$item->status = NoticeLog::STATUS_SUCCESS;
... ... @@ -87,5 +91,79 @@ class SyncProject extends Command
$log->save();
}
/**
* @remark :同步续费记录单
* @name :renewSync
* @author :lyh
* @method :post
* @time :2023/8/11 15:33
*/
public function renewSync($param){
//查询续费项目
$projectModel = new Project();
$info = $projectModel->read(['app_id'=>$param['id']]);
$title = date('Ymd') . '-' . $param['company_name'];;
$data = [
'title' => '【续费单】'.$title,
'company' => $param['company_name'],
'lead_name' => $param['principal_name'],
'mobile' => $param['principal_mobile'],
'qq' => $param['customer_qq'],
'channel' => Channel::getProjectChannel($param['company_id'], $param['username_sales']),
'requirement' => $param['remark'],
'cooperate_date' => date('Y-m-d', $param['create_time']),
'service_duration' => $param['years'],
'plan' => $this->versionData($param['plan_marketing']),
'api_no' => $param['id'],
'amount' => $param['plan_price'],
'contract' => $param['files'],
'bill' => $param['images'],
'post_id'=>$info['post_id']
];
$renewModel = new ProjectRenew();
$rs = $renewModel->add($data);
if($rs === false){
errorLog('项目续费单同步失败');
}
//同步更改项目版本
}
/**
* @remark :获取版本
* @name :versionData
* @author :lyh
* @method :post
* @time :2023/8/9 14:46
*/
public function versionData($param){
$data = Project::planMap();
$data = array_flip($data);
if(isset($data[$param])){
return $data[$param];
}else{
return 1;
}
}
/**
* @remark :更改项目续费信息
* @name :savePayment
* @author :lyh
* @method :post
* @time :2023/8/11 16:08
*/
protected function savePayment($param,$project_id){
//查询数据详情
$paymentModel = new Payment();
$paymentModel->read(['project_id'=>$project_id]);
$data = [
'amount'=>$param['amount'],
'contract'=>$param['contract'],
'bill'=>$param['bill'],
'renewal_record'
];
$paymentModel->edit($data,['project_id'=>$project_id]);
}
}
... ...
... ... @@ -67,7 +67,6 @@ class ServerConfigLogic extends BaseLogic
try {
//保存配置
if(isset($this->param['id']) && !empty($this->param['id'])){
$this->param['updated_at'] = date('Y-m-d H:i:s');
$this->model->edit($this->param,['id'=>$this->param['id']]);
}else{
$this->model->add($this->param);
... ...
... ... @@ -70,7 +70,7 @@ class MenuLogic extends BaseLogic
public function getAllMenu(){
$map = [
'type' => 0,
// 'status' => Menu::STATUS_NORMAL,
'status' => Menu::STATUS_NORMAL,
];
$lists = $this->model->list($map,'sort');
$menu = array();
... ...
... ... @@ -279,11 +279,7 @@ class ProjectLogic extends BaseLogic
* @time :2023/8/9 15:04
*/
public function sync($param){
$num = Cache::get('project_' . date('Ymd'), 1);
$title = date('Ymd') . '-' . $num . '-' . $param['company_name'];
if($param['type'] == 4){
$title .= '【推广续费】';
}
$title = date('Ymd') . '-' . $param['company_name'];
$data = [
'title' => $title,
'api_no'=> $param['id'],
... ... @@ -311,12 +307,11 @@ class ProjectLogic extends BaseLogic
try {
$res = parent::save($data);
$data['id'] = $res['id'];
$this->setPostId($data['deploy_build']['plan'],$res['id']);
$this->savePayment($data);
$this->saveDeployBuild($data);
$this->saveDeployOptimize($data);
$this->setPostId($data['deploy_build']['plan'],$res['id']);
DB::commit();
Cache::put('project_' . date('Ymd'), $num + 1, 24 * 60 * 60);
}catch (\Exception $e){
DB::rollBack();
errorLog('项目同步失败', $data, $e);
... ... @@ -354,6 +349,7 @@ class ProjectLogic extends BaseLogic
$zeros = str_repeat("0", $paddingLength);
$number = '6'.$plan.$zeros.$id;
$projectModel = new Project();
return $projectModel->edit(['post_id'=>$number],['id'=>$id]);
$projectModel->edit(['post_id'=>$number],['id'=>$id]);
return true;
}
}
... ...
<?php
/**
* @remark :
* @name :ProjectRenew.php
* @author :lyh
* @method :post
* @time :2023/8/11 16:02
*/
namespace App\Models\Project;
use App\Models\Base;
/**
* @remark :续费记录单
* @name :ProjectRenew
* @author :lyh
* @method :post
* @time :2023/8/11 16:02
*/
class ProjectRenew extends Base
{
protected $table = 'gl_project_renew';
}
... ...