1
This commit is contained in:
@@ -2018,7 +2018,7 @@ class Article extends Base
|
||||
* @return void
|
||||
*/
|
||||
private function markArticleImage($article_id){
|
||||
$article_info = $this->article_obj->where("article_id",$article_id)->find();
|
||||
// $article_info = $this->article_obj->where("article_id",$article_id)->find();
|
||||
//处理word的图片内容
|
||||
$files = $this->article_file_obj->where("article_id",$article_id)->where("type_name","manuscirpt")->where("state",0)->order("ctime desc")->limit(1)->select();
|
||||
$file = '';
|
||||
@@ -2157,9 +2157,18 @@ class Article extends Base
|
||||
|
||||
private function insertImageData($article_id, $newFileName)
|
||||
{
|
||||
$ff="";
|
||||
if(pathinfo($newFileName,PATHINFO_EXTENSION)=="tif"||pathinfo($newFileName,PATHINFO_EXTENSION)=="tiff"){
|
||||
$ff = $this->crossTifToPng($article_id . "/" . $newFileName);
|
||||
}else{
|
||||
$ff = $article_id . "/" . $newFileName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$insert = [
|
||||
'article_id' => $article_id,
|
||||
'image' => $article_id . "/" . $newFileName,
|
||||
'image' => $ff,
|
||||
'ctime' => time(),
|
||||
];
|
||||
$this->article_image_obj->insert($insert);
|
||||
@@ -2250,6 +2259,9 @@ class Article extends Base
|
||||
foreach ($file_runs as $v){
|
||||
$insert['article_id'] = $article_id;
|
||||
$insert['image'] = $article_id."/".$v;
|
||||
if(pathinfo($v,PATHINFO_EXTENSION)=="tif"||pathinfo($v,PATHINFO_EXTENSION)=="tiff"){
|
||||
$insert['jpg_url'] = $this->crossTifToPng($article_id . "/" . $v);
|
||||
}
|
||||
$insert['ctime'] = time();
|
||||
$this->article_image_obj->insert($insert);
|
||||
}
|
||||
|
||||
@@ -81,6 +81,7 @@ class Base extends Controller
|
||||
protected $article_main_obj="";
|
||||
protected $article_main_image_obj = "";
|
||||
protected $article_main_table_obj = '';
|
||||
protected $order_obj = "";
|
||||
|
||||
|
||||
public function __construct(\think\Request $request = null)
|
||||
@@ -157,6 +158,7 @@ class Base extends Controller
|
||||
$this->article_main_obj = Db::name("article_main");
|
||||
$this->article_main_image_obj = Db::name("article_main_image");
|
||||
$this->article_main_table_obj = Db::name("article_main_table");
|
||||
$this->order_obj = Db::name("order");
|
||||
}
|
||||
|
||||
|
||||
@@ -545,7 +547,7 @@ class Base extends Controller
|
||||
}
|
||||
|
||||
|
||||
private function crossTifToPng($tif_url){
|
||||
public function crossTifToPng($tif_url){
|
||||
$url = $this->ts_base_url . "api/typeset/crossImage";
|
||||
$program['url'] = $tif_url;
|
||||
$res = object_to_array(json_decode(myPost($url, $program)));
|
||||
|
||||
@@ -256,6 +256,11 @@ class Journal extends Base {
|
||||
$update['email'] = $data['email'];
|
||||
$update['epassword'] = $data['epassword'];
|
||||
$update['kfen'] = $data['kfen'];
|
||||
if(isset($data['fee'])&&$data['fee']!=0){
|
||||
$update['fee'] = $data['fee'];
|
||||
}
|
||||
|
||||
|
||||
$update['scope'] = isset($data['scope'])?trim($data['scope']):"";
|
||||
$this->journal_obj->where('journal_id',$data['journal_id'])->update($update);
|
||||
return jsonSuccess([]);
|
||||
|
||||
150
application/api/controller/Order.php
Normal file
150
application/api/controller/Order.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\api\controller\Base;
|
||||
use PaypalServerSdkLib\Authentication\ClientCredentialsAuthCredentialsBuilder;
|
||||
use PaypalServerSdkLib\Environment;
|
||||
use PaypalServerSdkLib\Models\Builders\AmountWithBreakdownBuilder;
|
||||
use PaypalServerSdkLib\Models\Builders\OrderRequestBuilder;
|
||||
use PaypalServerSdkLib\Models\Builders\PurchaseUnitRequestBuilder;
|
||||
use PaypalServerSdkLib\PaypalServerSdkClientBuilder;
|
||||
use think\Db;
|
||||
use think\Queue;
|
||||
use think\Validate;
|
||||
|
||||
class Order extends base{
|
||||
protected $PAYPAL_CLIENT_ID="ARyoAhBNlTMDEBb6QvJYmK0gA4cfSS6WY0Vr2uJhX3NOe7V9qVCJuNwuRHRO09WGcTgS5AkuTIgRZDcx";
|
||||
protected $PAYPAL_CLIENT_SECRET="EPrmkePbt1hFGssdQkAHM11AACGKzcHoc-RjmyomOWhKJSpTDXlLdpwzjgM24XajiwwAIXyvbYd8j7Uo";
|
||||
|
||||
public function __construct(\think\Request $request = null)
|
||||
{
|
||||
parent::__construct($request);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function creatArticleOrder(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
"article_id"=>"require"
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$article_info = $this->article_obj->where("article_id",$data['article_id'])->find();
|
||||
$journal_info = $this->journal_obj->where("journal_id",$article_info['journal_id'])->find();
|
||||
$check = $this->order_obj->where("user_id",$article_info['user_id'])->where("article_id",$data['article_id'])->whereIn("state",[0,1])->find();
|
||||
if($check){
|
||||
$re['detail'] = $check;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
$insert['user_id'] = $article_info['user_id'];
|
||||
$insert['type'] = 0;
|
||||
$insert["article_id"] = $data['article_id'];
|
||||
$insert['order_fee'] = $journal_info['fee'];
|
||||
$insert['real_fee'] = $journal_info['fee'];
|
||||
$insert['ctime'] = time();
|
||||
$id = $this->order_obj->insertGetId($insert);
|
||||
$re['detail'] = $this->order_obj->where("order_id",$id)->find();
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getUserOrder(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
"user_id"=>"require",
|
||||
"state"=>"require"
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$list = $this->order_obj->where("user_id",$data['user_id'])->where("state",$data['state'])->select();
|
||||
$re['list'] = $list;
|
||||
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private function handleResponse($response)
|
||||
{
|
||||
$jsonResponse = json_decode($response->getBody(), true);
|
||||
return [
|
||||
"jsonResponse" => $jsonResponse,
|
||||
"httpStatusCode" => $response->getStatusCode(),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function mytest(){
|
||||
$url = 'https://api-m.sandbox.paypal.com/v1/oauth2/token';
|
||||
|
||||
// PayPal client credentials (replace these with your own credentials)
|
||||
$clientId = $this->PAYPAL_CLIENT_ID; // 替换为您的 client_id
|
||||
$clientSecret = $this->PAYPAL_CLIENT_SECRET; // 替换为您的 client_secret
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, 'https://api-m.sandbox.paypal.com/v1/oauth2/token'); // PayPal 沙盒环境的 URL
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回响应而不是输出
|
||||
curl_setopt($ch, CURLOPT_POST, true); // 设置为 POST 请求
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $clientId . ':' . $clientSecret); // 设置基本认证(Basic Auth)
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/x-www-form-urlencoded' // 设置 Content-Type 为 x-www-form-urlencoded
|
||||
]);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials'); // 设置表单参数
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
$response = curl_exec($ch);
|
||||
if (curl_errno($ch)) {
|
||||
// 如果有错误,输出错误信息
|
||||
echo 'Error: ' . curl_error($ch);
|
||||
} else {
|
||||
// 请求成功,解析响应
|
||||
$responseData = json_decode($response, true); // 将 JSON 响应转为数组
|
||||
if (isset($responseData['access_token'])) {
|
||||
echo "Access Token: " . $responseData['access_token']; // 输出获取的 Access Token
|
||||
} else {
|
||||
echo "Error: Unable to retrieve access token. Response: " . json_encode($responseData); // 如果没有获取到 Token,输出错误信息
|
||||
}
|
||||
}
|
||||
curl_close($ch);
|
||||
}
|
||||
|
||||
|
||||
public function mytest1(){
|
||||
$re = $this->createPaypalOrder();
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
private function createPaypalOrder()
|
||||
{
|
||||
$client = PaypalServerSdkClientBuilder::init()
|
||||
->clientCredentialsAuthCredentials(
|
||||
ClientCredentialsAuthCredentialsBuilder::init(
|
||||
$this->PAYPAL_CLIENT_ID,
|
||||
$this->PAYPAL_CLIENT_SECRET
|
||||
)
|
||||
)
|
||||
->environment(Environment::SANDBOX)
|
||||
->build();
|
||||
|
||||
$orderBody = [
|
||||
"body" => OrderRequestBuilder::init("CAPTURE", [
|
||||
PurchaseUnitRequestBuilder::init(
|
||||
AmountWithBreakdownBuilder::init("USD", "100")->build()
|
||||
)->build(),
|
||||
])->build(),
|
||||
];
|
||||
$apiResponse = $client->getOrdersController()->ordersCreate($orderBody);
|
||||
|
||||
return $this->handleResponse($apiResponse);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -643,7 +643,10 @@ class Preaccept extends Base
|
||||
}
|
||||
$insert['ctime'] = time();
|
||||
$this->article_main_image_obj->insert($insert);
|
||||
return jsonSuccess([]);
|
||||
$re['url'] = $data['url'];
|
||||
|
||||
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
public function editMainImage(){
|
||||
@@ -668,7 +671,6 @@ class Preaccept extends Base
|
||||
"article_id"=>"require",
|
||||
"table_data"=>"require",
|
||||
"title"=>"require",
|
||||
"note"=>"require"
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
@@ -681,7 +683,9 @@ class Preaccept extends Base
|
||||
$insert['html_data'] = $data['html_data'];
|
||||
}
|
||||
$insert['title']=$data['title'];
|
||||
$insert['note'] = $data['note'];
|
||||
if(isset($data['note'])){
|
||||
$insert['note'] = $data['note'];
|
||||
}
|
||||
$insert['ctime'] = time();
|
||||
$this->article_main_table_obj->insert($insert);
|
||||
return jsonSuccess([]);
|
||||
@@ -720,16 +724,23 @@ class Preaccept extends Base
|
||||
|
||||
// 定义上传目录
|
||||
$uploadDir = ROOT_PATH . 'public' . DS . "articleImage".DS.$article_id;
|
||||
|
||||
$extension = pathinfo($file->getInfo("name"),PATHINFO_EXTENSION);
|
||||
// 生成自定义文件名,使用 uniqid 生成唯一的文件名
|
||||
$fileName = uniqid('file_') . '.' . pathinfo($file->getInfo("name"),PATHINFO_EXTENSION);
|
||||
$fileName = uniqid('file_') . '.' .$extension;
|
||||
|
||||
// 移动文件到指定目录,并重命名
|
||||
$info = $file->move($uploadDir, $fileName);
|
||||
|
||||
// 检查文件是否上传成功
|
||||
if ($info) {
|
||||
$re['upurl'] = $article_id."/".$fileName;
|
||||
$ff = '';
|
||||
if($extension=="tif"||$extension=="tiff"){
|
||||
$ff = $this->crossTifToPng($article_id."/".$fileName);
|
||||
}else{
|
||||
$ff = $article_id."/".$fileName;
|
||||
}
|
||||
|
||||
$re['upurl'] = $ff;
|
||||
return jsonSuccess($re);
|
||||
} else {
|
||||
return jsonError("error");
|
||||
|
||||
@@ -1216,8 +1216,10 @@ class Production extends Base
|
||||
$typesetInfo['mainText'] = json_encode($mainList);
|
||||
$typesetInfo['images'] = $images;
|
||||
$typesetInfo['tables'] = $tables;
|
||||
$url = $this->ts_base_url."api/typeset/webGetDocx";
|
||||
// $url = "http://192.168.110.110:8081/typeset/createDocx";
|
||||
|
||||
// $url = $this->ts_base_url."api/typeset/webGetDocx";
|
||||
$url = "http://192.168.110.110:8081/typeset/createDocx";
|
||||
// $url = "http://192.168.110.110:8081/typeset/testqt";
|
||||
$res = object_to_array(json_decode(myPost1($url, $typesetInfo)));
|
||||
|
||||
if (!isset($res['data']['file']) || $res['data']['file'] == '') {
|
||||
|
||||
@@ -1898,7 +1898,7 @@ class User extends Base
|
||||
$user_info = $this->user_obj->where('account', $account)->find();
|
||||
if ($user_info['type'] == 2) {
|
||||
$ros[] = 'editor';
|
||||
if($account=="liuna"||$account=="zhuwenjing"){
|
||||
if($account=="liuna"||$account=="zhuwenjing"||$account=="zhuwenjing"){
|
||||
$ros[] = "superadmin";
|
||||
}
|
||||
return $ros;
|
||||
|
||||
@@ -196,23 +196,26 @@ class Web extends Base
|
||||
}else{
|
||||
$reviewers[$k]['reviewer_name'] = "anonymous";
|
||||
}
|
||||
if(($article_info['journal_id']==1&&$p_info['journal_stage_id']>=453)
|
||||
||($article_info['journal_id']==2&&$p_info['journal_stage_id']>=4747)
|
||||
||($article_info['journal_id']==6&&$p_info['journal_stage_id']>=515)
|
||||
||($article_info['journal_id']==15&&($article_info['article_id']>=4465||$article_info['article_id']==4349))
|
||||
||($article_info['journal_id']==10&&$p_info['journal_stage_id']>=534)
|
||||
||($article_info['journal_id']==3&&($article_info['article_id']>=4523||$article_info['article_id']==4094||$article_info['article_id']==4369))
|
||||
||($article_info['journal_id']==2&&$article_info['article_id']>=4361)
|
||||
||($article_info['journal_id']==9&&$p_info['journal_stage_id']>=545)
|
||||
||$article_info['journal_id']==23){
|
||||
// if(($article_info['journal_id']==1&&$p_info['journal_stage_id']>=453)
|
||||
// ||($article_info['journal_id']==2&&$p_info['journal_stage_id']>=4747)
|
||||
// ||($article_info['journal_id']==6&&$p_info['journal_stage_id']>=515)
|
||||
// ||($article_info['journal_id']==15&&($article_info['article_id']>=4465||$article_info['article_id']==4349))
|
||||
// ||($article_info['journal_id']==10&&$p_info['journal_stage_id']>=534)
|
||||
// ||($article_info['journal_id']==3&&($article_info['article_id']>=4523||$article_info['article_id']==4094||$article_info['article_id']==4369))
|
||||
// ||($article_info['journal_id']==2&&$article_info['article_id']>=4361)
|
||||
// ||($article_info['journal_id']==9&&$p_info['journal_stage_id']>=545)
|
||||
// ||$article_info['journal_id']==23||$article_info['journal_id']==4||$article_info['journal_id']==8||$article_info['journal_id']==11
|
||||
// ||$article_info['journal_id']==12||$article_info['journal_id']==13||$article_info['journal_id']==14||$article_info['journal_id']==16
|
||||
// ||$article_info['journal_id']==17||$article_info['journal_id']==18||$article_info['journal_id']==19||$article_info['journal_id']==24||$article_info['journal_id']==25
|
||||
// ){
|
||||
//添加初审问卷
|
||||
$reviewers[$k]['question'] = $this->article_reviewer_question_obj->where('art_rev_id',$v['art_rev_id'])->find();
|
||||
//添加复审问卷
|
||||
$reviewers[$k]['re_question']=$this->article_reviewer_repeat_obj->where('art_rev_id',$v['art_rev_id'])->select();
|
||||
}else {
|
||||
$reviewers[$k]['question'] = null;
|
||||
$reviewers[$k]['re_question'] = null;
|
||||
}
|
||||
// }else {
|
||||
// $reviewers[$k]['question'] = null;
|
||||
// $reviewers[$k]['re_question'] = null;
|
||||
// }
|
||||
}
|
||||
$begin['type'] = 0;
|
||||
$begin['time'] = $article_info['ctime'];
|
||||
|
||||
Reference in New Issue
Block a user