admin/addon/cardservice/storeapi/controller/Card.php

238 lines
13 KiB
PHP
Raw Permalink 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
/**
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.cdcloudshop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\cardservice\storeapi\controller;
use addon\cardservice\model\CardGoods;
use addon\virtualcard\model\VirtualGoods as VirtualGoodsModel;
use app\model\goods\Goods as GoodsModel;
use app\model\goods\GoodsService as GoodsServiceModel;
use app\model\store\Store as StoreModel;
use app\shopapi\controller\BaseApi;
/**
* 卡项商品
* Class Card
* @package addon\cardservice\shopapi\controller
*/
class Card extends BaseApi{
public function __construct(){
//执行父类构造函数
parent::__construct();
$token = $this->checkToken();
if($token['code'] < 0){
echo $this->response($token);
exit;
}
}
/**
* 添加商品
* @return mixed
*/
public function addGoods(){
$category_id = input("category_id",0);// 分类id
$category_json = json_encode($category_id);//分类字符串
$category_id = '';
$data = [
'goods_name' => input("goods_name",""),// 商品名称,
'goods_attr_class' => input("goods_attr_class",""),// 商品类型id,
'goods_attr_name' => input("goods_attr_name",""),// 商品类型名称,
'is_limit' => input("is_limit","0"),// 商品是否限购,
'limit_type' => input("limit_type","1"),// 商品限购类型,
'site_id' => $this->site_id,
'category_id' => $category_id,
'category_json' => $category_json,
'goods_image' => input("goods_image",""),// 商品主图路径
'goods_content' => input("goods_content",""),// 商品详情
'goods_state' => input("goods_state",""),// 商品状态1.正常0下架
'price' => input("price",0),// 商品价格取第一个sku
'renew_price' => input("renew_price",0), // 续费价格
'market_price' => input("market_price",0),// 市场价格取第一个sku
'cost_price' => input("cost_price",0),// 成本价取第一个sku
'sku_no' => input("sku_no",""),// 商品sku编码
'weight' => input("weight",""),// 重量
'volume' => input("volume",""),// 体积
'goods_stock' => input("goods_stock",0),// 商品库存(总和)
'goods_stock_alarm' => input("goods_stock_alarm",0),// 库存预警
'goods_spec_format' => input("goods_spec_format",""),// 商品规格格式
'goods_attr_format' => input("goods_attr_format",""),// 商品参数格式
'introduction' => input("introduction",""),// 促销语
'keywords' => input("keywords",""),// 关键词
'unit' => input("unit",""),// 单位
'sort' => input("sort",0),// 排序,
'video_url' => input("video_url",""),// 视频
'goods_sku_data' => input("goods_sku_data",""),// SKU商品数据
'goods_service_ids' => input("goods_service_ids",''),// 商品服务id集合
'label_id' => input("label_id",''),// 商品分组id
'brand_id' => input("brand_id",0),//品牌id
'virtual_sale' => input("virtual_sale",0),// 虚拟销量
'max_buy' => input("max_buy",0),// 限购
'min_buy' => input("min_buy",0),// 起售
'recommend_way' => input('recommend_way',0), // 推荐方式1新品2精品3推荐
'timer_on' => strtotime(input('timer_on',0)),//定时上架
'timer_off' => strtotime(input('timer_off',0)),//定时下架
'is_consume_discount' => input('is_consume_discount',0),//是否参与会员折扣
'qr_id' => input('qr_id',0),// 社群二维码id
'template_id' => input('template_id',0), // 商品海报id
'sale_show' => input('sale_show',0),//
'stock_show' => input('stock_show',0),//
'market_price_show' => input('market_price_show',0),//
'barrage_show' => input('barrage_show',0),//
'form_id' => input('form_id',0),
'sale_channel' => input('sale_channel','all'),
'sale_store' => input('sale_store','all'),
'card_type' => input('card_type',''),
'validity_type' => input('validity_type',0),
'discount_goods_type' => input('discount_goods_type','all'),
'discount' => input('discount',0),
'common_num' => input('common_num',0),
'relation_goods' => input('relation_goods','[]'),
'is_unify_pirce' => input('is_unify_pirce',1),
'alipay_zhima' => input('alipay_zhima',0),
'zhima_type' => input('zhima_type',''),
'average_price' => input('average_price',0),
'buy_number' => input('buy_number',0),
'down_payment' => input('down_payment', 0),
'down_payment_periods' => input('down_payment_periods', 0),
'original_price' => input('original_price', 0),
];
if($data['validity_type'] == 1){
$data['validity_day'] = input("validity_day",0);
}
elseif($data['validity_type'] == 2){
$data['validity_time'] = strtotime(input("validity_time",''));
}
$virtual_goods_model = new CardGoods();
$res = $virtual_goods_model->addGoods($data);
return $this->response($res);
}
/**
* 编辑商品
* @return mixed
*/
public function editGoods(){
$virtual_goods_model = new CardGoods();
$category_id = input("category_id",0);// 分类id
$category_json = json_encode($category_id);//分类字符串
$category_id = '';
$data = [
'goods_id' => input("goods_id",0),// 商品id
'goods_name' => input("goods_name",""),// 商品名称,
'goods_attr_class' => input("goods_attr_class",""),// 商品类型id,
'goods_attr_name' => input("goods_attr_name",""),// 商品类型名称,
'is_limit' => input("is_limit","0"),// 商品是否限购,
'limit_type' => input("limit_type","1"),// 商品限购类型,
'site_id' => $this->site_id,
'category_id' => $category_id,
'category_json' => $category_json,
'goods_image' => input("goods_image",""),// 商品主图路径
'goods_content' => input("goods_content",""),// 商品详情
'goods_state' => input("goods_state",""),// 商品状态1.正常0下架
'price' => input("price",0),// 商品价格取第一个sku
'renew_price' => input("renew_price",0), // 续费价格
'market_price' => input("market_price",0),// 市场价格取第一个sku
'cost_price' => input("cost_price",0),// 成本价取第一个sku
'sku_no' => input("sku_no",""),// 商品sku编码
'weight' => input("weight",""),// 重量
'volume' => input("volume",""),// 体积
'goods_stock' => input("goods_stock",0),// 商品库存(总和)
'goods_stock_alarm' => input("goods_stock_alarm",0),// 库存预警
'goods_spec_format' => input("goods_spec_format",""),// 商品规格格式
'goods_attr_format' => input("goods_attr_format",""),// 商品参数格式
'introduction' => input("introduction",""),// 促销语
'keywords' => input("keywords",""),// 关键词
'unit' => input("unit",""),// 单位
'sort' => input("sort",0),// 排序,
'video_url' => input("video_url",""),// 视频
'goods_sku_data' => input("goods_sku_data",""),// SKU商品数据
'goods_service_ids' => input("goods_service_ids",''),// 商品服务id集合
'label_id' => input("label_id",''),// 商品分组id
'brand_id' => input("brand_id",0),//品牌id
'virtual_sale' => input("virtual_sale",0),// 虚拟销量
'max_buy' => input("max_buy",0),// 限购
'min_buy' => input("min_buy",0),// 起售
'recommend_way' => input('recommend_way',0), // 推荐方式1新品2精品3推荐
'timer_on' => strtotime(input('timer_on',0)),//定时上架
'timer_off' => strtotime(input('timer_off',0)),//定时下架
'spec_type_status' => input('spec_type_status',0),
'is_consume_discount' => input('is_consume_discount',0),//是否参与会员折扣
'qr_id' => input('qr_id',0),// 社群二维码id
'template_id' => input('template_id',0), // 商品海报id
'sale_show' => input('sale_show',0),//
'stock_show' => input('stock_show',0),//
'market_price_show' => input('market_price_show',0),//
'barrage_show' => input('barrage_show',0),//
'form_id' => input('form_id',0),
'sale_channel' => input('sale_channel','all'),
'sale_store' => input('sale_store','all'),
'validity_type' => input('validity_type',0),
'discount_goods_type' => input('discount_goods_type','all'),
'discount' => input('discount',0),
'common_num' => input('common_num',0),
'relation_goods' => input('relation_goods','[]'),
'is_unify_pirce' => input('is_unify_pirce',1),
'alipay_zhima' => input('alipay_zhima',0),
'zhima_type' => input('zhima_type',''),
'average_price' => input('average_price',0),
'buy_number' => input('buy_number',0),
'down_payment' => input('down_payment', 0),
'down_payment_periods' => input('down_payment_periods', 0),
'original_price' => input('original_price', 0),
];
if($data['validity_type'] == 1){
$data['validity_day'] = input("validity_day",0);
}
elseif($data['validity_type'] == 2){
$data['validity_time'] = strtotime(input("validity_time",''));
}
$res = $virtual_goods_model->editGoods($data);
return $this->response($res);
}
public function getCardType(){
$virtual_goods_model = new CardGoods();
return $this->response($this->success($virtual_goods_model->getCardType()));
}
public function getServiceList(){
$goods_service_model = new GoodsServiceModel();
$service_list = $goods_service_model->getServiceList([ [ 'site_id', '=', $this->site_id ] ], 'id,service_name,icon');
return $this->response($service_list);
}
public function editGetGoodsInfo(){
$virtual_goods_model = new CardGoods();
$goods_model = new GoodsModel();
$goods_id = input("goods_id", 0);
$goods_info = $virtual_goods_model->editGetGoodsInfo([ 'goods_id' => $goods_id, 'site_id' => $this->site_id ]);
if (empty($goods_info[ 'data' ])) $this->error('未获取到商品信息');
$goods_sku_list = $goods_model->getGoodsSkuList([ [ 'goods_id', '=', $goods_id ], [ 'site_id', '=', $this->site_id ] ], "sku_id,sku_name,sku_no,sku_spec_format,price,market_price,cost_price,stock,virtual_indate,sku_image,sku_images,goods_spec_format,spec_name,stock_alarm,is_default", '')[ 'data' ];
$goods_info[ 'data' ][ 'goods_sku_data' ] = $goods_sku_list;
$store_is_exit = addon_is_exit('store', $this->site_id);
if ($store_is_exit && $goods_info[ 'data' ][ 'sale_store' ] != 'all') {
$store_list = ( new StoreModel() )->getStoreList([ [ 'site_id', '=', $this->site_id ], [ 'store_id', 'in', $goods_info[ 'data' ][ 'sale_store' ] ] ], 'store_id,store_name,status,address,full_address,is_frozen');
$goods_info[ 'data' ]['store_list'] = $store_list[ 'data' ];
}
return $this->response($goods_info);
}
/**
* 选择门店
* @return mixed
*/
public function storeList(){
$store_list = ( new StoreModel() )->getStoreList([ [ 'site_id', '=', $this->site_id ] ], 'store_id,store_name,status,address,full_address,is_frozen');
return $this->response($store_list);
}
}