Browse Source

[深爱]科目基础资料对接测试

zxl 1 year ago
parent
commit
d751d4d9b8

+ 46 - 0
src/main/java/com/uas/eis/service/Impl/RequestSTKServiceImpl.java

@@ -235,6 +235,52 @@ public class RequestSTKServiceImpl implements RequestSTKService {
         return resultResponse ;
     }
 
+    @Override
+    public HttpResultResponse buildKMPostParam(Integer page, Integer size, QueryAccountantProjectDto dto) throws Exception {
+        //时间戳
+        String timestamp = Long.toString(System.currentTimeMillis());
+
+        //加签方法的重要参数
+        JSONObject request=new JSONObject(4);
+        request.put("page",page);
+        request.put("size",size);
+
+        //传入参数  此处案例仅放置了时间,可自行添加
+        JSONObject param=new JSONObject();
+        //param.put("UPDATE_TIME_start","2024-05-09 14:24:06");
+        //param.put("UPDATE_TIME_end","2024-05-09 15:01:28");
+        //param.put("TASKNO","P2022032200000041");
+        //param.put("TASKCODE","202409");
+
+
+        request.put("param",dto);
+
+        String content = request.toString();
+
+        //加签方法第一个参数
+        StringBuilder signBuilder = new StringBuilder("appid").append("=").append(STK_APP_ID).append("&")
+                .append(content).append("&")
+                .append("timestamp").append("=").append(timestamp).append("&")
+                .append("key").append("=").append(STK_APP_KEY);
+
+        //加签
+        String sign = STKSignUtil.HMACSHA256(signBuilder.toString(),STK_APP_KEY);
+
+        log.info("STK,原始签名:"+signBuilder.toString());
+        log.info("STK,加密签名:"+sign);
+
+        Map<String,String> header = new HashMap<>();
+        header.put("appid",STK_APP_ID);
+        header.put("timestamp", timestamp);
+        header.put("sign", sign);
+        header.put("Content-Type", "application/json");
+        HttpResultResponse resultResponse = HuToolUtils.post(QUERY_URL+ACCOUNTANT_PROJECT_REQUEST_CODE
+                ,request, header);
+
+        log.info("示例返回:{}",JSONObject.toJSONString(resultResponse));
+        return resultResponse ;
+    }
+
     @Override
     public List<CustvendDTO> queryList() {
         List<CustvendDTO> custvendDTO = new ArrayList<CustvendDTO>();

+ 6 - 1
src/main/java/com/uas/eis/service/RequestSTKService.java

@@ -43,10 +43,15 @@ public interface RequestSTKService {
 
 
     /**
-     * post请求
+     * post请求(获取现金流)
      * */
     HttpResultResponse buildPostParam(Integer page,Integer size,QueryCashFlowItemsDto dtoParam) throws Exception;
 
+    /**
+     * post请求(获取科目)
+     * */
+    HttpResultResponse buildKMPostParam(Integer page, Integer size, QueryAccountantProjectDto dto) throws Exception;
+
 
 
 }

+ 9 - 9
src/main/java/com/uas/eis/task/STKTask.java

@@ -255,12 +255,11 @@ public class STKTask {
 
 
     //获取会计科目
-    //@Scheduled(cron = "0 05 10 * * ?")
+    @Scheduled(cron = "0 17 23 * * ?")
     public void queryAccountantProject() {
         QueryAccountantProjectDto dto = new QueryAccountantProjectDto();
-        int pageKm = 1;
-        dto.setPage(pageKm);
-        dto.setSize(500);
+        Integer page = 1;
+        Integer size = 500;
         //是否跳出循环
         Boolean isBreak = true;
         //是否发生异常
@@ -272,9 +271,11 @@ public class STKTask {
                 break;
             }
             log.info("while循环会计科目,查询参数:{}", JSONObject.toJSONString(dto));
-            AccountantProjectVo accountantProjectVo = new AccountantProjectVo();
+            HttpResultResponse resultResponse = new HttpResultResponse();
+            AccountantProjectVo accountantProjectVo = null;
             try {
-                accountantProjectVo = requestSTKService.getAccountantProject(dto);
+                resultResponse = requestSTKService.buildKMPostParam(page, size ,dto);
+                accountantProjectVo = JSONObject.parseObject(resultResponse.getBody(),AccountantProjectVo.class);
                 if (accountantProjectVo.getCode() != 200) {
                     num = num + 1;
                     continue;
@@ -288,13 +289,12 @@ public class STKTask {
                 num = num + 1;
             }
             //判断没发生异常,且是最后一页条件判断==》没有下页编码,或者当前页数等于返回页数
-            if (!exception && null != accountantProjectVo && null != accountantProjectVo.getData() && dto.getPage() >= pageKm) {
+            if (!exception && null != accountantProjectVo && null != accountantProjectVo.getData() && dto.getPage() >= accountantProjectVo.getPages()) {
                 isBreak = false;
             }
 
             if (!exception) {
-                pageKm = pageKm + 1;
-                dto.setPage(pageKm);
+                page = page + 1;
             }
         }
     }

+ 5 - 5
src/main/java/com/uas/eis/vo/stkVo/AccountantProjectDataVo.java

@@ -219,12 +219,12 @@ public class AccountantProjectDataVo {
     /**
      *失效日期
      * */
-    private Date ENDDATE;
+    private String ENDDATE;
 
     /**
      *计量单位分组编码
      * */
-    private Date MREUTYPENUMBER;
+    private String MREUTYPENUMBER;
 
     /**
      *计量单位分组名称
@@ -291,17 +291,17 @@ public class AccountantProjectDataVo {
     /**
      *创建时间
      **/
-    private Date CREATE_TIME;
+    private String CREATE_TIME;
 
     /**
      *修改时间
      **/
-    private Date UPDATE_TIME;
+    private String UPDATE_TIME;
 
     /**
      *禁用时间
      **/
-    private Date DISABLEDATE;
+    private String DISABLEDATE;
 
     /**
      *数据来源单位

+ 2 - 2
src/main/java/com/uas/eis/vo/stkVo/CashFlowItemsDataVo.java

@@ -174,12 +174,12 @@ public class CashFlowItemsDataVo {
     /**
      *创建时间
      * */
-    private Date CREATE_TIME;
+    private String CREATE_TIME;
 
     /**
      *修改时间
      * */
-    private Date UPDATE_IME;
+    private String UPDATE_IME;
 
     /**
      *来源单位