示例#1
0
文件: School.php 项目: krisrita/udo
 function getSubscribe($array, $uid, $type)
 {
     $tblSub = new DB_Udo_SchoolSubscribe();
     $tblSta = new DB_Udo_SchoolStatistics();
     //获取到所有已订阅的频道id
     $subSchools = $tblSub->fetchAll("id,schoolId", "where userId = {$uid} and isValid = 1");
     //print_r($subSchools);
     $sub_array = [];
     //根据频道操作日志表中的最近时间排序已知的id(需要确保)
     $subIds = $tblSub->columnRow($subSchools, "schoolId");
     //print_r($subIds);
     //$sta = $tblSta->fetchAll("id,schoolId","where userId = {$uid} and schoolId in (".implode(",",$subIds).") group by schoolId","order by createTime desc");
     $sta = $tblSta->fetchAll("id,schoolId", "where userId = {$uid} and schoolId in (" . implode(",", $subIds) . ") ", "order by createTime desc");
     //$sta = $tblSta->fetchAll("id,schoolId","where userId = {$uid} group by schoolId","order by createTime desc");
     //$stas =  $tblSta->fetchAll("id,schoolId","where userId = {$uid}","order by createTime desc");
     $staIds = $tblSta->columnRow($sta, "schoolId");
     //print_r($staIds);
     //print_r($stas);
     $orderIds = array_unique($staIds);
     //print_r($orderIds);
     //print_r(count($orderIds));
     //根据id过滤已订阅信息
     /*        foreach ($array['entrances'] as $k=>$value){
                 foreach ($orderIds as $l){
     
                 }
                 if (count($sub_array) == count($orderIds))
                     break;
             }*/
     foreach ($orderIds as $l) {
         foreach ($array as $k => $value) {
             if ($value['id'] == $l) {
                 array_push($sub_array, $value);
             }
         }
         if (count($sub_array) == count($orderIds)) {
             break;
         }
     }
     //如果是获取前三个订阅信息
     if ($type == 2) {
         $sub_array = array_slice($sub_array, 0, 3);
     }
     //print_r($sub_array);
     return $sub_array;
 }
示例#2
0
文件: Account.php 项目: krisrita/udo
 function getBought($uid = 0, $previousId = 0, $pageSize = 20, $startTime = 0, $endTime = 0, $page = 1)
 {
     $tblBought = new DB_Udo_UserBought();
     $tblResource = new DB_Sso_Resource();
     $tblEntrance = new DB_Sso_Entrance();
     $tblSta = new DB_Udo_SchoolStatistics();
     $tradeModel = new TradeModel();
     $userModel = new UserModel();
     if (!$previousId) {
         $previousId = 0;
     }
     $where = "where resourceType = 2";
     if ($uid) {
         $where .= " and userId = {$uid}";
     }
     if ($previousId) {
         $where .= " and id<{$previousId}";
     }
     if ($startTime || $endTime) {
         if (!$endTime) {
             $where .= " and createTime >= {$startTime}";
         } else {
             $where .= " and createTime >={$startTime} and createTime <= {$endTime}";
         }
     }
     $boughtCount = $tblBought->queryCount($where);
     //首先获取用户购买的课程和所在的频道
     $bought = $tblBought->fetchLimit("userId,id,resourceId,schoolId,orderId,createTime", $where, "order by id desc", $page, $pageSize);
     //print_r($bought);
     $newArray = [];
     //接下来对逐个课程,获取频道的具体信息和课程的具体信息
     foreach ($bought as $k => $value) {
         $entrance = $tblEntrance->scalar("customer_name,customer_title,logo,api_udo_url", "where id = {$value['schoolId']}");
         //$sta = $tblSta->queryCount("where schoolId = {$value['schoolId']} group by userId");
         $staResult = $tblSta->fetchAll("*", "where schoolId = {$value['schoolId']} group by userId");
         $sta = count($staResult);
         //print_r($sta." ");
         if (!$sta) {
             $sta = 0;
         }
         $info = $sta . "人已学";
         $resource = $tblResource->scalar("name", "where id = {$value['resourceId']}");
         //获取课程的localId供在列表中进行跳转
         $localId = $tradeModel->getLocalId($value['resourceId'], $value['schoolId']);
         $value['mobile'] = $userModel->getUserName($value['userId'])['mobile'];
         $value['userName'] = $userModel->getUserName($value['userId'])['name'];
         $newArray[$k] = array("listId" => $value['id'], "id" => $value['resourceId'], "userId" => $value['userId'], "mobile" => $value['mobile'], "userName" => $value['userName'], "localId" => $localId['local_id'], "logo" => $entrance['logo'], "name" => $resource['name'], "schoolName" => $entrance['customer_name'], "schoolTitle" => $entrance['customer_title'], "info" => $info, "schoolId" => $value['schoolId'], "apiUdoUrl" => $entrance['api_udo_url'], "courseType" => 0, "orderId" => $value['orderId'], "createTime" => date("Y-m-d H:i:s", $value['createTime']));
     }
     return array("bought" => $newArray, "boughtCount" => $boughtCount);
 }