谷神后端数据转换

some2list
/**
 * some2list
 * 对象、列表兼容
 *
 * @param $some:map/list:入参。
 *
 * @return list:兼容后的列表
 *
 */
#function some2list ($some)
	#if ($vs.util.isNull($some))
		return null
	#else
		#if ($vs.util.isList($some))
			return $some
		#else
			return $vs.util.newList($some)
		#end
	#end
#end
// 对象、列表兼容
#set($list = @some2list($some))
transformList
/**
 * transformList
 *
 * @param $list:list:列表
 * @param $fieldMap:map:映射
 *
 * @return list
 *
 */
#function transformList ($list, $fieldMap)
	#if ($vs.util.isList($list) && $vs.util.isMap($fieldMap))
		#foreach ($row in $list)
			#foreach ($key in $vs.util.getMapKeys($fieldMap))
				$row.put($fieldMap.get($key), $row.get($key))
			#end
		#end
	#end
	return $list
#end
list2map
/**
 * list2map
 * list转map:支持全量映射、单字段映射
 * 
 * @param $list:list:列表
 * @param $keyField:string:键字段域
 * @param $valueField:string:值字段域
 *
 * @return map
 *
 */ 
#function list2map ($list, $keyField, $valueField)
	#if ($vs.util.isList($list))
		#set($map = $vs.util.newMap())
		#foreach($row in $list)
			#set($value = $row)
			#if (!$vs.util.isNull($valueField))
				#set($value = $row.get($valueField))
			#end
			$map.put($row.get($keyField), $value)
		#end
		return $map
	#end
	return null
#end
// list2map
#set($map = @list2map($list, $keyField, $valueField))
list2mapByScript
/**
 * list2mapByScript
 * 动态脚本模式。 
 *
 * @param $list:list:列表。
 * @param $key:string:键。
 *
 * @return map
 *
 */
#function list2mapByScript ($list, $key)
	#set($map = $vs.util.newMap())
	#foreach($row in $list)
		#set($script = 'return $row.' + $key)
		$map.put($vs.proc.executeScript($script, $vs.util.newMap('row', $row)), $row)
	#end
	return $map
#end
list2page
/**
 * list2page
 *
 * @param $lsit:list:列表
 * @param $pageNumber:number:页数
 * @param $pageSize:number:每页条数
 *
 * @return map
 *
 */
#function list2page ($list, $pageNumber, $pageSize)
	#if ($vs.util.isList($list) && $vs.util.isNumeric($pageNumber) && $vs.util.isNumeric($pageSize))
		#if ($pageNumber < 1)
			#set($pageNumber = 1)
		#end
		#if ($pageSize < 1)
			#set($pageSize = 1)
		#end
		#set($size = $list.size())
		#set($page = $vs.util.newMap())

		#set($page.pageNo = $pageNumber)
		#set($page.pageNumber = $pageNumber)
		#set($page.pageSize = $pageSize)
		#set($page.totalCount = $size)

		#set($totalPage = $size / $pageSize)
		#if ($size > ($totalPage * $pageSize))
			#set($totalPage = $totalPage + 1)
		#end
		#set($page.totalPage = $totalPage)

		#set($start = ($pageNumber - 1) * $pageSize)
		#set($end = $start + $pageSize)
		#if ($start > $size)
			#set($start = $size)
		#end
		#if ($end > $size)
			#set($end = $size)
		#end
		#set($page.result = $list.subList($start, $end))

		return $page
	#end
#end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值