ShopController.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. /**
  3. * ShopController.php UTF-8
  4. *
  5. * h5 wap 积分商城
  6. *
  7. * @date : 2018/4/27 17:34
  8. *
  9. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  10. * @author : liuhongliang <lhl@huosdk.com>
  11. * @version : HUOSDK 8.0
  12. */
  13. namespace h5wap\wap\controller;
  14. use h5wap\common\controller\V2BaseController;
  15. use huo\controller\integral\MemIa;
  16. use huo\controller\lottery\Lottery;
  17. use huo\controller\member\Member;
  18. use huo\controller\posts\Posts;
  19. use huo\controller\shop\Goods;
  20. use huo\controller\shop\ItgOrder;
  21. use huo\controller\sign\Sign;
  22. use huo\model\shop\ItgOrderModel;
  23. use huolib\constant\MemItgConst;
  24. use huolib\constant\NewsConst;
  25. use huolib\status\CommonStatus;
  26. use huolib\status\NewsStatus;
  27. use huolib\status\ShopStatus;
  28. class ShopController extends V2BaseController {
  29. public function _initialize() {
  30. parent::_initialize();
  31. }
  32. /**
  33. * h5wap积分商城首页
  34. * http://doc.1tsdk.com/138?page_id=3114
  35. *
  36. * 【域名】/wap/shop/index
  37. *
  38. * @throws \think\Exception
  39. */
  40. public function index() {
  41. $_user_info = (new Member())->getMemInfo($this->mem_id);
  42. $this->assign('userinfo', $_user_info);
  43. $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa()));
  44. $_map['is_real'] = MemItgConst::GOODS_IS_VIRTUAL;
  45. $_map['flag'] = array("lt", 5);
  46. $_virtual_goods = (new Goods())->getList($_map, '', $this->mem_id);
  47. $this->assign('virtual_goods', $_virtual_goods['data']);
  48. $_sign_conf = (new Sign())->getSignConf();
  49. $_sign_list['count'] = count($_sign_conf);
  50. $_sign_list['list'] = $_sign_conf;
  51. $this->assign('sign_list', $_sign_list);
  52. return $this->fetch('shop/index');
  53. }
  54. public function index2() {
  55. $_user_info = (new Member())->getMemInfo($this->mem_id);
  56. $this->assign('userinfo', $_user_info);
  57. $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa()));
  58. $_map['is_real'] = MemItgConst::GOODS_IS_VIRTUAL;
  59. $_map['flag'] = array("lt", 5);
  60. $_virtual_goods = (new Goods())->getList($_map, '', $this->mem_id);
  61. $this->assign('virtual_goods', $_virtual_goods['data']);
  62. $_user_info = (new Member())->getMemInfo($this->mem_id);
  63. $this->assign('userinfo', $_user_info);
  64. $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa()));
  65. //查出抽奖详情
  66. $_activity_draw = (new Lottery())->getDetail($this->mem_id, NewsConst::SHOP_DRAW_ACT_ID);
  67. $this->assign('activity_draw', $_activity_draw['data']);
  68. $_sign_conf = (new Sign())->getSignConf();
  69. $_sign_list['count'] = count($_sign_conf);
  70. $_sign_list['list'] = $_sign_conf;
  71. $this->assign('sign_list', $_sign_list);
  72. return $this->fetch('shop/index2');
  73. }
  74. /**
  75. * h5wap积分商城首页2,直接抽奖类型
  76. * http://doc.1tsdk.com/138?page_id=3114
  77. *
  78. * 【域名】/wap/shop/index
  79. *
  80. * @throws \think\Exception
  81. */
  82. public function indexDraw() {
  83. $_user_info = (new Member())->getMemInfo($this->mem_id);
  84. $this->assign('userinfo', $_user_info);
  85. $this->assign('has_task', ((new MemIa($this->mem_id))->getHasMemIa()));
  86. //查出抽奖详情
  87. $_activity_draw = (new Lottery())->getDetail($this->mem_id, NewsConst::SHOP_DRAW_ACT_ID);
  88. $this->assign('activity_draw', $_activity_draw['data']);
  89. // print_r($_activity_draw);
  90. // exit;
  91. $_sign_conf = (new Sign())->getSignConf();
  92. $_sign_list['count'] = count($_sign_conf);
  93. $_sign_list['list'] = $_sign_conf;
  94. $this->assign('sign_list', $_sign_list);
  95. return $this->fetch('shop/index');
  96. }
  97. /**
  98. * 商品兑换
  99. * http://doc.1tsdk.com/138?page_id=3146
  100. * 【域名】/v8/goods/exchange
  101. */
  102. public function exchange() {
  103. $this->checkLogin();
  104. $_mem_id = $this->mem_id;
  105. $_goods_id = $this->request->param('goods_id');
  106. $_order_id = $this->request->param('order_id', 0);
  107. $address['consignee'] = $this->request->param('consignee/s', '');
  108. $address['mobile'] = $this->request->param('mobile/s', '');
  109. $address['country'] = $this->request->param('country/d', 0);
  110. $address['province'] = $this->request->param('province/d', 0);
  111. $address['city'] = $this->request->param('city/d', 0);
  112. $address['district'] = $this->request->param('district/d', 0);
  113. $address['town'] = $this->request->param('town/d', 0);
  114. $address['address'] = $this->request->param('address/s', '');
  115. $address['zipcode'] = $this->request->param('zipcode/s', '');
  116. //如果是抽奖商品,直接将订单地址填入,改变发货状态
  117. $_itg_order_data = (new ItgOrder())->getDetail($_order_id);
  118. if ($_itg_order_data['code'] == CommonStatus::NO_ERROR) {
  119. if ($_itg_order_data['data']['mem_id'] != $_mem_id) {
  120. return $this->error("您不能兑换他人奖品!");
  121. }
  122. $_news_class = new Posts();
  123. $_posts_data = $_news_class->getDetail($_itg_order_data['data']['act_id']);
  124. if (CommonStatus::NO_ERROR != $_posts_data['code']) {
  125. $this->returnData($_posts_data);
  126. }
  127. //活动结束
  128. if ($_posts_data['data']['end_time'] < time()) {
  129. $_code = NewsStatus::NEWS_CNT_PASTED;
  130. return $this->error(NewsStatus::getMsg($_code), $_code);
  131. }
  132. $_itg_order_data['data']['shipping_status'] = MemItgConst::SHIP_STATUS_NOT;
  133. $_itg_order_data['data']['consignee'] = $address['consignee'];
  134. $_itg_order_data['data']['mobile'] = $address['mobile'];
  135. $_itg_order_data['data']['country'] = $address['country'];
  136. $_itg_order_data['data']['province'] = $address['province'];
  137. $_itg_order_data['data']['city'] = $address['city'];
  138. $_itg_order_data['data']['district'] = $address['district'];
  139. $_itg_order_data['data']['town'] = $address['town'];
  140. $_itg_order_data['data']['address'] = $address['address'];
  141. $_itg_order_data['data']['zipcode'] = $address['zipcode'];
  142. $_rs = (new ItgOrderModel())->updateOrder($_itg_order_data['data'], $_itg_order_data['data']['id']);
  143. if (!$_rs) {
  144. return $this->error(CommonStatus::INNER_ERROR);
  145. }
  146. return $this->success();
  147. }
  148. $_data = (new ItgOrder())->exchange($this->mem_id, $_goods_id, $address);
  149. if (CommonStatus::NO_ERROR != $_data['code']) {
  150. return $this->returnData($_data);
  151. }
  152. return $this->returnData($_data);
  153. }
  154. }