diff --git a/.idea/libraries/Maven__com_github_binarywang_weixin_java_mp_4_3_0.xml b/.idea/libraries/Maven__com_github_binarywang_weixin_java_mp_4_3_0.xml
new file mode 100644
index 0000000..f7b180e
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_binarywang_weixin_java_mp_4_3_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_liyiorg_weixin_popular_2_8_30.xml b/.idea/libraries/Maven__com_github_liyiorg_weixin_popular_2_8_30.xml
new file mode 100644
index 0000000..7937db7
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_liyiorg_weixin_popular_2_8_30.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml
deleted file mode 100644
index 848cecd..0000000
--- a/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_guava_guava_30_0_jre.xml b/.idea/libraries/Maven__com_google_guava_guava_30_0_jre.xml
deleted file mode 100644
index 1ca3e3e..0000000
--- a/.idea/libraries/Maven__com_google_guava_guava_30_0_jre.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_1_12.xml b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_1_12.xml
new file mode 100644
index 0000000..fca2bf0
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_1_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_vdurmont_emoji_java_4_0_0.xml b/.idea/libraries/Maven__com_vdurmont_emoji_java_4_0_0.xml
new file mode 100644
index 0000000..a1bfb55
--- /dev/null
+++ b/.idea/libraries/Maven__com_vdurmont_emoji_java_4_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_0_3.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_0_3.xml
new file mode 100644
index 0000000..e20ca3a
--- /dev/null
+++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jaxen_jaxen_1_2_0.xml b/.idea/libraries/Maven__jaxen_jaxen_1_2_0.xml
new file mode 100644
index 0000000..c6d18ad
--- /dev/null
+++ b/.idea/libraries/Maven__jaxen_jaxen_1_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_68.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_68.xml
deleted file mode 100644
index c7f7fce..0000000
--- a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_68.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_checkerframework_checker_qual_3_5_0.xml b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_5_0.xml
deleted file mode 100644
index a520083..0000000
--- a/.idea/libraries/Maven__org_checkerframework_checker_qual_3_5_0.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_dom4j_dom4j_2_0_0.xml b/.idea/libraries/Maven__org_dom4j_dom4j_2_0_0.xml
new file mode 100644
index 0000000..5c5bd3c
--- /dev/null
+++ b/.idea/libraries/Maven__org_dom4j_dom4j_2_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_json_json_20170516.xml b/.idea/libraries/Maven__org_json_json_20170516.xml
new file mode 100644
index 0000000..56af30b
--- /dev/null
+++ b/.idea/libraries/Maven__org_json_json_20170516.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/emis-oms-biz-web/emis-oms-biz-web.iml b/emis-oms-biz-web/emis-oms-biz-web.iml
index e47a75c..c63adf3 100644
--- a/emis-oms-biz-web/emis-oms-biz-web.iml
+++ b/emis-oms-biz-web/emis-oms-biz-web.iml
@@ -19,9 +19,15 @@
-
-
-
+
+
+
+
+
+
+
+
+
@@ -31,79 +37,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -115,15 +49,19 @@
+
+
+
+
@@ -147,8 +85,10 @@
+
+
@@ -178,6 +118,10 @@
+
+
+
+
@@ -189,6 +133,14 @@
+
+
+
+
+
+
+
+
@@ -248,13 +200,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -268,9 +277,6 @@
-
-
-
\ No newline at end of file
diff --git a/emis-oms-biz-web/pom.xml b/emis-oms-biz-web/pom.xml
index de9fc4c..6518147 100644
--- a/emis-oms-biz-web/pom.xml
+++ b/emis-oms-biz-web/pom.xml
@@ -24,6 +24,12 @@
+
+ com.xdadan
+ emis-oms-common
+ 2.1.0
+
+
com.xdadan
diff --git a/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cCommonController.java b/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cCommonController.java
index 34ccb65..644848d 100644
--- a/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cCommonController.java
+++ b/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cCommonController.java
@@ -25,6 +25,7 @@ import com.xdadan.erp.oms.common.core.redis.RedissonService;
import com.xdadan.erp.oms.common.enums.BusinessType;
import com.xdadan.erp.oms.common.utils.DateUtils;
import com.xdadan.erp.oms.common.utils.SecurityUtils;
+import com.xdadan.erp.oms.common.utils.ToUrlParamsUtils;
import com.xdadan.erp.oms.domain.EmisSettleBill;
import com.xdadan.erp.oms.domain.EmisSmsSendRecord;
import com.xdadan.erp.oms.domain.exception.EmisBizError;
@@ -35,16 +36,24 @@ import com.xdadan.erp.oms.system.service.ISysConfigService;
import com.xdadan.erp.oms.utils.TraceUtils;
import feign.Response;
import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.api.WxConsts;
+import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
+import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.common.error.WxErrorException;
+import me.chanjar.weixin.mp.api.WxMpService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -82,6 +91,9 @@ public class Oms2cCommonController extends BaseController
@Autowired
private WxMaService wxMaService;
+ @Autowired
+ private WxMpService wxMpService;
+
@Autowired
private OmsBaseService omsBaseService;
@@ -402,4 +414,45 @@ public class Oms2cCommonController extends BaseController
return iRpcSettleBillSvc.sumbitWxPay(emisSettleBill);
}
+ /**
+ *
+ * @param response
+ * @param request
+ * @param url
+ * @param state
+ * @return
+ */
+ @RequestMapping("/getWxAuthorizeUrl")
+ public AjaxResult getWxMpAuthorizeUrl(HttpServletResponse response, HttpServletRequest request, @RequestParam String url, @RequestParam String state)
+ {
+ log.info("重定向的页面路由URL:{} 获取用户自定义信息:{}",url,state);
+ Map resultMap = new HashMap<>();
+ try {
+ String redictUrl = wxMpService.getOAuth2Service().buildAuthorizationUrl(url, String.valueOf(WxConsts.ACCESS_TOKEN_ERROR_CODES), URLEncoder.encode(state,"UTF-8"));
+ resultMap.put("redictUrl",redictUrl);
+ return AjaxResult.success("成功",resultMap);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ return AjaxResult.error("获取失败(重定向路由)!");
+ }
+ }
+
+ /**
+ * 通过code获取openid
+ *
+ */
+ @RequestMapping(value = "/getOpenIdByCode")
+ public AjaxResult getOpenIdByCode(@RequestParam String appId, @RequestParam String state, @RequestParam String code) {
+
+ if (!wxMpService.switchover(appId)) {
+ return AjaxResult.error(String.format("未找到对应appId=[%s]的配置,请核实!", appId));
+ }
+ try {
+ WxOAuth2AccessToken accessToken = wxMpService.getOAuth2Service().getAccessToken(code);
+ return AjaxResult.success("成功",accessToken.getOpenId());
+ } catch (WxErrorException e) {
+ return AjaxResult.error(String.format("微信appId:{}授权获取用户信息异常!", appId));
+ }
+ }
+
}