* @version : HUOSDK 8.0 */ namespace h5wap\wap\controller; use h5wap\common\controller\V2BaseController; use huo\controller\gift\Gift; use huo\controller\member\Member; use huo\controller\shop\Goods; use huo\controller\shop\ItgOrder; use huo\logic\shop\ItgOrderLogic; use huolib\constant\MemItgConst; use huolib\status\CommonStatus; use huolib\status\ShopStatus; class GoodsController extends V2BaseController { /** * H5WAP商品列表 * http://doc.1tsdk.com/138?page_id=3220 * 【域名】/wap/goods/list * */ public function index() { $_mem_id = $this->mem_id; $_param = $this->request->param(); $_can_exchange = $this->request->param('can_exchange'); $_can_ex = false; if (2 == $_can_exchange) { $_can_ex = true; } $_page = $this->request->param('page/d', 1); $_offset = $this->request->param('offset/d', 2); $_page = $_page.','.$_offset; if (empty($_param['flag'])) { $_param['flag'] = ['neq', MemItgConst::SHOP_FLAG_LOTTERY]; } $_goods = (new Goods())->getList($_param, $_page, $_mem_id, $_can_ex); if (ShopStatus::NO_ERROR != $_goods['code']) { $this->returnData($_goods); } $this->returnData($_goods); } /** * 商品详情页 * http://doc.1tsdk.com/138?page_id=3115 * 【域名】/wap/goods/detail */ public function detail() { $_user_info = (new Member())->getMemInfo($this->mem_id); $this->assign('userinfo', $_user_info); $_goods_id = $this->request->param('goods_id'); $_order_id = $this->request->param('order_id', 0); $_goods_data = (new Goods())->getDetail($_goods_id); if (CommonStatus::NO_ERROR != $_goods_data['code']) { return $this->returnData($_goods_data); } //如果是抽奖商品,需要传递order_id $_itg_order_data = (new ItgOrder())->getDetail($_order_id); if ($_itg_order_data['code'] == CommonStatus::NO_ERROR) { $this->assign("order", $_itg_order_data['data']); } else { $this->assign( "order", [ 'order_id' => '', 'shipping_status' => '' ] ); } if (MemItgConst::GOODS_IS_GIFT == $_goods_data['data']['object_name']) { $_gift_class = new Gift(); $_gift_data = $_gift_class->getGiftDetail($_goods_data['data']['object_id'], $this->mem_id); if (CommonStatus::NO_ERROR == $_goods_data['code']) { $this->assign('goods', $_goods_data['data']); $this->assign('gift', $_gift_data['data']); return $this->fetch('goods/gift'); } } //获取发货信息 $_itg_order_logic = new ItgOrderLogic(); $_where['mem_id'] = $this->mem_id; $_where['goods_id'] = $_goods_id; $_award_ad = $_itg_order_logic->getDetail($_where); if (isset($_goods_data['data']['integral'])) { $_goods_data['data']['integral'] = (int)$_goods_data['data']['integral']; } $this->assign('goods', $_goods_data['data']); return $this->fetch('goods/detail'); } /** * 兑换记录 * * @return mixed * @throws \think\exception\DbException */ public function myGoods() { $_map['mem_id'] = $this->mem_id; $_map['list_rows'] = 100; $_item_obj = (new ItgOrderLogic())->getList($_map); $_shipping_status = array( MemItgConst::SHIP_STATUS_NOT => '未发货', MemItgConst::SHIP_STATUS_SUC => '已发货', MemItgConst::SHIP_STATUS_FAIL => '发货失败', ); $_data = $_item_obj->toArray(); foreach ($_data['data'] as $_k => $_v) { $_data['data'][$_k]['shipping_status_txt'] = $_shipping_status[$_v['shipping_status']]; $_order = (new ItgOrder())->getDetail($_v['order_id']); $_data['data'][$_k]['order'] = $_order; } $this->assign('list', $_data); return $this->fetch('goods/myGoods'); } }