Merge tag '1.0.16' into develop

合并1.0.16
diff --git a/build.gradle b/build.gradle
index fe5a7de..296f715 100644
--- a/build.gradle
+++ b/build.gradle
@@ -143,4 +143,7 @@
     }
 }
 
+tasks.withType(JavaCompile) {
+    options.encoding = "UTF-8"
+}
 
diff --git a/bus-qrcode/build.gradle b/bus-qrcode/build.gradle
index 8f2e1f1..6237e97 100644
--- a/bus-qrcode/build.gradle
+++ b/bus-qrcode/build.gradle
@@ -52,3 +52,7 @@
 }
 
 publish.dependsOn(jar)
+
+tasks.withType(JavaCompile) {
+    options.encoding = "UTF-8"
+}
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 26e1499..4346bdc 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -13,9 +13,10 @@
 spring.datasource.initialization-mode=always
 # Redis settings
 #spring.redis.host=ykt.supwisdom.com
-spring.redis.host=172.28.201.101
-spring.redis.port=16379
-spring.redis.password=kingstar
+spring.redis.host=172.28.201.70
+spring.redis.port=6379
+spring.redis.password=
+spring.redis.database=2
 # jwt settings
 jwt.secret=Zj5taLomEbrM0lk+NMQZbHfSxaDU1wekjT+kiC3YzDw=
 # timeout seconds
diff --git a/oauth/build.gradle b/oauth/build.gradle
index 3496703..2854362 100644
--- a/oauth/build.gradle
+++ b/oauth/build.gradle
@@ -28,6 +28,11 @@
     baseName = 'oauth'
 }
 
+tasks.withType(JavaCompile) {
+    options.encoding = "UTF-8"
+}
+
+
 
 dependencies {
     implementation project(":payapi-common")
diff --git a/payapi-common/build.gradle b/payapi-common/build.gradle
index 7ae26c0..09ae6d4 100644
--- a/payapi-common/build.gradle
+++ b/payapi-common/build.gradle
@@ -28,4 +28,10 @@
 
     compileOnly "org.projectlombok:lombok:${lombokVersion}"
     annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
-}
\ No newline at end of file
+
+    testImplementation 'junit:junit:4.12'
+}
+
+tasks.withType(JavaCompile) {
+    options.encoding = "UTF-8"
+}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonSendMessageParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonSendMessageParam.java
new file mode 100644
index 0000000..f63b88f
--- /dev/null
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonSendMessageParam.java
@@ -0,0 +1,28 @@
+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 CommonSendMessageParam extends APIRequestParam {
+    @Sign
+    private String userid;
+    @Sign
+    private String content;
+    @Sign
+    private String title;
+
+    @Override
+    public boolean checkParam() throws RequestParamCheckException {
+        if (StringUtils.isEmpty(userid) && StringUtils.isEmpty(content)&& StringUtils.isEmpty(title) ) {
+            throw new RequestParamCheckException("用户唯一号不能为空");
+        }
+        return true;
+    }
+}
diff --git a/payapi-sdk/build.gradle b/payapi-sdk/build.gradle
index f76dc3a..c54d0f0 100644
--- a/payapi-sdk/build.gradle
+++ b/payapi-sdk/build.gradle
@@ -43,4 +43,8 @@
     }
 }
 
-publish.dependsOn(jar)
\ No newline at end of file
+publish.dependsOn(jar)
+
+tasks.withType(JavaCompile) {
+    options.encoding = "UTF-8"
+}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiCommonProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiCommonProxy.java
index 47a8e53..f273a3f 100644
--- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiCommonProxy.java
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiCommonProxy.java
@@ -1,11 +1,22 @@
 package com.supwisdom.dlpay.paysdk.proxy;
 
+import com.supwisdom.dlpay.api.bean.ApiResponse;
 import com.supwisdom.dlpay.api.bean.ApiVersionResponse;
+import com.supwisdom.dlpay.api.bean.CommonSendMessageParam;
+import com.supwisdom.dlpay.api.bean.UserResponse;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 @FeignClient(name = "apiCommonProxy", url = "${payapi.url}")
 public interface ApiCommonProxy {
   @GetMapping(value = "/api/common/version")
   ApiVersionResponse apiVersion();
+
+  @PostMapping("/api/common/sendmsg")
+  ApiResponse sendMsg(@RequestBody CommonSendMessageParam param);
+
+
+
 }
diff --git a/payapi/build.gradle b/payapi/build.gradle
index 2938317..364856c 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -9,7 +9,8 @@
     id "com.palantir.docker"
 }
 
-payapiVersion = version
+payapiVersion = gitVersion()
+def details = versionDetails()
 
 def payapiStartClass = "com.supwisdom.dlpay.PayApiApplicationKt"
 
@@ -107,3 +108,7 @@
 
 }
 
+tasks.withType(JavaCompile) {
+    options.encoding = "UTF-8"
+}
+
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/sendmsg_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/sendmsg_api_controller.kt
new file mode 100644
index 0000000..4408895
--- /dev/null
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/sendmsg_api_controller.kt
@@ -0,0 +1,41 @@
+package com.supwisdom.dlpay.api.controller
+
+import com.supwisdom.dlpay.api.bean.*
+import com.supwisdom.dlpay.api.service.*
+import com.supwisdom.dlpay.framework.ResponseBodyBuilder
+import com.supwisdom.dlpay.framework.service.SystemUtilService
+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
+
+@RestController
+@RequestMapping("/api/common")
+class SendMessageAPIController {
+
+    @Autowired
+    lateinit var systemUtilService: SystemUtilService
+
+    @Autowired
+    lateinit var transactionService: TransactionServiceProxy
+
+    @Autowired
+    lateinit var kafkaSendMsgService: KafkaSendMsgService
+
+    /**
+     * ============================================================================
+     * 发送消息推送
+     * ============================================================================
+     * */
+    @PostMapping("/sendmsg")
+    fun doSend(@RequestBody param: CommonSendMessageParam): ResponseEntity<Any> {
+        kafkaSendMsgService.sendJpushMessage(param.userid,param.title,param.content,"",mutableMapOf(),"")
+
+        return ResponseEntity.ok(ResponseBodyBuilder.create()
+                .success("发送成功"))
+    }
+
+
+}
\ No newline at end of file