159 lines
5.8 KiB
PHP
159 lines
5.8 KiB
PHP
<?php
|
|
|
|
namespace app\controller\admin;
|
|
|
|
use crmeb\basic\BaseController;
|
|
use think\facade\Db;
|
|
use think\facade\Log;
|
|
use crmeb\services\UploadService;
|
|
use think\api\Client;
|
|
|
|
class ProductLibrary extends BaseController
|
|
{
|
|
|
|
public function lst()
|
|
{
|
|
[$page, $limit] = $this->getPage();
|
|
$param = $this->request->param();
|
|
$where = ['is_del' => 0];
|
|
$list = Db::name('product_library')->where($where)->page($page)->limit($limit)->order('id desc')->select();
|
|
$count = Db::name('product_library')->count();
|
|
return app('json')->success(['list' => $list, 'count' => $count]);
|
|
}
|
|
|
|
public function add()
|
|
{
|
|
$param = $this->request->param();
|
|
$data['store_name'] = $param['store_name'];
|
|
$data['store_info'] = $param['store_info'];
|
|
$data['keyword'] = $param['keyword'];
|
|
$data['bar_code'] = $param['bar_code'];
|
|
$data['is_used'] = 1;
|
|
$data['status'] = 1;
|
|
$data['cate_id'] = $param['cate_id'];
|
|
$data['unit_name'] = $param['unit_name'];
|
|
$data['price'] = $param['price'];
|
|
$data['cost'] = $param['cost'];
|
|
$data['ot_price'] = $param['ot_price'];
|
|
$data['stock'] = $param['stock'];
|
|
$data['create_time'] = date('Y-m-d H:i:s');
|
|
$data['image'] = $param['image'];
|
|
$data['slider_image'] = $param['slider_image'];
|
|
$data['images'] = $param['images'];
|
|
$res = Db::name('product_library')->insert($data);
|
|
if ($res) {
|
|
return app('json')->success('添加成功');
|
|
} else {
|
|
return app('json')->fail('添加失败');
|
|
}
|
|
}
|
|
|
|
public function edit()
|
|
{
|
|
$param = $this->request->param();
|
|
$data['store_name'] = $param['store_name'];
|
|
$data['store_info'] = $param['store_info'];
|
|
$data['keyword'] = $param['keyword'];
|
|
$data['bar_code'] = $param['bar_code'];
|
|
$data['is_used'] = 1;
|
|
$data['status'] = 1;
|
|
$data['cate_id'] = $param['cate_id'];
|
|
$data['unit_name'] = $param['unit_name'];
|
|
$data['price'] = $param['price'];
|
|
$data['cost'] = $param['cost'];
|
|
$data['ot_price'] = $param['ot_price'];
|
|
$data['stock'] = $param['stock'];
|
|
$data['create_time'] = date('Y-m-d H:i:s');
|
|
$data['image'] = $param['image'];
|
|
$data['slider_image'] = $param['slider_image'];
|
|
$data['images'] = $param['images'];
|
|
$res = Db::name('product_library')->where('id', $param['id'])->update($data);
|
|
if ($res) {
|
|
return app('json')->success('修改成功');
|
|
} else {
|
|
return app('json')->fail('修改失败');
|
|
}
|
|
}
|
|
|
|
public function del()
|
|
{
|
|
$param = $this->request->param();
|
|
$res = Db::name('product_library')->where('id', $param['id'])->update(['is_del' => 1]);
|
|
if ($res) {
|
|
return app('json')->success('删除成功');
|
|
} else {
|
|
return app('json')->fail('删除失败');
|
|
}
|
|
}
|
|
|
|
public function caiji($code = '')
|
|
{
|
|
if ($code == '') {
|
|
return app('json')->fail('编码不能为空');
|
|
}
|
|
$client = new Client("b1eb52b9-0379-4c56-b795-47d90a73ca6a");
|
|
|
|
$result = $client->barcodeQuery()
|
|
->withCode($code)
|
|
->request();
|
|
try {
|
|
if ($result['code'] == 0) {
|
|
$upload = UploadService::create();
|
|
$dir = 'def/' . date('Y-m-d');
|
|
|
|
$param = $result['data'];
|
|
$data['store_name'] = $param['goodsName'];
|
|
$data['store_info'] = '';
|
|
$data['keyword'] = '';
|
|
$data['bar_code'] = $code;
|
|
$data['is_used'] = 1;
|
|
$data['status'] = 1;
|
|
$data['cate_id'] = 0;
|
|
$data['unit_name'] = '';
|
|
$data['spec'] =$param['spec'];
|
|
$data['trademark'] =$param['trademark'];
|
|
$data['goods_type'] =$param['goodsType'];
|
|
$data['ycg'] =$param['ycg'];
|
|
$data['note'] =$param['note'];
|
|
$data['manu_address'] =$param['manuAddress'];
|
|
$data['price'] = $param['price']??0;
|
|
$data['cost'] = 0;
|
|
$data['ot_price'] = 0;
|
|
$data['stock'] = 9999999;
|
|
$data['create_time'] = date('Y-m-d H:i:s');
|
|
$data['images'] = '';
|
|
if ($param['sptmImg'] != '') {
|
|
$oss = $upload->to($dir)->stream(file_get_contents($param['sptmImg']));
|
|
$data['image'] = $oss->filePath;
|
|
|
|
} else {
|
|
$data['image'] = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/uploads/20230130/00ebcfdf75684f5494c0193075055d1.png';
|
|
$data['slider_image'] = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/uploads/20230130/00ebcfdf75684f5494c0193075055d1.png';
|
|
}
|
|
$arr=[];
|
|
foreach($param['imgList'] as $k=>$v){
|
|
$arr[] = $upload->to($dir)->stream(file_get_contents($v));
|
|
}
|
|
if(count($arr)>0){
|
|
$data['slider_image'] =implode(',',$arr);
|
|
}else{
|
|
$data['slider_image']='';
|
|
}
|
|
$data['images'] = '';
|
|
$res = Db::name('product_library')->insert($data);
|
|
if ($res) {
|
|
return app('json')->success('添加成功');
|
|
} else {
|
|
throw new \think\exception\ValidateException('添加失败');
|
|
}
|
|
} else {
|
|
|
|
Log::error('商品采集错误:' . $result['message']);
|
|
throw new \think\exception\ValidateException($result['message']);
|
|
}
|
|
} catch (\Exception $e) {
|
|
throw new \think\exception\ValidateException($e->getMessage());
|
|
}
|
|
}
|
|
}
|