Ejemplo n.º 1
0
 public function adminList($listCond, &$retDataContainer)
 {
     // 列表的必须字段
     if (!DataValidater::isAllExist(array("start", "length"), $listCond)) {
         return Status::RET_INVALID_INPUT_PARAM_FORMAT;
     }
     // 获得数据
     $start = $listCond["start"];
     $length = $listCond["length"];
     // 非空可选项
     $order = DataLoader::exportColumn("order", $listCond);
     $orderCol = $orderDir = null;
     if ($order != null) {
         $orderCol = DataLoader::exportColumn("column", $order[0]);
         $orderDir = DataLoader::exportColumn("dir", $order[0]);
     }
     $search = DataLoader::exportColumn("search", $listCond);
     if ($search != null) {
         $search = DataLoader::exportColumn("value", $search);
     }
     /*$where = array();
       
           $orgType = DataLoader::exportColumn( "org_type",  $listCond );
           if( $orgType != null ) {
           $where[ "org_type" ] = $orgType;
           }
       
           $orgDistrId = DataLoader::exportColumn( "org_distr_uuid",  $listCond );
           if( $orgDistrId != null ) {
           $where[ "org_distr_uuid" ] = $orgDistrId;
           }*/
     return Table::pull(new Users(), $start, $length, $retDataContainer, $search, $orderCol, $orderDir);
 }
Ejemplo n.º 2
0
 private static function push($arObj, $data, &$retDataContainer)
 {
     $tableAttr = array_keys(self::getAttributesWithoutPK($arObj));
     // 获得待推送表的所有字段名
     // TODO: $tableAttr验证
     // 检查字段是否都存在
     if (!DataValidater::isAllExist($tableAttr, $data)) {
         return Status::RET_INVALID_INPUT_PARAM_FORMAT;
     }
     // 获得目标AR的实例
     $dest = $arObj;
     // 未找到
     if ($dest == null) {
         return Status::RET_DEST_NOT_FOUND;
     }
     // 获取服务器当前数据
     $currSrvData = self::getAttributes($dest);
     // $dest->getAttributes();
     // TODO: $currSrvData验证
     // 冲突处理
     if (DataValidater::isConflictive($data, $currSrvData)) {
         // 发生冲突
         $retDataContainer = array();
         // 将服务器数据插入$srvData
         foreach ($currSrvData as $key => $val) {
             $retDataContainer[$key] = $val;
         }
         return Status::RET_CONFLICTIVE_DATA;
     }
     // 将数据写入
     if (self::setAttributes($dest, $data, $tableAttr) && self::save($dest)) {
         // 成功,$dest->save()
         return Status::RET_SUCCESSFUL;
     } else {
         // 失败
         return Status::RET_INSERT_ERROR;
     }
 }