Esempio n. 1
0
 function getSchoolPrice($schoolId, $uid)
 {
     $tblPrice = new DB_Udo_SchoolPrice();
     $tblBought = new DB_Udo_UserBought();
     $tblResource = new DB_Sso_Resource();
     $bought = 0;
     //查找出频道的定价信息
     $price = $tblPrice->scalar("priceType,price", "where resourceId = {$schoolId}");
     //没有查询到定价信息的频道一律按照免费处理
     if (!$price) {
         $price = array("priceType" => Common_Config::UDO_PRICETYPE_FREE, "price" => 0);
     }
     //查找用户的购买信息
     //原则上免费课程不能加入购买表中
     $isBought = $tblBought->fetchAll("resourceId", "where schoolId = {$schoolId} and resourceType = 2 and userId = {$uid}");
     //print_r($isBought);
     //查找该频道下的所有非免费课程
     $resource = $tblResource->fetchAll("id", "where entrance_id = {$schoolId} and type = 6 and price_type <> 3 and enabled = 1");
     //如果定价免费
     if ($price['priceType'] == 3) {
         $bought = 1;
     } else {
         $boughtCount = 0;
         foreach ($resource as $k => $value) {
             foreach ($isBought as $l => $val) {
                 if ($value['id'] == $val['resourceId']) {
                     $boughtCount++;
                     break;
                 }
             }
         }
         //考虑到频道中的课程可能会有更新,所以不能以当前频道的购买状态作为频道是否购买的依据,
         //而是要以非免费课程和已购买课程的数量是否相等作为依据
         if ($boughtCount == count($resource) && count($resource) != 0) {
             $bought = 1;
         }
     }
     return array("price" => $price['price'], "priceType" => $price['priceType'], "isBought" => $bought);
 }
Esempio n. 2
0
 function newResourcePrice($resourcePrice, $schoolId)
 {
     $tblResource = new DB_Sso_Resource();
     $tblSchoolPrice = new DB_Udo_SchoolPrice();
     $priceSchool = 0;
     $school = $tblSchoolPrice->scalar("*", "where resourceId = {$schoolId}");
     //print_r(count($resourcePrice));
     foreach ($resourcePrice as $k => $val) {
         //print_r($val);
         $resource = $tblResource->scalar("type,price_type,cur_price", "where id ={$val['resourceId']}");
         //print_r($resource);
         $notFree = $val['notFree'];
         $freeStr = "";
         if (!$notFree) {
             $priceType = Common_Config::UDO_PRICETYPE_FREE;
             $freeStr = ",price_type = 3";
         } else {
             $priceType = $school['priceType'];
             $freeStr = ",price_type={$priceType}";
         }
         $price = $val['price'];
         $id = $val['resourceId'];
         $resourceUpdate = $tblResource->query("update resource set cur_price = {$price}" . $freeStr . " where id ={$id}");
         //print_r($resource['type']." ");
         if ($resource['type'] == Common_Config::PUBLIC_COURSE_TYPE) {
             $priceSchool += $price;
             //print_r($priceSchool." ");
         }
     }
     $priceSchool *= $school['discount'];
     $priceSchool = ceil($priceSchool);
     /*print_r($school['discount']);
       print_r($priceSchool);*/
     $schoolPrice = $tblSchoolPrice->query("update udo_school_price set price={$priceSchool} where resourceId={$schoolId}");
     return $resourceUpdate;
 }
Esempio n. 3
0
 function alterAccount($uid, $schoolId)
 {
     $tblSchoolPrice = new DB_Udo_SchoolPrice();
     $tblResource = new DB_Sso_Resource();
     $tblBought = new DB_Udo_UserBought();
     $tblOrder = new DB_Udo_Order();
     $schoolPrice = $tblSchoolPrice->scalar("*", "where resourceId = {$schoolId}");
     $courseType = Common_Config::PUBLIC_COURSE_TYPE;
     $free = Common_Config::UDO_PRICETYPE_FREE;
     $course = $tblResource->fetchAll("id", "where type = {$courseType} and price_type <> {$free} and entrance_id = {$schoolId}");
     $resource = [];
     foreach ($course as $key => $value) {
         array_push($resource, array("resourceType" => 2, "resourceId" => $value['id']));
     }
     //print_r($resource);
     $courseIds = $tblResource->columnRow($course, "id");
     $resourceType = Common_Config::UDO_RESOURCE_COURSE;
     $newOrder = $tblOrder->insert(array("userId" => $uid, "resource" => json_encode($resource), "createTime" => time(), "status" => Common_Config::ORDER_SUCCESS, "payType" => $schoolPrice['priceType'] == 1 ? 2 : 1));
     foreach ($courseIds as $key => $value) {
         $tblBought->insert(array("resourceId" => $value, "userId" => $uid, "schoolId" => $schoolId, "createTime" => time(), "resourceType" => $resourceType, "orderId" => $newOrder));
     }
     return 1;
 }