消息推送测试、市民卡查询
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 408a43a..6b289c2 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -35,7 +35,7 @@
 
 #============== kafka ===================
 # 指定kafka 代理地址,可以多个
-spring.kafka.bootstrap-servers=172.28.201.101:29092
+spring.kafka.bootstrap-servers=172.28.201.101:9192
 #=============== provider  =======================
 spring.kafka.producer.retries=3
 # 每次批量发送消息的数量
@@ -43,4 +43,14 @@
 spring.kafka.producer.buffer-memory=33554432
 # 指定消息key和消息体的编解码方式
 spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
-spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
\ No newline at end of file
+spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
+
+#===============kafka consumer  =======================
+# 指定默认消费者group 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和消息体的编解码方式
+spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
+spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
\ No newline at end of file
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java
new file mode 100644
index 0000000..733947a
--- /dev/null
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java
@@ -0,0 +1,16 @@
+package com.supwisdom.dlpay.api.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.util.List;
+
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class CardsResponse extends ApiResponse {
+  List cards;
+}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java
new file mode 100644
index 0000000..e621b78
--- /dev/null
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java
@@ -0,0 +1,23 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+
+@Getter
+@Setter
+public class QueryCardsParam extends APIRequestParam {
+  @Sign
+  private String starttime;
+  @Sign
+  private String endtime;
+
+  @Override
+  public boolean checkParam() throws RequestParamCheckException {
+    return true;
+  }
+}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java
index 40b3019..e15252e 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java
@@ -18,4 +18,10 @@
   private String name;
   private String status;
   private String cardphyid;
+
+  private String bankcardno;
+  private String bankcardstatus;
+  private String banktransstatus;
+  private String bankexpiredate;
+  private String bankcardphyid;
 }
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 a75f4c8..4854570 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
@@ -19,4 +19,8 @@
 
   @PostMapping("/api/user/querybycardno")
   UserInforResponse querybycardno(@RequestBody QueryUserParam param);
+
+  @PostMapping("/api/user/querycards")
+  CardsResponse querycards(@RequestBody QueryCardsParam param);
+
 }
diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index d5984ea..59eba97 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -20,6 +20,9 @@
 import org.springframework.http.ResponseEntity;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.util.LinkedHashMap;
+import java.util.List;
+
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.notNullValue;
@@ -197,6 +200,33 @@
   }
 
   @Test
+  public void testmsg(){
+    ApiLoginHelper helper = new ApiLoginHelper(apiLoginProxy);
+    helper.login(appid, secret);
+    QueryUserParam param = new QueryUserParam();
+    param.setCitizencardno("123456");
+
+  }
+
+  @Test
+  public void queryCards(){
+    ApiLoginHelper helper = new ApiLoginHelper(apiLoginProxy);
+    helper.login(appid, secret);
+    QueryCardsParam param = new QueryCardsParam();
+    param.setStarttime("20190724100001");
+    param.setEndtime("20190826100001");
+
+    CardsResponse response = userProxy.querycards(param);
+    List<LinkedHashMap> cards = response.getCards();
+    for(LinkedHashMap card:cards){
+      assertThat("user card " + card.get("cardno")+","+card.get("cardpyhid"),
+              response.getRetcode(), equalTo(0));
+    }
+    assertThat("user query " + response.getRetmsg() + response.getException(),
+            response.getRetcode(), equalTo(0));
+  }
+
+  @Test
   public void thirdpay(){
 
   }
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java
index 3b7d7f4..f2b7290 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java
@@ -5,6 +5,8 @@
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 
+import java.util.List;
+
 public interface CardDao extends JpaRepository<TCard, String> {
 
   @Query("from TCard t where t.cardno=?1 and t.cardtype=?2")
@@ -16,4 +18,7 @@
 
   @Query("from TCard t where t.userid=?1 and t.cardtype=?2 and t.status='normal' ")
   TCard findCardByUseridAndCardtype(String userid, String cardtype);
+
+  @Query("from TCard t where cardtype='citizencard' and t.lastsaved>?1 and t.lastsaved<=?2 ")
+  List<TCard> findCitizencardByLastsaved(String startdate, String enddate);
 }
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 3c4500e..3636987 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
@@ -2,9 +2,11 @@
 
 import com.supwisdom.dlpay.api.bean.ModifyUserParam
 import com.supwisdom.dlpay.api.bean.OpenUserParam
+import com.supwisdom.dlpay.api.bean.QueryCardsParam
 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.KafkaSendMsgService
 import com.supwisdom.dlpay.api.service.UserService
 import com.supwisdom.dlpay.exception.TransactionException
 import com.supwisdom.dlpay.exception.TransactionProcessException
@@ -25,6 +27,9 @@
     private lateinit var useService: UserService
     @Autowired
     private lateinit var cardService: CardService
+    @Autowired
+    private lateinit var kafkaSendMsgService: KafkaSendMsgService
+
 
     @PostMapping("/open")
     fun openAccount(@RequestBody param: OpenUserParam): ResponseEntity<Any> {
@@ -103,11 +108,11 @@
             useService.findByUseridOrThirdUniqueIdenty(param.userid, param.uid)?.let {
                 param.name = param.name?.let { URLDecoder.decode(param.name, Charsets.UTF_8.toString()) } //解码
                 param.address = param.address?.let { URLDecoder.decode(param.address, Charsets.UTF_8.toString()) } //解码
-                if (useService.modifyUserInfo(it, param)) {
-                    return ResponseEntity.ok(ResponseBodyBuilder.create()
+                return if (useService.modifyUserInfo(it, param)) {
+                    ResponseEntity.ok(ResponseBodyBuilder.create()
                             .success("修改成功"))
                 } else {
-                    return ResponseEntity.ok(ResponseBodyBuilder.create()
+                    ResponseEntity.ok(ResponseBodyBuilder.create()
                             .fail(TradeErrorCode.BUSINESS_DEAL_ERROR, "账户信息修改失败"))
                 }
             }
@@ -133,4 +138,16 @@
                     .fail(ret.retcode, ret.retmsg))
         }
     }
+
+    @PostMapping("/querycards")
+    fun querycards(@RequestBody param: QueryCardsParam): ResponseEntity<Any> {
+        val ret = cardService.getCardsByLastsaveDate(param.starttime, param.endtime)
+        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 a25562a..7540578 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,5 +1,6 @@
 package com.supwisdom.dlpay.api.service
 
+import com.supwisdom.dlpay.api.bean.CardsResponse
 import com.supwisdom.dlpay.api.bean.UserInforResponse
 import com.supwisdom.dlpay.api.domain.TCard
 import com.supwisdom.dlpay.api.domain.TPerson
@@ -16,4 +17,6 @@
     @Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true)
     fun getPersonByCardno(citizencardno: String?, bankcardno:String?): UserInforResponse
 
+    @Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true)
+    fun getCardsByLastsaveDate(startdate: String, enddate:String): CardsResponse
 }
\ 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 ae74086..c43ae9d 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,5 +1,6 @@
 package com.supwisdom.dlpay.api.service.impl
 
+import com.supwisdom.dlpay.api.bean.CardsResponse
 import com.supwisdom.dlpay.api.bean.UserInforResponse
 import com.supwisdom.dlpay.api.dao.CardDao
 import com.supwisdom.dlpay.api.dao.PersonDao
@@ -45,7 +46,7 @@
 
     override fun getPersonByCardno(citizencardno: String?, bankcardno: String?): UserInforResponse {
         var resp = UserInforResponse()
-        var cityCard:TCard
+        var cityCard:TCard?
         if (!citizencardno.isNullOrEmpty()) {
             cityCard = cardDao.findCardByCardnoAndCardtype(citizencardno, ConstantUtil.CARDTYPE_CITIZENCARD)
             if(cityCard==null){
@@ -53,14 +54,11 @@
                 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
+            val bankcard = cardDao.findCardByUseridAndCardtype(cityCard.userid, ConstantUtil.CARDTYPE_BANKCARD)
+            if(bankcard!=null){
+                resp.bankcardno = bankcard.cardno
             }
-        } else {
+        }else {
             resp.retcode=1
             resp.retmsg = "参数错误"
             return resp
@@ -82,4 +80,13 @@
         resp.retmsg = "用户不存在"
         return resp
     }
+
+    override fun getCardsByLastsaveDate(startdate: String, enddate: String): CardsResponse {
+        var resp = CardsResponse()
+        var ret = cardDao.findCitizencardByLastsaved(startdate,enddate)
+        resp.retcode=0
+        resp.retmsg="OK"
+        resp.cards = ret
+        return resp
+    }
 }
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt
new file mode 100644
index 0000000..1d75fd3
--- /dev/null
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt
@@ -0,0 +1,77 @@
+package com.supwisdom.dlpay.api.service.impl
+
+import com.google.gson.Gson
+import com.supwisdom.dlpay.api.bean.KafkaXgMessage
+import com.supwisdom.dlpay.api.service.KafkaSendMsgService
+import com.supwisdom.dlpay.framework.util.DateUtil
+import com.supwisdom.dlpay.framework.util.TradeDict
+import com.supwisdom.dlpay.mobile.dao.MsgDao
+import com.supwisdom.dlpay.mobile.domain.TBMsg
+import com.supwisdom.dlpay.mobile.service.MobileApiService
+import mu.KotlinLogging
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.kafka.core.KafkaTemplate
+import org.springframework.scheduling.annotation.Async
+import org.springframework.stereotype.Service
+
+@Service
+class KafkaSendMsgServiceImpl:KafkaSendMsgService{
+    val logger = KotlinLogging.logger { }
+    @Autowired
+    private lateinit var kafkaTemplate: KafkaTemplate<String, String>
+    @Autowired
+    private lateinit var msgDao: MsgDao
+    @Autowired
+    private lateinit var mobileApiService: MobileApiService
+    val gson = Gson()
+
+    val topic = "jpush-messages"
+
+    @Async
+    override fun sendJpushMessage(userid: String, title: String, content: String, refno: String, extras: MutableMap<String, String>, tenantId: String?) {
+        val musers = mobileApiService.findByUseridAndStatus(userid, TradeDict.STATUS_NORMAL)
+        var msg = TBMsg().apply {
+            this.content = content
+            this.title = title
+            this.refno = refno
+            this.userid = userid
+            this.lastupdate = DateUtil.getNow()
+            this.refno = refno
+            this.extras = gson.toJson(extras)
+        }
+        if (musers == null || musers.isEmpty()) {
+            msg.pushresult = "没有手机用户,消息未推送"
+            msgDao.save(msg)
+            return
+        }
+        var uids = ""
+        musers.forEach {
+            uids += "${it.uid},"
+            var platform = "android"
+            if ("ios".equals(it.lastloginplatform, true)) {
+                platform = "ios"
+            }
+            val message = KafkaXgMessage()
+            message.alltarget = false
+            message.callback = true
+            message.content = msg.content
+            message.title = msg.title
+            message.platform = platform
+            message.retries = 3
+            extras["refno"] = refno
+            message.custom = gson.toJson(extras)
+            message.expiretime = DateUtil.getNewTime(DateUtil.getNow(), 300)
+            message.gids = it.uid
+            if(it.lastloginplatform.isNullOrEmpty()){
+                message.platform="ios"
+                kafkaTemplate.send(topic, refno, gson.toJson(message))
+                message.platform="android"
+                kafkaTemplate.send(topic, refno, gson.toJson(message))
+            }else{
+                kafkaTemplate.send(topic, refno, gson.toJson(message))
+            }
+        }
+        msg.pusheduids = uids
+        msgDao.save(msg)
+    }
+}
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
index d9bd0a8..96a01e1 100644
--- 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
@@ -1,70 +1,31 @@
 package com.supwisdom.dlpay.api.service
 
-import com.google.gson.Gson
-import com.supwisdom.dlpay.api.bean.KafkaXgMessage
-import com.supwisdom.dlpay.framework.util.DateUtil
-import com.supwisdom.dlpay.framework.util.TradeDict
 import com.supwisdom.dlpay.mobile.dao.MsgDao
-import com.supwisdom.dlpay.mobile.domain.TBMsg
-import com.supwisdom.dlpay.mobile.service.MobileApiService
 import mu.KotlinLogging
+import org.apache.kafka.clients.consumer.ConsumerRecord
 import org.springframework.stereotype.Component
-import org.springframework.kafka.core.KafkaTemplate
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.scheduling.annotation.Async
+import org.springframework.kafka.annotation.KafkaListener
 
-
+interface KafkaSendMsgService {
+    fun sendJpushMessage(userid: String, title: String, content: String, refno: String, extras: MutableMap<String, String>, tenantId: String?)
+}
 @Component
-class KafkaSendMsgService {
+class  KafkaMsgListener{
     val logger = KotlinLogging.logger { }
     @Autowired
-    private lateinit var kafkaTemplate: KafkaTemplate<String, String>
-    @Autowired
     private lateinit var msgDao: MsgDao
-    @Autowired
-    private lateinit var mobileApiService: MobileApiService
-    val gson = Gson()
 
-    val topic = "jpush-messages"
-
-    @Async("kafkaSendMsgService")
-    fun sendJpushMessage(userid: String, title: String, content: String, refno: String, extras: MutableMap<String, String>, tenantId: String?) {
-        val musers = mobileApiService.findByUseridAndStatus(userid, TradeDict.STATUS_NORMAL)
-        var msg = TBMsg().apply {
-            this.content = content
-            this.title = title
-            this.refno = refno
-            this.userid = userid
-            this.lastupdate = DateUtil.getNow()
-            this.refno = refno
-            this.extras = gson.toJson(extras)
-        }
-        if (musers == null || musers.isEmpty()) {
-            msg.pushresult = "没有手机用户,消息未推送"
-            msgDao.save(msg)
-            return
-        }
-        var uids = ""
-        musers.forEach {
-            uids += "${it.uid},"
-            var platform = "android"
-            if ("ios".equals(it.lastloginplatform, true)) {
-                platform = "ios"
+    @KafkaListener(topics = ["jpush-messages-result"])
+    fun listen(record :ConsumerRecord<String, String>) {
+        logger.debug { "${record.key()},${record.value()}" }
+        if(!record.key().isNullOrEmpty()){
+           val opt =  msgDao.findById(record.key())
+            if(opt.isPresent){
+                var msg = opt.get()
+                msg.pushresult = record.value()
+                msgDao.save(msg)
             }
-            val message = KafkaXgMessage()
-            message.alltarget = false
-            message.callback = true
-            message.content = msg.content
-            message.title = msg.title
-            message.platform = platform
-            message.retries = 3
-            extras["refno"] = refno
-            message.custom = gson.toJson(extras)
-            message.expiretime = DateUtil.getNewTime(DateUtil.getNow(), 300)
-            message.gids = it.uid
-            kafkaTemplate.send(topic, refno, gson.toJson(message))
         }
-        msg.pusheduids = uids
-        msgDao.save(msg)
     }
 }
\ No newline at end of file
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 824ebc1..22ece91 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -283,6 +283,7 @@
                 ?: return JsonResult.error("用户不存在,请注册")
         return JsonResult.ok("OK").put("now", System.currentTimeMillis())
                 ?.put("version","1")
+                ?.put("versionmsg","1")
                 ?.put("minversion","1")!!
     }
 
diff --git a/payapi/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt
index c8b875f..9e7bd63 100644
--- a/payapi/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt
+++ b/payapi/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt
@@ -1,11 +1,22 @@
 package com.supwisdom.dlpay
 
+import com.supwisdom.dlpay.api.service.KafkaSendMsgService
+import org.junit.Test
 import org.junit.runner.RunWith
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration
 import org.springframework.boot.test.context.SpringBootTest
 import org.springframework.test.context.junit4.SpringRunner
 
 @RunWith(SpringRunner::class)
 @SpringBootTest
-abstract class DlpayApplicationTests{
+@EnableAutoConfiguration
+class DlpayApplicationTests{
+    @Autowired
+    private lateinit var kafkaSendMsgService: KafkaSendMsgService
 
+    @Test
+    fun kafkaSendMsg(){
+        kafkaSendMsgService.sendJpushMessage("402882816be4b6b9016be4b78ab30001","交易提醒","你有一笔0.01元的支出,点击查看详情","20190725112512000017", mutableMapOf(),"")
+    }
 }
diff --git a/payapi/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt
index 62a56a3..91bd2e1 100644
--- a/payapi/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt
+++ b/payapi/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt
@@ -5,6 +5,8 @@
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
 import org.springframework.boot.test.context.SpringBootTest
+import org.springframework.test.context.ActiveProfiles
+import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
 import org.springframework.test.web.servlet.MockMvc
 
diff --git a/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt
index 0899c9a..01d6e50 100644
--- a/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt
+++ b/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt
@@ -1,7 +1,9 @@
 package com.supwisdom.dlpay.controller
 
 import com.supwisdom.dlpay.MvcBaseTest
+import com.supwisdom.dlpay.api.service.KafkaSendMsgService
 import org.junit.Test
+import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.http.MediaType
 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders
 import org.springframework.test.web.servlet.result.MockMvcResultHandlers
@@ -11,6 +13,7 @@
  * Created by shuwei on 2019/4/16.
  */
 class ApiControllerTest : MvcBaseTest() {
+
     @Test
     fun testYktPay() {
         //TODO prepare data
@@ -21,4 +24,5 @@
                 .andDo(MockMvcResultHandlers.print())
                 .andReturn()
     }
+
 }
\ No newline at end of file