From c6c8d6c03c3ac7e918eb17ebcba0c1472f2dd7ec Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 08 Nov 2021 11:28:17 +0800
Subject: [PATCH] fix
---
zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java | 18 ++++++++++++++++--
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java | 3 ++-
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 33 ++++++++++++++++++++++++++++++---
zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml | 1 +
4 files changed, 49 insertions(+), 6 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index c94ee43..5adb150 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -1,6 +1,8 @@
package com.matrix.system.app.action;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.matrix.component.tools.HttpCurlUtil;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.*;
import com.matrix.system.app.authority.AppAuthorityManager;
@@ -11,8 +13,10 @@
import com.matrix.system.common.authority.strategy.LoginStrategy;
import com.matrix.system.common.bean.SysCompany;
import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.init.LocalCache;
+import com.matrix.system.common.interceptor.HostInterceptor;
import com.matrix.system.common.service.SysCompanyService;
import com.matrix.system.common.service.SysUsersService;
import com.matrix.system.common.tools.PasswordUtil;
@@ -22,10 +26,12 @@
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.plugin.util.ImageUtil;
import com.matrix.system.hive.service.SysShopInfoService;
+import com.matrix.system.shopXcx.api.WeChatApiTools;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
+import net.sf.json.JSONObject;
import org.apache.commons.fileupload.FileUploadException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -66,7 +72,10 @@
private BusParameterSettingsDao busParameterSettingsDao;
@Autowired
- private SysCompanyService sysCompanyService;
+ private SysCompanyService sysCompanyService;;
+
+ @Autowired
+ WeChatApiTools weChatApiTools;
@Value("${file_storage_path}")
@@ -274,8 +283,26 @@
}
@ApiOperation(value = "管理端小程序登录")
- @PostMapping(value = "/wxLogin")
- public AjaxResult wxLogin(@RequestBody SettingDto codeDto) {
+ @PostMapping(value = "/wxLogin/{code}")
+ public AjaxResult wxLogin(@PathVariable("code") String code) throws IOException {
+ if (StrUtil.isBlank(code)) {
+ return AjaxResult.buildFailInstance("code不存在");
+ }
+ AjaxResult res = new AjaxResult();
+ String requrl = weChatApiTools.getXcxLoginUrl(code, HostInterceptor.getCompanyId(), AppConstance.MINI_PROGRAM_MANAGER_APP_ID);
+
+ String resultData = HttpCurlUtil.sendGetHttp(requrl, null);
+ JSONObject json = JSONObject.fromObject(resultData);
+ LogUtil.debug("管理端小程序登录获取到登录信息={}", json);
+
+ if (json.containsKey("errcode")) {
+ res.setStatus(AjaxResult.STATUS_FAIL);
+ res.setInfo("自动登录失败");
+ LogUtil.info("微信登录获取到异常信息errcode");
+ return res;
+ }
+
+ String openId = json.getString("openid");
return null;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java
index 5befb86..8940122 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java
@@ -45,9 +45,12 @@
* @param code
* @return
*/
- public String getXcxLoginUrl(String code,Long companyId) {
+ public String getXcxLoginUrl(String code,Long companyId, String type) {
String wechatLoginUrl = PropertiesUtil.getString(WECHAT_LOGIN_URL);
- return String.format(wechatLoginUrl, getAppid(companyId), getSecret(companyId), code);
+ if (AppConstance.MINIPROGRAM_APPID.equals(type)) {
+ return String.format(wechatLoginUrl, getAppid(companyId), getSecret(companyId), code);
+ } else {
+ return String.format(wechatLoginUrl, getManagerAppId(companyId), getManagerSecret(companyId), code); }
}
/**
@@ -68,6 +71,17 @@
return secret.getParamValue();
}
+ public String getManagerAppId(Long companyId) {
+ BusParameterSettings appId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINI_PROGRAM_MANAGER_APP_ID, companyId);
+ return appId.getParamValue();
+ }
+
+ public String getManagerSecret(Long companyId){
+ BusParameterSettings secret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINI_PROGRAM_MANAGER_SECRET, companyId);
+ return secret.getParamValue();
+ }
+
+
/**
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
index 0b0eaac..1b3fffc 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
@@ -2,6 +2,7 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.init.UserCacheManager;
import com.matrix.component.tools.HttpCurlUtil;
import com.matrix.core.pojo.AjaxResult;
@@ -93,7 +94,7 @@
AjaxResult res = new AjaxResult();
LogUtil.info("code:{}" + code);
if (StringUtils.isNotBlank(code)) {
- String requrl = weChatApiTools.getXcxLoginUrl(code, HostInterceptor.getCompanyId());
+ String requrl = weChatApiTools.getXcxLoginUrl(code, HostInterceptor.getCompanyId(), AppConstance.MINIPROGRAM_APPID);
String reslutData = HttpCurlUtil.sendGetHttp(requrl, null);
JSONObject json = JSONObject.fromObject(reslutData);
LogUtil.debug("微信登录获取到登录信息={}", json);
diff --git a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
index 615593d..f21d2ca 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml
@@ -1328,4 +1328,5 @@
<select id="selectAppVersion" resultType="com.matrix.system.hive.bean.AppVersion">
select * from app_version
</select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1