<?php /** * GoodsLogic.php UTF-8 * 商品逻辑处理 * * @date : 2018/5/7 22:49 * * @license 这不是一个自由软件,未经授权不许任何使用和传播。 * @author : wuyonghong <wyh@huosdk.com> * @version : HUOSDK 8.0 */ namespace huo\logic\shop; use huo\model\common\CommonModel; use huo\model\shop\GoodsModel; use huolib\status\ShopStatus; class GoodsLogic extends CommonModel { protected $base_field = [ 'id' => 'goods_id', 'goods_name' => 'goods_name', 'is_real' => 'is_real', 'store_cnt' => 'total_cnt', 'remain_cnt' => 'remain_cnt', 'mem_times' => 'mem_times', 'market_price' => 'market_price', 'goods_intro' => 'goods_intro', 'initial' => 'initial', 'original_img' => 'original_img', 'integral' => 'integral', 'gain_integral' => 'gain_integral', 'object_type' => 'object_name', 'object_id' => 'object_id', 'flag' => 'flag', ]; /** * 获取商品列表 * * @param array $where * @param string $page * @param string $order * * @param array $field * @param bool $_base * * @return int| array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function getList($where = [], $page = '1,10', $order = '', $field = [], $_base = true) { $_goods_model = new GoodsModel(); $_count = $_goods_model->useGlobalScope($_base)->where($where)->count(); if (empty($_count)) { return ShopStatus::GOODS_CNT_ZERO; } $_field = $this->base_field; $_field = array_merge($_field, $field); $_order = $this->orderFilter($order); $_goodss = $_goods_model ->useGlobalScope($_base) ->field($_field) ->where($where) ->order($_order) ->page($page) ->select(); if (is_object($_goodss)) { $_goodss = $_goodss->toArray(); } if (empty($_goodss)) { $_list = null; $_rdata['count'] = $_count; $_rdata['list'] = $_list; return $_rdata; } $_list = []; foreach ($_goodss as $_k => $_v) { $_data = []; $_data['goods_id'] = $_v['goods_id']; $_data['goods_name'] = $_v['goods_name']; $_data['is_real'] = $_v['is_real']; $_data['total_cnt'] = $_v['total_cnt']; $_data['remain_cnt'] = $_v['remain_cnt']; $_data['market_price'] = $_v['market_price']; $_data['goods_intro'] = $_v['goods_intro']; $_data['initial'] = $_v['initial']; $_data['original_img'] = $_v['original_img']; $_data['integral'] = $_v['integral']; $_data['gain_integral'] = $_v['gain_integral']; $_data['object_name'] = $_v['object_name']; $_data['object_id'] = $_v['object_id']; $_data['flag'] = $_v['flag']; if (isset($_v['is_on_sale'])) { $_data['is_on_sale'] = $_v['is_on_sale']; } if (isset($_v['on_time'])) { $_data['on_time'] = $_v['on_time']; } if (isset($_v['update_time'])) { $_data['update_time'] = $_v['update_time']; } if (isset($_v['list_order'])) { $_data['list_order'] = $_v['list_order']; } $_list[] = $_data; } $_rdata['count'] = $_count; $_rdata['list'] = $_list; return $_rdata; } /** * 通过商品ID 查询商品信息 * * @param $goods_id * * @return array|bool|false */ public function getInfoByGoodsId($goods_id) { if (empty($goods_id)) { return false; } $_map['id'] = $goods_id; $_field = $this->base_field; $_field['goods_content'] = 'goods_content'; $_goods_data = (new GoodsModel())->useGlobalScope(false)->field($_field)->where($_map)->find(); if (is_object($_goods_data)) { $_goods_data = $_goods_data->toArray(); } return $_goods_data; } }