Explorar o código

1、优化推送项目对接服务

Bingo %!s(int64=3) %!d(string=hai) anos
pai
achega
29f167b87f

+ 12 - 7
src/main/java/com/chuanghai/controller/WxController.java

@@ -49,7 +49,7 @@ public class WxController {
      * 获取微校 应用有效凭证
      */
     @Async
-   // @Scheduled(fixedDelay = 7190000)
+    // @Scheduled(fixedDelay = 7190000)
     public void getWXToken() {
         String tokenUrl = "https://open.wecard.qq.com/cgi-bin/oauth2/token";
         Map<String, String> tokenParams = new HashMap<>();
@@ -70,21 +70,22 @@ public class WxController {
             Map<String, Object> jsonMap = mapper.readValue(body, new TypeReference<Map<String, Object>>() {
             });
             access_token = (String) jsonMap.get("access_token");
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error("获取微校Token令牌失效======》》【{}】", e.getMessage());
         }
     }
 
 
     /**
-     *  微校数据变更推送接口
+     * 微校数据变更推送接口
+     *
      * @param weixiaoPushDTO
      * @return code  接收响应状态码,0为成功,非0时则认为接收方接受数据失败,将会进行重试
      */
     @PostMapping("/receive")
     @ResponseBody
-    public ReturnValueUtil receive(@RequestBody WeixiaoPushDTO weixiaoPushDTO){
-        log.info("微校数据变更推送=======》》》》【{}】",weixiaoPushDTO.toString());
+    public ReturnValueUtil receive(@RequestBody WeixiaoPushDTO weixiaoPushDTO) {
+        log.info("微校数据变更推送=======》》》》【{}】", weixiaoPushDTO.toString());
 
         try {
             String appKey = weixiaoPushDTO.getApp_key();
@@ -99,8 +100,12 @@ public class WxController {
             weixiaoPushDTO.setApp_secret(cIv);
 //            System.out.println(weixiaoPushDTO);
             //推送微校通知
-            pushProjectService.pushProject(weixiaoPushDTO);
-            return ReturnValueUtil.ok();
+            Boolean aBoolean = pushProjectService.pushProject(weixiaoPushDTO);
+            if (aBoolean) {
+                return ReturnValueUtil.ok();
+            } else {
+                return ReturnValueUtil.fail();
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 1 - 1
src/main/java/com/chuanghai/service/PushProjectService.java

@@ -7,7 +7,7 @@ import com.chuanghai.entity.PushProject;
 
 public interface PushProjectService extends IService<PushProject> {
 
-    void pushProject(WeixiaoPushDTO weixiaoPushDTO);
+    Boolean pushProject(WeixiaoPushDTO weixiaoPushDTO);
 
     void addPushProject(String url, String project);
 

+ 14 - 6
src/main/java/com/chuanghai/service/impl/PushProjectServiceImpl.java

@@ -11,6 +11,8 @@ import com.chuanghai.mapper.PushProjectMapper;
 import com.chuanghai.service.PushProjectService;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.sun.org.apache.xpath.internal.operations.Bool;
+import com.sun.xml.internal.bind.v2.util.ByteArrayOutputStreamEx;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -26,7 +28,8 @@ import java.util.Map;
 public class PushProjectServiceImpl extends ServiceImpl<PushProjectMapper, PushProject> implements PushProjectService {
 
     @Override
-    public void pushProject(WeixiaoPushDTO weixiaoPushDTO) {
+    public Boolean pushProject(WeixiaoPushDTO weixiaoPushDTO) {
+        Boolean flag = Boolean.FALSE;
 
         String app_key = weixiaoPushDTO.getApp_key();
         String school_code = weixiaoPushDTO.getSchool_code();
@@ -42,7 +45,8 @@ public class PushProjectServiceImpl extends ServiceImpl<PushProjectMapper, PushP
         tokenParams.put("app_secret", app_secret);
 
         List<PushProject> pushProjectList = this.queryPushProject();
-        pushProjectList.forEach(pushProject -> {
+        for (int i = 0; i < pushProjectList.size(); i++) {
+            PushProject pushProject = pushProjectList.get(i);
             try {
                 String tokenUrl = pushProject.getUrl();
                 RestTemplate client = new RestTemplate();
@@ -53,15 +57,19 @@ public class PushProjectServiceImpl extends ServiceImpl<PushProjectMapper, PushP
                 ObjectMapper mapper = new ObjectMapper();
                 Map<String, Object> jsonMap = mapper.readValue(body, new TypeReference<Map<String, Object>>() {
                 });
-                String code = (String) jsonMap.get("code");
-
+                Integer code = (Integer) jsonMap.get("code");
+                if (code == 0) {
+                    flag = Boolean.TRUE;
+                }
             } catch (Exception e) {
                 throw new RRException(BizCodeEnume.FILE_IS_PUSH);
             }
-        });
-
+        }
+        return flag;
     }
 
+
+
     /**
      * 添加推送项目
      *

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 19 - 19
src/main/resources/static/doc/index.html