SchoolPhysicalExamination/application/test/controller/Testuse.php

816 lines
32 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\test\controller;
use think\Controller;
use think\Db;
use app\bj\controller\Common;
use think\Log;
use \think\Validate;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use app\app\controller\Smsaliyun;
class Testuse extends Controller{
// 收集表A
public function readExcelFile_a() {
// Excel文件路径示例
$filePath = 'D:\数据\厨房秤\食谱\excelA.xlsx';
try {
// 加载Excel文件
$spreadsheet = IOFactory::load($filePath);
// 获取第一个工作表Sheet1
$sheet = $spreadsheet->getSheet(0);
// 将工作表数据转换为数组
$data = $sheet->toArray();
$temporary_arr_title = $data[0];
unset($data[0]);
$temporary_arr = [];
$temporary_arr2 = [];
foreach ($data as $key => $value) {
if($value[0] == 112 || $value[0] == 113 || $value[0] == 114 || $value[0] == 115 || $value[0] == 116 || $value[0] == 117 || $value[0] == 118 || $value[0] == 119 || $value[0] == 120 || $value[0] == 121){
// unset();
unset($data[$key]);
}
}
foreach ($data as $key => $value) {
$temporary_arr2 = [];
foreach ($temporary_arr_title as $k => $v) {
$temporary_arr2[$v] = $value[$k];
}
array_push($temporary_arr,$temporary_arr2);
}
foreach ($temporary_arr as $key => $value) {
$temporary_arr[$key]['record_id'] = $value['id'];
$temporary_arr[$key]['Calorie_name'] = $value['Calorie'];
$temporary_arr[$key]['Protein_name'] = $value['Protein'];
$temporary_arr[$key]['Fat_name'] = $value['Fat'];
$temporary_arr[$key]['Carbohydrate_name'] = $value['Carbohydrate'];
$temporary_arr[$key]['food_name'] = $value['name'];
unset($temporary_arr[$key]['id']);
unset($temporary_arr[$key]['Calorie']);
unset($temporary_arr[$key]['Protein']);
unset($temporary_arr[$key]['Fat']);
unset($temporary_arr[$key]['Carbohydrate']);
unset($temporary_arr[$key]['name']);
if($value['image'] == ''){
$temporary_arr[$key]['pic_url'] = '/food_img/none.png';
}else{
$result = $this->downloadImageWithName($value['image'], $value['id']);
if($result['success'] == true){
$temporary_arr[$key]['pic_url'] = '/food_img/'.$result['filename'];
}else{
$temporary_arr[$key]['pic_url'] = 'error';
}
}
unset($temporary_arr[$key]['image']);
}
// dump($temporary_arr);
// die;
$cfc = Db::connect('cfc_db');
// 获取账号下信息以及用户信息
$user_data = $cfc->table('app_z_national_standard_food_type_3')->insertAll($temporary_arr);
dump($user_data);
die;
} catch (\Exception $e) {
// 输出错误信息
dump(['error' => true, 'message' => $e->getMessage()]);
}
}
// 收集表B
public function readExcelFile_b() {
// Excel文件路径示例
$filePath = 'D:\数据\厨房秤\食谱\excelB.xlsx';
try {
// 加载Excel文件
$spreadsheet = IOFactory::load($filePath);
// 获取第一个工作表Sheet1
$sheet = $spreadsheet->getSheet(0);
// 将工作表数据转换为数组
$data = $sheet->toArray();
$temporary_arr_title = $data[0];
unset($data[0]);
$temporary_arr = [];
$temporary_arr2 = [];
foreach ($data as $key => $value) {
if($value[0] == 112 || $value[0] == 113 || $value[0] == 114 || $value[0] == 115 || $value[0] == 116 || $value[0] == 117 || $value[0] == 118 || $value[0] == 119 || $value[0] == 120 || $value[0] == 121){
// unset();
unset($data[$key]);
}
}
foreach ($data as $key => $value) {
$temporary_arr2 = [];
foreach ($temporary_arr_title as $k => $v) {
$temporary_arr2[$v] = $value[$k];
}
$temporary_arr2['name_ch'] = $temporary_arr2['desc'];
unset($temporary_arr2['desc']);
unset($temporary_arr2['description']);
array_push($temporary_arr,$temporary_arr2);
}
// dump($temporary_arr);
$cfc = Db::connect('cfc_db');
// 获取账号下信息以及用户信息
$user_data = $cfc->table('app_z_national_standard_food_type_4')->insertAll($temporary_arr);
dump($user_data);
die;
} catch (\Exception $e) {
// 输出错误信息
dump(['error' => true, 'message' => $e->getMessage()]);
}
}
public function downloadImageWithName($remoteUrl, $name, $localDir = '')
{
try {
// 设置默认本地目录
if (empty($localDir)) {
$localDir = 'D:\phpstudy_pro\WWW\reedaw\SchoolPhysicalExamination\public\food_img';
// $localDir = 'D:\phpstudy_pro\WWW\reedaw\SchoolPhysicalExamination\public\kitchenscale_all\cook_img';
}
// 检查并创建目录
if (!is_dir($localDir)) {
mkdir($localDir, 0755, true);
}
// 从URL中获取文件扩展名
$urlParts = parse_url($remoteUrl);
$pathInfo = pathinfo($urlParts['path']);
$extension = isset($pathInfo['extension']) ? $pathInfo['extension'] : 'jpg';
// 构建完整文件名和路径
$filename = $name . 'xt' . time() . '.jpg';
$localPath = rtrim($localDir, '/\\') . DIRECTORY_SEPARATOR . $filename;
// 使用cURL下载图片
$ch = curl_init($remoteUrl);
$fp = fopen($localPath, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
fclose($fp);
// 验证下载结果
if ($result === false || $httpCode != 200 || !file_exists($localPath)) {
throw new \Exception('图片下载或保存失败');
}
// 返回简化结果
return [
'success' => true,
'filename' => $filename
];
} catch (\Exception $e) {
Log::error('图片下载失败: ' . $e->getMessage() . ' URL: ' . $remoteUrl);
return [
'success' => false,
'filename' => ''
];
}
}
public function downloadImageWithName2($remoteUrl, $name, $localDir = ''){
try {
// 设置默认本地目录
if (empty($localDir)) {
// $localDir = 'D:\phpstudy_pro\WWW\reedaw\SchoolPhysicalExamination\public\food_img';
$localDir = 'D:\phpstudy_pro\WWW\reedaw\SchoolPhysicalExamination\public\kitchenscale_all\cook_img';
}
// 检查并创建目录
if (!is_dir($localDir)) {
mkdir($localDir, 0755, true);
}
// 从URL中获取文件扩展名
$urlParts = parse_url($remoteUrl);
$pathInfo = pathinfo($urlParts['path']);
$extension = isset($pathInfo['extension']) ? $pathInfo['extension'] : 'jpg';
// 构建完整文件名和路径
$filename = $name . 'cook' . time() . '.jpg';
$localPath = rtrim($localDir, '/\\') . DIRECTORY_SEPARATOR . $filename;
// 使用cURL下载图片
$ch = curl_init($remoteUrl);
$fp = fopen($localPath, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
fclose($fp);
// 验证下载结果
if ($result === false || $httpCode != 200 || !file_exists($localPath)) {
return [
'success' => false,
'filename' => '图片下载或保存失败'
];
}
// 返回简化结果
return [
'success' => true,
'filename' => $filename
];
} catch (\Exception $e) {
Log::error('图片下载失败: ' . $e->getMessage() . ' URL: ' . $remoteUrl);
return [
'success' => false,
'filename' => '图片下载或保存失败'
];
}
}
//
// 偷数据存start#########################################################################################################
public function save_caidan_content(){
// 添加CORS响应头必须放在任何输出之前
header('Access-Control-Allow-Origin: https://www.nutridata.cn');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
// 如果是OPTIONS预检请求直接返回204
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
header('HTTP/1.1 204 No Content');
exit;
}
$data = input('post.');
$pic = 'none_str';
// if($data['image'] == ''){
// $pic = '/kitchenscale_all/food_img/none.png';
// }else{
// $result = $this->downloadImageWithName2($data['image'], $data['id']);
// if($result['success'] == true){
// $pic = '/kitchenscale_all/cook_img/'.$result['filename'];
// }else{
// $pic = 'error';
// }
// }
$save_data['content'] = json_encode($data);
// $save_data['pic_url'] = $pic;
$cfc = Db::connect('cfc_db');
// 获取账号下信息以及用户信息
$user_data = $cfc->table('linshi_caidan_biao')->insert($save_data);
if($user_data){
return $this->msg(0,'success',[]);
}else{
return $this->msg(9999,'error',[]);
}
}
// 偷数据存end#########################################################################################################
// 处理偷过来的数据start#########################################################################################################
public function clean_data_all_page(){
return $this->fetch();
}
public function clean_data_all(){
$page = 1;
$ok_num = 0;
$no_num = 0;
$jieshou_data = input();
$page = $jieshou_data['page'];
$cfc = Db::connect('cfc_db');
$cha = $cfc->table('linshi_caidan_biao')->where('is_clean = 0')->page("$page,25")->select();
// dump();
// die;
if(count($cha) <= 0){
return $this->msg(99999,'失败',[]);
}
foreach ($cha as $key => $value) {
$cha[$key]['data'] = json_decode($value['content'],true);
}
$cookbook_arr = [];
$foodlist_arr = [];
$cookbook_nutrition = [];//营养
$cookbook_vitamin = [];//维生素
$cookbook_mineral = [];//矿物质
$cookbook_quantifier = [];//量词
$foodlist_arr_temporary = [];
foreach ($cha as $key => $value) {
$cookbook_nutrition = [];//营养
$cookbook_vitamin = [];//维生素
$cookbook_mineral = [];//矿物质
$cookbook_quantifier = [];//量词
$cookbook_arr = [];
$foodlist_arr_temporary = [];
// 处理食谱详情
$cookbook_arr['title'] = $value['data']['name'];
$cookbook_arr['cover'] = 19;
$cookbook_arr['create_user_token'] = 'caadd1be045a65f30b92aa805f1de54a';
$cookbook_arr['create_user_head_pic'] = "https://tc.pcxbc.com/tsf/head_pic.png";
$cookbook_arr['create_user_nickname'] = "clown";
$cookbook_arr['describe_data'] = "";
$cookbook_arr['food_data'] = [];
$cookbook_arr['step_data'] = [];
$cookbook_arr['create_time'] = date('Y-m-d H:i:s');
$cookbook_arr['cook_label'] = 8;
$cookbook_arr['original_cookbook_id'] = $value['data']['id'];
foreach ($value['data']['major'] as $k1 => $v1) {
$zhao = $cfc->table('app_z_national_standard_food_type_3')->where(['record_id'=>$v1['ingrId']])->select();
if(count($zhao) > 0){
array_push($cookbook_arr['food_data'],[
'id' => $zhao[0]['id'],
'name' => $zhao[0]['food_name'],
'weight' => $v1['note'],
'kcal' => $zhao[0]['Calorie_val'],
'unit' => 'g',
]);
array_push($foodlist_arr_temporary,$zhao[0]['id']);
}
}
foreach ($value['data']['dishCooksteps'] as $k2 => $v2) {
if($v2['content'] != ''){
array_push($cookbook_arr['step_data'],[
'pic_list' => [],
'description' => $v2['content']
]);
}
}
$cookbook_arr['food_data'] = json_encode($cookbook_arr['food_data']);
$cookbook_arr['step_data'] = json_encode($cookbook_arr['step_data']);
// 处理营养物质
foreach ($value['data']['nutritionMap']['能量及宏量营养素'] as $nutrition_k => $nutrition_v) {
array_push($cookbook_nutrition,[
'name_en'=>$nutrition_v['name'],
'name_ch'=>$nutrition_v['desc'],
'unit'=>$nutrition_v['unit'],
'value'=>$nutrition_v['value'],
'nrv'=>$nutrition_v['nrv'],
'nutriSort'=>$nutrition_v['nutriSort'],
'description'=>$nutrition_v['description'],
]);
}
// 处理维生素
foreach ($value['data']['nutritionMap']['维生素'] as $vitamin_k => $vitamin_v) {
array_push($cookbook_vitamin,[
'name_en'=>$vitamin_v['name'],
'name_ch'=>$vitamin_v['desc'],
'unit'=>$vitamin_v['unit'],
'value'=>$vitamin_v['value'],
'nrv'=>$vitamin_v['nrv'],
'nutriSort'=>$vitamin_v['nutriSort'],
'description'=>$vitamin_v['description'],
]);
}
// 处理矿物质
foreach ($value['data']['nutritionMap']['矿物质'] as $mineral_k => $mineral_v) {
array_push($cookbook_mineral,[
'name_en'=>$mineral_v['name'],
'name_ch'=>$mineral_v['desc'],
'unit'=>$mineral_v['unit'],
'value'=>$mineral_v['value'],
'nrv'=>$mineral_v['nrv'],
'nutriSort'=>$mineral_v['nutriSort'],
'description'=>$mineral_v['description'],
]);
}
// 处理量词
foreach ($value['data']['unit'] as $quantifier_k => $quantifier_v) {
array_push($cookbook_quantifier,[
'name_ch'=>$quantifier_v['unit'],
'value'=>$quantifier_v['value'],
]);
}
// 启动事务
$cfc->startTrans();
try{
// 存食谱
$cook_book_id = $cfc->table('app_user_cookbook')->insertGetId($cookbook_arr);
// 存食谱所含食材
$foodlist_arr = [];
foreach ($foodlist_arr_temporary as $k3 => $v3) {
array_push($foodlist_arr,['cookbook_id'=>$cook_book_id,'food_id'=>$v3]);
}
$cfc->table('app_user_cookbook_food_relation')->insertAll($foodlist_arr);
//存营养
foreach ($cookbook_nutrition as $k4 => $v4) {
$cookbook_nutrition[$k4]['cookbook_id'] = $cook_book_id;
}
// dump($cookbook_nutrition);
$cfc->table('app_user_cookbook_nutrition')->insertAll($cookbook_nutrition);
//存维生素
foreach ($cookbook_vitamin as $k5 => $v5) {
$cookbook_vitamin[$k5]['cookbook_id'] = $cook_book_id;
}
// dump($cookbook_vitamin);
$cfc->table('app_user_cookbook_vitamin')->insertAll($cookbook_vitamin);
//存矿物质
foreach ($cookbook_mineral as $k6 => $v6) {
$cookbook_mineral[$k6]['cookbook_id'] = $cook_book_id;
}
// dump($cookbook_mineral);
$cfc->table('app_user_cookbook_mineral')->insertAll($cookbook_mineral);
// //存量词
foreach ($cookbook_quantifier as $k7 => $v7) {
$cookbook_quantifier[$k7]['cookbook_id'] = $cook_book_id;
}
$cfc->table('app_user_cookbook_quantifier')->insertAll($cookbook_quantifier);
// 修改原始数据
$cfc->table('linshi_caidan_biao')->where(['id'=>$value['id']])->update(['is_clean'=>1,'name'=>$value['data']['name'],'yuanshi_id'=>$value['data']['id']]);
// 提交事务
$cfc->commit();
$ok_num = $ok_num+1;
} catch (\Exception $e) {
// 回滚事务
$cfc->rollback();
$no_num = $no_num+1;
}
}
// dump($ok_num);
// dump($no_num);
// die;
return $this->msg(0,'成功',['ok'=>$ok_num,'no'=>$no_num]);
}
// 处理偷过来的数据end#########################################################################################################
// 获取图片接口start#########################################################################################################
public function download_picture_api(){
// 添加CORS响应头必须放在任何输出之前
header('Access-Control-Allow-Origin: https://www.nutridata.cn');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
// 如果是OPTIONS预检请求直接返回204
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
header('HTTP/1.1 204 No Content');
exit;
}
$cfc = Db::connect('cfc_db');
$result = $cfc->table('linshi_caidan_biao')->where("pic_clean = 0")->field('id,pic_url,is_clean,name,yuanshi_id')->find();
if($result){
return $this->msg(0,'成功',$result);
}else{
return $this->msg(99999,'失败',[]);
}
}
public function update_cookbook_data_api(){
// 添加CORS响应头必须放在任何输出之前
header('Access-Control-Allow-Origin: https://www.nutridata.cn');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
// 如果是OPTIONS预检请求直接返回204
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
header('HTTP/1.1 204 No Content');
exit;
}
$data = input('post.');
// return $this->msg(0,'成功',$data);
$cfc = Db::connect('cfc_db');
$result = $cfc->table('linshi_caidan_biao')->where(["yuanshi_id"=>$data['id']])->update(['category'=>$data['category']]);
if($result){
return $this->msg(0,'成功',$result);
}else{
return $this->msg(99999,'失败',[]);
}
}
public function cun_bendi_pic()
{
// 记录接收到的数据
// file_put_contents('request_log.txt', date('Y-m-d H:i:s')."\n".json_encode($_POST)."\n\n", FILE_APPEND);
// 强制设置 JSON 响应头
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
exit;
}
$data = input('post.');
$cfc = Db::connect('cfc_db');
$msg_str = '本次存储成功';
$update_data = [
'pic_clean'=>1
];
if(!array_key_exists('id',$data) || $data['id'] == ''){
// $update_data['pic_url'] = 'id_miss';
// $updateResult = $cfc->table('linshi_caidan_biao')
// ->where(["yuanshi_id" => $data['id']])
// ->update($update_data);
return $this->msg(0, $msg_str,'id_miss');
}
if(!array_key_exists('image',$data) || $data['image'] == ''){
$update_data['pic_url'] = 'no_data';
$updateResult = $cfc->table('linshi_caidan_biao')
->where(["yuanshi_id" => $data['id']])
->update($update_data);
return $this->msg(0, $msg_str,'no_data');
}
$pic_result = $this->downloadImageWithName2($data['image'],$data['id']);
$update_data['pic_url'] = $pic_result['filename'];
// 更新数据库
$cfc = Db::connect('cfc_db');
$updateResult = $cfc->table('linshi_caidan_biao')
->where(["yuanshi_id" => $data['id']])
->update($update_data);
return $this->msg(0, $msg_str,$updateResult);
}
// public function cun_bendi_pic()
// {
// // 强制设置 JSON 响应头
// header('Content-Type: application/json; charset=utf-8');
// header('Access-Control-Allow-Origin: *');
// header('Access-Control-Allow-Methods: POST, OPTIONS');
// header('Access-Control-Allow-Headers: Content-Type');
// if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
// exit;
// }
// try {
// // 确保获取原始 POST 数据
// $rawData = file_get_contents('php://input');
// $data = json_decode($rawData, true);
// if (empty($data['id']) || empty($data['image'])) {
// throw new Exception('参数不完整');
// }
// // 验证 id 是否为整数
// if (!is_numeric($data['id'])) {
// throw new Exception('ID 必须为整数');
// }
// $id = (int)$data['id'];
// $ossUrl = trim($data['image']);
// // 验证 OSS 链接
// if (!filter_var($ossUrl, FILTER_VALIDATE_URL)) {
// throw new Exception('无效的 OSS 链接');
// }
// $filename = $id . 'cook' . time() . '.jpg';
// $savePath = 'D:/phpstudy_pro/WWW/reedaw/SchoolPhysicalExamination/public/kitchenscale_all/cook_img/';
// // 创建目录(如果不存在)
// if (!file_exists($savePath)) {
// mkdir($savePath, 0777, true);
// }
// // 使用 cURL 获取 OSS 图片(更可靠)
// $ch = curl_init();
// curl_setopt($ch, CURLOPT_URL, $ossUrl);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// $imageData = curl_exec($ch);
// if (curl_errno($ch)) {
// throw new Exception('获取 OSS 图片失败: ' . curl_error($ch));
// }
// $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// curl_close($ch);
// if ($httpCode !== 200) {
// throw new Exception('OSS 返回错误状态码: ' . $httpCode);
// }
// // 保存图片
// $result = file_put_contents($savePath . $filename, $imageData);
// if ($result === false) {
// throw new Exception('写入文件失败');
// }
// // 更新数据库
// $update_data = [
// 'pic_clean' => 1,
// 'pic_url' => $filename
// ];
// $cfc = Db::connect('cfc_db');
// $updateResult = $cfc->table('linshi_caidan_biao')
// ->where(["yuanshi_id" => $id])
// ->update($update_data);
// // 返回成功响应
// echo json_encode([
// 'code' => 0,
// 'msg' => '图片保存成功',
// 'data' => [
// 'filename' => $filename,
// 'db_affected' => $updateResult
// ]
// ], JSON_UNESCAPED_UNICODE);
// } catch (Exception $e) {
// // 返回错误响应
// echo json_encode([
// 'code' => 1,
// 'msg' => $e->getMessage(),
// 'data' => null
// ], JSON_UNESCAPED_UNICODE);
// }
// exit; // 确保没有其他输出
// }
// 获取图片接口end#########################################################################################################
public function caipu_shuju_chuli()
{
// // 处理图片查看本地文件数据存到图片表修改原始数据的状态start#######################################################################
// // 初始化SQL Server数据库连接
// $cfc = Db::connect('cfc_db');
// // 查询需要处理的原始数据
// $yuanshi_data = $cfc->table('linshi_caidan_biao')
// ->where(['pic_clean' => 1,'is_move_ok'=>0])
// ->page("1,100")
// ->field('id,pic_url,name,yuanshi_id,category,pic_clean')
// ->select();
// // dump($yuanshi_data);
// // die;
// if(count($yuanshi_data) <= 0){
// return $this->msg(99999,'ok',[]);
// }
// $yuanshi_mulu = 'D:\phpstudy_pro\WWW\reedaw\SchoolPhysicalExamination\public\kitchenscale_all\cook_img';
// $new_mulu = 'D:\phpstudy_pro\WWW\reedaw\SchoolPhysicalExamination\public\kitchenscale_all\cook_img\linshi';
// $result = [
// 'all'=>count($yuanshi_data),
// 'ok'=>0,
// 'no'=>0,
// 'none'=>0,
// ];
// $temporary_arr_data = [];
// $temporary_arr_ok = [];
// $temporary_arr_none = [];
// foreach ($yuanshi_data as $key => $value) {
// // 先判断是不是个有效的图片名字
// if (preg_match('/\.jpg$/i', $value['pic_url'])) {
// // 是
// // 判断目录下是否有这个文件
// if (!file_exists($yuanshi_mulu.DS.$value['pic_url'])) {
// $result['none'] = $result['none']+1;
// array_push($temporary_arr_none,$value['yuanshi_id']);
// continue;
// }else{
// $result['ok'] = $result['ok']+1;
// array_push($temporary_arr_ok,$value['yuanshi_id']);
// array_push($temporary_arr_data,[
// 'user_token' => 'caadd1be045a65f30b92aa805f1de54a',
// 'pic_name' => $value['pic_url'],
// 'pic_url' => "https://tc.pcxbc.com/kitchenscale_all/cook_img/".$value['pic_url'],
// 'create_time' => date('Y-m-d H:i:s'),
// 'special_record_str' => $value['yuanshi_id']
// ]);
// rename($yuanshi_mulu.DS.$value['pic_url'], $new_mulu.DS.$value['pic_url']);
// }
// } else {
// $result['none'] = $result['none']+1;
// array_push($temporary_arr_none,$value['yuanshi_id']);
// continue;
// }
// }
// // 启动事务
// $cfc->startTrans();
// try {
// if($result['ok'] > 0){
// $cfc->table('app_user_upload_img')->insertAll($temporary_arr_data);
// $cfc->table('linshi_caidan_biao')->where("yuanshi_id in ('".implode("','",$temporary_arr_ok)."')")->update(['is_move_ok'=>1]);
// }
// if($result['none'] > 0){
// $cfc->table('linshi_caidan_biao')->where("yuanshi_id in ('".implode("','",$temporary_arr_none)."')")->update(['is_move_ok'=>2]);
// }
// $cfc->commit();
// return json(['code'=>0,'msg'=>'成功','data'=>$result]);
// } catch (\Exception $e) {
// $cfc->rollback();
// return json(['code'=>99999,'msg'=>'成功','data'=>[]]);
// }
// // 处理图片查看本地文件数据存到图片表修改原始数据的状态end#######################################################################
//更新菜谱的图片数据为图片表的数据start#########################################
$cfc = Db::connect('cfc_db');
$page = 1;
$data = input();
$page = $data['page'];
// 查食谱
// $img_data = $cfc->table('app_user_upload_img')->where(["special_record_str"=>$cookbook_data[0]['original_cookbook_id']])->field('id,special_record_str')->select();
$img_data = $cfc->table('app_user_upload_img')->where(["operate_log"=>0])->page("$page,1")->field('id,special_record_str')->select();
if(count($img_data) <= 0){
return $this->msg(99999,'没了',[]);
}
$cookbook_data = $cfc->table('app_user_cookbook')->where(['original_cookbook_id'=>$img_data[0]['special_record_str']])->field('id')->select();
if(count($cookbook_data) <= 0){
return $this->msg(0,'no1',[]);
}
// 启动事务
$cfc->startTrans();
try {
$cfc->table('app_user_cookbook')->where(['original_cookbook_id'=>$img_data[0]['special_record_str']])->update(['cover'=>$img_data[0]['id']]);
$cfc->table('app_user_upload_img')->where(['id'=>$img_data[0]['id']])->update(['operate_log'=>1]);
$cfc->commit();
return $this->msg(0,'ok',['num'=>$img_data[0]['special_record_str']]);
} catch (\Exception $e) {
$cfc->rollback();
return $this->msg(0,'no2',[]);
}
}
// 从execl直接导入菜谱
public function execl_import_cookbook(){
}
###################################################################################################################
###################################################################################################################
###################################################################################################################
public function msg($code,$str,$data){
return json(['code'=>$code,'msg'=>$str,'data'=>$data]);
}
}