BasePointShop.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace app\home\controller;
  3. use think\facade\View;
  4. /**
  5. * 积分中心control父类
  6. */
  7. /**
  8. *
  9. *
  10. * ----------------------------------------------------------------------------
  11. *
  12. * 控制器
  13. */
  14. class BasePointShop extends BaseHome
  15. {
  16. protected $member_info;
  17. public function initialize()
  18. {
  19. parent::initialize();
  20. //输出会员信息
  21. $this->member_info = $this->getMemberAndGradeInfo(true);
  22. View::assign('member_info', $this->member_info);
  23. //判断系统是否开启积分和积分中心功能
  24. if (config('ds_config.points_isuse') != 1 || config('ds_config.pointshop_isuse') != 1) {
  25. $this->error(lang('pointshop_unavailable'), (string)url('Index/index'));
  26. }
  27. $this->template_dir = 'default/member/' . strtolower(request()->controller()) . '/';
  28. View::assign('index_sign', 'pointshop');
  29. }
  30. /**
  31. * 获得积分中心会员信息包括会员名、ID、会员头像、会员等级、经验值、等级进度、积分、已领代金券、已兑换礼品、礼品购物车
  32. */
  33. public function pointshopMInfo($is_return = false)
  34. {
  35. if (session('is_login') == '1') {
  36. $member_model = model('member');
  37. if (!$this->member_info) {
  38. //查询会员信息
  39. $member_infotmp = $member_model->getMemberInfoByID(session('member_id'));
  40. } else {
  41. $member_infotmp = $this->member_info;
  42. }
  43. $member_infotmp['member_exppoints'] = intval($member_infotmp['member_exppoints']);
  44. //当前登录会员等级信息
  45. $membergrade_info = $member_model->getOneMemberGrade($member_infotmp['member_exppoints'], true);
  46. $member_info = array_merge($member_infotmp, $membergrade_info);
  47. View::assign('member_info', $member_info);
  48. //查询已兑换并可以使用的代金券数量
  49. $voucher_model = model('voucher');
  50. $vouchercount = $voucher_model->getCurrentAvailableVoucherCount(session('member_id'));
  51. View::assign('vouchercount', $vouchercount);
  52. //购物车兑换商品数
  53. $pointcart_count = model('pointcart')->getPointcartCount(session('member_id'));
  54. View::assign('pointcart_count', $pointcart_count);
  55. //查询已兑换商品数(未取消订单)
  56. $pointordercount = model('pointorder')->getMemberPointsOrderGoodsCount(session('member_id'));
  57. View::assign('pointordercount', $pointordercount);
  58. if ($is_return) {
  59. return array('member_info' => $member_info, 'vouchercount' => $vouchercount, 'pointcart_count' => $pointcart_count, 'pointordercount' => $pointordercount);
  60. }
  61. }
  62. }
  63. }