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)); + } + } + }