| @@ -4,19 +4,16 @@ package com.iformall.controller; | |||
| import cn.binarywang.wx.miniapp.api.WxMaService; | |||
| import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; | |||
| import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.annotation.AuthIgnore; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxCUser; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.enums.EnumAssignTagsTrigger; | |||
| import com.iformall.enums.EnumScoreType; | |||
| import com.iformall.enums.EnumUserAdmin; | |||
| import com.iformall.domain.po.*; | |||
| 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 io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiOperation; | |||
| @@ -49,6 +46,12 @@ public class WxInfoController extends BaseController { | |||
| @Autowired | |||
| MallUserInfoService mallUserInfoService; | |||
| @Autowired | |||
| MallUserRoleService mallUserRoleService; | |||
| @Autowired | |||
| MallRolePermissionService mallRolePermissionService; | |||
| @ApiOperation("获取OPENID") | |||
| @PostMapping("getOpenId") | |||
| public ResultData getOpenId(@RequestBody Map<String,String> param) { | |||
| @@ -90,9 +93,10 @@ public class WxInfoController extends BaseController { | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); | |||
| } | |||
| if(!user.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||
| return new ResultData(ErrorCode.USER_NOT_ADMIN, retMap); | |||
| if(!isInMobileAdmin(user)) { | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); | |||
| } | |||
| retMap.put("phone", user.getPhone()); | |||
| retMap.put("msg", "领导来了,欢迎"); | |||
| @@ -102,6 +106,27 @@ public class WxInfoController extends BaseController { | |||
| } | |||
| } | |||
| private boolean isInMobileAdmin(MallUserInfo user) { | |||
| // 检查用户是否有 移动端数据塔台 权限 | |||
| boolean isInMobile = false; | |||
| MallUserRole ur = new MallUserRole(); | |||
| ur.setUid(user.getId()); | |||
| PageInfo<MallUserRole> page = mallUserRoleService.listAsPage(ur, 1, 1); | |||
| if (page.getSize() > 0) { | |||
| Long roleId = page.getList().get(0).getRoleId(); | |||
| MallRolePermission p = new MallRolePermission(); | |||
| p.setRoleId(roleId); | |||
| p.setTenantId(user.getTenantId()); | |||
| PageInfo<MallRolePermission> listAsPage = mallRolePermissionService.listAsPage(p, 1, 100); | |||
| for (MallRolePermission rp : listAsPage.getList()) { | |||
| if (rp.getPermissionId().equals(8)) { /// 移动端数据塔台 | |||
| isInMobile = true; | |||
| } | |||
| } | |||
| } | |||
| return isInMobile; | |||
| } | |||
| private Map<String,String> getOpenIdInfo(String appId, String code) { | |||
| WxAppinfo wxAppinfo = getAppInfo(appId); | |||
| WxMaService wxMaService = getWeappServiceByAppInfo(wxAppinfo); | |||
| @@ -200,7 +225,7 @@ public class WxInfoController extends BaseController { | |||
| if(user == null) { | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION, resultMap); | |||
| } | |||
| if (user.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||
| if (isInMobileAdmin(user)) { | |||
| resultMap.put("phone", user.getPhone()); | |||
| resultMap.put("admin", "1"); | |||