diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java index 9bde82e34..7f460703d 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java @@ -249,6 +249,9 @@ public class WxInfoController extends BaseController { if (StringUtils.isBlank(iv)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); } + if (StringUtils.isBlank(openId)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "openId 不能为空"); + } WxAppinfo wxAppinfo = getAppInfo(appId); if (wxAppinfo == null) { @@ -261,7 +264,8 @@ public class WxInfoController extends BaseController { TenantEntity tenantEntity = new TenantEntity(); tenantEntity.setTenantId(wxAppinfo.getTenantId()); - CUser buser = getCUser(); + CUser buser = cuserFactory.getBUserService(appPlat).getByOpenId(openId,tenantEntity.getTenantId()); + try { // 解密 String phone = cuserFactory.getBUserService(appPlat).decryptPhoneNoInfo(encryptedData, iv, buser, wxAppinfo, isFmOpen); @@ -316,14 +320,22 @@ public class WxInfoController extends BaseController { if (StringUtils.isBlank(iv)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); } + if (StringUtils.isBlank(openId)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "openId 不能为空"); + } - CUser buser = getCUser(); - WxAppinfo wxAppinfo = wxAppinfoService.getByAppId(buser.getAppId()); + WxAppinfo wxAppinfo = getAppInfo(appId); if(wxAppinfo == null){ return new ResultData(ErrorCode.APP_ID_NOT_FOUND); } + EnumAppPlat appPlat = EnumAppPlat.getByCode(wxAppinfo.getPlat()); + if(appPlat == null){ + return new ResultData(ErrorCode.APP_PLAT_ERROR); + } + CUser buser = cuserFactory.getBUserService(appPlat).getByOpenId(openId,wxAppinfo.getTenantId()); + try { - String phone = cuserFactory.getBUserService(buser.getAppPlat()).decryptPhoneNoInfo(encryptedData, iv, buser, wxAppinfo, isFmOpen); + String phone = cuserFactory.getBUserService(appPlat).decryptPhoneNoInfo(encryptedData, iv, buser, wxAppinfo, isFmOpen); resultMap.put("msg", "授权手机成功!"); resultMap.put("phone", phone); return new ResultData(resultMap); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java index 8afdc0d2f..27dacedad 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java @@ -32,6 +32,7 @@ public interface CUserServiceApapter { CUser handleLoginUser(CUser cUser, WxCUserFrom wxCUserFrom); CUser getById(Long id, String tenantId); + CUser getByOpenId(String openId, String tenantId); void updateScene(CUser user); @@ -46,4 +47,5 @@ public interface CUserServiceApapter { List findCountHistory(WxCUserBasicInfoDto dto, List tenantEntitys); void actionAfterLogin(CUser user); + } diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java index f91f1f495..2c176e759 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java @@ -197,6 +197,14 @@ public class TtBUserServiceAdapter extends BasicCUserService implements CUserSer return ttBuserMapper.selectById(id); } + @Override + public CUser getByOpenId(String openId, String tenantId) { + TtBuser buser = new TtBuser(); + buser.setTenantId(tenantId); + buser.setOpenId(openId); + return ttBuserMapper.findByOpenId(buser); + } + @Override public void updateScene(CUser user) { TtBuser userL = new TtBuser(); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java index d963295c1..d5fec283d 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java @@ -246,6 +246,14 @@ public class TtCUserServiceAdapter extends BasicCUserService implements CUserSer return ttCUserMapper.selectById(id,tenantId); } + @Override + public CUser getByOpenId(String openId, String tenantId) { + TtCUser cUser = new TtCUser(); + cUser.setTenantId(tenantId); + cUser.setOpenId(openId); + return ttCUserMapper.findByOpenId(cUser); + } + @Override public void updateScene(CUser user) { TtCUser userL = new TtCUser(); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java index 4a3883da2..7e2a390b5 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java @@ -197,6 +197,14 @@ public class WxBUserServiceAdapter extends BasicCUserService implements CUserSer return wxBuserMapper.selectById(id); } + @Override + public CUser getByOpenId(String openId, String tenantId) { + WxBuser buser = new WxBuser(); + buser.setTenantId(tenantId); + buser.setOpenId(openId); + return wxBuserMapper.findByOpenId(buser); + } + @Override public void updateScene(CUser user) { WxBuser userL = new WxBuser(); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java index 401e3e091..851978565 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java @@ -253,6 +253,14 @@ public class WxCUserServiceAdapter extends BasicCUserService implements CUserSer return wxCUserMapper.selectById(id,tenantId); } + @Override + public CUser getByOpenId(String openId, String tenantId) { + WxCUser wxCUser = new WxCUser(); + wxCUser.setTenantId(tenantId); + wxCUser.setOpenId(openId); + return wxCUserMapper.findByOpenId(wxCUser); + } + @Override public void updateScene(CUser user) { WxCUser userL = new WxCUser(); diff --git a/mallinkService/src/main/resources/mapper/TtBuserMapper.xml b/mallinkService/src/main/resources/mapper/TtBuserMapper.xml index 1b911ae0f..904a3caa3 100644 --- a/mallinkService/src/main/resources/mapper/TtBuserMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtBuserMapper.xml @@ -231,7 +231,10 @@ select * from wx_buser - where `app_id` = #{appId} and `open_id` = #{openId} + where `open_id` = #{openId} + + and `app_id` = #{appId} +