Преглед изворни кода

feat(公司增加一个登录企业微信的接口)

gengyang пре 5 година
родитељ
комит
db4c1cbc0e

+ 68 - 1
src/main/java/com/mokamrp/privates/controller/CorpController.java

@@ -2,9 +2,21 @@ package com.mokamrp.privates.controller;
 
 
 import com.mokamrp.privates.constant.Constants;
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.entity.GetWorkRoomHandle;
+import com.mokamrp.privates.entity.PostCorpWxLoginHandle;
 import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.GroupCorpService;
+import com.mokamrp.privates.service.UserCorpService;
+import com.mokamrp.privates.utils.RedisUtil;
+import com.mokamrp.privates.utils.StringUtils;
+import com.mokamrp.privates.utils.http.HttpUtils;
+import com.xxl.sso.core.conf.Conf;
+import com.xxl.sso.core.user.XxlSsoUser;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import com.mokamrp.privates.service.CorpService;
 import com.mokamrp.privates.mapper.pojo.Corp;
@@ -12,8 +24,10 @@ import com.mokamrp.privates.help.AjaxResult;
 import com.mokamrp.privates.entity.IndexHandle;
 import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -27,5 +41,58 @@ import java.util.List;
 @RequestMapping("/corp")
 public class CorpController extends BaseController<Corp>{
 
+    @Autowired
+    public CorpService corpService;
+
+    /*
+    *偷个懒,在控制器写这个
+     */
+    @PostMapping("/loginInfo")
+    @ResponseBody
+    public Object getList(
+            @Valid @RequestBody PostCorpWxLoginHandle handle, BindingResult bindingResult,
+            HttpServletRequest request) {
+
+        String token = "Ij0dujMAh40oR0QfyH4Y6LDxrvY6bguEN0uoWwBJ";
+        String client = "co_01";
+        XxlSsoUser user = (XxlSsoUser) request.getAttribute(Conf.SSO_USER);
+        int max=99999,min=10000;
+        Long timestamp = (System.currentTimeMillis()/1000);
+
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+
+        Integer ran2 = (int) (Math.random()*(max-min)+min);
+
+        List<String> list = new ArrayList<String>();
+        list.add(client);
+        list.add(token);
+        list.add(timestamp.toString());
+        list.add(ran2.toString());
+        list.sort(Comparator.naturalOrder());
+        String imploded= StringUtils.join(list, "");
+
+        String sign = DigestUtils.sha1Hex(imploded);
+        System.out.println(list);
+        System.out.println(sign);
+        System.out.println(imploded);
+        List<String> a = list;
+        Map<String,String> requestParams = new HashMap<>();
+
+        requestParams.put("type","workwechat");
+        requestParams.put("client_id",client);
+        requestParams.put("signature",sign);
+        requestParams.put("nonce",ran2.toString());
+        requestParams.put("timestamp",timestamp.toString());
+        requestParams.put("mobile_id",handle.getMobile().toString());
+        requestParams.put("uuid",handle.getUuid());
+
+        String url = HttpUtils.getRqstUrl("http://account.kwnpv.com/onekeyload/workwechat",requestParams);
+        return AjaxResult.success("ok",url);
+    }
+
+
+
 }
 

+ 10 - 0
src/main/java/com/mokamrp/privates/entity/PostCorpWxLoginHandle.java

@@ -0,0 +1,10 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+@Data
+public class PostCorpWxLoginHandle {
+    private Integer mobile;
+    private Integer type;
+    private String uuid;
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/utils/http/HttpUtils.java

@@ -11,6 +11,7 @@ import java.net.SocketTimeoutException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.security.cert.X509Certificate;
+import java.util.Map;
 
 /**
  * 通用http发送方法
@@ -175,6 +176,25 @@ public class HttpUtils {
         return result.toString();
     }
 
+    public static String getRqstUrl(String url, Map<String, String> params) {
+        StringBuilder builder = new StringBuilder(url);
+        boolean isFirst = true;
+        for (String key : params.keySet()) {
+            if (key != null && params.get(key) != null) {
+                if (isFirst) {
+                    isFirst = false;
+                    builder.append("?");
+                } else {
+                    builder.append("&");
+                }
+                builder.append(key)
+                        .append("=")
+                        .append(params.get(key));
+            }
+        }
+        return builder.toString();
+    }
+
     private static class TrustAnyTrustManager implements X509TrustManager {
         @Override
         public void checkClientTrusted(X509Certificate[] chain, String authType) {