谷神后端代码模板:更新

本文介绍了在IT技术背景下,使用乐观锁进行数据库操作的过程,包括参数校验、主键和乐观锁的使用、单条数据的查询与更新,以及批量更新时的逻辑和异常处理。
摘要由CSDN通过智能技术生成
开放更新
// 参数校验
$vs.util.checkInput($form, '参数不能为空!')
$vs.util.checkInput($form.PRIMARY_KEY, '主键不能为空!')
$vs.util.checkInput($form.OPTIMISTIC_LOCK, '乐观锁不能为空!')

// 当前时间
#set($now = $vs.date.getDbDate())
#if ($vs.util.isNull($now))
	#set($now = $vs.date.getDbDate())
#end

// 查询、更新条件
#set($where = $vs.util.newMap())
#set($where.PRIMARY_KEY = $form.PRIMARY_KEY)
#set($where.OPTIMISTIC_LOCK = $form.OPTIMISTIC_LOCK)

// 查询
#set($one = $vs.dbTools.selectOne($strTableName, $where))
$vs.util.checkInput($one, '数据已变更,请刷新重试!')

// 业务校验
#set($list = $vs.util.newList())
#if(!$list.contains($one.STATE))
	$vs.exception.throwException('不可操作!')
#end

// 操作记录
#set($form.MEMBER_CODE = $vs.user.MEMBER_CODE)
#set($form.MEMBER_NAME = $vs.user.member.MEMBER_NAME)
#set($form.ORG_CODE = $vs.user.ORG_CODE)
#set($form.DEPT_CODE = $vs.user.DEPT_CODE)
#set($form.USER_ID = $vs.user.USER_ID)
#set($form.USER_NAME = $vs.user.USER_NAME)

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


// 更新
#set($i = $vs.dbTools.update($strTableName, $form, $where))
#if ($i != 1)
	$vs.exception.throwException('数据已变更,请刷新重试!')
#end
封闭更新
// 参数校验
$vs.util.checkInput($form, '参数不能为空!')
$vs.util.checkInput($form.PRIMARY_KEY, '主键不能为空!')
$vs.util.checkInput($form.OPTIMISTIC_LOCK, '乐观锁不能为空!')

// 当前时间
#set($now = $vs.date.getDbDate())
#if ($vs.util.isNull($now))
	#set($now = $vs.date.getDbDate())
#end

// 查询、更新条件
#set($where = $vs.util.newMap())
#set($where.PRIMARY_KEY = $form.PRIMARY_KEY)
#set($where.OPTIMISTIC_LOCK = $form.OPTIMISTIC_LOCK)

// 查询
#set($one = $vs.dbTools.selectOne($strTableName, $where))
$vs.util.checkInput($one, '数据已变更,请刷新重试!')

// 业务校验
#set($list = $vs.util.newList())
#if(!$list.contains($one.STATE))
	$vs.exception.throwException('不可操作!')
#end

// 更新信息
#set($data = $vs.util.newMap())

// 用户信息
#set($data.MEMBER_CODE = $vs.user.MEMBER_CODE)
#set($data.MEMBER_NAME = $vs.user.member.MEMBER_NAME)
#set($data.ORG_CODE = $vs.user.ORG_CODE)
#set($data.DEPT_CODE = $vs.user.DEPT_CODE)
#set($data.USER_ID = $vs.user.USER_ID)
#set($data.USER_NAME = $vs.user.USER_NAME)

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

// 更新
#set($i = $vs.dbTools.update($strTableName, $data, $where))
#if ($i != 1)
	$vs.exception.throwException('数据已变更,请刷新重试!')
#end
批量更新
//  当前时间
#set($now = $vs.date.getDbDate())
#if ($vs.util.isNull($now))
	#set($now = $vs.date.getDbDate())
#end

// 批量查询
#set($where = $vs.util.newMap())
#set($list = $vs.dbTools.select($strTableName, $where))
// isNotEmpty
#if(!$vs.util.isList($list) || $list.size() == 0)
	$vs.exception.throwException('未找到!')
#end

// 批量处理
#set($wheres = $vs.util.newList())
#set($datas = $vs.util.newList())
#foreach ($row in $list)
	// 参数校验
	$vs.util.checkInput($row, '参数不能为空!')
	$vs.util.checkInput($row.PRIMARY_KEY, '主键不能为空!')
	$vs.util.checkInput($row.OPTIMISTIC_LOCK, '乐观锁不能为空!')

	// 条件
	#set($where = $vs.util.newMap())
	// 主键
	#set($where.PRIMARY_KEY = $row.PRIMARY_KEY)
	// 时间戳
	#set($where.OPTIMISTIC_LOCK = $row.OPTIMISTIC_LOCK)
	// 条件收集
	$wheres.add($where)
	
	// 数据
	#set($data = $vs.util.newMap())
	
	// 乐观锁
	#set($data.OPTIMISTIC_LOCK = $vs.util.GUID())
	#set($data.OPTIMISTIC_LOCK = $vs.date.getTimeStamp($now))
	#set($data.OPTIMISTIC_LOCK = $now)
	
	// 数据收集
	$datas.add($data)
#end

// 批量更新
#set($i = $vs.dbTools.batchUpdate($strTableName, $datas, $wheres))
#if ($i != $datas.size())
	$vs.exception.throwException('数据已变更,请刷新重试!')
#end
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值