谷神后端代码模板:依赖插入

依赖插入
// 依赖插入
@add($data, $dependence, $refresh, $now)



/**
 * add
 * 抽象方法:依赖插入
 *
 * @param $data:map:插入信息。
 * @param $dependence:map:依赖信息。
 * @param $refresh:boolean:是否刷新。
 * @param $now:date:当前时间。
 *
 * @return null
 *
 */
#function add($data, $dependence, $refresh, $now)
	// 参数校验
	$vs.util.checkInput($data, '插入信息不能为空!')
	$vs.util.checkInput($refresh, '是否刷新不能为空!')
	$vs.util.checkInput($now, '当前时间不能为空!')

	// 依赖信息校验
	$vs.util.checkInput($dependence, '依赖信息不能为空!')
	$vs.util.checkInput($dependence.FOREIGN_KEY, '外键不能为空!')

	// 外键
	#set($data.FOREIGN_KEY = $dependence.FOREIGN_KEY)

	// 同步信息
	#set($data.FOREIGN_KEY = $dependence.FOREIGN_KEY)

	// 乐观锁
	#set($data.OPTIMISTIC_LOCK = $vs.util.GUID())
	#set($data.OPTIMISTIC_LOCK = $vs.date.getTimeStamp($now))
	#set($data.OPTIMISTIC_LOCK = $now)

	// 插入
	#set($i = $vs.dbTools.insert($strTableName, $data))
	#if ($i != 1)
		$vs.exception.throwException('操作失败!')
	#end

	// 刷新
	#if ($refresh)
		@refreshOneOptimisticLock ($strTableName, $PRIMARY_KEY, $OPTIMISTIC_LOCK, $dependence, $OPTIMISTIC_LOCK_VALUE)
	#end

	// 返回
	return null
#end



/**
 * refreshOneOptimisticLock
 * 刷新乐观锁
 *
 * @param $strTableName:string: 要更新记录的数据表名。
 * @param $PRIMARY_KEY:string: 要更新记录的数据表主键名。
 * @param $OPTIMISTIC_LOCK:string: 要更新记录的数据表乐观锁名。
 * @param $one:string: 要更新记录的数据表数据。
 * @param $OPTIMISTIC_LOCK_VALUE:string: 要更新记录的乐观锁值。
 *
 * @return null
 *
 */
#function refreshOneOptimisticLock ($strTableName, $PRIMARY_KEY, $OPTIMISTIC_LOCK, $one, $OPTIMISTIC_LOCK_VALUE)
	// 参数校验
	$vs.util.checkInput($strTableName, '表名不能为空!')
	$vs.util.checkInput($PRIMARY_KEY, '主键KEY不能为空!')
	$vs.util.checkInput($OPTIMISTIC_LOCK, '乐观锁KEY不能为空!')
	$vs.util.checkInput($one, '数据不能为空!')
	$vs.util.checkInput($OPTIMISTIC_LOCK_VALUE, '乐观锁VALUE不能为空!')
	// 刷新条件
	#set($where = $vs.util.newMap())
	$where.put($PRIMARY_KEY, $one.get($PRIMARY_KEY))
	$where.put($OPTIMISTIC_LOCK, $one.get($OPTIMISTIC_LOCK))
	// 刷新内容
	#set($data = $vs.util.newMap())
	$data.put($OPTIMISTIC_LOCK, $OPTIMISTIC_LOCK_VALUE)
	// 刷新
	#set($i = $vs.dbTools.update($strTableName ,$data, $where))
	$vs.dbTools.update($strTableName, $data, $where)
	#if ($i ne 1)
		$vs.exception.throwException('数据已变更,请刷新重试!')
	#end
	// 返回
	return null
#end
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值