123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <?php
- namespace app\api\controller;
- use think\facade\Db;
- use think\facade\Lang;
- class Memberinviter extends MobileMember
- {
- public function initialize()
- {
- parent::initialize();
- Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/memberinviter.lang.php');
- if (!config('ds_config.inviter_open')) {
- ds_json_encode(10001, lang('inviter_not_open'));
- }
- }
-
- public function check()
- {
- $inviter_model = model('inviter');
- $inviter_info = $inviter_model->getInviterInfo('i.inviter_id=' . $this->member_info['member_id']);
- if (!$inviter_info) {
-
- if (config('ds_config.inviter_condition')) {
-
- $temp = Db::name('order')->where('buyer_id=' . $this->member_info['member_id'] . ' AND order_state=' . ORDER_STATE_SUCCESS . ' AND lock_state=0')->field('SUM(order_amount) AS order_amount,SUM(refund_amount) AS refund_amount')->find();
- if (!$temp || ($temp['order_amount'] - $temp['refund_amount']) < config('ds_config.inviter_condition_amount')) {
- ds_json_encode(10001, sprintf(lang('inviter_condition_amount'), !$temp ? 0 : ($temp['order_amount'] - $temp['refund_amount']), config('ds_config.inviter_condition_amount')));
- }
- }
- $inviter_model->addInviter(array(
- 'inviter_id' => $this->member_info['member_id'],
- 'inviter_state' => config('ds_config.inviter_view') ? 0 : 1,
- 'inviter_applytime' => TIMESTAMP,
- ));
- if (config('ds_config.inviter_view')) {
- ds_json_encode(10001, lang('inviter_view'));
- } else {
- ds_json_encode(10000, '');
- }
- } else {
- if ($inviter_info['inviter_state'] == 0) {
- ds_json_encode(10001, lang('inviter_view'));
- } elseif ($inviter_info['inviter_state'] == 2) {
- ds_json_encode(10001, lang('inviter_close'));
- } else {
- ds_json_encode(10000, '');
- }
- }
- }
-
- public function index()
- {
- $member_info = $this->member_info;
-
- $inviter_model = model('inviter');
- $qrcode_weixin = $inviter_model->qrcode_weixin($member_info);
-
- $inviter_model->qrcode_logo($member_info);
- $condition = array();
- $condition[] = array('i.inviter_id', '=', $member_info['member_id']);
- $inviter_member = $inviter_model->getInviterInfo($condition);
- $result = array(
- 'refer_qrcode_logo' => UPLOAD_SITE_URL . '/' . ATTACH_INVITER . '/' . $member_info['member_id'] . '_poster.png',
- 'inviter_url' => config('ds_config.h5_site_url') . '/pages/home/memberregister/Register?inviter_id=' . $member_info['member_id'],
- 'refer_qrcode_weixin' => $qrcode_weixin['refer_qrcode_weixin'],
- 'wx_error_msg' => $qrcode_weixin['wx_error_msg'],
- 'inviter_member' => $inviter_member
- );
- ds_json_encode(10000, '', $result);
- }
-
- public function user()
- {
- $member_model = model('member');
- $condition = array(array('inviter_id', '=', $this->member_info['member_id']));
- if (input('param.member_name')) {
- $condition[] = array('member_name', 'like', '%' . input('param.member_name') . '%');
- }
- $list = $member_model->getMemberList($condition, 'member_id,member_name,member_avatar,member_addtime,member_logintime', 10, 'member_id desc');
- if (is_array($list)) {
- foreach ($list as $key => $val) {
- $list[$key]['member_avatar'] = get_member_avatar($val['member_avatar']) . '?' . microtime();
- $list[$key]['member_addtime'] = $val['member_addtime'] ? date('Y-m-d H:i:s', $val['member_addtime']) : '';
- $list[$key]['member_logintime'] = $val['member_logintime'] ? date('Y-m-d H:i:s', $val['member_logintime']) : '';
-
- $list[$key]['inviters'] = array();
- }
- }
- $result = array_merge(array('list' => $list), mobile_page($member_model->page_info));
- ds_json_encode(10000, '', $result);
- }
-
- public function order()
- {
- $condition = array(array('orderinviter_member_id', '=', $this->member_info['member_id']));
- if (input('param.orderinviter_order_sn')) {
- $condition[] = array('orderinviter_order_sn', 'like', '%' . input('param.orderinviter_order_sn') . '%');
- }
- $list = Db::name('orderinviter')->where($condition)->order('orderinviter_id desc')->paginate(['list_rows' => 10, 'query' => request()->param()], false);
- $order_list = $list->items();
- foreach ($order_list as $key => $val) {
- $order_list[$key]['orderinviter_valid_text'] = lang('orderinviter_valid_array')[$val['orderinviter_valid']];
- }
- $result = array_merge(array('list' => $order_list), mobile_page($list));
- ds_json_encode(10000, '', $result);
- }
- }
|