Virtualgoods.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\shopapi\controller;
  13. use app\model\goods\VirtualGoods as VirtualGoodsModel;
  14. /**
  15. * 虚拟商品
  16. * Class Virtualgoods
  17. * @package app\shop\controller
  18. */
  19. class Virtualgoods extends BaseApi
  20. {
  21. public function __construct()
  22. {
  23. //执行父类构造函数
  24. parent::__construct();
  25. $token = $this->checkToken();
  26. if ($token[ 'code' ] < 0) {
  27. echo $this->response($token);
  28. exit;
  29. }
  30. }
  31. /**
  32. * 添加商品
  33. * @return mixed
  34. */
  35. public function addGoods()
  36. {
  37. $data = [
  38. 'goods_name' => isset($this->params[ 'goods_name' ]) ? $this->params[ 'goods_name' ] : '',// 商品名称,
  39. 'goods_attr_class' => isset($this->params[ 'goods_attr_class' ]) ? $this->params[ 'goods_attr_class' ] : '',// 商品类型id,
  40. 'goods_attr_name' => isset($this->params[ 'goods_attr_name' ]) ? $this->params[ 'goods_attr_name' ] : '',// 商品类型名称,
  41. 'site_id' => $this->site_id,
  42. 'category_id' => $this->params[ 'category_id' ] ?? '',
  43. 'category_json' => $this->params[ 'category_json' ] ?? '',
  44. 'goods_image' => isset($this->params[ 'goods_image' ]) ? $this->params[ 'goods_image' ] : '',// 商品主图路径
  45. 'goods_content' => isset($this->params[ 'goods_content' ]) ? $this->params[ 'goods_content' ] : '',// 商品详情
  46. 'goods_state' => isset($this->params[ 'goods_state' ]) ? $this->params[ 'goods_state' ] : '',// 商品状态(1.正常0下架)
  47. 'price' => isset($this->params[ 'price' ]) ? $this->params[ 'price' ] : 0,// 商品价格(取第一个sku)
  48. 'market_price' => isset($this->params[ 'market_price' ]) ? $this->params[ 'market_price' ] : '',// 市场价格(取第一个sku)
  49. 'cost_price' => isset($this->params[ 'cost_price' ]) ? $this->params[ 'cost_price' ] : 0,// 成本价(取第一个sku)
  50. 'sku_no' => isset($this->params[ 'sku_no' ]) ? $this->params[ 'sku_no' ] : '',// 商品sku编码
  51. 'weight' => isset($this->params[ 'weight' ]) ? $this->params[ 'weight' ] : '',// 重量
  52. 'volume' => isset($this->params[ 'volume' ]) ? $this->params[ 'volume' ] : '',// 体积
  53. 'goods_stock' => isset($this->params[ 'goods_stock' ]) ? $this->params[ 'goods_stock' ] : 0,// 商品库存(总和)
  54. 'goods_stock_alarm' => isset($this->params[ 'goods_stock_alarm' ]) ? $this->params[ 'goods_stock_alarm' ] : 0,// 库存预警
  55. 'is_free_shipping' => isset($this->params[ 'is_free_shipping' ]) ? $this->params[ 'is_free_shipping' ] : 1,// 是否免邮
  56. 'shipping_template' => isset($this->params[ 'shipping_template' ]) ? $this->params[ 'shipping_template' ] : 0,// 指定运费模板
  57. 'goods_spec_format' => isset($this->params[ 'goods_spec_format' ]) ? $this->params[ 'goods_spec_format' ] : '',// 商品规格格式
  58. 'goods_attr_format' => isset($this->params[ 'goods_attr_format' ]) ? $this->params[ 'goods_attr_format' ] : '',// 商品参数格式
  59. 'introduction' => isset($this->params[ 'introduction' ]) ? $this->params[ 'introduction' ] : '',// 促销语
  60. 'keywords' => isset($this->params[ 'keywords' ]) ? $this->params[ 'keywords' ] : '',// 关键词
  61. 'unit' => isset($this->params[ 'unit' ]) ? $this->params[ 'unit' ] : '',// 单位
  62. 'sort' => isset($this->params[ 'sort' ]) ? $this->params[ 'sort' ] : 0,// 排序,
  63. 'video_url' => isset($this->params[ 'video_url' ]) ? $this->params[ 'video_url' ] : '',// 视频
  64. 'goods_sku_data' => isset($this->params[ 'goods_sku_data' ]) ? $this->params[ 'goods_sku_data' ] : '',// SKU商品数据
  65. 'label_id' => isset($this->params[ 'label_id' ]) ? $this->params[ 'label_id' ] : '',// 商品分组id
  66. 'max_buy' => isset($this->params[ 'max_buy' ]) ? $this->params[ 'max_buy' ] : '',// 限购
  67. 'min_buy' => isset($this->params[ 'min_buy' ]) ? $this->params[ 'min_buy' ] : '',// 起售
  68. 'timer_on' => isset($this->params[ 'timer_on' ]) ? strtotime($this->params[ 'timer_on' ]) : 0,//定时上架
  69. 'timer_off' => isset($this->params[ 'timer_off' ]) ? strtotime($this->params[ 'timer_off' ]) : 0,//定时下架
  70. 'site_name' => $this->shop_info[ 'site_name' ],//店铺名
  71. 'virtual_sale' => $this->params[ 'virtual_sale' ] ?? 0,// 虚拟销量
  72. 'is_consume_discount' => $this->params[ 'is_consume_discount' ] ?? 0, //是否参与会员折扣
  73. 'goods_service_ids' => $this->params[ 'goods_service_ids' ] ?? '',// 商品服务id集合
  74. 'recommend_way' => $this->params[ 'recommend_way' ] ?? 0, // 推荐方式,1:新品,2:精品,3;推荐
  75. 'is_need_verify' => $this->params[ 'is_need_verify' ] ?? 0, // 是否需要核销
  76. 'verify_validity_type' => $this->params[ 'verify_validity_type' ] ?? 0,// 核销有效期类型
  77. 'virtual_indate' => $this->params[ 'virtual_indate' ] ?? 1,// 虚拟商品有效期
  78. 'verify_num' => $this->params[ 'verify_num' ] ?? 1, // 核销次数
  79. 'is_limit' => $this->params[ 'is_limit' ] ?? 0,// 商品是否限购,
  80. 'limit_type' => $this->params[ 'limit_type' ] ?? 1, // 商品限购类型,
  81. 'sale_show' => $this->params['sale_show'] ?? 0,
  82. 'stock_show' => $this->params['stock_show'] ?? 0,
  83. 'market_price_show' => $this->params['market_price_show'] ?? 0,
  84. 'barrage_show' => $this->params['barrage_show'] ?? 0,
  85. 'brand_id' => $this->params['brand_id'] ?? 0,
  86. 'virtual_deliver_type' => $this->params['virtual_deliver_type'] ?? '',
  87. 'virtual_receive_type' => $this->params['virtual_receive_type'] ?? '',
  88. 'form_id' => $this->params['goods_form'] ?? 0
  89. ];
  90. if ($data['verify_validity_type'] == 2) {
  91. $data['virtual_indate'] = strtotime($data['virtual_indate']);
  92. }
  93. $virtual_goods_model = new VirtualGoodsModel();
  94. $res = $virtual_goods_model->addGoods($data);
  95. return $this->response($res);
  96. }
  97. /**
  98. * 编辑商品
  99. * @return mixed
  100. */
  101. public function editGoods()
  102. {
  103. $virtual_goods_model = new VirtualGoodsModel();
  104. $data = [
  105. 'goods_id' => isset($this->params[ 'goods_id' ]) ? $this->params[ 'goods_id' ] : 0,// 商品id
  106. 'goods_name' => isset($this->params[ 'goods_name' ]) ? $this->params[ 'goods_name' ] : '',// 商品名称,
  107. 'goods_attr_class' => isset($this->params[ 'goods_attr_class' ]) ? $this->params[ 'goods_attr_class' ] : '',// 商品类型id,
  108. 'goods_attr_name' => isset($this->params[ 'goods_attr_name' ]) ? $this->params[ 'goods_attr_name' ] : '',// 商品类型名称,
  109. 'site_id' => $this->site_id,
  110. 'category_id' => $this->params[ 'category_id' ] ?? '',
  111. 'category_json' => $this->params[ 'category_json' ] ?? '',
  112. 'goods_image' => isset($this->params[ 'goods_image' ]) ? $this->params[ 'goods_image' ] : '',// 商品主图路径
  113. 'goods_content' => isset($this->params[ 'goods_content' ]) ? $this->params[ 'goods_content' ] : '',// 商品详情
  114. 'goods_state' => isset($this->params[ 'goods_state' ]) ? $this->params[ 'goods_state' ] : '',// 商品状态(1.正常0下架)
  115. 'price' => isset($this->params[ 'price' ]) ? $this->params[ 'price' ] : 0,// 商品价格(取第一个sku)
  116. 'market_price' => isset($this->params[ 'market_price' ]) ? $this->params[ 'market_price' ] : '',// 市场价格(取第一个sku)
  117. 'cost_price' => isset($this->params[ 'cost_price' ]) ? $this->params[ 'cost_price' ] : 0,// 成本价(取第一个sku)
  118. 'sku_no' => isset($this->params[ 'sku_no' ]) ? $this->params[ 'sku_no' ] : '',// 商品sku编码
  119. 'weight' => isset($this->params[ 'weight' ]) ? $this->params[ 'weight' ] : '',// 重量
  120. 'volume' => isset($this->params[ 'volume' ]) ? $this->params[ 'volume' ] : '',// 体积
  121. 'goods_stock' => isset($this->params[ 'goods_stock' ]) ? $this->params[ 'goods_stock' ] : 0,// 商品库存(总和)
  122. 'goods_stock_alarm' => isset($this->params[ 'goods_stock_alarm' ]) ? $this->params[ 'goods_stock_alarm' ] : 0,// 库存预警
  123. 'is_free_shipping' => isset($this->params[ 'is_free_shipping' ]) ? $this->params[ 'is_free_shipping' ] : 1,// 是否免邮
  124. 'shipping_template' => isset($this->params[ 'shipping_template' ]) ? $this->params[ 'shipping_template' ] : 0,// 指定运费模板
  125. 'goods_spec_format' => isset($this->params[ 'goods_spec_format' ]) ? $this->params[ 'goods_spec_format' ] : '',// 商品规格格式
  126. 'goods_attr_format' => isset($this->params[ 'goods_attr_format' ]) ? $this->params[ 'goods_attr_format' ] : '',// 商品参数格式
  127. 'introduction' => isset($this->params[ 'introduction' ]) ? $this->params[ 'introduction' ] : '',// 促销语
  128. 'keywords' => isset($this->params[ 'keywords' ]) ? $this->params[ 'keywords' ] : '',// 关键词
  129. 'unit' => isset($this->params[ 'unit' ]) ? $this->params[ 'unit' ] : '',// 单位
  130. 'sort' => isset($this->params[ 'sort' ]) ? $this->params[ 'sort' ] : 0,// 排序,
  131. 'video_url' => isset($this->params[ 'video_url' ]) ? $this->params[ 'video_url' ] : '',// 视频
  132. 'goods_sku_data' => isset($this->params[ 'goods_sku_data' ]) ? $this->params[ 'goods_sku_data' ] : '',// SKU商品数据
  133. 'label_id' => isset($this->params[ 'label_id' ]) ? $this->params[ 'label_id' ] : '',// 商品分组id
  134. 'max_buy' => isset($this->params[ 'max_buy' ]) ? $this->params[ 'max_buy' ] : '',// 限购
  135. 'min_buy' => isset($this->params[ 'min_buy' ]) ? $this->params[ 'min_buy' ] : '',// 起售
  136. 'timer_on' => isset($this->params[ 'timer_on' ]) ? strtotime($this->params[ 'timer_on' ]) : 0,//定时上架
  137. 'timer_off' => isset($this->params[ 'timer_off' ]) ? strtotime($this->params[ 'timer_off' ]) : 0,//定时下架
  138. 'spec_type_status' => isset($this->params[ 'spec_type_status' ]) ? strtotime($this->params[ 'spec_type_status' ]) : 0,
  139. 'site_name' => $this->shop_info[ 'site_name' ],//店铺名
  140. 'virtual_sale' => $this->params[ 'virtual_sale' ] ?? 0,// 虚拟销量
  141. 'is_consume_discount' => $this->params[ 'is_consume_discount' ] ?? 0, //是否参与会员折扣
  142. 'goods_service_ids' => $this->params[ 'goods_service_ids' ] ?? '',// 商品服务id集合
  143. 'recommend_way' => $this->params[ 'recommend_way' ] ?? 0, // 推荐方式,1:新品,2:精品,3;推荐
  144. 'is_need_verify' => $this->params[ 'is_need_verify' ] ?? 0, // 是否需核销
  145. 'verify_validity_type' => $this->params[ 'verify_validity_type' ] ?? 0,// 核销有效期类型
  146. 'virtual_indate' => $this->params[ 'virtual_indate' ] ?? 1,// 虚拟商品有效期
  147. 'verify_num' => $this->params[ 'verify_num' ] ?? 1, // 核销次数
  148. 'is_limit' => $this->params[ 'is_limit' ] ?? 0,// 商品是否限购,
  149. 'limit_type' => $this->params[ 'limit_type' ] ?? 1, // 商品限购类型,
  150. 'sale_show' => $this->params['sale_show'] ?? 0,
  151. 'stock_show' => $this->params['stock_show'] ?? 0,
  152. 'market_price_show' => $this->params['market_price_show'] ?? 0,
  153. 'barrage_show' => $this->params['barrage_show'] ?? 0,
  154. 'brand_id' => $this->params['brand_id'] ?? 0,
  155. 'virtual_deliver_type' => $this->params['virtual_deliver_type'] ?? '',
  156. 'virtual_receive_type' => $this->params['virtual_receive_type'] ?? '',
  157. 'form_id' => $this->params['goods_form'] ?? 0
  158. ];
  159. if ($data['verify_validity_type'] == 2) {
  160. $data['virtual_indate'] = strtotime($data['virtual_indate']);
  161. }
  162. $res = $virtual_goods_model->editGoods($data);
  163. return $this->response($res);
  164. }
  165. }