fix
Helius
2021-11-08 c6c8d6c03c3ac7e918eb17ebcba0c1472f2dd7ec
fix
4 files modified
55 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java 33 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/WeChatApiTools.java 18 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java 3 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/common/SysUsersDao.xml 1 ●●●● patch | view | raw | blame | history
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;
    }
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();
    }
    /**
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);
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>