| @@ -19,6 +19,7 @@ import javax.servlet.http.HttpServletRequest; | |||||
| @RestController | @RestController | ||||
| public class BaseController { | public class BaseController { | ||||
| @InitBinder | @InitBinder | ||||
| public void InitBinder(WebDataBinder dataBinder) { | public void InitBinder(WebDataBinder dataBinder) { | ||||
| dataBinder.registerCustomEditor(Date.class, new PropertyEditorSupport() { | dataBinder.registerCustomEditor(Date.class, new PropertyEditorSupport() { | ||||
| @@ -9,6 +9,8 @@ import com.iformall.domain.po.MallRolePermission; | |||||
| import com.iformall.domain.po.MallUserInfo; | import com.iformall.domain.po.MallUserInfo; | ||||
| import com.iformall.domain.po.MallUserRole; | import com.iformall.domain.po.MallUserRole; | ||||
| import com.iformall.domain.po.WxAppinfo; | import com.iformall.domain.po.WxAppinfo; | ||||
| import com.iformall.enums.EnumMenuType; | |||||
| import com.iformall.enums.EnumUserAdmin; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.MallRolePermissionService; | import com.iformall.service.MallRolePermissionService; | ||||
| import com.iformall.service.MallUserInfoService; | import com.iformall.service.MallUserInfoService; | ||||
| @@ -36,6 +38,7 @@ import javax.servlet.ServletOutputStream; | |||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.awt.image.BufferedImage; | import java.awt.image.BufferedImage; | ||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.List; | |||||
| @RestController | @RestController | ||||
| @@ -112,8 +115,10 @@ public class HomeController extends BaseController { | |||||
| // } | // } | ||||
| MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); | MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); | ||||
| info.setPassword("保密"); | info.setPassword("保密"); | ||||
| info.setBopenId("保密"); | |||||
| info.setWebOpenId("保密"); | |||||
| // System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); | // System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); | ||||
| String menus = getPermissionsByRole(info); | |||||
| String menus = mallUserRoleService.getPermissionsByUser(info); | |||||
| if(menus != null) { | if(menus != null) { | ||||
| info.setMenus(menus); | info.setMenus(menus); | ||||
| } | } | ||||
| @@ -124,46 +129,10 @@ public class HomeController extends BaseController { | |||||
| return data; | return data; | ||||
| } | } | ||||
| private String getPermissionsByRole(MallUserInfo info) { | |||||
| MallUserRole ur = new MallUserRole(); | |||||
| ur.setUid(info.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(info.getTenantId()); | |||||
| PageInfo<MallRolePermission> listAsPage = mallRolePermissionService.listAsPage(p, 1, 100); | |||||
| String menus = ""; | |||||
| for (MallRolePermission rp : listAsPage.getList()) { | |||||
| menus += rp.getPermissionId() + ","; | |||||
| } | |||||
| if (menus.length() > 0) { | |||||
| menus = menus.substring(0, menus.length() - 1); | |||||
| } | |||||
| return menus; | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private boolean isInMobileAdmin(MallUserInfo user) { | private boolean isInMobileAdmin(MallUserInfo user) { | ||||
| // 检查用户是否有 移动端数据塔台 权限 | // 检查用户是否有 移动端数据塔台 权限 | ||||
| boolean isInMobile = false; | 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(8L)) { /// 移动端数据塔台 | |||||
| isInMobile = true; | |||||
| } | |||||
| } | |||||
| } | |||||
| isInMobile = mallUserRoleService.checkIsMobileAdmin(user); | |||||
| return isInMobile; | return isInMobile; | ||||
| } | } | ||||
| @@ -186,13 +155,13 @@ public class HomeController extends BaseController { | |||||
| // 领导登录 | // 领导登录 | ||||
| user = mallUserInfoService.getByPhone(user.getPhone(), appinfo.getTenantId()); | user = mallUserInfoService.getByPhone(user.getPhone(), appinfo.getTenantId()); | ||||
| if(user == null || !isInMobileAdmin(user)) { | if(user == null || !isInMobileAdmin(user)) { | ||||
| return new ResultData(ErrorCode.USER_NOT_ADMIN); | |||||
| return new ResultData(ErrorCode.USER_NO_PERMISSION); | |||||
| } | } | ||||
| } else if(StringUtils.isNotBlank(user.getOpenId())) { | |||||
| } else if(StringUtils.isNotBlank(user.getBopenId())) { | |||||
| // 领导登录 | // 领导登录 | ||||
| user = mallUserInfoService.getByOpenId(user.getOpenId(), appinfo.getTenantId()); | |||||
| user = mallUserInfoService.getByBOpenId(user.getBopenId(), appinfo.getTenantId()); | |||||
| if(user == null || !isInMobileAdmin(user)) { | if(user == null || !isInMobileAdmin(user)) { | ||||
| return new ResultData(ErrorCode.USER_NOT_ADMIN); | |||||
| return new ResultData(ErrorCode.USER_NO_PERMISSION); | |||||
| } | } | ||||
| } else { | } else { | ||||
| if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getPassword())) { | if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getPassword())) { | ||||
| @@ -214,8 +183,10 @@ public class HomeController extends BaseController { | |||||
| // } | // } | ||||
| MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); | MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); | ||||
| info.setPassword("保密"); | info.setPassword("保密"); | ||||
| info.setBopenId("保密"); | |||||
| info.setWebOpenId("保密"); | |||||
| // System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); | // System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); | ||||
| String menus = getPermissionsByRole(info); | |||||
| String menus = mallUserRoleService.getPermissionsByUser(info); | |||||
| if(menus != null) { | if(menus != null) { | ||||
| info.setMenus(menus); | info.setMenus(menus); | ||||
| } | } | ||||
| @@ -91,12 +91,12 @@ public class WxInfoController extends BaseController { | |||||
| try { | try { | ||||
| Map<String, String> retMap = getOpenIdInfo(appId, code); | Map<String, String> retMap = getOpenIdInfo(appId, code); | ||||
| String openId = retMap.get("openId"); | String openId = retMap.get("openId"); | ||||
| MallUserInfo user = mallUserInfoService.getByOpenId(openId, wxAppinfo.getTenantId()); | |||||
| MallUserInfo user = mallUserInfoService.getByBOpenId(openId, wxAppinfo.getTenantId()); | |||||
| if(user == null) { | if(user == null) { | ||||
| return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); | return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); | ||||
| } | } | ||||
| if(!isInMobileAdmin(user)) { | |||||
| if(!mallUserRoleService.checkIsMobileAdmin(user)) { | |||||
| return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); | return new ResultData(ErrorCode.USER_NO_PERMISSION, retMap); | ||||
| } | } | ||||
| @@ -109,31 +109,6 @@ public class WxInfoController extends BaseController { | |||||
| } | } | ||||
| } | } | ||||
| private boolean isInMobileAdmin(MallUserInfo user) { | |||||
| // 检查用户是否有 移动端数据塔台 权限 | |||||
| boolean isInMobile = false; | |||||
| if(EnumUserAdmin.ADMIN.getCode().equals(user.getIsAdmin())) { // 超管 | |||||
| isInMobile = true; | |||||
| return isInMobile; | |||||
| } | |||||
| 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(8L)) { /// 移动端数据塔台 | |||||
| isInMobile = true; | |||||
| } | |||||
| } | |||||
| } | |||||
| return isInMobile; | |||||
| } | |||||
| private Map<String,String> getOpenIdInfo(String appId, String code) { | private Map<String,String> getOpenIdInfo(String appId, String code) { | ||||
| WxAppinfo wxAppinfo = getAppInfo(appId); | WxAppinfo wxAppinfo = getAppInfo(appId); | ||||
| WxMaService wxMaService = getWeappServiceByAppInfo(wxAppinfo); | WxMaService wxMaService = getWeappServiceByAppInfo(wxAppinfo); | ||||
| @@ -234,11 +209,11 @@ public class WxInfoController extends BaseController { | |||||
| if(user == null) { | if(user == null) { | ||||
| return new ResultData(ErrorCode.USER_NO_PERMISSION, resultMap); | return new ResultData(ErrorCode.USER_NO_PERMISSION, resultMap); | ||||
| } | } | ||||
| if (isInMobileAdmin(user)) { | |||||
| if (mallUserRoleService.checkIsMobileAdmin(user)) { | |||||
| resultMap.put("phone", user.getPhone()); | resultMap.put("phone", user.getPhone()); | ||||
| resultMap.put("admin", "1"); | resultMap.put("admin", "1"); | ||||
| user.setOpenId(openId); | |||||
| user.setBopenId(openId); | |||||
| mallUserInfoService.saveOrUpdate(user); | mallUserInfoService.saveOrUpdate(user); | ||||
| return new ResultData(resultMap); | return new ResultData(resultMap); | ||||
| @@ -74,8 +74,12 @@ public class MallUserInfo implements Serializable { | |||||
| @io.swagger.annotations.ApiModelProperty(value="手机",name="phone") | @io.swagger.annotations.ApiModelProperty(value="手机",name="phone") | ||||
| private String phone; | private String phone; | ||||
| /** B端用户微信openid,领导看数据塔台用 */ | /** B端用户微信openid,领导看数据塔台用 */ | ||||
| @io.swagger.annotations.ApiModelProperty(value="openId",name="openId") | |||||
| private String openId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="bopenId",name="bopenId") | |||||
| private String bopenId; | |||||
| /** B端用户微信openid,领导看数据塔台用 */ | |||||
| @io.swagger.annotations.ApiModelProperty(value="webOpenId",name="webOpenId") | |||||
| private String webOpenId; | |||||
| @Transient | @Transient | ||||
| private Long roleId; | private Long roleId; | ||||
| @@ -219,15 +223,23 @@ public class MallUserInfo implements Serializable { | |||||
| this.phone = phone; | this.phone = phone; | ||||
| } | } | ||||
| public String getOpenId() { | |||||
| return openId; | |||||
| } | |||||
| public String getBopenId() { | |||||
| return bopenId; | |||||
| } | |||||
| public void setOpenId(String openId) { | |||||
| this.openId = openId; | |||||
| } | |||||
| public void setBopenId(String bopenId) { | |||||
| this.bopenId = bopenId; | |||||
| } | |||||
| public String getWebOpenId() { | |||||
| return webOpenId; | |||||
| } | |||||
| public void setWebOpenId(String webOpenId) { | |||||
| this.webOpenId = webOpenId; | |||||
| } | |||||
| public static enum Field | |||||
| public static enum Field | |||||
| { | { | ||||
| Id_ASC("`id` ASC"),Id_DESC("`id` DESC") | Id_ASC("`id` ASC"),Id_DESC("`id` DESC") | ||||
| ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") | ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") | ||||
| @@ -240,7 +252,8 @@ public class MallUserInfo implements Serializable { | |||||
| ,IsAdmin_ASC("`is_admin` ASC"),IsAdmin_DESC("`is_admin` DESC") | ,IsAdmin_ASC("`is_admin` ASC"),IsAdmin_DESC("`is_admin` DESC") | ||||
| ,NickName_ASC("`nick_name` ASC"),NickName_DESC("`nick_name` DESC") | ,NickName_ASC("`nick_name` ASC"),NickName_DESC("`nick_name` DESC") | ||||
| ,Phone_ASC("`phone` ASC"),Phone_DESC("`phone` DESC") | ,Phone_ASC("`phone` ASC"),Phone_DESC("`phone` DESC") | ||||
| ,OpenId_ASC("`open_id` ASC"),OpenId_DESC("`open_id` DESC") | |||||
| ,BOpenId_ASC("`bopen_id` ASC"),BOpenId_DESC("`bopen_id` DESC") | |||||
| ,WebOpenId_ASC("`web_open_id` ASC"),WebOpenId_DESC("`web_open_id` DESC") | |||||
| ; | ; | ||||
| private String value; | private String value; | ||||
| Field(String value){ | Field(String value){ | ||||
| @@ -0,0 +1,34 @@ | |||||
| package com.iformall.enums; | |||||
| /** | |||||
| * Created by Stormeye on 2018/08/09. | |||||
| */ | |||||
| public enum EnumMenuType { | |||||
| MOBILE_ADMIN(8, "移动端数据塔台") | |||||
| ; | |||||
| public static EnumMenuType getEnum(Integer code) { | |||||
| for (EnumMenuType value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumMenuType(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -13,7 +13,9 @@ public interface MallUserInfoMapper extends CommonMapper<MallUserInfo, String> { | |||||
| MallUserInfo selectByUserName(@Param("username") String username); | MallUserInfo selectByUserName(@Param("username") String username); | ||||
| MallUserInfo selectByOpenId(@Param("openId") String openId, @Param("tenantId") String tenantId); | |||||
| MallUserInfo selectByBOpenId(@Param("bopenId") String bopenId, @Param("tenantId") String tenantId); | |||||
| MallUserInfo selectByWebOpenId(@Param("webOpenId") String webOpenId); | |||||
| MallUserInfo selectByPhone(@Param("phone") String phone, @Param("tenantId") String tenantId); | MallUserInfo selectByPhone(@Param("phone") String phone, @Param("tenantId") String tenantId); | ||||
| @@ -3,17 +3,27 @@ package com.iformall.service; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.domain.po.MallRolePermission; | import com.iformall.domain.po.MallRolePermission; | ||||
| import java.util.List; | |||||
| public interface MallRolePermissionService { | public interface MallRolePermissionService { | ||||
| /** | /** | ||||
| * 根据实体查询分页列表 | * 根据实体查询分页列表 | ||||
| * | * | ||||
| * @param record | * @param record | ||||
| * @param offset | |||||
| * @param limit | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | * @return | ||||
| */ | */ | ||||
| PageInfo<MallRolePermission> listAsPage(MallRolePermission record, Integer pageIndex, Integer pageSize); | PageInfo<MallRolePermission> listAsPage(MallRolePermission record, Integer pageIndex, Integer pageSize); | ||||
| /** | |||||
| * 根据实体查询列表 | |||||
| * | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<MallRolePermission> getList(MallRolePermission record); | |||||
| /** | /** | ||||
| * 根据Id获得实体 | * 根据Id获得实体 | ||||
| @@ -90,12 +90,20 @@ public interface MallUserInfoService { | |||||
| */ | */ | ||||
| MallUserInfo getByPhone(String phone, String tenantId); | MallUserInfo getByPhone(String phone, String tenantId); | ||||
| /** | /** | ||||
| * 根据OpenId获得实体 | |||||
| * 根据B端OpenId获得实体 | |||||
| * | * | ||||
| * @param openId | * @param openId | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| MallUserInfo getByOpenId(String openId, String tenantId); | |||||
| MallUserInfo getByBOpenId(String openId, String tenantId); | |||||
| /** | |||||
| * 根据web端OpenId获得实体 | |||||
| * | |||||
| * @param openId | |||||
| * @return | |||||
| */ | |||||
| MallUserInfo getByWebOpenId(String openId); | |||||
| /** | /** | ||||
| * 根据条件用户列表 | * 根据条件用户列表 | ||||
| @@ -1,6 +1,7 @@ | |||||
| package com.iformall.service; | package com.iformall.service; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.domain.po.MallUserInfo; | |||||
| import com.iformall.domain.po.MallUserRole; | import com.iformall.domain.po.MallUserRole; | ||||
| import java.util.List; | import java.util.List; | ||||
| @@ -11,11 +12,19 @@ public interface MallUserRoleService { | |||||
| * 根据实体查询分页列表 | * 根据实体查询分页列表 | ||||
| * | * | ||||
| * @param record | * @param record | ||||
| * @param offset | |||||
| * @param limit | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | * @return | ||||
| */ | */ | ||||
| PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize); | PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize); | ||||
| /** | |||||
| * 根据实体查询列表 | |||||
| * | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<MallUserRole> getList(MallUserRole record); | |||||
| /** | /** | ||||
| * 根据Id获得实体 | * 根据Id获得实体 | ||||
| @@ -50,6 +59,20 @@ public interface MallUserRoleService { | |||||
| void deleteByUserId(Long uid); | void deleteByUserId(Long uid); | ||||
| /** | |||||
| * 检查用户是否有移动塔台权限 | |||||
| * @param userInfo | |||||
| * @return | |||||
| */ | |||||
| boolean checkIsMobileAdmin(MallUserInfo userInfo); | |||||
| /** | |||||
| * 获取用户menu权限 | |||||
| * @param userInfo | |||||
| * @return | |||||
| */ | |||||
| String getPermissionsByUser(MallUserInfo userInfo); | |||||
| @@ -11,6 +11,8 @@ import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import java.util.List; | |||||
| @Service | @Service | ||||
| public class MallRolePermissionServiceImpl implements MallRolePermissionService { | public class MallRolePermissionServiceImpl implements MallRolePermissionService { | ||||
| @@ -18,8 +20,6 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService | |||||
| @Autowired | @Autowired | ||||
| MallRolePermissionMapper mallUserRolePermissionMapper; | MallRolePermissionMapper mallUserRolePermissionMapper; | ||||
| @Override | @Override | ||||
| @@ -27,6 +27,11 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallUserRolePermissionMapper.findList(record)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallUserRolePermissionMapper.findList(record)); | ||||
| } | } | ||||
| @Override | |||||
| public List<MallRolePermission> getList(MallRolePermission record) { | |||||
| return mallUserRolePermissionMapper.findList(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public MallRolePermission getById(Long id) { | public MallRolePermission getById(Long id) { | ||||
| return mallUserRolePermissionMapper.selectByPrimaryKey(id); | return mallUserRolePermissionMapper.selectByPrimaryKey(id); | ||||
| @@ -58,8 +58,8 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public MallUserInfo getByOpenId(String openId, String tenantId) { | |||||
| return mallUserInfoMapper.selectByOpenId(openId, tenantId); | |||||
| public MallUserInfo getByBOpenId(String openId, String tenantId) { | |||||
| return mallUserInfoMapper.selectByBOpenId(openId, tenantId); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -67,6 +67,11 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { | |||||
| return mallUserInfoMapper.selectByPhone(phone, tenantId); | return mallUserInfoMapper.selectByPhone(phone, tenantId); | ||||
| } | } | ||||
| @Override | |||||
| public MallUserInfo getByWebOpenId(String openId) { | |||||
| return null; | |||||
| } | |||||
| @Override | @Override | ||||
| public void saveOrUpdate(MallUserInfo record) { | public void saveOrUpdate(MallUserInfo record) { | ||||
| if (record.getId() == null) { | if (record.getId() == null) { | ||||
| @@ -3,7 +3,13 @@ package com.iformall.service.impl; | |||||
| import com.github.pagehelper.PageHelper; | import com.github.pagehelper.PageHelper; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.domain.po.MallRolePermission; | |||||
| import com.iformall.domain.po.MallUserInfo; | |||||
| import com.iformall.domain.po.MallUserRole; | import com.iformall.domain.po.MallUserRole; | ||||
| import com.iformall.enums.EnumMenuType; | |||||
| import com.iformall.enums.EnumUserAdmin; | |||||
| import com.iformall.mapper.MallPermissionMapper; | |||||
| import com.iformall.mapper.MallRolePermissionMapper; | |||||
| import com.iformall.mapper.MallUserRoleMapper; | import com.iformall.mapper.MallUserRoleMapper; | ||||
| import com.iformall.service.MallUserRoleService; | import com.iformall.service.MallUserRoleService; | ||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| @@ -20,12 +26,20 @@ public class MallUserRoleServiceImpl implements MallUserRoleService { | |||||
| @Autowired | @Autowired | ||||
| MallUserRoleMapper mallUserRoleMapper; | MallUserRoleMapper mallUserRoleMapper; | ||||
| @Autowired | |||||
| MallRolePermissionMapper mallRolePermissionMapper; | |||||
| @Override | @Override | ||||
| public PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize) { | public PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize) { | ||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallUserRoleMapper.findList(record)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallUserRoleMapper.findList(record)); | ||||
| } | } | ||||
| @Override | |||||
| public List<MallUserRole> getList(MallUserRole record) { | |||||
| return mallUserRoleMapper.findList(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public MallUserRole getById(Long id) { | public MallUserRole getById(Long id) { | ||||
| return mallUserRoleMapper.selectByPrimaryKey(id); | return mallUserRoleMapper.selectByPrimaryKey(id); | ||||
| @@ -64,6 +78,57 @@ public class MallUserRoleServiceImpl implements MallUserRoleService { | |||||
| mallUserRoleMapper.deleteByUserId(uid); | mallUserRoleMapper.deleteByUserId(uid); | ||||
| } | } | ||||
| @Override | |||||
| public boolean checkIsMobileAdmin(MallUserInfo userInfo) { | |||||
| boolean isInMobile = false; | |||||
| if(EnumUserAdmin.ADMIN.getCode().equals(userInfo.getIsAdmin())) { // 超管 | |||||
| isInMobile = true; | |||||
| return isInMobile; | |||||
| } | |||||
| MallUserRole ur = new MallUserRole(); | |||||
| ur.setUid(userInfo.getId()); | |||||
| List<MallUserRole> userRoles = mallUserRoleMapper.findList(ur); | |||||
| if (userRoles.size() > 0) { | |||||
| MallUserRole userRole = userRoles.get(0); | |||||
| Long roleId = userRole.getRoleId(); | |||||
| MallRolePermission p = new MallRolePermission(); | |||||
| p.setRoleId(roleId); | |||||
| p.setTenantId(userInfo.getTenantId()); | |||||
| List<MallRolePermission> rolePermissions = mallRolePermissionMapper.findList(p); | |||||
| for (MallRolePermission rp : rolePermissions) { | |||||
| if (rp.getPermissionId().equals(EnumMenuType.MOBILE_ADMIN.getCode())) { /// 移动端数据塔台 | |||||
| isInMobile = true; | |||||
| return isInMobile; | |||||
| } | |||||
| } | |||||
| } | |||||
| return isInMobile; | |||||
| } | |||||
| @Override | |||||
| public String getPermissionsByUser(MallUserInfo userInfo) { | |||||
| MallUserRole ur = new MallUserRole(); | |||||
| ur.setUid(userInfo.getId()); | |||||
| List<MallUserRole> userRoleList = mallUserRoleMapper.findList(ur); | |||||
| if (userRoleList.size() > 0) { | |||||
| MallUserRole userRole = userRoleList.get(0); | |||||
| Long roleId = userRole.getRoleId(); | |||||
| MallRolePermission p = new MallRolePermission(); | |||||
| p.setRoleId(roleId); | |||||
| p.setTenantId(userInfo.getTenantId()); | |||||
| List<MallRolePermission> rolePermissionList = mallRolePermissionMapper.findList(p); | |||||
| String menus = ""; | |||||
| for (MallRolePermission rp : rolePermissionList) { | |||||
| menus += rp.getPermissionId() + ","; | |||||
| } | |||||
| if (menus.length() > 0) { | |||||
| menus = menus.substring(0, menus.length() - 1); | |||||
| } | |||||
| return menus; | |||||
| } | |||||
| return null; | |||||
| } | |||||
| @@ -13,11 +13,20 @@ | |||||
| <result column="is_admin" jdbcType="INTEGER" property="isAdmin"/> | <result column="is_admin" jdbcType="INTEGER" property="isAdmin"/> | ||||
| <result column="nick_name" jdbcType="VARCHAR" property="nickName"/> | <result column="nick_name" jdbcType="VARCHAR" property="nickName"/> | ||||
| <result column="phone" jdbcType="VARCHAR" property="phone"/> | <result column="phone" jdbcType="VARCHAR" property="phone"/> | ||||
| <<<<<<< HEAD | |||||
| ======= | |||||
| <result column="bopen_id" jdbcType="VARCHAR" property="bopenId"/> | |||||
| <result column="web_open_id" jdbcType="VARCHAR" property="webOpenId"/> | |||||
| >>>>>>> [移动塔台登录][修改]:移动塔台登录修改 | |||||
| <result column="flow_permission" property="flowPermission"/> | <result column="flow_permission" property="flowPermission"/> | ||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| <<<<<<< HEAD | |||||
| `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`,`flow_permission` | `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`,`flow_permission` | ||||
| ======= | |||||
| `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`,`bopen_id`,`web_open_id`,`flow_permission` | |||||
| >>>>>>> [移动塔台登录][修改]:移动塔台登录修改 | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -64,8 +73,11 @@ | |||||
| <if test=" null != phone "> | <if test=" null != phone "> | ||||
| and `phone` = #{phone} | and `phone` = #{phone} | ||||
| </if> | </if> | ||||
| <if test=" null != openId "> | |||||
| and `open_id` = #{openId} | |||||
| <if test=" null != bopenId "> | |||||
| and `bopen_id` = #{bopenId} | |||||
| </if> | |||||
| <if test=" null != webOpenId "> | |||||
| and `web_open_id` = #{webOpenId} | |||||
| </if> | </if> | ||||
| <if test=" null != flowPermission "> | <if test=" null != flowPermission "> | ||||
| and JSON_CONTAINS(flow_permission->'$[*]', #{flowPermission}, '$') | and JSON_CONTAINS(flow_permission->'$[*]', #{flowPermission}, '$') | ||||
| @@ -97,7 +109,7 @@ | |||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| <select id="selectByOpenId" resultMap="BaseResultMap"> | |||||
| <select id="selectByBOpenId" resultMap="BaseResultMap"> | |||||
| select | select | ||||
| <include refid="allColumns"/> | <include refid="allColumns"/> | ||||
| from mall_user_info | from mall_user_info | ||||
| @@ -105,8 +117,18 @@ | |||||
| <if test=" null != tenantId "> | <if test=" null != tenantId "> | ||||
| and `tenant_id`=#{tenantId} | and `tenant_id`=#{tenantId} | ||||
| </if> | </if> | ||||
| <if test=" null != openId "> | |||||
| and `open_id`=#{openId} | |||||
| <if test=" null != bopenId "> | |||||
| and `bopen_id`=#{bopenId} | |||||
| </if> | |||||
| </select> | |||||
| <select id="selectByWebOpenId" resultMap="BaseResultMap"> | |||||
| select | |||||
| <include refid="allColumns"/> | |||||
| from mall_user_info | |||||
| where 1=1 | |||||
| <if test=" null != webOpenId "> | |||||
| and `web_open_id`=#{webOpenId} | |||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| @@ -29,6 +29,7 @@ | |||||
| <properties> | <properties> | ||||
| <weixin-java-common.version>3.3.0</weixin-java-common.version> | <weixin-java-common.version>3.3.0</weixin-java-common.version> | ||||
| <weixin-java-mp.version>3.3.0</weixin-java-mp.version> | |||||
| <weixin-java-miniapp.version>3.3.0</weixin-java-miniapp.version> | <weixin-java-miniapp.version>3.3.0</weixin-java-miniapp.version> | ||||
| <weixin-java-pay.version>3.3.0</weixin-java-pay.version> | <weixin-java-pay.version>3.3.0</weixin-java-pay.version> | ||||
| <quartz.version>2.3.0</quartz.version> | <quartz.version>2.3.0</quartz.version> | ||||
| @@ -314,6 +315,12 @@ | |||||
| <version>${weixin-java-miniapp.version}</version> | <version>${weixin-java-miniapp.version}</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.github.binarywang</groupId> | |||||
| <artifactId>weixin-java-mp</artifactId> | |||||
| <version>${weixin-java-mp.version}</version> | |||||
| </dependency> | |||||
| <dependency> | <dependency> | ||||
| <groupId>com.github.binarywang</groupId> | <groupId>com.github.binarywang</groupId> | ||||
| <artifactId>weixin-java-pay</artifactId> | <artifactId>weixin-java-pay</artifactId> | ||||