isAjax()) { $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $search_text = input('search_text', ''); $status = input('status', ''); $group_id = input('group_id', ''); $start_time = input("start_time", ''); $end_time = input("end_time", ''); $isBingSite = input("isBingSite", ''); $shop_id = input("shop_id", ''); $mini_text = input("mini_text", 'mini_text'); if ($mini_text) { $w = [ ['value', 'like', '%' . $mini_text . '%'] ]; $site_ids = Db::name('uni_account') ->where($w) ->column('site_id'); if (empty($site_ids)) { $w = [ ['config_key', 'in', ['WEAPP_CONFIG', 'ALI_PAY_CONFIG']], ['value', 'like', '%' . $mini_text . '%'] ]; $site_ids = Db::name('config') ->where($w) ->column('site_id'); } if ($site_ids) { $condition[] = ['site_id', 'in', $site_ids]; } } if ($shop_id != '') { $condition[] = ['shop_id', '=', $shop_id]; } if ($isBingSite) { $_c = $isBingSite == 'NO' ? '=' : '>'; $condition[] = ['bing_site_id', $_c, 0]; } $condition[] = ['agent_id', '=', $this->site_id]; if ($search_text) { $condition[] = ['site_name|username|contacts_name|contacts_mobile|remarks', 'like', '%' . $search_text . '%']; } //商家状态 if ($status != '') { $condition[] = ['status', '=', $status]; } //套餐分组 if ($group_id != '') { $condition[] = ['group_id', '=', $status]; } if (!empty($start_time) && empty($end_time)) { $condition[] = ['expire_time', '>=', strtotime($start_time)]; } elseif (empty($start_time) && !empty($end_time)) { $condition[] = ["expire_time", "<=", strtotime($end_time)]; } elseif (!empty($start_time) && !empty($end_time)) { $condition[] = ["expire_time", ">=", strtotime($start_time)]; $condition[] = ["expire_time", "<=", strtotime($end_time)]; } $order = 'site_id desc'; $field = '*'; $shop_model = new \app\model\system\Site(); $shopInfo = $shop_model->getSitePageList($condition, $page, $page_size, $order, $field); $site_ids = array_column($shopInfo['data']['list'], 'site_id'); $Counts = Db::name('member')->where('site_id', 'in', $site_ids)->group('site_id')->column('count(site_id) as count', 'site_id'); $order = Db::name('order')->where('site_id', 'in', $site_ids)->group('site_id')->column('count(order_id) as count', 'site_id'); //微信小程序配置 $weapp_config_model = new WeappConfigModel(); $config = new \addon\aliapp\model\Config(); foreach ($shopInfo['data']['list'] as $key => $val) { $weapp_config = $weapp_config_model->getWeappConfig($val['site_id'])['data']['value']; $config_info = $config->getAppConfig($this->site_id)['data']['value']; $shopInfo['data']['list'][$key]['app_name'] = ''; if (isset($config_info['weapp_name'])) { $shopInfo['data']['list'][$key]['app_name'] .= $config_info['weapp_name']; } if (isset($weapp_config['app_name'])) { $shopInfo['data']['list'][$key]['app_name'] .= $weapp_config['app_name']; } if (isset($Counts[$val['site_id']])) { $shopInfo['data']['list'][$key]['member_count'] = $Counts[$val['site_id']]; } else { $shopInfo['data']['list'][$key]['member_count'] = 0; } if (isset($order[$val['site_id']])) { $shopInfo['data']['list'][$key]['order_count'] = $order[$val['site_id']]; } else { $shopInfo['data']['list'][$key]['order_count'] = 0; } } return $shopInfo; } $this->forthMenu(); //应用套餐 $shop_group_model = new SiteGroup(); $site_group_list = $shop_group_model->getSiteGroupList([['site_id', '=', $this->site_id]], 'group_id,group_name,fee,remark', 'fee asc'); $this->assign('site_group_list', $site_group_list['data']); $this->assign('info', $this->AgentInfo); return $this->fetch('site/lists'); } /*** * 添加站点 */ public function addSite() { $site_group_model = new SiteGroup(); if (request()->isAjax()) { $group_id = input('group_id'); $expire_time = input('expire_time', 0); $is_operated = input('is_operated', 0); //店铺信息 $shop_data = [ 'site_name' => input('site_name', ''), //店铺名称 'contacts_name' => input('contacts_name', ''), //联系人 'contacts_mobile' => input('contacts_mobile', ''), //联系电话 'fee_commission' => input('fee_commission', 0), //独立佣金 'agent_id' => $this->site_id, //所属代理 'group_id' => $group_id, 'expire_time' => $expire_time, 'is_try' => $expire_time ? 1 : 0, //是否体验用户 'is_operated' => $is_operated, //是代营运 'province_id' => input('province_id', 0),//所在省份 'city_id' => input('city_id', 0),//所在城市 'district_id' => input('district_id', 0),//所在地区 'address' => input('address'), //具体地址 'full_address' => input('full_address'), //具体地址 ]; $user_info = [ 'username' => input('username', ''), 'password' => data_md5(input('password', '')), ]; $site_model = new \app\model\system\Site(); $result = $site_model->addSite($shop_data, $user_info); if ($result['code'] == 0) { $log = array( "uid" => $this->uid, "username" => $this->user_info['username'], "site_id" => $this->site_id, "url" => '', "ip" => request()->ip(), "data" => json_encode($shop_data), "action_name" => '添加店铺', "create_time" => time(), ); model("user_log")->add($log); return success('0', '注册成功'); } else { return $result; } } $def = []; if ($this->site_id != 1) { $def = $site_group_model->getSiteGroupList([['group_id', '=', 1]], 'group_id,group_name,fee,remark')['data']; } //查询省级数据列表 $address_model = new AddressModel(); $list = $address_model->getAreaList([["pid", "=", 0], ["level", "=", 1]]); //应用套餐 $site_group_list = $site_group_model->getSiteGroupList([['site_id', '=', $this->site_id]], 'group_id,group_name,fee,remark', 'fee asc'); $this->assign("province_list", $list["data"]); $this->assign("agent_type", $this->AgentInfo['agent_type']); $this->assign("group_info", array_merge($def, $site_group_list['data'])); $this->assign("reg_info", []); $this->assign("agInfo", $this->AgentInfo); return $this->fetch('site/addsite'); } /*** * 编辑站点 */ public function editSite() { $site_id = input('site_id'); $site_group_model = new SiteGroup(); $shop_model = new \app\model\system\Site(); $shop_info = $shop_model->getSiteInfo(['site_id' => $site_id], '*')['data']; if (request()->isAjax()) { $where = [['site_id', '=', $site_id]]; $expire_time = input('expire_time', 0); $data = [ 'group_id' => input('group_id'), 'group_name' => input('group_name'), 'contacts_name' => input('contacts_name'), 'contacts_mobile' => input('contacts_mobile'), 'fee_commission' => input('fee_commission'), 'is_operated' => input('is_operated', 0), 'is_try' => input('is_try'), 'province_id' => input('province_id', 0),//所在省份 'city_id' => input('city_id', 0),//所在城市 'district_id' => input('district_id', 0),//所在地区 'address' => input('address'), //具体地址 'full_address' => input('full_address'), //具体地址 ]; if ($expire_time) { $data['is_try'] = 1; if ($this->AgentInfo['agent_number'] >= $expire_time) { if ($shop_info['expire_time'] < time()) { $data['expire_time'] = strtotime("+{$expire_time} month"); } else { $data['expire_time'] = strtotime("+{$expire_time} month") + $shop_info['expire_time'] - time(); } model('website')->setDec(['site_id' => $this->site_id], 'agent_number', $expire_time); $log = array( "uid" => $this->uid, "username" => $this->user_info['username'], "site_id" => $this->site_id, "url" => '', "ip" => request()->ip(), "data" => json_encode($data), "action_name" => '店铺调时', "create_time" => time(), ); model("user_log")->add($log); } else { return error(-1, '余额时长不足请充值'); } } else if ($expire_time == 0) { $data['expire_time'] = 0; } $res = $shop_model->editSite($data, $where); return $res; } $condition = []; $condition[] = ['site_id', '=', $this->site_id];//获取分组 $info = $site_group_model->getSiteGroupList($condition, '*', 'fee asc'); //查询省级数据列表 $address_model = new AddressModel(); $list = $address_model->getAreaList([["pid", "=", 0], ["level", "=", 1]]); $this->assign("province_list", $list["data"]); $this->assign("agent_type", $this->AgentInfo['agent_type']); $this->assign("group_info", $info['data']); $this->assign("userinfo", $shop_info); $this->assign("agInfo", $this->AgentInfo); return $this->fetch('site/editSite'); } /*** * 关闭店铺 * @return array|void */ public function closeshop() { $unisid = input('unisid', 0); if (request()->isAjax()) { model('site')->update([ 'status' => 0, 'shop_status' => 0 ], ['site_id' => $unisid, 'agent_id' => $this->site_id]); $data['message'] = '店铺关闭成功'; return $data; } } /*** * 打开店铺 * @return array|void */ public function openshop() { $unisid = input('unisid', 0); if (request()->isAjax()) { model('site')->update([ 'status' => 1, 'shop_status' => 1 ], ['site_id' => $unisid, 'agent_id' => $this->site_id]); $data['message'] = '店铺打开成功'; return $data; } } /*** * 搜索店铺 * @return array */ public function searchShop() { $search_text = input('search_text', ''); $site_id = input('site_id', ''); $condition[] = ['agent_id', '=', $this->site_id]; if ($site_id) { $condition[] = ['site_id', '=', $site_id]; } else if ($search_text) { $condition[] = ['site_id|site_name|contacts_name|contacts_mobile', 'like', '%' . $search_text . '%']; } $field = '*'; $shop_model = new \app\model\system\Site(); $shopInfo = $shop_model->getSiteInfo($condition, $field); return $shopInfo; } /*** * 修改密码 * @param $site_id */ public function repass($site_id) { if (request()->isAjax() && $site_id) { $password = trim(input('password', '123456')); $shop_model = new User(); return $shop_model->modifyAdminUserPassword([['site_id', '=', $site_id], ['app_module', '=', 'shop']], $password); } } /** * 备注 * @return int|void */ public function remarks($site_id) { if (request()->isAjax()&&$site_id) { $remarks = input('remarks', ''); $shop_model = new \app\model\system\Site(); return $shop_model->editSite(['remarks' => $remarks], ['site_id' => $site_id]); } } /*** * 修改客服 */ public function change() { $parent_id = input('parent_id', 0); $site_id = input('site_id'); $model = new \addon\saas\model\ManageUser(); if (request()->isAjax()) { if ($this->site_id == 1) { $condition = []; } else { $condition[] = ['f.site_id', '=', $this->site_id]; } $real_name = input('real_name', ''); if ($real_name) { $condition[] = ['f.real_name', 'like', '%' . $real_name . '%']; } $mobile = input('mobile', ''); if ($mobile) { $condition[] = ['m.mobile', 'like', '%' . $mobile . '%']; } $start_time = input('start_time', ''); $end_time = input('end_time', ''); if ($start_time && $end_time) { $condition[] = ['f.create_time', 'between', [date_to_time($start_time), date_to_time($end_time)]]; } elseif (!$start_time && $end_time) { $condition[] = ['f.create_time', '<=', date_to_time($end_time)]; } elseif ($start_time && !$end_time) { $condition[] = ['f.create_time', '>=', date_to_time($start_time)]; } $status = input('status', ''); if (!empty($status)) { $condition[] = ['f.status', '=', $status]; } if ($parent_id) { $condition[] = ['f.id', '<>', $parent_id]; } $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $field = 'f.id,f.level_name,f.real_name,f.status,f.mobile,pf.real_name as parent_name'; $list = $model->getManagePageList($condition, $page, $page_size, 'f.create_time desc', $field); return $list; } $parent_info = $model->getManageInfo(['f.id' => $parent_id])['data']; $this->assign("parent_info", $parent_info); $this->assign("parent_id", $parent_id); $this->assign("site_id", $site_id); return $this->fetch('site/change'); } /** * 确认变更 */ public function confirmChange() { if (request()->isAjax()) { $old_id = input('id', ''); $parent = input('parent', ''); $type = input('type', ''); $site_id = input('site_id', 0); $manage_name = input('manage_name', ''); $shop_model = new \app\model\system\Site(); $condition = [ 'agent_id' => $this->site_id, 'site_id' => $site_id, ]; if ($type == 1) { $updata = [ 'manage_id' => $parent, 'manage_name' => $manage_name, ]; if ($parent) { Db::name('manage_user')->where(['id' => $parent, 'site_id' => $site_id])->inc('one_child_num', 1); } //修改变更后的商团队人数 if ($old_id) { Db::name('manage_user')->where(['id' => $old_id, 'site_id' => $site_id])->dec('one_child_num', 1); } } else { $updata = [ 'manage_id' => 0, 'manage_name' => '', ]; Db::name('manage_user')->where(['id' => $parent, 'site_id' => $site_id])->dec('one_child_num', 1); } $res = $shop_model->editSite($updata, $condition); return $res; } } }