From: Tang Cheng Date: Wed, 10 Jul 2019 03:17:40 +0000 (+0800) Subject: 优化了部分代码解决 warning X-Git-Tag: 1.0.0^2~79 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=6e5cf96307bb5257e8450a6fd1742e074bfd961c;p=epayment%2Ffood_payapi.git 优化了部分代码解决 warning --- diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt index 3f909c5e..dade3f20 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt @@ -49,7 +49,7 @@ class DaliDatasyncApiController { TODO("更新数据逻辑") } - return return ResponseEntity.ok(mapOf("retcode" to "0000", "retmsg" to "SUCCESS")) + return ResponseEntity.ok(mapOf("retcode" to "0000", "retmsg" to "SUCCESS")) } catch (ex: RequestParamCheckException) { return ResponseEntity.ok(ResponseBodyBuilder.create() .fail(ex.errCode, ex.message ?: "请求参数错误")) diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt index b4f11a16..19d96eab 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt @@ -46,8 +46,8 @@ class AuthLoginSuccessHandler : SimpleUrlAuthenticationSuccessHandler() { override fun onAuthenticationSuccess(request: HttpServletRequest, response: HttpServletResponse, authentication: Authentication) { logger.error(request.getParameter("platform")) - var temp = authentication.principal as TBMobileUser - var user = mobileUserDao.findByPhone(temp.phone) + val temp = authentication.principal as TBMobileUser + val user = mobileUserDao.findByPhone(temp.phone) val exp = systemUtilService.getSysparaValueAsInt(SysparaUtil.SYSPARAID_NO3,60*60*24*3) jwtConfig.expiration = exp.toLong() if (user != null) { @@ -77,15 +77,13 @@ class AuthLoginSuccessHandler : SimpleUrlAuthenticationSuccessHandler() { user.jti = jwt.jti mobileUserDao.save(user) var payseted = false - if(!user!!.paypwd.isNullOrEmpty()){ + if(!user.paypwd.isNullOrEmpty()){ payseted = true } var name = "" if (!user.userid.isNullOrEmpty()) { - var person = userService.findOnePersonByUserid(user.userid!!) - if (person != null) { - name = person.name - } + val person = userService.findOnePersonByUserid(user.userid!!) + name = person.name } response.status = HttpStatus.OK.value() @@ -124,10 +122,10 @@ class AuthLoginFailHandler : SimpleUrlAuthenticationFailureHandler() { is LockedException -> "账户被锁定" else -> exception.message!! } - var temp = request.getParameter("username") + val temp = request.getParameter("username") if(!temp.isNullOrEmpty()) { mobileUserDao.findByPhone(temp)?.let { - if (it.loginpwderror == null || it.loginpwderror == 0) { + if (it.loginpwderror == 0) { it.loginpwderror = 0 it.loginpwderrortime = System.currentTimeMillis() } diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt index ecc01ab0..cf9247ce 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt @@ -65,12 +65,12 @@ class ApiInit { * */ @RequestMapping("/code") fun code(@RequestParam phone: String, @RequestParam type: String?): JsonResult { - if (phone.isNullOrEmpty() || phone.length != 11 || !StringUtil.isMobile(phone)) { + if (phone.isEmpty() || phone.length != 11 || !StringUtil.isMobile(phone)) { return JsonResult.error("手机号有误") } - var user = mobileApiService.findUserByPhone(phone) + val user = mobileApiService.findUserByPhone(phone) if (type.isNullOrEmpty() || "new" == type) { - if (user != null && !user.loginpwd.isNullOrEmpty()) { + if (user != null && !user.loginpwd.isEmpty()) { return JsonResult.error("该手机号已注册,请登录或找回密码") } } else { @@ -83,10 +83,9 @@ class ApiInit { } } // 如果未设置密码 - var temp = redisTemplate.opsForValue().get(phone) + val temp = redisTemplate.opsForValue().get(phone) if (temp.isNullOrEmpty()) { - var code = RandomUtils.randomNumber(6) - System.out.println(code) + val code = RandomUtils.randomNumber(6) redisTemplate.opsForValue().set(phone, code, Duration.ofMinutes(5)) } //TODO call send code sdk @@ -101,7 +100,7 @@ class ApiInit { @RequestParam code: String, @RequestParam platform: String?, @RequestParam uuid: String?): JsonResult { - var temp = redisTemplate.opsForValue().get(phone) + val temp = redisTemplate.opsForValue().get(phone) if (!temp.isNullOrEmpty()) { if (temp != code) { return JsonResult.error("验证码错误") @@ -122,10 +121,10 @@ class ApiInit { user.registerplatform = platform user.devuid = uuid user = mobileApiService.saveUser(user) - var code = RandomUtils.getRandomString(30) - redisTemplate.opsForValue().set(user.uid, code, Duration.ofHours(1)) + val newCode = RandomUtils.getRandomString(30) + redisTemplate.opsForValue().set(user.uid, newCode, Duration.ofHours(1)) redisTemplate.delete(phone) - return JsonResult.ok("OK").put("uid", user.uid)?.put("randcode", code)!! + return JsonResult.ok("OK").put("uid", user.uid)?.put("randcode", newCode)!! } else { return JsonResult.error(-1, "验证码无效或已过期,请重新获取") } @@ -139,32 +138,32 @@ class ApiInit { @RequestParam pwd: String, @RequestParam repwd: String, @RequestParam random: String): JsonResult { - if (random.isNullOrEmpty()) { + if (random.isEmpty()) { return JsonResult.error("信息有误,请返回上一步") } - if (pwd.isNullOrEmpty() || repwd.isNullOrEmpty() || pwd.length < 6) { + if (pwd.isEmpty() || repwd.isEmpty() || pwd.length < 6) { return JsonResult.error("请重新设置密码,密码不能小于6位字符") } if (pwd != repwd) { return JsonResult.error("两次密码不一致") } - var user: TBMobileUser? = mobileApiService.findUserById(id) ?: return JsonResult.error("用户不存在,请注册") - var code = redisTemplate.opsForValue().get(id) + val user: TBMobileUser? = mobileApiService.findUserById(id) ?: return JsonResult.error("用户不存在,请注册") + val code = redisTemplate.opsForValue().get(id) if (random != code) { return JsonResult.error("信息有误,请返回上一步,并重新发送验证码") } val encoder = BCryptPasswordEncoder() user!!.loginpwd = encoder.encode(pwd) - var exp = systemUtilService.getSysparaValueAsInt(SysparaUtil.SYSPARAID_NO3, 60 * 60 * 24 * 3) + val exp = systemUtilService.getSysparaValueAsInt(SysparaUtil.SYSPARAID_NO3, 60 * 60 * 24 * 3) jwtConfig.expiration = exp.toLong() - var authorities: Collection = AuthorityUtils.createAuthorityList("ROLE_USER") + val authorities: Collection = AuthorityUtils.createAuthorityList("ROLE_USER") user.auths = authorities val token = JwtTokenUtil(jwtConfig).generateToken( mapOf("uid" to user.uid, "issuer" to "payapi", "audience" to user.phone, Constants.JWT_CLAIM_TENANTID to "mobile", Constants.JWT_CLAIM_AUTHORITIES to user.authorities)) - var jwt = JwtRedis().apply { + val jwt = JwtRedis().apply { jti = token.jti uid = user.phone status = TradeDict.JWT_STATUS_NORMAL @@ -176,7 +175,7 @@ class ApiInit { } apiJwtRepository.save(this) } - if (user.loginpwderror != null && user.loginpwderror!! > 0) { + if (user.loginpwderror > 0) { user.loginpwderror = 0 user.loginpwderrortime = null } @@ -185,7 +184,7 @@ class ApiInit { mobileApiService.saveUser(user) redisTemplate.delete(user.uid) var payseted = false - if (!user!!.paypwd.isNullOrEmpty()) { + if (!user.paypwd.isNullOrEmpty()) { payseted = true } return JsonResult.ok("OK").put("token", token.jwtToken) @@ -218,7 +217,8 @@ class ApiV1 { @RequestMapping("/infor") fun getUserInfor(): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") return JsonResult.ok("OK").put("now", System.currentTimeMillis())!! } @@ -228,15 +228,14 @@ class ApiV1 { @RequestMapping("/code") fun code(): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") - if (user!!.phone.isNullOrEmpty()) { + val user = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + if (user.phone.isEmpty()) { return JsonResult.error("用户不存在,请注册") } - var temp = redisTemplate.opsForValue().get(user!!.phone) + val temp = redisTemplate.opsForValue().get(user.phone) if (temp.isNullOrEmpty()) { - var code = RandomUtils.randomNumber(6) - System.out.println(code) - redisTemplate.opsForValue().set(user!!.phone, code, Duration.ofMinutes(5)) + val code = RandomUtils.randomNumber(6) + redisTemplate.opsForValue().set(user.phone, code, Duration.ofMinutes(5)) } //TODO call send code sdk return JsonResult.ok("验证码已发送") @@ -246,16 +245,17 @@ class ApiV1 { fun check(@RequestParam code: String ): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") - var temp = redisTemplate.opsForValue().get(user!!.phone) + val user = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") + val temp = redisTemplate.opsForValue().get(user.phone) if (!temp.isNullOrEmpty()) { if (temp != code) { return JsonResult.error("验证码错误") } - var code = RandomUtils.getRandomString(30) - redisTemplate.opsForValue().set(user.uid, code, Duration.ofHours(1)) - redisTemplate.delete(user!!.phone) - return JsonResult.ok("OK").put("randcode", code)!! + val newCode = RandomUtils.getRandomString(30) + redisTemplate.opsForValue().set(user.uid, newCode, Duration.ofHours(1)) + redisTemplate.delete(user.phone) + return JsonResult.ok("OK").put("randcode", newCode)!! } else { return JsonResult.error(-1, "验证码无效或已过期,请重新获取") } @@ -267,23 +267,25 @@ class ApiV1 { @RequestMapping("/bindcard") fun bindcard(card: String, name: String, code: String): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") - var phone = user!!.phone - var temp = redisTemplate.opsForValue().get(phone) + val user = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") + val phone = user.phone + val temp = redisTemplate.opsForValue().get(phone) if (!temp.isNullOrEmpty()) { if (temp != code) { return JsonResult.error("验证码错误") } - if (user!!.userid.isNullOrEmpty()) { - var identy: TPersonIdentity? = userService.findPersonIdentity(card) ?: return JsonResult.error("银行卡号有误") + if (user.userid.isNullOrEmpty()) { + val identy: TPersonIdentity? = userService.findPersonIdentity(card) + ?: return JsonResult.error("银行卡号有误") if (identy!!.person == null || identy.status != TradeDict.STATUS_NORMAL) { return JsonResult.error("银行卡号信息有误") } - if (identy!!.person.name != name) { + if (identy.person.name != name) { return JsonResult.error("姓名有误") } - var temp: TBMobileUser? = mobileApiService.findUserById(identy!!.person.userid) - if (temp != null) { + val exsitUser = mobileApiService.findUserById(identy.person.userid) + if (exsitUser != null) { return JsonResult.error("该银行卡号已被绑定,如有疑问,请联系客服") } user.bindtime = DateUtil.getNow() @@ -312,7 +314,8 @@ class ApiV1 { @RequestMapping("/paypwd") fun paypwd(pwd: String, repwd: String, oldpwd: String?, type: String, randcode: String?): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + val user = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") if (pwd != repwd) { return JsonResult.error("两次密码不一致,请确认") } @@ -323,8 +326,8 @@ class ApiV1 { return JsonResult.error("支付密码为6位数字") } val encoder = BCryptPasswordEncoder() - if (user!!.paypwd.isNullOrEmpty()) { - user!!.paypwd = encoder.encode(pwd) + if (user.paypwd.isNullOrEmpty()) { + user.paypwd = encoder.encode(pwd) mobileApiService.saveUser(user) return JsonResult.ok("OK") ?.put("paypwdset", true)!! @@ -335,17 +338,15 @@ class ApiV1 { if (oldpwd.isNullOrEmpty()) { return JsonResult.error("原支付密码错误") } - if (user.paypwderror != null && user.paypwderror!! >= 5 && (System.currentTimeMillis() - user.paypwderrortime!!) < 1000 * 60 * 30) { + if (user.paypwderror >= 5 && (System.currentTimeMillis() - user.paypwderrortime!!) < 1000 * 60 * 30) { return JsonResult.error("密码错误次数过多,请30分钟后再试") - }else if (user.paypwderror != null && user.paypwderror!! >= 5 && (System.currentTimeMillis() - user.paypwderrortime!!) > 1000 * 60 * 30) { + } else if (user.paypwderror >= 5 && (System.currentTimeMillis() - user.paypwderrortime!!) > 1000 * 60 * 30) { //更新时间 user.paypwderror = 0 user.paypwderrortime = null } - val encoder = BCryptPasswordEncoder() - var b = encoder.encode(oldpwd) - if (!encoder.matches(oldpwd,user.paypwd)) { - if (user.paypwderror == null || user.paypwderror == 0) { + if (!encoder.matches(oldpwd, user.paypwd)) { + if (user.paypwderror == 0) { user.paypwderror = 0 user.paypwderrortime = System.currentTimeMillis() } @@ -353,7 +354,7 @@ class ApiV1 { mobileApiService.saveUser(user) return JsonResult.error("原支付密码错误") } - user!!.paypwd = encoder.encode(pwd) + user.paypwd = encoder.encode(pwd) mobileApiService.saveUser(user) return JsonResult.ok("OK") ?.put("paypwdset", true)!! @@ -362,15 +363,14 @@ class ApiV1 { if (randcode.isNullOrEmpty()) { return JsonResult.error("信息有误,请返回并重新设置") } - var code = redisTemplate.opsForValue().get(user.uid) + val code = redisTemplate.opsForValue().get(user.uid) if (randcode != code) { return JsonResult.error(-1, "长时间未操作,请返回上一步,并重新发送验证码") } - user!!.paypwd = encoder.encode(pwd) + user.paypwd = encoder.encode(pwd) mobileApiService.saveUser(user) redisTemplate.delete(user.uid) - return JsonResult.ok("OK") - ?.put("paypwdset", true)!! + return JsonResult.ok("OK").put("paypwdset", true)!! } else -> return JsonResult.error("请求错误") } @@ -383,7 +383,7 @@ class ApiV1 { * */ @RequestMapping("/bxy") fun xieyi(): JsonResult { - var page = mobileApiService.findPageById(ConstantUtil.PAGE_BANKXIEYI) + val page = mobileApiService.findPageById(ConstantUtil.PAGE_BANKXIEYI) if (page != null) { return JsonResult.ok("OK").put("page", page.pageContent)!! } @@ -397,9 +397,10 @@ class ApiV1 { @RequestMapping("/signbxy") fun signbxy(agree: String): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") - user!!.issigned = TradeDict.STATUS_YES - user!!.signedtime = DateUtil.getNow() + val user = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") + user.issigned = TradeDict.STATUS_YES + user.signedtime = DateUtil.getNow() mobileApiService.saveUser(user) //TODO 调用第三方接口签约 return JsonResult.ok("ok") @@ -412,7 +413,8 @@ class ApiV1 { @RequestMapping("/bills") fun bills(pageno: Int): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + val user = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") val c = Calendar.getInstance() val timeOfDay = c.get(Calendar.HOUR_OF_DAY) var t = "" @@ -422,18 +424,14 @@ class ApiV1 { in 13..17 -> t = "下午好" in 18..23 -> t = "晚上好" } - if (user!!.userid.isNullOrEmpty()) { + if (user.userid.isNullOrEmpty()) { return JsonResult.ok("OK").put("t", t)!! } - var no = if (pageno <= 0) { - 1 - } else { - pageno - } - var today = DateUtil.getNow("yyyyMMdd") - var yester = DateUtil.getNowInterDay(-1) - var acc = userService.findAccountByUserid(user.userid!!, null) - var point = userService.findPointsAccountByUserid(user.userid!!) + val no = if (pageno <= 0) 1 else pageno + val today = DateUtil.getNow("yyyyMMdd") + val yester = DateUtil.getNowInterDay(-1) + val acc = userService.findAccountByUserid(user.userid!!, null) + val point = userService.findPointsAccountByUserid(user.userid!!) var amount = 0.0; var pi = 0L if (acc != null && acc.availbal != null) { @@ -443,15 +441,12 @@ class ApiV1 { pi = point.points } var payseted = false - if (!user!!.paypwd.isNullOrEmpty()) { + if (!user.paypwd.isNullOrEmpty()) { payseted = true } - var name = "" - var person = userService.findOnePersonByUserid(user.userid!!) - if (person != null) { - name = person.name - } - var page = userService.findPersondtlByUserid(user!!.userid!!, no) + val person = userService.findOnePersonByUserid(user.userid!!) + var name = person.name + val page = userService.findPersondtlByUserid(user.userid!!, no) return JsonResult.ok("OK").put("page", page) ?.put("today", today) ?.put("yesterday", yester) @@ -460,8 +455,7 @@ class ApiV1 { ?.put("paypwdset", payseted) ?.put("name", name) ?.put("signed", if (user.issigned.isNullOrEmpty()) "" else user.issigned) - ?.put("userid", if (user?.userid.isNullOrEmpty()) "" else user?.userid)!! - ?.put("t", t)!! + ?.put("userid", if (user.userid.isNullOrEmpty()) "" else user.userid)!!.put("t", t)!! } /** @@ -470,11 +464,12 @@ class ApiV1 { @RequestMapping("/billdetail") fun billdetail(billid: String): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + val user: TBMobileUser? = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") if (user!!.userid.isNullOrEmpty()) { return JsonResult.ok("OK") } - var dtl = userService.findPersondtlDetailByUserid(user?.userid!!, billid) + val dtl = userService.findPersondtlDetailByUserid(user.userid!!, billid) return JsonResult.ok("OK").put("dtl", dtl)!! } @@ -484,23 +479,24 @@ class ApiV1 { @RequestMapping("/pwdset") fun pwdset(oldpwd: String, newpwd: String, renewpwd: String): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + val user = mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") if (newpwd != renewpwd) { return JsonResult.error("两次密码不一致,请确认") } - if (newpwd.isNullOrEmpty() || newpwd.length < 6) { + if (newpwd.isEmpty() || newpwd.length < 6) { return JsonResult.error("请重新设置密码,密码不能小于6位字符") } - if (user!!.loginpwderror > 5) { + if (user.loginpwderror > 5) { return JsonResult.error(-1, "原密码错误次数过多,将退出系统,请重新登录系统或点击忘记密码功能找回密码") } val encoder = BCryptPasswordEncoder() - if (!encoder.matches(oldpwd,user!!.loginpwd)) { + if (!encoder.matches(oldpwd, user.loginpwd)) { user.loginpwderror += 1 mobileApiService.saveUser(user) return JsonResult.error("原密码错误") } - if (user.loginpwderror != null && user.loginpwderror!! > 0) { + if (user.loginpwderror > 0) { user.loginpwderror = 0 user.loginpwderrortime = null } @@ -516,7 +512,8 @@ class ApiV1 { @RequestMapping("/cardlost") fun cardlost(paypwd: String): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") //TODO cardlost return JsonResult.ok("ok") } @@ -528,7 +525,8 @@ class ApiV1 { @RequestMapping("/qrcode") fun qrcode(): JsonResult { val p = SecurityContextHolder.getContext().authentication - var user: TBMobileUser? = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册") + mobileApiService.findUserById(p.name) + ?: return JsonResult.error("用户不存在,请注册") //TODO cardlost return JsonResult.ok("ok") } diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt index 21cd2eea..1dfea564 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt @@ -21,11 +21,9 @@ class MobileApiServiceImpl : MobileApiService { } override fun findPageById(pageid: String): TBPages? { - var t = pagesDao.findById(pageid) - if (t.isPresent) { - return t.get() + return pagesDao.findById(pageid).let { + if (it.isPresent) it.get() else null } - return null } override fun findUserByPhone(phone: String): TBMobileUser? { @@ -33,10 +31,8 @@ class MobileApiServiceImpl : MobileApiService { } override fun findUserById(id: String): TBMobileUser? { - var t = mobileUserDao.findById(id) - if(t.isPresent){ - return t.get() + return mobileUserDao.findById(id).let { + if (it.isPresent) it.get() else null } - return null } } \ No newline at end of file