public function getDataAccessAction() { $request = $this->getRequest(); //判断是否是访问api控制器,是则直接跳转过去 $module = trim($request->get("module")); if (!empty($module) && strpos($module, "Api") !== false) { $action = trim($request->get("action")); $apiclass = "\\Justsy\\OpenAPIBundle\\Controller\\" . $module . "Controller"; $apiclass = new $apiclass(); $apiclass->setContainer($this->container); return call_user_func_array(array($apiclass, $action . "Action"), array()); } //访问权限校验 $api = new \Justsy\OpenAPIBundle\Controller\ApiController(); $api->setContainer($this->container); $isWeFaFaDomain = $api->checkWWWDomain(); $da = $this->get('we_data_access'); if (!$isWeFaFaDomain) { $token = $api->checkAccessToken($request, $da); if (!$token) { $re = array("returncode" => "9999"); $re["code"] = "err0105"; $re["msg"] = "参数Appid或Openid或Access_token未指定或无效."; return $this->responseJson($request, $re); } } $dbAccessInf = new \Justsy\InterfaceBundle\Controller\DataInterfaceController(); $dbAccessInf->setContainer($this->container); $response = $dbAccessInf->getDataAccessAction(); return $response; }
public function getHisMessageAction() { $request = $this->getRequest(); $conn = $this->get("we_data_access"); $conn_im = $this->get("we_data_access_im"); $logger = $this->get("logger"); $container = $this->container; $api = new \Justsy\OpenAPIBundle\Controller\ApiController(); $api->setContainer($this->container); $isWeFaFaDomain = $api->checkWWWDomain(); if (!$isWeFaFaDomain) { $token = $api->checkAccessToken($request, $conn); if (!$token) { $re = array("returncode" => "9999"); $re["code"] = "err0105"; $re["msg"] = "参数Appid或Openid或Access_token未指定或无效."; return $this->responseJson($re); } } $microaccount = $request->get("microaccount"); //微应用帐号 $microgroupid = $request->get("microgroupid"); //微应用分组ID $pageindex = $request->get("pageindex"); //分页索引数 $factory = $this->get('security.encoder_factory'); if (empty($microaccount)) { return $this->responseJson(array("returncode" => ReturnCode::$SYSERROR, "msg" => "帐号不能为空.")); } if (empty($pageindex)) { $pageindex = 1; } $baseinfoCtl = new \Justsy\BaseBundle\Management\Staff($conn, $conn_im, $request->get("openid"), $this->get("logger"), $this->container); $currUser = $baseinfoCtl->getSessionUser(); if (empty($currUser)) { return $this->responseJson(array("returncode" => ReturnCode::$SYSERROR, "msg" => "无效的操作帐号")); } $sql_micro = "select number,type from we_micro_account where jid=?"; $para_micro = array($microaccount); $data_micro = $conn->GetData("dt", $sql_micro, $para_micro); if ($data_micro == null || count($data_micro["dt"]["rows"]) == 0 || empty($data_micro["dt"]["rows"][0]["number"])) { return $this->responseJson(array("returncode" => ReturnCode::$SYSERROR, "msg" => "微应用帐号不存在.")); } $microaccount = $data_micro["dt"]["rows"][0]['number']; $login_account = $currUser->getUserName(); $micr_type = $data_micro["dt"]["rows"][0]["type"]; //var_dump($login_account); $sql_total = "select count(1) as count from we_micro_send_message where send_account=? "; $para_total = array($microaccount); if (!empty($microgroupid)) { $sql_total = "select count(1) as count from we_micro_send_message where send_account=? and send_groupid=? "; $para_total = array($microaccount, $microgroupid); } $data_total = $conn->GetData("dt", $sql_total, $para_total); $total = 0; if ($data_total != null && count($data_total['dt']['rows']) > 0) { $total = $data_total['dt']['rows'][0]['count']; } $totalpage = 1; if ($total > 1) { $totalpage = ceil($total / 10); } $startrow = ($pageindex - 1) * 10; $sql = "select * from we_micro_send_message where send_account=? order by send_datetime desc LIMIT " . $startrow . ",10"; $para = array($microaccount); if (!empty($microgroupid)) { $sql = "select * from we_micro_send_message where send_account=? and send_groupid=? order by send_datetime desc LIMIT " . $startrow . ",10"; $para = array($microaccount, $microgroupid); } $re = array('returncode' => '9999', "msg" => '消息获取失败'); $data_row = $conn->GetData("dt", $sql, $para); //var_dump($sql); if ($data_row != null && count($data_row['dt']['rows']) > 0) { $objlist = array(); $pushMgr = new \Justsy\AdminAppBundle\Controller\MsgPushController(); $pushMgr->setContainer($this->container); for ($i = 0; $i < count($data_row['dt']['rows']); $i++) { $send_id = $data_row['dt']['rows'][$i]["id"]; $send_type = $data_row['dt']['rows'][$i]["send_type"]; $send_datetime = $data_row['dt']['rows'][$i]["send_datetime"]; $sql = "select * from we_micro_message where send_id=?"; $para = array($send_id); $dataitem = $conn->GetData("dt", $sql, $para); if ($dataitem != null && count($dataitem['dt']['rows']) > 0) { $list = array("type" => $send_type, "date" => $send_datetime); //var_dump($send_type); switch ($send_type) { case 'TEXT': $text_items = array(); for ($l = 0; $l < count($dataitem['dt']['rows']); $l++) { $item = array('title' => $dataitem['dt']['rows'][$l]["msg_title"], 'content' => $dataitem['dt']['rows'][$l]["msg_text"]); array_push($text_items, $item); } $list['data'] = array('item' => $text_items); //var_dump($list); break; case 'PICTURE': for ($j = 0; $j < count($dataitem['dt']['rows']); $j++) { $headitem = array("title" => $dataitem['dt']['rows'][$j]["msg_title"], 'content' => $dataitem['dt']['rows'][$j]["msg_summary"], 'image' => array('type' => $dataitem['dt']['rows'][$j]["msg_img_type"], 'value' => $dataitem['dt']['rows'][$j]["msg_img_url"]), 'link' => $pushMgr->getLink($dataitem['dt']['rows'][$j]["msg_web_url"])); $list['data'] = array("headitem" => $headitem); } break; case 'TEXTPICTURE': $items = array(); for ($k = 0; $k < count($dataitem['dt']['rows']); $k++) { $ishead = $dataitem['dt']['rows'][$k]["ishead"]; //var_dump($ishead); if ($ishead == "1") { $headitem = array("title" => $dataitem['dt']['rows'][$k]["msg_title"], 'content' => $dataitem['dt']['rows'][$k]["msg_text"], 'image' => array('type' => $dataitem['dt']['rows'][$k]["msg_img_type"], 'value' => $dataitem['dt']['rows'][$k]["msg_img_url"]), 'link' => $pushMgr->getLink($dataitem['dt']['rows'][$k]["msg_web_url"])); $data['headitem'] = $headitem; } else { $item = array("title" => $dataitem['dt']['rows'][$k]["msg_title"], 'content' => $dataitem['dt']['rows'][$k]["msg_text"], 'image' => array('type' => $dataitem['dt']['rows'][$k]["msg_img_type"], 'value' => $dataitem['dt']['rows'][$k]["msg_img_url"]), 'link' => $pushMgr->getLink($dataitem['dt']['rows'][$k]["msg_web_url"])); array_push($items, $item); } } if (!empty($items)) { $data['item'] = $items; } $list['data'] = $data; break; } array_push($objlist, $list); } } if (!empty($objlist)) { $re = array('returncode' => '0000', "total" => $total, 'totalpage' => $totalpage, 'list' => $objlist); } } else { $re = array('returncode' => '0000', "total" => 0, 'totalpage' => 1, 'list' => array()); } return $this->responseJson($re); }