diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java b/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java index 80d3664f9..6c3ac985e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java @@ -8,10 +8,12 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.MallRolePermission; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserRole; +import com.iformall.domain.po.WxAppinfo; import com.iformall.exception.MallinkException; import com.iformall.service.MallRolePermissionService; import com.iformall.service.MallUserInfoService; import com.iformall.service.MallUserRoleService; +import com.iformall.service.WxAppinfoService; import com.iformall.shiro.UserSession; import com.iformall.shiro.UseriFormallToken; import com.iformall.utils.ShiroUtils; @@ -56,6 +58,9 @@ public class HomeController extends BaseController { @Autowired private MallRolePermissionService mallRolePermissionService; + @Autowired + private WxAppinfoService appinfoService; + @GetMapping("/captcha.jpg") public void captcha(HttpServletResponse response)throws ServletException, IOException { logger.debug("[" + getIpAddr() + "] HomeController::captcha"); @@ -167,15 +172,25 @@ public class HomeController extends BaseController { public ResultData bLogin(@RequestBody MallUserInfo user) { logger.debug("[" + getIpAddr() + "] HomeController::bHidLogin"); ResultData data = new ResultData(); + // tenantId is appId + if(StringUtils.isBlank(user.getTenantId())) { + logger.error("appid信息未提供"); + return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND); + } + WxAppinfo appinfo = appinfoService.getByAppId(user.getTenantId()); + if(appinfo == null) { + logger.error("appid未找到"); + return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND); + } if(StringUtils.isNotBlank(user.getPhone())) { // 领导登录 - user = mallUserInfoService.getByPhone(user.getPhone()); + user = mallUserInfoService.getByPhone(user.getPhone(), appinfo.getTenantId()); if(user == null || !isInMobileAdmin(user)) { return new ResultData(ErrorCode.USER_NOT_ADMIN); } } else if(StringUtils.isNotBlank(user.getOpenId())) { // 领导登录 - user = mallUserInfoService.getByOpenId(user.getOpenId()); + user = mallUserInfoService.getByOpenId(user.getOpenId(), appinfo.getTenantId()); if(user == null || !isInMobileAdmin(user)) { return new ResultData(ErrorCode.USER_NOT_ADMIN); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java index b8281f827..49f92f9c9 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java @@ -86,10 +86,12 @@ public class WxInfoController extends BaseController { if (StringUtils.isBlank(code)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "code不能为空"); } + + WxAppinfo wxAppinfo = getAppInfo(appId); try { Map retMap = getOpenIdInfo(appId, code); String openId = retMap.get("openId"); - MallUserInfo user = mallUserInfoService.getByOpenId(openId); + MallUserInfo user = mallUserInfoService.getByOpenId(openId, wxAppinfo.getTenantId()); if(user == null) { return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); } @@ -218,6 +220,8 @@ public class WxInfoController extends BaseController { } WxMaService wxMaService = getWeappService(appId); + + WxAppinfo wxAppinfo = getAppInfo(appId); try { // 解密 WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(session_key, encryptedData, iv); @@ -226,7 +230,7 @@ public class WxInfoController extends BaseController { String phone = phoneNoInfo.getPhoneNumber(); resultMap.put("phone", phone); - MallUserInfo user = mallUserInfoService.getByPhone(phone); + MallUserInfo user = mallUserInfoService.getByPhone(phone, wxAppinfo.getTenantId()); if(user == null) { return new ResultData(ErrorCode.USER_NO_PERMISSION, resultMap); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java index c806713dc..f8d4cc018 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java @@ -13,9 +13,9 @@ public interface MallUserInfoMapper extends CommonMapper { MallUserInfo selectByUserName(@Param("username") String username); - MallUserInfo selectByOpenId(@Param("openId") String openId); + MallUserInfo selectByOpenId(@Param("openId") String openId, @Param("tenantId") String tenantId); - MallUserInfo selectByPhone(@Param("phone") String phone); + MallUserInfo selectByPhone(@Param("phone") String phone, @Param("tenantId") String tenantId); Integer hasButtonPermission(@Param("userId") Long userId, @Param("permission") String permission); diff --git a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java index 3c2c9be82..7de909a28 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java @@ -3,6 +3,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxAppinfo; import java.util.List; @@ -87,14 +88,14 @@ public interface MallUserInfoService { * @param phone * @return */ - MallUserInfo getByPhone(String phone); + MallUserInfo getByPhone(String phone, String tenantId); /** * 根据OpenId获得实体 * * @param openId * @return */ - MallUserInfo getByOpenId(String openId); + MallUserInfo getByOpenId(String openId, String tenantId); /** * 根据条件用户列表 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java index 927d205cf..c18abe12a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java @@ -8,6 +8,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserRole; +import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxMsgValidationcode; import com.iformall.exception.MallinkException; import com.iformall.mapper.MallUserInfoMapper; @@ -57,13 +58,13 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { } @Override - public MallUserInfo getByOpenId(String openId) { - return mallUserInfoMapper.selectByOpenId(openId); + public MallUserInfo getByOpenId(String openId, String tenantId) { + return mallUserInfoMapper.selectByOpenId(openId, tenantId); } @Override - public MallUserInfo getByPhone(String phone) { - return mallUserInfoMapper.selectByPhone(phone); + public MallUserInfo getByPhone(String phone, String tenantId) { + return mallUserInfoMapper.selectByPhone(phone, tenantId); } @Override diff --git a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml index fdac39ba9..e6a15c16a 100644 --- a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml @@ -103,6 +103,9 @@ from mall_user_info where 1=1 + + and `tenant_id`=#{tenantId} + and `open_id`=#{openId} @@ -113,6 +116,9 @@ from mall_user_info where 1=1 + + and `tenant_id`=#{tenantId} + and `phone`=#{phone}