代码:
global $gblDB;
if(abs($dataObj->Amount - $oldDataObj->Amount) < 0.00001)//相等
{
return;
}
$objInfo = TObjectInfo::getInstance();
crm_include($objInfo->GetIncFile(OBJ_ACCOUNT));
$modelName = $objInfo->GetModelName(OBJ_ACCOUNT);
$model = new $modelName();
$model->setNoScope();
$olddo = $model->getDataObject($dataObj->AccountID);
$newDo = clone $olddo;
$newDo->Expense += $dataObj->Amount * 1;
$sql = "update tc_account set expense = expense + ".$dataObj->Amount." where account_id = ".$dataObj->AccountID;
$gblDB->Execute($sql);
$errno = $gblDB->getErrNo();
if($errno)
throw new TDBException($errno);
else
{
$msg = new TObjectMessage(OBJ_ACCOUNT,MSGOPR_UPDATE,$newDo, $olddo);
TMessageQueue::FireMessage($msg);
global $gblDB;
if(abs($dataObj->Amount - $oldDataObj->Amount) < 0.00001)//相等
{
return;
}
$objInfo = TObjectInfo::getInstance();
crm_include($objInfo->GetIncFile(OBJ_ACCOUNT));
$modelName = $objInfo->GetModelName(OBJ_ACCOUNT);
$model = new $modelName();
$model->setNoScope();
$olddo = $model->getDataObject($dataObj->AccountID);
$newDo = clone $olddo;
$newDo->Expense += $dataObj->Amount * 1;
$sql = "update tc_account set expense = expense + ".$dataObj->Amount." where account_id = ".$dataObj->AccountID;
$gblDB->Execute($sql);
$errno = $gblDB->getErrNo();
if($errno)
throw new TDBException($errno);
else
{
$msg = new TObjectMessage(OBJ_ACCOUNT,MSGOPR_UPDATE,$newDo, $olddo);
TMessageQueue::FireMessage($msg);
的确如此
这个是我们买的系统里面带的一段代码,我想做一个跟它差不多的功能,但我对PHP一点也不懂啊,诶,忧闷
// 引进$gblDB
if(abs($dataObj->Amount - $oldDataObj->Amount) < 0.00001)//相等
// 取$dataObj下面的Amount和Amout相减后的绝对值,并判断是否小于一个数
{
return;
// 如果符合则退出
}
$objInfo = TObjectInfo::getInstance();
// 初始化 TObjectInfo
crm_include($objInfo->GetIncFile(OBJ_ACCOUNT));
// 应该是动态包含一个文件
$modelName = $objInfo->GetModelName(OBJ_ACCOUNT);
// 创建一个对象名 $objInfo->GetModelName(OBJ_ACCOUNT); 会返回一个对象
$model = new $modelName();
// 实例化一个对象
$model->setNoScope();
// 调用对象下面的方法
$olddo = $model->getDataObject($dataObj->AccountID);
// 取得数据并给值
$newDo = clone $olddo;
// 克隆数据
$newDo->Expense += $dataObj->Amount * 1;
// 上面的操作我不说了
$sql = "update tc_account set expense = expense + ".$dataObj->Amount." where
// 整理Sql语句
account_id = ".$dataObj->AccountID;
// 给值
$gblDB->Execute($sql);
// 执行Sql语句
$errno = $gblDB->getErrNo();
// 看是否执行错误
if($errno)
// 错误处理
throw new TDBException($errno);
else
{
// 成功了则做一些事情,记Log或者什么的
$msg = new TObjectMessage(OBJ_ACCOUNT,MSGOPR_UPDATE,$newDo, $olddo);
TMessageQueue::FireMessage($msg);
……过年了,几天先看看PHP基础吧