wzy il y a 1 mois
Parent
commit
ce27cbd1df

+ 24 - 0
mjava-siku/pom.xml

@@ -46,4 +46,28 @@
         </dependency>
     </dependencies>
 
+    <build>
+        <finalName>siku</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <executable>true</executable>
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>

+ 22 - 1
mjava-siku/src/main/java/com/malk/siku/controller/SikuController.java

@@ -2,6 +2,7 @@ package com.malk.siku.controller;
 
 import com.malk.server.common.McR;
 import com.malk.siku.service.SikuService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -10,14 +11,34 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Map;
 
+@Slf4j
 @RestController
-@RequestMapping("/api")
+@RequestMapping()
 public class SikuController {
     @Autowired
     private SikuService sikuService;
 
+    //保存每刻往来单位
     @PostMapping("/saveTradingPartner")
     public McR saveTradingPartner(@RequestBody Map map) {
         return sikuService.saveTradingPartner(map);
     }
+
+    /**
+     * 保存云票客户
+     * @param map
+     * @return
+     */
+    /*@PostMapping("/saveYpClient")
+    public McR saveYpClient(@RequestBody Map map){
+        return sikuService.saveYpClient(map);
+    }*/
+
+    //每刻云票回款回调
+    @PostMapping("/receive/callback")
+    public McR callback(@RequestBody Map map){
+        log.info("每刻云票回款回调:{}",map);
+
+        return McR.success();
+    }
 }

+ 0 - 1
mjava-siku/src/main/java/com/malk/siku/service/SikuService.java

@@ -6,5 +6,4 @@ import java.util.Map;
 
 public interface SikuService {
     McR saveTradingPartner(Map map);
-
 }

+ 3 - 0
mjava-siku/src/main/java/com/malk/siku/utils/MkUtil.java

@@ -12,6 +12,9 @@ import org.springframework.beans.factory.annotation.Value;
 import java.util.HashMap;
 import java.util.Map;
 
+/**
+ * 每刻
+ */
 @Slf4j
 public class MkUtil {
 

+ 83 - 0
mjava-siku/src/main/java/com/malk/siku/utils/MkYpUtil.java

@@ -0,0 +1,83 @@
+package com.malk.siku.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.utils.UtilHttp;
+import com.malk.utils.UtilMap;
+import com.malk.utils.UtilToken;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 每刻云票
+ */
+@Slf4j
+public class MkYpUtil {
+
+    @Value("${mk.appCode}")
+    private final static String appCode = "AP52Y01LHHTAP9";
+
+    @Value("${mk.appSecret}")
+    private final static String appSecret = "N4WuERLteAUPaWebnsHy";
+
+    private final Object $lock = new Object[0];
+
+    private static final Long EXPIRES_IN = 1800000L;
+
+    public static Map initTokenHeader(){
+
+            Map header = new HashMap();
+
+            String tokenId = UtilToken.get("invalid-tokenId-mkyp");
+            String entCode = UtilToken.get("invalid-entCode-mkyp");
+
+            if (StringUtils.isNotBlank(tokenId) && StringUtils.isNotBlank(entCode)) {
+                header.put("yptokenId",tokenId);
+                header.put("ypentCode",entCode);
+
+                return header;
+            } else {
+                //每刻云票登录认证
+                Map body = new HashMap();
+
+                long timeMillis = System.currentTimeMillis();
+                body.put("appCode",appCode);
+                body.put("secret",getSecret(appCode,appSecret,timeMillis));
+                body.put("timestamp",timeMillis);
+
+                Map result = (Map) JSONObject.parse(UtilHttp.doPost("https://pms.maycur.com/api/common/openapi/auth/login", null, null, body));
+
+                Map data = UtilMap.getMap(result, "data");
+
+                tokenId = UtilMap.getString(data, "tokenId");
+                entCode = UtilMap.getString(data, "entCode");
+
+                log.info("每刻云票tokenId, {}", tokenId);
+                log.info("每刻云票entCode, {}", entCode);
+
+                UtilToken.put("invalid-tokenId-mkyp", tokenId, EXPIRES_IN);
+                UtilToken.put("invalid-entCode-mkyp", entCode, EXPIRES_IN);
+
+                header.put("yptokenId",tokenId);
+                header.put("ypentCode",entCode);
+
+                return header;
+            }
+
+    }
+
+    private static String getSecret(String appCode, String appSecret, long timeMillis){
+        log.info("time:{}",timeMillis);
+
+        String s = DigestUtils.sha256Hex(appSecret + ":" + appCode + ":" + timeMillis);
+        log.info("s:{}",s);
+
+        return s;
+    }
+
+
+}

+ 1 - 1
mjava-siku/src/main/resources/application-dev.yml

@@ -1,7 +1,7 @@
 server:
   port: 9037
   servlet:
-    context-path: /siku
+    context-path: /api/siku
 
 enable:
   scheduling: false

+ 1 - 1
mjava-siku/src/main/resources/application-prod.yml

@@ -1,7 +1,7 @@
 server:
   port: 9037
   servlet:
-    context-path: /siku
+    context-path: /api/siku
 
 enable:
   scheduling: false

+ 1 - 1
mjava-siku/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: prod
   servlet:
     multipart:
       max-file-size: 100MB

+ 2 - 0
mjava-siku/src/test/java/com.malk.siku/SkTest.java

@@ -22,4 +22,6 @@ public class SkTest {
         String s = DigestUtils.sha256Hex(appSecret + ":" + appCode + ":" + timeMillis);
         log.info("s:{}",s);
     }
+
+
 }