新增卡号查询接口
diff --git a/payapi/build.gradle b/payapi/build.gradle
index d5c3abf..face7fa 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -1,3 +1,5 @@
+import java.text.SimpleDateFormat
+
plugins {
id 'java'
id 'org.springframework.boot'
@@ -24,7 +26,7 @@
bootJar {
mainClassName = payapiStartClass
manifest {
- attributes('Payapi-Version': payapiVersion)
+ attributes('Payapi-Version': payapiVersion,'Payapi-Buildtime':new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()))
}
}
@@ -71,7 +73,7 @@
implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery:2.1.2.RELEASE'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
-
+ implementation: 'org.springframework.kafka:spring-kafka:2.2.8.RELEASE'
runtime("org.springframework.boot:spring-boot-devtools")
implementation 'org.postgresql:postgresql:42.2.5'
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
index 551b7c6..3c4500e 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
@@ -4,17 +4,16 @@
import com.supwisdom.dlpay.api.bean.OpenUserParam
import com.supwisdom.dlpay.api.bean.QueryUserParam
import com.supwisdom.dlpay.api.exception.RequestParamCheckException
+import com.supwisdom.dlpay.api.service.CardService
import com.supwisdom.dlpay.api.service.UserService
import com.supwisdom.dlpay.exception.TransactionException
+import com.supwisdom.dlpay.exception.TransactionProcessException
import com.supwisdom.dlpay.framework.ResponseBodyBuilder
import com.supwisdom.dlpay.framework.service.CommonService
import com.supwisdom.dlpay.framework.util.TradeErrorCode
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.http.ResponseEntity
-import org.springframework.web.bind.annotation.PostMapping
-import org.springframework.web.bind.annotation.RequestBody
-import org.springframework.web.bind.annotation.RequestMapping
-import org.springframework.web.bind.annotation.RestController
+import org.springframework.web.bind.annotation.*
import java.net.URLDecoder
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
@@ -24,6 +23,8 @@
class UserAPIController {
@Autowired
private lateinit var useService: UserService
+ @Autowired
+ private lateinit var cardService: CardService
@PostMapping("/open")
fun openAccount(@RequestBody param: OpenUserParam): ResponseEntity<Any> {
@@ -121,6 +122,15 @@
.transException(et, "业务处理错误"))
}
}
-
-
+ @PostMapping("/querybycardno")
+ fun querybycardno(@RequestBody param: QueryUserParam): ResponseEntity<Any> {
+ val ret = cardService.getPersonByCardno(param.citizencardno, param.bankcardno)
+ return if(ret.retcode==0){
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success(ret,"ok"))
+ }else{
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .fail(ret.retcode, ret.retmsg))
+ }
+ }
}
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt
index 4b09146..a25562a 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/card_service.kt
@@ -1,7 +1,9 @@
package com.supwisdom.dlpay.api.service
+import com.supwisdom.dlpay.api.bean.UserInforResponse
import com.supwisdom.dlpay.api.domain.TCard
import com.supwisdom.dlpay.api.domain.TPerson
+import com.supwisdom.dlpay.framework.ResponseBodyBuilder
import org.springframework.transaction.annotation.Transactional
interface CardService {
@@ -11,5 +13,7 @@
@Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true)
fun getPersonByCitizencard(cardno: String, ignoreStatus: Boolean? = false): TPerson
+ @Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun getPersonByCardno(citizencardno: String?, bankcardno:String?): UserInforResponse
}
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt
index 5a26d56..a9bcb82 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt
@@ -1,11 +1,13 @@
package com.supwisdom.dlpay.api.service.impl
+import com.supwisdom.dlpay.api.bean.UserInforResponse
import com.supwisdom.dlpay.api.dao.CardDao
import com.supwisdom.dlpay.api.dao.PersonDao
import com.supwisdom.dlpay.api.domain.TCard
import com.supwisdom.dlpay.api.domain.TPerson
import com.supwisdom.dlpay.api.service.CardService
import com.supwisdom.dlpay.exception.TransactionProcessException
+import com.supwisdom.dlpay.framework.ResponseBodyBuilder
import com.supwisdom.dlpay.framework.util.TradeDict
import com.supwisdom.dlpay.framework.util.TradeErrorCode
import com.supwisdom.dlpay.util.ConstantUtil
@@ -40,4 +42,43 @@
return personDao.findByUserid(cityCard.userid)
?: throw TransactionProcessException(TradeErrorCode.ACCOUNT_NOT_EXISTS, "市民卡[$cardno]用户信息不存在!")
}
+
+ override fun getPersonByCardno(citizencardno: String?, bankcardno: String?): UserInforResponse {
+ var resp = UserInforResponse()
+ var cityCard:TCard
+ if (!citizencardno.isNullOrEmpty()) {
+ cityCard = cardDao.findCardByCardnoAndCardtype(citizencardno, ConstantUtil.CARDTYPE_CITIZENCARD)
+ if(cityCard==null){
+ resp.retcode=1
+ resp.retmsg = "市民卡不存在"
+ return resp
+ }
+ } else if (!bankcardno.isNullOrEmpty()) {
+ cityCard = cardDao.findCardByCardnoAndCardtype(bankcardno, ConstantUtil.CARDTYPE_BANKCARD)
+ if(cityCard==null){
+ resp.retcode=1
+ resp.retmsg = "银行卡不存在"
+ return resp
+ }
+ } else {
+ resp.retcode=1
+ resp.retmsg = "参数错误"
+ return resp
+ }
+ resp.cardno = cityCard.cardno
+ resp.cardstatus = cityCard.status
+ resp.transstatus = cityCard.transStatus
+ resp.expiredate = cityCard.expiredate
+ val person = personDao.findByUserid(cityCard.userid)
+ if (person != null) {
+ resp.retcode=0
+ resp.name = person.name
+ resp.userid = person.userid
+ resp.status = person.status
+ return resp
+ }
+ resp.retcode=1
+ resp.retmsg = "用户不存在"
+ return resp
+ }
}
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/kafka_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/kafka_service.kt
new file mode 100644
index 0000000..9322b68
--- /dev/null
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/kafka_service.kt
@@ -0,0 +1,16 @@
+package com.supwisdom.dlpay.api.service
+
+import org.springframework.stereotype.Component
+import org.springframework.kafka.core.KafkaTemplate
+import org.springframework.beans.factory.annotation.Autowired
+
+
+
+@Component
+class KafkaSendMsgService{
+ @Autowired
+ private lateinit var kafkaTemplate: KafkaTemplate<String, String>
+ fun sendMessage(topic:String,msg: String) {
+ kafkaTemplate.send(topic, msg)
+ }
+}
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
index d5a13dd..38f1499 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
@@ -30,9 +30,11 @@
override fun getSystemVersion(): String {
return try {
- Manifests.read("Payapi-Version") ?: "version 1.0"
+ var ver = Manifests.read("Payapi-Version") ?: "version 1.0"
+ ver += Manifests.read("Payapi-Buildtime") ?: "no"
+ ver
} catch (ex: Exception) {
-// ex.printStackTrace()
+ ex.printStackTrace()
"unknown"
}
}
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 882695e..b8ea4fc 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
@@ -42,7 +42,6 @@
@Autowired
lateinit var userService: UserService
-
override fun onAuthenticationSuccess(request: HttpServletRequest, response: HttpServletResponse, authentication: Authentication) {
logger.error(request.getParameter("platform"))
val temp = authentication.principal as TBMobileUser
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 bd49910..9d78020 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -18,6 +18,7 @@
import com.supwisdom.dlpay.system.service.DictionaryProxy
import com.supwisdom.dlpay.util.ConstantUtil
import com.supwisdom.dlpay.util.RSAKeysGenerate
+import mu.KotlinLogging
import org.apache.commons.lang.StringUtils
import org.jose4j.jwt.ReservedClaimNames
import org.springframework.beans.factory.annotation.Autowired
@@ -49,6 +50,7 @@
lateinit var apiJwtRepository: ApiJwtRepository
@Autowired
lateinit var systemUtilService: SystemUtilService
+ val logger = KotlinLogging.logger { }
@RequestMapping("/time")
fun time(): JsonResult {
@@ -95,7 +97,8 @@
val temp = redisTemplate.opsForValue().get(phone)
if (temp.isNullOrEmpty()) {
val code = RandomUtils.randomNumber(6)
- System.out.println(code)
+ logger.error { code }
+ //TODO 先发送成功,再放入redis
redisTemplate.opsForValue().set(phone, code, Duration.ofMinutes(5))
val rs = mobileApiService.sendSms(phone, code)
if ("0" != rs.retcode) {
@@ -247,6 +250,7 @@
lateinit var jwtConfig: JwtConfig
@Autowired
lateinit var qrcodeService:QRCodeService
+ val logger = KotlinLogging.logger { }
@RequestMapping("/idtypes")
fun idtypes(): JsonResult {
@@ -366,13 +370,13 @@
mobileApiService.saveCard(card)
mobileApiService.saveUser(user)
}
- System.out.println(resp.captcha)
+ logger.error { resp.captcha }
var code = if (resp.captcha.isNullOrEmpty()) {
RandomUtils.randomNumber(6)
} else {
resp.captcha
}
- System.out.println(code)
+ logger.error { code }
redisTemplate.opsForValue().set(user.phone, code, Duration.ofMinutes(10))
var payseted = false
if (!user.paypwd.isNullOrEmpty()) {