123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- namespace app\api\controller;
- use app\api\controller\Base;
- use think\Db;
- use hg\apidoc\annotation as Apidoc;
- /**
- * @Apidoc\Title("申购模块")
- * @Apidoc\Group("api")
- */
- class Subscribe extends Base
- {
- public function initialize()
- {
- parent::initialize();
- parent::checkLogin();
- }
- /**
- * @Apidoc\Title("获取商品导入模板地址")
- * @Apidoc\Desc("获取审批流程")
- * @Apidoc\Method("GET")
- * @Apidoc\Author("HG")
- * @Apidoc\Tag("")
- * @Apidoc\Returned("", type="string", desc="模板链接地址")
- */
- public function template_url()
- {
- $url = 'https://'.$_SERVER['HTTP_HOST'].'/template.xlsx';
- $this->success('获取成功',$url);
- }
- /**
- * @Apidoc\Title("获取商品导入后的商品信息")
- * @Apidoc\Desc("获取审批流程")
- * @Apidoc\Method("GET")
- * @Apidoc\Author("HG")
- * @Apidoc\Tag("")
- * @Apidoc\Query("url", type="string", desc="导入文件上传后的路径")
- * @Apidoc\Returned("", type="string", desc="模板链接地址")
- */
- public function goods_info()
- {
- $url = input('url');
- if(empty($url)){
- $this->error('参数错误');
- }
- $file_name = explode('/',$url);
- $import_path = $_SERVER['DOCUMENT_ROOT'].'/upload/excel/'.end($file_name);
- $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
- $objExcel = $objReader->load($import_path);
- $list = $objExcel->getActiveSheet()->toArray();
- if(empty($list)){
- $this->error('暂无数据');
- }
- $data = array();
- foreach ($list as $k=>$v){
- if($k > 0 && $v[0]){
- //判断分类是否有
- $old_cate_one_id = $cate_one_id = Db::name('goods_cate')->where('title',$v[1])->value('id');
- $old_cate_two_id = $cate_two_id = Db::name('goods_cate')->where('title',$v[2])->value('id');
- if(empty($cate_one_id)){
- $cate_one_id = Db::name('goods_cate')->getLastInsID(array('title'=>$v[0]));
- $cate_one_id = Db::name('goods_cate')->getLastInsID(array('title'=>$v[1],'level'=>2,'pid'=>$cate_one_id));
- }
- if(empty($cate_two_id)){
- $cate_two_id = Db::name('goods_cate')->getLastInsID(array('title'=>$v[1],'level'=>2,'pid'=>$cate_one_id));
- }
- $goods_id = Db::name('store_goods')->where('name',$v[4])->value('id');
- if(empty($old_cate_one_id) || empty($old_cate_two_id) || empty($goods_id)){
- $goods_id = Db::name('store_goods')->getLastInsID(
- array(
- 'name'=>$v[4],
- 'brand'=>$v[3],
- 'first_classify'=>$cate_one_id,
- 'second_classify'=>$cate_two_id,
- 'user_id'=>$this->user_id
- )
- );
- }
- $specification_name_arr = explode(',',$v[5]);
- $specification_value_arr = explode(',',$v[6]);
- if(count($specification_name_arr) != count($specification_value_arr)){
- $this->error('规格信息有误');
- }
- foreach ($specification_name_arr as $sk=>$sv){
- $specification = $sv.'::'.$specification_value_arr[$sk];
- echo $specification;exit();
- $goods_item_id = Db::name('store_goods_item')->where('goods_id',$goods_id)->where('goods_spec',$specification)->value('id');
- if(empty($goods_item_id)){
- $goods_item_id = Db::name('store_goods_item')->getLastInsID(array('goods_id'=>$goods_id, 'goods_spec'=>$specification, 'goods_no'=>$v[0]));
- }
- $data[] = array('name'=>$v[4],'specification'=>$sv.';'.$specification_value_arr[$sk],'num'=>$v[7],'price'=>$v[8],'goods_item_id'=>$goods_item_id);
- }
- }
- }
- $this->success('导入成功',$data);
- }
- }
|