上传素材调整

This commit is contained in:
chengxl
2025-05-29 13:50:19 +08:00
parent 4758357eb0
commit bbcbf590c1

View File

@@ -39,11 +39,11 @@ class Material
* @param aJournal 期刊信息 * @param aJournal 期刊信息
*/ */
public function createJournalQrCode($aJournal = []){ public function createJournalQrCode($aJournal = []){
$iJournalId = empty($aJournal['journal_id']) ? 0 : $aJournal['journal_id']; $iJournalId = empty($aJournal['journal_id']) ? 0 : $aJournal['journal_id'];
$iJournalStageId = empty($aJournal['journal_stage_id']) ? 0 : $aJournal['journal_stage_id'];
//生成图片地址 //生成图片地址
$sImagePath = 'journal/'.$iJournalId.'.jpg'; $sImagePath = 'journal/'.$iJournalId.'_'.$iJournalStageId.'.jpg';
$sQrCodeUrl = ROOT_PATH.$this->sQrCodeUrl.$sImagePath; $sQrCodeUrl = ROOT_PATH.$this->sQrCodeUrl.$sImagePath;
//地址 //地址
@@ -56,15 +56,15 @@ class Material
$sImg = QrCodeImage::generate($sUrl,500,$sQrCodeUrl); $sImg = QrCodeImage::generate($sUrl,500,$sQrCodeUrl);
}else{ }else{
$sLogo = trim($this->sJournalUsx,'/').$this->sJournalIcon.$sLogo; $sLogo = trim($this->sJournalUsx,'/').$this->sJournalIcon.$sLogo;
$aImageInfo = json_decode($this->getImage($sLogo,$iJournalId,'journal'),true); $aImageInfo = json_decode($this->getImage($sLogo,$iJournalId.'_'.$iJournalStageId,'journal'),true);
if(empty($aImageInfo['data'])){ // if(empty($aImageInfo['data'])){
$sImg = QrCodeImage::generate($sUrl,500,$sQrCodeUrl); $sImg = QrCodeImage::generate($sUrl,500,$sQrCodeUrl);
} // }
$sImg = QrCodeImage::withLogo($sUrl,$aImageInfo['data'],500,100, $sQrCodeUrl); // $sImg = QrCodeImage::withLogo($sUrl,$aImageInfo['data'],500,100, $sQrCodeUrl);
} }
//插入字段 //插入字段
$aInsertParam = ['journal_id' => $iJournalId,'qrcode_url' => $sImagePath,'create_time' => time(),'update_time' => time()]; $aInsertParam = ['journal_id' => $iJournalId,'journal_stage_id' => $iJournalStageId,'qrcode_url' => $sImagePath,'create_time' => time(),'update_time' => time()];
$sStartSql = 'INSERT INTO t_ai_journal_qrcode ('.implode(',', array_keys($aInsertParam)).') VALUES ('; $sStartSql = 'INSERT INTO t_ai_journal_qrcode ('.implode(',', array_keys($aInsertParam)).') VALUES (';
$sEndSql = ') ON DUPLICATE KEY UPDATE update_time = VALUES(update_time)'; $sEndSql = ') ON DUPLICATE KEY UPDATE update_time = VALUES(update_time)';
@@ -100,10 +100,10 @@ class Material
}else{ }else{
$sLogo = trim($this->sJournalUsx,'/').$this->sArticleIcon.$sLogo; $sLogo = trim($this->sJournalUsx,'/').$this->sArticleIcon.$sLogo;
$aImageInfo = json_decode($this->getImage($sLogo,$iArticleId,'article'),true); $aImageInfo = json_decode($this->getImage($sLogo,$iArticleId,'article'),true);
if(empty($aImageInfo['data'])){ // if(empty($aImageInfo['data'])){
$sImg = QrCodeImage::generate($sUrl,500,$sQrCodeUrl); $sImg = QrCodeImage::generate($sUrl,500,$sQrCodeUrl);
} // }
$sImg = QrCodeImage::withLogo($sUrl,$aImageInfo['data'],500,100, $sQrCodeUrl); // $sImg = QrCodeImage::withLogo($sUrl,$aImageInfo['data'],500,100, $sQrCodeUrl);
} }
//插入字段 //插入字段
@@ -230,6 +230,9 @@ class Material
//期刊ID //期刊ID
$iJournalId = empty($aParam['journal_id']) ? '' : $aParam['journal_id']; $iJournalId = empty($aParam['journal_id']) ? '' : $aParam['journal_id'];
//子期刊ID
$iJournalStageId = empty($aParam['journal_stage_id']) ? 0 : $aParam['journal_stage_id'];
//期刊图片 //期刊图片
$sIcon = empty($aParam['icon']) ? '' : $aParam['icon']; $sIcon = empty($aParam['icon']) ? '' : $aParam['icon'];
if(empty($iJournalId) || empty($sIcon)){ if(empty($iJournalId) || empty($sIcon)){
@@ -239,10 +242,10 @@ class Material
$aImageInfo = pathinfo($sIcon); $aImageInfo = pathinfo($sIcon);
//图片后缀名 //图片后缀名
$sExtension = empty($aImageInfo['extension']) ? 'jpg' : $aImageInfo['extension']; $sExtension = empty($aImageInfo['extension']) ? 'jpg' : $aImageInfo['extension'];
$sImagePath = 'journal/imgae_'.$iJournalId.'.'.$sExtension; $sImagePath = 'journal/imgae_'.$iJournalId.'_'.$iJournalStageId.'.'.$sExtension;
$sImagePath = ROOT_PATH.$this->sQrCodeUrl.$sImagePath; $sImagePath = ROOT_PATH.$this->sQrCodeUrl.$sImagePath;
if (!file_exists($sImagePath)) {//下载图片 if (!file_exists($sImagePath)) {//下载图片
$aImageInfo = json_decode($this->getImage($sIcon,$iJournalId,'journal'),true); $aImageInfo = json_decode($this->getImage($sIcon,$iJournalId.'_'.$iJournalStageId,'journal'),true);
if(empty($aImageInfo['data'])){ if(empty($aImageInfo['data'])){
return json_encode(['status' => 3,'msg' => 'Image download failed']); return json_encode(['status' => 3,'msg' => 'Image download failed']);
} }
@@ -266,7 +269,7 @@ class Material
$iTime = empty($aUploadResult['created_at']) ? time() : $aUploadResult['created_at']; $iTime = empty($aUploadResult['created_at']) ? time() : $aUploadResult['created_at'];
//入库数据组装 //入库数据组装
$aInsert = ['type' => 'image','media_id' => $sMediaId,'create_time' => $iTime,'journal_id' => $iJournalId,'media_url' => $sMediaUrl,'update_time' => $iTime]; $aInsert = ['type' => 'image','media_id' => $sMediaId,'create_time' => $iTime,'journal_id' => $iJournalId,'media_url' => $sMediaUrl,'update_time' => $iTime,'journal_stage_id' => $iJournalStageId];
$sStartSql = 'INSERT INTO t_ai_journal_material ('.implode(',', array_keys($aInsert)).') VALUES ('; $sStartSql = 'INSERT INTO t_ai_journal_material ('.implode(',', array_keys($aInsert)).') VALUES (';
$sEndSql = ') ON DUPLICATE KEY UPDATE update_time = VALUES(update_time),media_id = VALUES(media_id),media_url = VALUES(media_url)'; $sEndSql = ') ON DUPLICATE KEY UPDATE update_time = VALUES(update_time),media_id = VALUES(media_id),media_url = VALUES(media_url)';
@@ -286,13 +289,18 @@ class Material
//期刊ID //期刊ID
$iJournalId = empty($aParam['journal_id']) ? '' : $aParam['journal_id']; $iJournalId = empty($aParam['journal_id']) ? '' : $aParam['journal_id'];
//子期刊ID
$iJournalStageId = empty($aParam['journal_stage_id']) ? 0 : $aParam['journal_stage_id'];
if(empty($iJournalId)){ if(empty($iJournalId)){
return json_encode(['status' => 2,'msg' => 'journal_id or image is empty']); return json_encode(['status' => 2,'msg' => 'journal_id or image is empty']);
} }
//查询是否生成二维码 //查询是否生成二维码
$aWhere = ['journal_id' => $iJournalId,'is_delete' => 2]; $aWhere = ['journal_id' => $iJournalId,'is_delete' => 2];
$aMaterial = Db::name('ai_journal_qrcode')->field('qrcode_url,media_id,media_url')->where($aWhere)->find(); if(!empty($iJournalStageId)){
$aWhere['journal_stage_id'] = $iJournalStageId;
}
$aMaterial = Db::name('ai_journal_qrcode')->field('id,qrcode_url,media_id,media_url')->where($aWhere)->find();
if(empty($aMaterial)){ if(empty($aMaterial)){
return json_encode(['status' => 3,'msg' => 'data is null']); return json_encode(['status' => 3,'msg' => 'data is null']);
} }
@@ -315,7 +323,7 @@ class Material
$sMediaUrl = empty($aData['url']) ? [] : $aData['url']; $sMediaUrl = empty($aData['url']) ? [] : $aData['url'];
$iTime = empty($aUploadResult['created_at']) ? time() : $aUploadResult['created_at']; $iTime = empty($aUploadResult['created_at']) ? time() : $aUploadResult['created_at'];
$aUpdate = ['media_id' => $sMediaId,'media_url' => $sMediaUrl,'update_time' => $iTime]; $aUpdate = ['media_id' => $sMediaId,'media_url' => $sMediaUrl,'update_time' => $iTime];
$response = Db::name('ai_journal_qrcode')->where('journal_id',$iJournalId)->limit(1)->update($aUpdate); $response = Db::name('ai_journal_qrcode')->where('id',$aMaterial['id'])->limit(1)->update($aUpdate);
if($response === false){ if($response === false){
return json_encode(['status' => 3,'msg' => 'fail']); return json_encode(['status' => 3,'msg' => 'fail']);
} }
@@ -581,7 +589,7 @@ class Material
//获取期刊信息 //获取期刊信息
$aJournal = empty($aParam['journal_info']) ? [] : $aParam['journal_info']; $aJournal = empty($aParam['journal_info']) ? [] : $aParam['journal_info'];
//上传期刊素材相关参数组装 //上传期刊素材相关参数组装
$aJournalParam = ['journal_id' => $iJournalId,'icon' => empty($aJournal['icon']) ? '' : $aJournal['icon'],'editor_qrcode' => empty($aJournal['editor_qrcode']) ? '' : $aJournal['editor_qrcode']]; $aJournalParam = ['journal_id' => $iJournalId,'icon' => empty($aJournal['icon']) ? '' : $aJournal['icon'],'editor_qrcode' => empty($aJournal['editor_qrcode']) ? '' : $aJournal['editor_qrcode'],'journal_stage_id' => empty($aJournal['journal_stage_id']) ? 0 : $aJournal['journal_stage_id']];
$aJournalParam += $aWechatParam; $aJournalParam += $aWechatParam;
//上传期刊图片 //上传期刊图片
if(!empty($aJournalParam['icon']) && $sStepName == 'addJournalMaterial'){ if(!empty($aJournalParam['icon']) && $sStepName == 'addJournalMaterial'){