From 4d6681d65013be63f7630cac981cdc1d5cbd39e7 Mon Sep 17 00:00:00 2001 From: "kaixiang.xia" Date: Fri, 20 Nov 2020 11:46:23 +0800 Subject: [PATCH] =?utf8?q?=E5=95=86=E6=88=B7=E6=94=B6=E6=AC=BE=E7=A0=81?= =?utf8?q?=E6=A0=B9=E6=8D=AE=E6=89=8B=E6=9C=BAuid=E6=9F=A5=E7=94=A8?= =?utf8?q?=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- config/application-devel-pg-xkx.properties | 33 ++++++++---- .../dlpay/paysdk/proxy/UserProxy.java | 3 ++ .../service/impl/UserDataServiceImpl.java | 2 +- .../api/controller/user_api_controller.kt | 15 ++++++ .../dlpay/mobile/service/MobileApiService.kt | 3 ++ .../service/impl/MobileApiServiceImpl.kt | 50 +++++++++++++++++++ 6 files changed, 95 insertions(+), 11 deletions(-) diff --git a/config/application-devel-pg-xkx.properties b/config/application-devel-pg-xkx.properties index 3f781693..16830f55 100644 --- a/config/application-devel-pg-xkx.properties +++ b/config/application-devel-pg-xkx.properties @@ -8,15 +8,16 @@ spring.datasource.initialization-mode=always # Postgresql settings spring.datasource.platform=postgresql spring.datasource.url=jdbc:postgresql://localhost:15432/payapi -spring.datasource.username=admin +spring.datasource.username=supwisdom spring.datasource.password=123456 database.dbtype=postgresql logging.level.org.hibernate.SQL=ERROR # Redis settings spring.redis.host=localhost -spring.redis.port=16379 -spring.redis.password=kingstar +spring.redis.port=6379 +spring.redis.password= +spring.redis.database=0 # jwt settings jwt.secret=Zj5taLomEbrM0lk+NMQZbHfSxaDU1wekjT+kiC3YzDw= # timeout seconds @@ -24,14 +25,26 @@ jwt.expiration=3600 # user password auth.password.bcrypt.seed= security.request.sign=false -################################################## +###################### dev ############################ ## quartz task scheduler shopbalance.updater.cron=- +download.ynrcc.chkfile.cron =- +query.third.transdtl.result.cron=- +dayend.settletask.cron=- +payapi.sourcetype.checker.scheduler=- +citizencard.dolosstask.cron=- +send.delay.notice.task.cron=- +points.outdate.cron=- +points.consume.cron=- +################################################## #download.ynrcc.chkfile.cron =3 0/2 * * * ? #query.third.transdtl.result.cron=7 0/1 * * * ? #dayend.settletask.cron=0 0/2 * * * ? #payapi.sourcetype.checker.scheduler=0 0/2 * * * ? -citizencard.dolosstask.cron=3 0/1 * * * ? +#citizencard.dolosstask.cron=3 0/1 * * * ? +#send.delay.notice.task.cron=29 0/1 * * * ? +#points.outdate.cron=0 0 0 * * ? +#points.consume.cron=0 0 0 * * ? ############################################# spring.cloud.consul.enabled=false spring.cloud.consul.host=172.28.201.70 @@ -42,24 +55,24 @@ resttemplate.proxy.host=127.0.0.1 resttemplate.proxy.port=8087 #============== kafka =================== -# 指定kafka 代理地址,可以多个 +# \u6307\u5B9Akafka \u4EE3\u7406\u5730\u5740\uFF0C\u53EF\u4EE5\u591A\u4E2A #spring.kafka.bootstrap-servers=172.28.201.101:9192 #=============== provider ======================= spring.kafka.producer.retries=3 -# 每次批量发送消息的数量 +# \u6BCF\u6B21\u6279\u91CF\u53D1\u9001\u6D88\u606F\u7684\u6570\u91CF spring.kafka.producer.batch-size=16384 spring.kafka.producer.buffer-memory=33554432 -# 指定消息key和消息体的编解码方式 +# \u6307\u5B9A\u6D88\u606Fkey\u548C\u6D88\u606F\u4F53\u7684\u7F16\u89E3\u7801\u65B9\u5F0F spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer #===============kafka consumer ======================= spring.kafka.listen.auto.start=false -# 指定默认消费者group id +# \u6307\u5B9A\u9ED8\u8BA4\u6D88\u8D39\u8005group id spring.kafka.consumer.group-id=epaymessager1 spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.consumer.enable-auto-commit=true spring.kafka.consumer.auto-commit-interval=100 -# 指定消息key和消息体的编解码方式 +# \u6307\u5B9A\u6D88\u606Fkey\u548C\u6D88\u606F\u4F53\u7684\u7F16\u89E3\u7801\u65B9\u5F0F spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java index ac510c56..329c29ea 100644 --- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java +++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java @@ -75,4 +75,7 @@ public interface UserProxy { @PostMapping("/api/user/consumetask") ApiResponse consumeTask(@RequestParam("userid") String userid); + + @PostMapping("/api/user/queryCitizenCard") + DoorQrcodeResponse queryCitizenCard(@RequestParam("uid") String uid); } diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java index e493e5e7..5a661b63 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java @@ -313,7 +313,7 @@ public class UserDataServiceImpl implements UserDataService { if (!StringUtil.isEmpty(cardList)) throw new WebCheckException("物理卡号已经存在!"); TPerson person = personDao.findByIdentity(idtype.trim(), idno.trim()); - if (null != person && username.trim().equals(person.getName())) + if (null != person && !username.trim().equals(person.getName())) throw new WebCheckException("证件号对应的用户已经存在,且姓名不匹配!"); SystemDateTime dt = systemUtilService.getSysdatetime(); 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 da943d37..b794c2a8 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 @@ -427,4 +427,19 @@ class UserAPIController { .fail(400,"未完成首次消费任务")) } } + + /** + * 根据手机用户uid查询市民卡信息 + * */ + @PostMapping("/queryCitizenCard") + fun queryCitizenCard(uid: String): ResponseEntity { + val ret = mobileApiService.findCardInfoByMobileUid(uid) + return if (ret.retcode == 0) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .success(ret, "成功")) + } else { + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(ret.retcode, ret.retmsg)) + } + } } diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt index 600f4698..3d029aa6 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt @@ -1,6 +1,7 @@ package com.supwisdom.dlpay.mobile.service import com.supwisdom.dlpay.api.bean.BaseResp +import com.supwisdom.dlpay.api.bean.DoorQrcodeResponse import com.supwisdom.dlpay.api.bean.SignBxyParam import com.supwisdom.dlpay.api.domain.TCard import com.supwisdom.dlpay.api.domain.TUserSecret @@ -33,4 +34,6 @@ interface MobileApiService { fun findCardByUseridAndCardphyid(userid: String, cardtype: String, cardphyid: String?): TCard? fun findUserSecretByUid(uid:String):TUserSecret? + + fun findCardInfoByMobileUid(uid: String): DoorQrcodeResponse } \ No newline at end of file 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 e5e6ec60..de74d841 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 @@ -2,8 +2,10 @@ package com.supwisdom.dlpay.mobile.service.impl import com.mascloud.sdkclient.Client import com.supwisdom.dlpay.api.bean.BaseResp +import com.supwisdom.dlpay.api.bean.DoorQrcodeResponse import com.supwisdom.dlpay.api.bean.SignBxyParam import com.supwisdom.dlpay.api.dao.CardDao +import com.supwisdom.dlpay.api.dao.PersonDao import com.supwisdom.dlpay.api.dao.UserSecretDao import com.supwisdom.dlpay.api.domain.TCard import com.supwisdom.dlpay.api.domain.TUserSecret @@ -28,6 +30,9 @@ class MobileApiServiceImpl : MobileApiService { @Autowired lateinit var cardDao: CardDao + @Autowired + lateinit var personDao: PersonDao + @Autowired lateinit var pagesDao: PagesDao @@ -213,4 +218,49 @@ class MobileApiServiceImpl : MobileApiService { override fun findUserSecretByUid(uid: String): TUserSecret? { return userSecretDao.getByUid(uid) } + + override fun findCardInfoByMobileUid(uid: String): DoorQrcodeResponse { + val resp = DoorQrcodeResponse() + val mobileUser = userSecretDao.getByUid(uid) + if (null == mobileUser) { + resp.retcode = 1 + resp.retmsg = "用户不存在!" + return resp + } + val person = personDao.findByUserid(mobileUser.userid) + if (null == person) { + resp.retcode = 1 + resp.retmsg = "用户不存在!" + return resp + } + val bankCard = cardDao.findCardByUseridAndCardtype(person.userid, ConstantUtil.CARDTYPE_BANKCARD) + if (null == bankCard) { + resp.retcode = 1 + resp.retmsg = "用户未绑定银行卡!" + return resp + } + val cityCard = cardDao.findBankcardByCitizencard(bankCard.userid, ConstantUtil.CARDTYPE_CITIZENCARD, bankCard.cardphyid) + if (null == cityCard) { + resp.retcode = 1 + resp.retmsg = "用户市民卡信息错误!" + return resp + } + + resp.retcode = 0 + resp.retmsg = "OK" + resp.userid = person.userid + resp.username = person.name + resp.sex = person.sex + resp.idtype = person.idtype + resp.idno = person.idno + resp.phone = person.mobile + + resp.citycardno = cityCard.cardno + resp.cardphyid = cityCard.cardphyid + resp.expiredate = cityCard.expiredate + resp.cardstatus = cityCard.status + resp.transstatus = cityCard.transStatus + resp.bankcardno = bankCard.cardno + return resp + } } \ No newline at end of file -- 2.17.1