瀏覽代碼

增加网站文章相关功能,后期拆分为独立的module

hfxc226 2 年之前
父節點
當前提交
c7ca0024d8

+ 3 - 0
platform-common/src/main/java/com/platform/common/enums/DictTypeEnum.java

@@ -27,6 +27,9 @@ public enum DictTypeEnum {
     SYS_USER_JOB_TYPE("SYS_USER_JOB_TYPE", "用户职务"),
     FILL_PROJECT_QUANTITY_UNIT("FILL_PROJECT_QUANTITY_UNIT", "项目单位"),
     THIRD_PARTY_YONGYOU("THIRD_PARTY_YONGYOU", "用友"),
+    THIRD_PARTY_YONGYOU_LOGIN("LOGIN", "登录接口"),
+    THIRD_PARTY_YONGYOU_GETSTOCK("GETSTOCK", "存量接口"),
+    THIRD_PARTY_YONGYOU_OTHEROUT("OTHEROUT", "出库申请单"),
     REMOTE_MEASURE("REMOTE_MEASURE", "设备遥测"),
     REMOTE_DEGREE("REMOTE_DEGREE", "设备电度"),;
     private final String type;

+ 6 - 2
platform-common/src/main/java/com/platform/common/yongyou/request/BaseRequest.java

@@ -1,5 +1,6 @@
 package com.platform.common.yongyou.request;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import com.platform.common.cache.DictCache;
 import com.platform.common.enums.DictTypeEnum;
 import lombok.Data;
@@ -12,6 +13,9 @@ public class BaseRequest implements Serializable {
     /**
      * token
      */
-    private String token;
-
+    @JSONField(name="Token")
+    private String Token;
+    @JSONField(name="Conn")
+    private String Conn;
+    private String cAcc_ID;
 }

+ 1 - 3
platform-common/src/main/java/com/platform/common/yongyou/request/GetCurrentStockRequest.java

@@ -1,5 +1,6 @@
 package com.platform.common.yongyou.request;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 
 /**
@@ -7,9 +8,6 @@ import lombok.Data;
  */
 @Data
 public class GetCurrentStockRequest extends BaseRequest{
-    private String token;
-    private String Conn;
-    private String cAcc_ID;// 账套号
     private Integer pageSize;// 第几页
     private Integer pageNum;// 页数量
     private String stcWhere;// 查询条件 cInvCode in('0341' ,'0301')

+ 7 - 0
platform-common/src/main/java/com/platform/common/yongyou/request/LoginRequest.java

@@ -1,5 +1,6 @@
 package com.platform.common.yongyou.request;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 
 /**
@@ -9,10 +10,16 @@ import lombok.Data;
  */
 @Data
 public class LoginRequest extends BaseRequest{
+    @JSONField(name="CSrv")
     private String CSrv;
+    @JSONField(name="PUserId")
     private String PUserId;
+    @JSONField(name="PPassword")
     private String PPassword;
+    @JSONField(name="PAccId")
     private String PAccId;
+    @JSONField(name="PDate")
     private String PDate;
+    @JSONField(name="PSubId")
     private String PSubId;
 }

+ 5 - 5
platform-common/src/main/java/com/platform/common/yongyou/request/OtherOutAddRequest.java

@@ -1,5 +1,6 @@
 package com.platform.common.yongyou.request;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 
 /**
@@ -7,9 +8,8 @@ import lombok.Data;
  */
 @Data
 public class OtherOutAddRequest extends BaseRequest{
-    private String token;
-    private String Conn;
-    private String cAcc_ID;// 账套号
-    private OtherOutVouch otherOutVouch;// 查询条件 cInvCode in('0341' ,'0301')
-
+    @JSONField(name="OtherOutVouch")
+    private OtherOutVouch OtherOutVouch;// 查询条件 cInvCode in('0341' ,'0301')
+    @JSONField(name="TradeID")
+    private String TradeID;
 }

+ 3 - 0
platform-common/src/main/java/com/platform/common/yongyou/request/OtherOutVouch.java

@@ -1,10 +1,13 @@
 package com.platform.common.yongyou.request;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 
 import java.util.List;
 @Data
 public class OtherOutVouch {
+    @JSONField(name="OtherOutMain")
     private OtherOutMain OtherOutMain;
+    @JSONField(name="OtherOutDetail")
     private List<OtherOutDetail> OtherOutDetail;
 }

+ 46 - 26
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -63,30 +63,49 @@ public class YongyouServiceImpl implements YongyouService {
     private SpareRestoreFormService spareRestoreFormService;
     private SpareRestoreDetailService spareRestoreDetailService;
     private String token_key = "yongyou-token";
+    private String Conn_key = "yongyou-Conn";
+    private String cAcc_ID_key = "yongyou-cAcc_ID";
 
     private String geToken() {
         String token = RedisUtils.getString(token_key);
         if (StringUtils.isBlank(token)) {
-            LoginHandler handler = new LoginHandler();
-            LoginRequest req = new LoginRequest();
-            req.setCSrv("");
-            req.setPAccId("");
-            req.setCSrv("");
-            req.setPUserId("");
-            req.setPPassword("");
-            req.setPDate(DateUtils.dateToString(LocalDate.now(), DateUtils.PATTERN_YMD));
-            handler.setRequest(req);
-            R r = handler.handler();
-            LoginResponse loginResponse = (LoginResponse) r.getData();
-            Login login = loginResponse.getData();
-            token = login.getToken();
-            RedisUtils.setString(token_key, token);
-            return token;
+            return geTokenForce();
         } else {
             return token;
         }
     }
 
+    /**
+     * 强制重新获取token
+     * @return
+     */
+    private String geTokenForce() {
+        LoginHandler handler = new LoginHandler();
+        LoginRequest req = new LoginRequest();
+        req.setCSrv("192.168.16.249");
+        req.setPUserId("sb");
+        req.setPPassword("321.jkl");
+        req.setPAccId("005");
+        req.setPDate(DateUtils.dateToString(LocalDate.now(), DateUtils.PATTERN_YMD));
+        req.setPSubId("DP");
+        handler.setRequest(req);
+        String responseStr = handler.handler();
+        LoginResponse response = JSONObject.parseObject(responseStr, LoginResponse.class);
+        Login login = response.getData();
+        String token = login.getToken();
+        RedisUtils.setString(token_key, token);
+        RedisUtils.setString(Conn_key, login.getConn());
+        RedisUtils.setString(cAcc_ID_key, login.getCAcc_ID());
+        return token;
+    }
+
+    private String getConn() {
+        return RedisUtils.getString(Conn_key);
+    }
+    private String getCAccId() {
+        return RedisUtils.getString(cAcc_ID_key);
+    }
+
     /**
      * 查询存量分页
      *
@@ -101,13 +120,14 @@ public class YongyouServiceImpl implements YongyouService {
         GetCurrentStockHandler handler = new GetCurrentStockHandler();
         GetCurrentStockRequest req = new GetCurrentStockRequest();
         req.setToken(geToken());
-        req.setConn("");
+        req.setConn(getConn());
+        req.setCAcc_ID(getCAccId());
         req.setPageNum(pageNum);
         req.setPageSize(pageSize);
         req.setStcWhere("");
         handler.setRequest(req);
-        R r = handler.handler();
-        GetCurrentStockResponse response = (GetCurrentStockResponse) r.getData();
+        String responseStr = handler.handler();
+        GetCurrentStockResponse response = JSONObject.parseObject(responseStr, GetCurrentStockResponse.class);
         List<GetCurrentStock> datas = response.getData();
         List<SparePartInfoVO> partInfoVOS = new ArrayList<>();
         for (GetCurrentStock stockResponse : datas) {
@@ -171,13 +191,13 @@ public class YongyouServiceImpl implements YongyouService {
         // 推送数据
         OtherOutHandler handler = new OtherOutHandler();
         OtherOutAddRequest req = new OtherOutAddRequest();
-        req.setCAcc_ID("");
         req.setOtherOutVouch(otherOutVouch);
         req.setToken(geToken());
-        req.setConn("");
+        req.setConn(getConn());
+        req.setCAcc_ID(getCAccId());
         handler.setRequest(req);
-        R r = handler.handler();
-        OtherOutAddResponse response = (OtherOutAddResponse) r.getData();
+        String responseStr = handler.handler();
+        OtherOutAddResponse response = JSONObject.parseObject(responseStr, OtherOutAddResponse.class);
         String data = response.getData();
 
         // 保存用友出库单数据
@@ -254,13 +274,13 @@ public class YongyouServiceImpl implements YongyouService {
         // 推送数据
         OtherOutHandler handler = new OtherOutHandler();
         OtherOutAddRequest req = new OtherOutAddRequest();
-        req.setCAcc_ID("");
         req.setOtherOutVouch(otherOutVouch);
         req.setToken(geToken());
-        req.setConn("");
+        req.setConn(getConn());
+        req.setCAcc_ID(getCAccId());
         handler.setRequest(req);
-        R r = handler.handler();
-        OtherOutAddResponse response = (OtherOutAddResponse) r.getData();
+        String responseStr = handler.handler();
+        OtherOutAddResponse response = JSONObject.parseObject(responseStr, OtherOutAddResponse.class);
         String data = response.getData();
 
         // 保存用友出库单数据

+ 9 - 23
platform-service/src/main/java/handler/yongyou/BaseRequestHandler.java

@@ -33,7 +33,9 @@ public abstract class BaseRequestHandler {
      * service name
      */
     private String serviceType;
-
+    public void setServiceType(String serviceType){
+        this.serviceType = serviceType;
+    }
     public void setRequest(BaseRequest request){
         this.request = request;
     }
@@ -53,10 +55,9 @@ public abstract class BaseRequestHandler {
      * 我们请求新点数据处理
      * @return
      */
-    public R handler() {
-        R r = new R();
+    public String handler() {
         BaseResponse response = null;
-        String logId = generateLogRequest(request, this.serviceType);
+        // String logId = generateLogRequest(request, this.serviceType);
         // post请求返回值 the request return value
         String responseStr = "";
         try {
@@ -66,24 +67,7 @@ public abstract class BaseRequestHandler {
             e.printStackTrace();
         }
         log.info("返回结果 result:" + responseStr);
-        try {
-            response = JSONObject.parseObject(responseStr, BaseResponse.class);
-            r.setData(response);
-            ThirdInfoLog log = new ThirdInfoLog();
-            log.setId(logId);
-            if(!"true".equals(response.getResult())){
-                log.setErrorMsg(response.getMsg());
-                log.setErrorStatus(1);
-            }else{
-                log.setErrorStatus(0);
-                successResponse(request, response);
-            }
-            getLogService().modModelByPrimaryKey(log);
-        } catch (Exception e) {
-            log.info("返回结果异常");
-            e.printStackTrace();
-        }
-        return r;
+        return responseStr;
     }
 
     /**
@@ -127,7 +111,9 @@ public abstract class BaseRequestHandler {
         // 获取请求体
         String bodyString = JSON.toJSONString(request);
         Map<String, String> bodyMap = JsonUtils.jsonToMap(bodyString);
-        String resStr = HttpUtil.post(url, JsonUtils.objectToJson(bodyMap));
+        String requestData = JsonUtils.objectToJson(bodyMap);
+        log.info("用友请求参数:" + requestData);
+        String resStr = HttpUtil.post(url, requestData);
         try {
             log.info("用友中心响应数据---"+resStr);
         } catch (Exception e) {

+ 10 - 0
platform-service/src/main/java/handler/yongyou/GetCurrentStockHandler.java

@@ -1,5 +1,8 @@
 package handler.yongyou;
 
+import com.platform.common.constant.CommonConstants;
+import com.platform.common.enums.DictTypeEnum;
+import com.platform.common.util.DateUtils;
 import com.platform.common.yongyou.request.BaseRequest;
 import com.platform.common.yongyou.request.GetCurrentStockRequest;
 import com.platform.common.yongyou.response.BaseResponse;
@@ -7,9 +10,16 @@ import com.platform.common.yongyou.response.GetCurrentStockResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDateTime;
+
 @Slf4j
 @Component
 public class GetCurrentStockHandler extends BaseRequestHandler{
+
+    public GetCurrentStockHandler(){
+        setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_GETSTOCK.getType());
+    }
+
     /**
      * 获取分页数据
      * @param req

+ 6 - 0
platform-service/src/main/java/handler/yongyou/LoginHandler.java

@@ -1,5 +1,6 @@
 package handler.yongyou;
 
+import com.platform.common.enums.DictTypeEnum;
 import com.platform.common.yongyou.request.BaseRequest;
 import com.platform.common.yongyou.request.LoginRequest;
 import com.platform.common.yongyou.response.BaseResponse;
@@ -10,6 +11,11 @@ import org.springframework.stereotype.Component;
 @Slf4j
 @Component
 public class LoginHandler extends BaseRequestHandler{
+
+    public LoginHandler(){
+        setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_LOGIN.getType());
+    }
+
     /**
      * 处理登录用友返回数据
      * 1:保存token,还是每次都调用token接口

+ 4 - 1
platform-service/src/main/java/handler/yongyou/OtherOutHandler.java

@@ -1,5 +1,6 @@
 package handler.yongyou;
 
+import com.platform.common.enums.DictTypeEnum;
 import com.platform.common.yongyou.request.BaseRequest;
 import com.platform.common.yongyou.request.LoginRequest;
 import com.platform.common.yongyou.request.OtherOutAddRequest;
@@ -19,7 +20,9 @@ import org.springframework.stereotype.Component;
 @Slf4j
 @Component
 public class OtherOutHandler extends BaseRequestHandler{
-
+    public OtherOutHandler(){
+        setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_OTHEROUT.getType());
+    }
     /**
      * 处理出库,退库返回结果
      * 1:保存返回的出库入库单id