* @version : HUOSDK 8.0 */ namespace h5wap\wap\controller; use h5wap\common\controller\V2BaseController; use huo\controller\integral\MemIa; use huo\controller\lottery\Lottery; use huo\controller\member\Member; use huo\controller\posts\Posts; use huo\controller\shop\Goods; use huo\controller\shop\ItgOrder; use huo\controller\sign\Sign; use huo\model\shop\ItgOrderModel; use huolib\constant\MemItgConst; use huolib\constant\NewsConst; use huolib\status\CommonStatus; use huolib\status\NewsStatus; use huolib\status\ShopStatus; class ShopController extends V2BaseController { public function _initialize() { parent::_initialize(); } /** * h5wap积分商城首页 * http://doc.1tsdk.com/138?page_id=3114 * * 【域名】/wap/shop/index * * @throws \think\Exception */ public function index() { $_user_info = (new Member())->getMemInfo($this->mem_id); $this->assign('userinfo', $_user_info); $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa())); $_map['is_real'] = MemItgConst::GOODS_IS_VIRTUAL; $_map['flag'] = array("lt", 5); $_virtual_goods = (new Goods())->getList($_map, '', $this->mem_id); $this->assign('virtual_goods', $_virtual_goods['data']); $_sign_conf = (new Sign())->getSignConf(); $_sign_list['count'] = count($_sign_conf); $_sign_list['list'] = $_sign_conf; $this->assign('sign_list', $_sign_list); return $this->fetch('shop/index'); } public function index2() { $_user_info = (new Member())->getMemInfo($this->mem_id); $this->assign('userinfo', $_user_info); $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa())); $_map['is_real'] = MemItgConst::GOODS_IS_VIRTUAL; $_map['flag'] = array("lt", 5); $_virtual_goods = (new Goods())->getList($_map, '', $this->mem_id); $this->assign('virtual_goods', $_virtual_goods['data']); $_user_info = (new Member())->getMemInfo($this->mem_id); $this->assign('userinfo', $_user_info); $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa())); //查出抽奖详情 $_activity_draw = (new Lottery())->getDetail($this->mem_id, NewsConst::SHOP_DRAW_ACT_ID); $this->assign('activity_draw', $_activity_draw['data']); $_sign_conf = (new Sign())->getSignConf(); $_sign_list['count'] = count($_sign_conf); $_sign_list['list'] = $_sign_conf; $this->assign('sign_list', $_sign_list); return $this->fetch('shop/index2'); } /** * h5wap积分商城首页2,直接抽奖类型 * http://doc.1tsdk.com/138?page_id=3114 * * 【域名】/wap/shop/index * * @throws \think\Exception */ public function indexDraw() { $_user_info = (new Member())->getMemInfo($this->mem_id); $this->assign('userinfo', $_user_info); $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa())); //查出抽奖详情 $_activity_draw = (new Lottery())->getDetail($this->mem_id, NewsConst::SHOP_DRAW_ACT_ID); $this->assign('activity_draw', $_activity_draw['data']); // print_r($_activity_draw); // exit; $_sign_conf = (new Sign())->getSignConf(); $_sign_list['count'] = count($_sign_conf); $_sign_list['list'] = $_sign_conf; $this->assign('sign_list', $_sign_list); return $this->fetch('shop/index'); } /** * 商品兑换 * http://doc.1tsdk.com/138?page_id=3146 * 【域名】/v8/goods/exchange */ public function exchange() { $this->checkLogin(); $_mem_id = $this->mem_id; $_goods_id = $this->request->param('goods_id'); $_order_id = $this->request->param('order_id', 0); $address['consignee'] = $this->request->param('consignee/s', ''); $address['mobile'] = $this->request->param('mobile/s', ''); $address['country'] = $this->request->param('country/d', 0); $address['province'] = $this->request->param('province/d', 0); $address['city'] = $this->request->param('city/d', 0); $address['district'] = $this->request->param('district/d', 0); $address['town'] = $this->request->param('town/d', 0); $address['address'] = $this->request->param('address/s', ''); $address['zipcode'] = $this->request->param('zipcode/s', ''); //如果是抽奖商品,直接将订单地址填入,改变发货状态 $_itg_order_data = (new ItgOrder())->getDetail($_order_id); if ($_itg_order_data['code'] == CommonStatus::NO_ERROR) { if ($_itg_order_data['data']['mem_id'] != $_mem_id) { return $this->error("您不能兑换他人奖品!"); } $_news_class = new Posts(); $_posts_data = $_news_class->getDetail($_itg_order_data['data']['act_id']); if (CommonStatus::NO_ERROR != $_posts_data['code']) { $this->returnData($_posts_data); } //活动结束 if ($_posts_data['data']['end_time'] < time()) { $_code = NewsStatus::NEWS_CNT_PASTED; return $this->error(NewsStatus::getMsg($_code), $_code); } $_itg_order_data['data']['shipping_status'] = MemItgConst::SHIP_STATUS_NOT; $_itg_order_data['data']['consignee'] = $address['consignee']; $_itg_order_data['data']['mobile'] = $address['mobile']; $_itg_order_data['data']['country'] = $address['country']; $_itg_order_data['data']['province'] = $address['province']; $_itg_order_data['data']['city'] = $address['city']; $_itg_order_data['data']['district'] = $address['district']; $_itg_order_data['data']['town'] = $address['town']; $_itg_order_data['data']['address'] = $address['address']; $_itg_order_data['data']['zipcode'] = $address['zipcode']; $_rs = (new ItgOrderModel())->updateOrder($_itg_order_data['data'], $_itg_order_data['data']['id']); if (!$_rs) { return $this->error(CommonStatus::INNER_ERROR); } return $this->success(); } $_data = (new ItgOrder())->exchange($this->mem_id, $_goods_id, $address); if (CommonStatus::NO_ERROR != $_data['code']) { return $this->returnData($_data); } return $this->returnData($_data); } }