diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java index 18a16ed78d..051796e71c 100644 --- a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java @@ -17,8 +17,10 @@ import com.epmet.commons.mybatis.enums.EpmetDelFlagEnum; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.security.user.SecurityUser; import com.epmet.commons.tools.security.user.UserDetail; +import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; @@ -40,21 +42,24 @@ public class FieldMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { - UserDetail user = SecurityUser.getUser(); Date date = new Date(); if (metaObject.getOriginalObject() instanceof BaseEpmetEntity) { - String userId = user == null ? Constant.APP_USER_FLAG : String.valueOf(user.getId()); - Long deptId = user == null ? null : user.getDeptId(); + String loginUserId = LoginUserUtil.getLoginUserId(); + // epmet项目新增的 + loginUserId = StringUtils.isBlank(loginUserId) ? Constant.APP_USER_FLAG : loginUserId; + //Long deptId = user == null ? null : user.getDeptId(); setFieldValByName(FieldConstant.CREATED_TIME_HUMP, date, metaObject); - setFieldValByName(FieldConstant.CREATED_BY_HUMP, userId, metaObject); + setFieldValByName(FieldConstant.CREATED_BY_HUMP, loginUserId, metaObject); setFieldValByName(FieldConstant.UPDATED_TIME_HUMP, date, metaObject); - setFieldValByName(FieldConstant.UPDATED_BY_HUMP, userId, metaObject); + setFieldValByName(FieldConstant.UPDATED_BY_HUMP, loginUserId, metaObject); setFieldValByName(FieldConstant.REVISION_HUMP, NumConstant.ZERO, metaObject); //删除标识 setFieldValByName(FieldConstant.DEL_FLAG_HUMP, EpmetDelFlagEnum.NORMAL.value(), metaObject); // 数据权限标志 - setInsertFieldValByName(DEPT_ID, deptId, metaObject); + //setInsertFieldValByName(DEPT_ID, deptId, metaObject); } else { + UserDetail user = SecurityUser.getUser(); + // renren自带的 if (user == null) { return; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java new file mode 100644 index 0000000000..2b249bee22 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java @@ -0,0 +1,33 @@ +package com.epmet.commons.tools.security.user; + +import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.utils.HttpContextUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 登录用户相关工具 + */ +public class LoginUserUtil { + + /** + * 查询登录用户的id + * @return + */ + public static String getLoginUserId() { + HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); + if (request == null) { + return null; + } + + String userId = request.getHeader(Constant.USER_KEY); + if (StringUtils.isBlank(userId)) { + return null; + } + return userId; + } +} diff --git a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java index 85314a7ae1..7e85cfeb03 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java @@ -38,7 +38,7 @@ import java.util.List; * @since 1.0.0 */ @Component("CpAuth") -public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory { +public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory implements UserTokenFilter { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private CpProperty cpProperty; @@ -90,7 +90,7 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory response(ServerWebExchange exchange, Object object) { String json = JSON.toJSONString(object); diff --git a/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java b/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java new file mode 100644 index 0000000000..dcf8f40909 --- /dev/null +++ b/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java @@ -0,0 +1,62 @@ +package com.epmet.filter; + +import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.CpUserDetailRedis; +import com.epmet.jwt.JwtTokenUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.gateway.filter.GatewayFilterChain; +import org.springframework.cloud.gateway.filter.GlobalFilter; +import org.springframework.http.HttpHeaders; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.stereotype.Component; +import org.springframework.web.server.ServerWebExchange; +import reactor.core.publisher.Mono; + +/** + * Feign调用发送请求的Filter + * 目前用于封装用户相关信息到request,供上游微服务使用 + */ +@Component +public class FeignRequestFilter implements GlobalFilter, UserTokenFilter { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private JwtTokenUtils jwtTokenUtils; + @Autowired + private CpUserDetailRedis cpUserDetailRedis; + + @Override + public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { + ServerHttpRequest request = exchange.getRequest(); + HttpHeaders headers = request.getHeaders(); + String token = headers.getFirst(Constant.AUTHORIZATION_HEADER); + if (StringUtils.isBlank(token)) { + token = headers.getFirst(Constant.TOKEN_HEADER); + logger.info("token=" + token); + } else { + logger.info("authorization=" + token); + } + if (StringUtils.isBlank(token)) { + token = request.getQueryParams().getFirst(Constant.AUTHORIZATION_HEADER); + logger.info("params token:" + token); + } + + if (StringUtils.isBlank(token)) { + return chain.filter(exchange); + } + + TokenDto loginUserInfo = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis); + if (loginUserInfo != null) { + ServerHttpRequest build = exchange.getRequest().mutate() + .header(Constant.USER_KEY, new String[]{loginUserInfo.getUserId()}).build(); + return chain.filter(exchange.mutate().request(build).build()); + } + + return chain.filter(exchange); + } +} diff --git a/epmet-gateway/src/main/java/com/epmet/filter/UserTokenFilter.java b/epmet-gateway/src/main/java/com/epmet/filter/UserTokenFilter.java new file mode 100644 index 0000000000..d026d16783 --- /dev/null +++ b/epmet-gateway/src/main/java/com/epmet/filter/UserTokenFilter.java @@ -0,0 +1,45 @@ +package com.epmet.filter; + +import com.epmet.common.token.enums.ErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.CpUserDetailRedis; +import com.epmet.jwt.JwtTokenUtils; +import io.jsonwebtoken.Claims; + +/** + * 用户token的过滤器接口,提供通用的默认方法 + */ +public interface UserTokenFilter { + + default TokenDto getLoginUserInfoByToken(String token, JwtTokenUtils jwtTokenUtils, CpUserDetailRedis cpUserDetailRedis) { + //是否过期 + Claims claims = jwtTokenUtils.getClaimByToken(token); + if (claims == null || jwtTokenUtils.isTokenExpired(claims.getExpiration())) { + throw new RenException(ErrorCode.ERR401.getCode(),ErrorCode.ERR401.getMsg()); + } + //获取用户ID + String app = (String) claims.get("app"); + String client = (String) claims.get("client"); + String userId = (String) claims.get("userId"); + //查询Redis + TokenDto tokenDto = cpUserDetailRedis.get(app, client, userId); + //if (null == tokenDto) { + // //说明登录状态时效(超时) + // throw new RenException(ErrorCode.ERR10006.getCode(),ErrorCode.ERR10006.getMsg()); + //}else{ + // //Redis中存在数据,取出token,进行比对 + // if(StringUtils.equals(tokenDto.getToken(),token)){ + // //用户携带token与Redis中一致 + // + // }else{ + // //用户携带token与Redis中不一致,说明当前用户此次会话失效,提示重新登陆 + // throw new RenException(ErrorCode.ERR10007.getCode(),ErrorCode.ERR10007.getMsg()); + // } + // + //} + + return tokenDto; + } + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/SysSmsEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/SysSmsEntity.java index e0e4009479..a7ea2368a2 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/SysSmsEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/SysSmsEntity.java @@ -10,7 +10,7 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; -import com.epmet.commons.mybatis.entity.BaseEntity; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -22,7 +22,7 @@ import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper=false) @TableName("sys_sms") -public class SysSmsEntity extends BaseEntity { +public class SysSmsEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; /** diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 0131b235c0..6b9c9314d9 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -96,13 +96,7 @@ public class SysSmsServiceImpl extends BaseServiceImpl } sms.setStatus(status); - sms.setCreateDate(new Date()); - baseDao.tempInsert(sms.getPlatform(), - sms.getMobile(), - sms.getParams1(), - sms.getParams2(), - sms.getParams3(), - sms.getParams4(), - sms.getStatus()); + //sms.setCreateDate(new Date()); + baseDao.insert(sms); } } diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index 27f935166a..b212d3a44b 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -82,12 +82,6 @@ 2.0.0 compile - - com.epmet - resi-partymember-client - 2.0.0 - compile - diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java index 39c2a91b87..379a9491e9 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController; * @date 2020/3/30 16:11 */ @RestController -@RequestMapping("partymemberbaseinfo") +@RequestMapping("partymember") public class PartyMemberController { @Autowired diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java index 3ddbbdaef0..eb13aa4bd1 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java @@ -42,6 +42,7 @@ public class PartyMemberServiceImpl implements PartyMemberService { partyMemberInfo.setGridId(fromDTO.getGridId()); partyMemberInfo.setUserId(tokenDto.getUserId()); partyMemberInfo.setPartymemberVisitId(fromDTO.getVisitId()); + partyMemberInfo.setApp(tokenDto.getApp()); return resiPartymemberFeignClient.submit(partyMemberInfo); } diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java index d4488e08de..de4cbcb0a6 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java @@ -59,6 +59,7 @@ public class ResiRegisterServiceImpl implements ResiRegisterService { return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); } formDTO.setUserId(tokenDTO.getUserId()); + formDTO.setApp(tokenDTO.getApp()); return epmetUserFeignClient.submit(formDTO); } diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberInfoDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberInfoDTO.java index b9d15433d6..bcec93c456 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberInfoDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberInfoDTO.java @@ -154,4 +154,9 @@ public class PartymemberInfoDTO implements Serializable { */ private String code; + /** + * 所属端 + */ + private String app; + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index c86652bf6b..460f436997 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -81,12 +81,6 @@ RELEASE compile - - com.epmet - epmet-user-server - 2.0.0 - compile - diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index ab94cf8369..ff7c2ca523 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -1,10 +1,10 @@ package com.epmet.modules.partymember.service.impl; +import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.PartyMemberConstant; -import com.epmet.constant.UserConstant; import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; @@ -157,7 +157,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService //添加用户党员角色关系 UserRoleDTO userRole = new UserRoleDTO(); userRole.setUserId(partyMemberInfoDTO.getUserId()); - userRole.setRoleKey(UserConstant.ROLE_PARTYMEMBER); + userRole.setRoleKey(EpmetRoleKeyConstant.PARTYMEMBER); + userRole.setApp(partyMemberInfoDTO.getApp()); epmetUserFeignClient.saveUserRole(userRole); //存入党员注册关系表 用于统计客户网格的认证党员数 saveRegisterRelation(partyMemberInfoDTO); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java index b3d79d599e..eb38891968 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java @@ -33,6 +33,11 @@ public class UserResiInfoDTO implements Serializable { private static final long serialVersionUID = 1L; + /** + * 政府端:gov、居民端:resi、运营端:oper + */ + private String app; + /** * 唯一标识 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java index f25d0ec9f6..e5f599b49a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserRoleDTO.java @@ -54,6 +54,11 @@ public class UserRoleDTO implements Serializable { */ private String roleId; + /** + * 所属端App + */ + private String app; + /** * 角色Key值 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java index 478f58a4e4..401de633bd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java @@ -47,7 +47,7 @@ public interface UserResiInfoDao extends BaseDao { * @Author sun * @Description 用户居民端注册信息表新增数据 **/ - void saveUserResiInfo(UserResiInfoDTO userResiInfoDTO); + boolean saveUserResiInfo(UserResiInfoDTO userResiInfoDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java index 0fac9314a9..5fdd6ca3db 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserRoleFormDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.UserRoleEntity; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiInfoRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiInfoRedis.java index 5906451782..36a7846604 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiInfoRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiInfoRedis.java @@ -17,6 +17,7 @@ package com.epmet.redis; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -44,4 +45,14 @@ public class UserResiInfoRedis { return null; } + public void setUserResiMobileCode(String userId, String mobile, String verificationCode){ + String key = RedisKeys.getUserMobileCodeKey(userId, mobile, verificationCode); + redisUtils.set(key, verificationCode); + } + + public String getUserResiMobileCode(String userId, String mobile, String verificationCode){ + String key = RedisKeys.getUserMobileCodeKey(userId, mobile, verificationCode); + return (String) redisUtils.get(key); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java index 715dd1a58d..54ff59b1c3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java @@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; @@ -169,15 +170,23 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl - \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml index b715cf1b32..dc4a525517 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml @@ -16,32 +16,31 @@ + - - SELECT + SELECT DISTINCT er.ROLE_NAME, er.ROLE_KEY - FROM + FROM USER_ROLE ur JOIN EPMET_ROLE er ON ur.ROLE_ID = er.ID - + er.DEL_FLAG = 0 AND ur.DEL_FLAG = 0 AND ur.USER_ID = #{userId} - - AND - er.APP = #{app} - - - AND - ur.CUSTOMER_ID = #{customerId} - - + + AND + er.APP = #{app} + + + AND + ur.CUSTOMER_ID = #{customerId} + +