diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java index 811250c1526d9de89b1617e275fbe13055977e74..6ed5588b2f99437d2b1bf9a51b720f0f6be57b72 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java @@ -2,14 +2,13 @@ package com.mortals.xhx.base.framework.interceptor; import com.alibaba.fastjson.JSONObject; import com.mortals.framework.annotation.UnAuth; -import com.mortals.framework.common.Rest; import com.mortals.framework.service.IAuthTokenService; import com.mortals.framework.service.IUser; import com.mortals.framework.util.AESUtil; import com.mortals.framework.utils.ServletUtils; import com.mortals.framework.web.interceptor.BaseInterceptor; import com.mortals.xhx.base.framework.config.InterceptorConfig; -import com.mortals.xhx.common.code.ApiRespCodeEnum; +import com.mortals.xhx.common.key.Constant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; @@ -20,9 +19,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Method; -import static com.mortals.xhx.common.key.ErrorCode.*; -import static com.mortals.xhx.common.key.ErrorCode.ERROR_USER_OPERATION_CONTENT; - /** * 鐢ㄦ埛鏉冮檺楠岃瘉锛屽熀浜巘oken * @@ -44,8 +40,7 @@ public class AuthUserInterceptor extends BaseInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - JSONObject ret = new JSONObject(); - if(handler instanceof HandlerMethod){ + if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; Method method = handlerMethod.getMethod(); UnAuth annotation = method.getAnnotation(UnAuth.class); @@ -53,9 +48,10 @@ public class AuthUserInterceptor extends BaseInterceptor { //鍙栨秷鏍¢獙 return true; } - }else if(handler instanceof ResourceHttpRequestHandler){ + } else if (handler instanceof ResourceHttpRequestHandler) { return true; } + JSONObject ret = new JSONObject(); try { String uri = request.getServletPath(); //鏍¢獙閰嶇疆鐨勮姹傝矾寰勬槸鍚﹂渶瑕佹鏌ユ潈闄� @@ -63,23 +59,23 @@ public class AuthUserInterceptor extends BaseInterceptor { //闇€瑕佹牎楠屾潈闄� boolean auth = this.checkAuth(request, uri, config.getSecurityKey()); if (!auth) { - //鏍¢獙token涓嶆甯� - String token = authTokenService.getToken(request); - if(ObjectUtils.isEmpty(token)){ - ServletUtils.renderString(response, JSONObject.toJSONString(Rest.fail(ERROR_TOKEN_UNAUTHORIZED, ERROR_TOKEN_UNAUTHORIZED_CONTENT))); - return false; - } //涓嶅瓨鍦ㄦ椂鍊� 濡傛灉鏄鐞嗗憳涔熶笉鍋氭嫤鎴� IUser loginUser = authTokenService.getLoginUser(request); - if (ObjectUtils.isEmpty(loginUser)) { - ServletUtils.renderString(response, JSONObject.toJSONString(Rest.fail(ERROR_TOKEN_EXPIRED, ERROR_TOKEN_EXPIRED_CONTENT))); + //loginUser.isManager() + if(ObjectUtils.isEmpty(loginUser)){ + ret.put("code", 401); + ret.put("msg", "鐢ㄦ埛鏈櫥褰曟垨鐧诲綍澶辨晥锛岃閲嶆柊鐧诲綍"); + ServletUtils.renderString(response, JSONObject.toJSONString(ret)); return false; - } else if (loginUser.isAdmin() || loginUser.getUserType() == 1) { + }else if(loginUser.isAdmin()||loginUser.getUserType()==1){ return super.preHandle(request, response, handler); } else { - ServletUtils.renderString(response, JSONObject.toJSONString(Rest.fail(ERROR_USER_OPERATION, ERROR_USER_OPERATION_CONTENT))); + ret.put("code", -1); + ret.put("msg", "鐢ㄦ埛鏃犺鎿嶄綔鏉冮檺!"); + ServletUtils.renderString(response, JSONObject.toJSONString(ret)); return false; } + } } } catch (Exception e) { @@ -106,4 +102,6 @@ public class AuthUserInterceptor extends BaseInterceptor { return false; } + + } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/service/impl/ResourceServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/service/impl/ResourceServiceImpl.java index eb1615990dac4d3267236c76c5a95d4325d6e953..15c6d9e7fdc76b8a84a84fc97f124de5c5d04687 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/service/impl/ResourceServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/service/impl/ResourceServiceImpl.java @@ -15,7 +15,6 @@ import com.mortals.xhx.base.system.resource.dao.ResourceDao; import com.mortals.xhx.base.system.resource.model.ResourceEntity; import com.mortals.xhx.base.system.resource.model.ResourceQuery; import com.mortals.xhx.base.system.resource.service.ResourceService; - import org.springframework.stereotype.Service; import java.util.HashSet; diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceController.java index bb8abbb3687c67481ddc69856cc313742a34e71d..c75ef9606437b03ee9b3073d14f3c660256e48ff 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceController.java @@ -1,28 +1,22 @@ package com.mortals.xhx.base.system.resource.web; -import java.util.HashMap; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.alibaba.fastjson.JSONObject; import com.mortals.framework.common.IBaseEnum; import com.mortals.framework.common.code.UserType; +import com.mortals.framework.model.Context; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; +import com.mortals.xhx.base.system.resource.model.ResourceEntity; +import com.mortals.xhx.base.system.resource.service.ResourceService; +import com.mortals.xhx.common.code.AuthType; +import com.mortals.xhx.common.code.SourceType; import lombok.extern.slf4j.Slf4j; -import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.alibaba.fastjson.JSONObject; -import com.mortals.framework.model.Context; -import com.mortals.framework.web.BaseCRUDJsonMappingController; -import com.mortals.xhx.base.system.resource.model.ResourceEntity; -import com.mortals.xhx.base.system.resource.service.ResourceService; -import com.mortals.xhx.common.code.AuthType; -import com.mortals.xhx.common.code.SourceType; +import java.util.HashMap; +import java.util.Map; /** * 璧勬簮淇℃伅 @@ -36,7 +30,6 @@ import com.mortals.xhx.common.code.SourceType; public class ResourceController extends BaseCRUDJsonBodyMappingController<ResourceService,ResourceEntity,Long> { public ResourceController(){ - super.setFormClass(ResourceForm.class); super.setModuleDesc("璧勬簮淇℃伅"); } @@ -45,14 +38,11 @@ public class ResourceController extends BaseCRUDJsonBodyMappingController<Resour Map<String, Object> statsus = new HashMap<String, Object>(); statsus.put("authType", AuthType.getEnumMap()); statsus.put("sourceType", SourceType.getEnumMap()); - if(!ObjectUtils.isEmpty(context.getUser())){ - if (context.getUser().isAdmin()) { - statsus.put("userType", IBaseEnum.getEnumMap(UserType.class)); - } else { - statsus.put("userType", UserType.findByValue(getCurUser().getUserType())); - } + if (getCurUser().isAdmin()) { + statsus.put("userType", IBaseEnum.getEnumMap(UserType.class)); + } else { + statsus.put("userType", UserType.findByValue(getCurUser().getUserType())); } - model.put(KEY_RESULT_DICT, statsus); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceForm.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceForm.java deleted file mode 100644 index a03f1e3b9dae56d9a9fd30854ba09ee1721f77c4..0000000000000000000000000000000000000000 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceForm.java +++ /dev/null @@ -1,47 +0,0 @@ -/** -* 鏂囦欢锛歊esourceForm.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ -package com.mortals.xhx.base.system.resource.web; - - -import com.mortals.framework.web.BaseCRUDFormLong; -import com.mortals.xhx.base.system.resource.model.ResourceEntity; -import com.mortals.xhx.base.system.resource.model.ResourceQuery; - -/** - * <p>Title: 璧勬簮淇℃伅</p> - * <p>Description: ResourceForm </p> - * <p>Copyright: Copyright ® </p> - * <p>Company: </p> - * @author - * @version 1.0.0 - */ -public class ResourceForm extends BaseCRUDFormLong<ResourceEntity> { - private ResourceEntity entity = new ResourceEntity(); - private ResourceQuery query = new ResourceQuery(); - public ResourceForm(){ - - } - - @Override - public ResourceEntity getEntity() { - return entity; - } - - public void setEntity(ResourceEntity entity) { - this.entity = entity; - } - - @Override - public ResourceQuery getQuery() { - return query; - } - - public void setQuery(ResourceQuery query) { - this.query = query; - } -} \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleAuthServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleAuthServiceImpl.java index 8beaea0d99a98569f8d23fd78fddf465e8f41863..55cc76f1728d385cdf3e5d0971d7c3ed6a9590a8 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleAuthServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleAuthServiceImpl.java @@ -1,37 +1,44 @@ /** -* 鏂囦欢锛歊oleAuthServiceImpl.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ + * 鏂囦欢锛歊oleAuthServiceImpl.java + * 鐗堟湰锛�1.0.0 + * 鏃ユ湡锛� + * Copyright ® + * All right reserved. + */ package com.mortals.xhx.base.system.role.service.impl; +import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; +import com.mortals.framework.util.DataUtil; +import com.mortals.xhx.base.system.resource.service.ResourceService; import com.mortals.xhx.base.system.role.dao.RoleAuthDao; import com.mortals.xhx.base.system.role.model.RoleAuthEntity; import com.mortals.xhx.base.system.role.model.RoleAuthQuery; import com.mortals.xhx.base.system.role.service.RoleAuthService; - +import com.mortals.xhx.common.key.RedisKey; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; + +import static com.mortals.xhx.common.utils.MenuEncodeUtil.generateMenuUrlCode; /** * <p>Title: 瑙掕壊璧勬簮鏉冮檺</p> * <p>Description: RoleAuthServiceImpl service鎺ュ彛 </p> * <p>Copyright: Copyright ® </p> * <p>Company: </p> - * @author + * @author * @version 1.0.0 */ @Service("roleAuthService") -public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,RoleAuthEntity,Long> implements RoleAuthService { +public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, RoleAuthEntity, Long> implements RoleAuthService { + @Autowired + private ICacheService cacheService; + @Autowired + private ResourceService resourceService; @Override public void doDistributionSource(RoleAuthQuery query) { @@ -49,6 +56,18 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,Rol list.add(entity); } this.dao.insertBatch(list); + + this.updateUserMenuUrlCache(); } - + + private void updateUserMenuUrlCache() { + //鏇存柊鐢ㄦ埛鑿滃崟 + Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE); + for (String userId : hkeys) { + Set<String> urls = resourceService.findUrlSetByUserId(DataUtil.converStr2Long(userId, 0L)); + String menuUrlCode = generateMenuUrlCode(urls); + cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userId, menuUrlCode); + } + } + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java index 36c6c9a088f149ec4c1602005f132fb050531342..29028b8a1cc707939b570cac5cd6f7dd6179b8ba 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java @@ -1,10 +1,10 @@ /** -* 鏂囦欢锛歊oleServiceImpl.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ + * 鏂囦欢锛歊oleServiceImpl.java + * 鐗堟湰锛�1.0.0 + * 鏃ユ湡锛� + * Copyright ® + * All right reserved. + */ package com.mortals.xhx.base.system.role.service.impl; @@ -15,7 +15,6 @@ import com.mortals.xhx.base.system.role.dao.RoleDao; import com.mortals.xhx.base.system.role.model.*; import com.mortals.xhx.base.system.role.service.RoleAuthService; import com.mortals.xhx.base.system.role.service.RoleService; - import com.mortals.xhx.base.system.role.service.RoleUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,7 +26,7 @@ import java.util.Arrays; * <p>Description: RoleServiceImpl service鎺ュ彛 </p> * <p>Copyright: Copyright ® </p> * <p>Company: </p> - * @author + * @author * @version 1.0.0 */ @Service("roleService") @@ -56,5 +55,5 @@ public class RoleServiceImpl extends AbstractCRUDServiceImpl<RoleDao,RoleEntity, }).count(); super.removeAfter(ids, context, result); } - + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java index 68035ac62f2437d20eadd5fe1469fd6444df5149..f3a343d055846bd61eb0c6ebeed9c8844aed48ad 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java @@ -8,18 +8,24 @@ package com.mortals.xhx.base.system.role.service.impl; +import com.mortals.framework.exception.AppException; +import com.mortals.framework.model.Context; +import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; +import com.mortals.framework.util.DataUtil; +import com.mortals.xhx.base.system.resource.service.ResourceService; import com.mortals.xhx.base.system.role.dao.RoleUserDao; import com.mortals.xhx.base.system.role.model.RoleUserEntity; import com.mortals.xhx.base.system.role.model.RoleUserQuery; import com.mortals.xhx.base.system.role.service.RoleUserService; +import com.mortals.xhx.common.key.RedisKey; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; + +import static com.mortals.xhx.common.utils.MenuEncodeUtil.generateMenuUrlCode; /** * <p>Title: 瑙掕壊鐢ㄦ埛</p> @@ -33,6 +39,12 @@ import java.util.Map; public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,RoleUserEntity,Long> implements RoleUserService { + @Autowired + private ICacheService cacheService; + + @Autowired + private ResourceService resourceService; + @Override public void doDistributionUser(RoleUserQuery query) { Long roleId = query.getRoleId(); @@ -50,6 +62,14 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol list.add(rolseUser); } this.dao.insertBatch(list); + + updateUserMenuUrlCache(); + } + + + @Override + protected void removeAfter(Long[] ids, Context context, int result) throws AppException { + updateUserMenuUrlCache(); } @Override @@ -68,6 +88,19 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol list.add(rolseUser); } this.dao.insertBatch(list); + + updateUserMenuUrlCache(); + } + + + private void updateUserMenuUrlCache() { + //鏇存柊鐢ㄦ埛鑿滃崟 + Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE); + for (String userId : hkeys) { + Set<String> urls = resourceService.findUrlSetByUserId(DataUtil.converStr2Long(userId, 0L)); + String menuUrlCode = generateMenuUrlCode(urls); + cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userId, menuUrlCode); + } } @Override diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthController.java index 6eab8dd48cdcce7c3e39eb888da1f06b1a1462e0..a983f7c2fbc480f7a6304e591dcbe2081059a443 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthController.java @@ -3,20 +3,15 @@ package com.mortals.xhx.base.system.role.web; import com.alibaba.fastjson.JSONObject; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; +import com.mortals.xhx.base.system.role.model.RoleAuthEntity; import com.mortals.xhx.base.system.role.model.RoleAuthQuery; +import com.mortals.xhx.base.system.role.service.RoleAuthService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.mortals.framework.web.BaseCRUDJsonMappingController; -import com.mortals.xhx.base.system.role.model.RoleAuthEntity; -import com.mortals.xhx.base.system.role.service.RoleAuthService; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - /** * 瑙掕壊璧勬簮鏉冮檺 * @@ -29,7 +24,6 @@ import javax.servlet.http.HttpServletResponse; public class RoleAuthController extends BaseCRUDJsonBodyMappingController<RoleAuthService, RoleAuthEntity, Long> { public RoleAuthController() { - super.setFormClass(RoleAuthForm.class); super.setModuleDesc("瑙掕壊璧勬簮鏉冮檺"); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthForm.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthForm.java deleted file mode 100644 index 59730f336e9f7fbb43eb19e4b4d9faa0d2596d93..0000000000000000000000000000000000000000 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthForm.java +++ /dev/null @@ -1,47 +0,0 @@ -/** -* 鏂囦欢锛歊oleAuthForm.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ -package com.mortals.xhx.base.system.role.web; - - -import com.mortals.framework.web.BaseCRUDFormLong; -import com.mortals.xhx.base.system.role.model.RoleAuthEntity; -import com.mortals.xhx.base.system.role.model.RoleAuthQuery; - -/** - * <p>Title: 瑙掕壊璧勬簮鏉冮檺</p> - * <p>Description: RoleAuthForm </p> - * <p>Copyright: Copyright ® </p> - * <p>Company: </p> - * @author - * @version 1.0.0 - */ -public class RoleAuthForm extends BaseCRUDFormLong<RoleAuthEntity> { - private RoleAuthEntity entity = new RoleAuthEntity(); - private RoleAuthQuery query = new RoleAuthQuery(); - public RoleAuthForm(){ - - } - - @Override - public RoleAuthEntity getEntity() { - return entity; - } - - public void setEntity(RoleAuthEntity entity) { - this.entity = entity; - } - - @Override - public RoleAuthQuery getQuery() { - return query; - } - - public void setQuery(RoleAuthQuery query) { - this.query = query; - } -} \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleController.java index a8f342b57713ded8ef4c29e97ea0171b3bb591f8..f491e678b00e3a11efe463778aa9b443167619fc 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleController.java @@ -5,21 +5,18 @@ import com.alibaba.fastjson.JSONObject; import com.mortals.framework.common.IBaseEnum; import com.mortals.framework.common.code.UserType; import com.mortals.framework.model.Context; - import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; -import com.mortals.framework.web.BasePhpCRUDJsonMappingController; -import com.mortals.xhx.base.system.role.model.RoleQuery; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import com.mortals.framework.web.BaseCRUDJsonMappingController; import com.mortals.xhx.base.system.role.model.RoleEntity; import com.mortals.xhx.base.system.role.model.RoleUserEntity; import com.mortals.xhx.base.system.role.service.RoleService; import com.mortals.xhx.base.system.role.service.RoleUserService; import com.mortals.xhx.common.code.RoleType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -39,7 +36,6 @@ public class RoleController extends BaseCRUDJsonBodyMappingController<RoleServic private RoleUserService roleUserService; public RoleController(){ - super.setFormClass(RoleForm.class); super.setModuleDesc("瑙掕壊淇℃伅"); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleForm.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleForm.java deleted file mode 100644 index 81e0645909b591359e0eaf29cbcd17bee523b0f7..0000000000000000000000000000000000000000 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleForm.java +++ /dev/null @@ -1,58 +0,0 @@ -/** -* 鏂囦欢锛歊oleForm.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ -package com.mortals.xhx.base.system.role.web; - - -import com.mortals.framework.web.BaseCRUDFormLong; -import com.mortals.xhx.base.system.role.model.RoleEntity; -import com.mortals.xhx.base.system.role.model.RoleQuery; - -/** - * <p>Title: 瑙掕壊淇℃伅</p> - * <p>Description: RoleForm </p> - * <p>Copyright: Copyright ® </p> - * <p>Company: </p> - * @author - * @version 1.0.0 - */ -public class RoleForm extends BaseCRUDFormLong<RoleEntity> { - private RoleEntity entity = new RoleEntity(); - private RoleQuery query = new RoleQuery(); - /** 鐢ㄦ埛ID */ - private Long userId; - public RoleForm(){ - - } - - @Override - public RoleEntity getEntity() { - return entity; - } - - public void setEntity(RoleEntity entity) { - this.entity = entity; - } - - @Override - public RoleQuery getQuery() { - return query; - } - - public void setQuery(RoleQuery query) { - this.query = query; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - -} \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserController.java index b182860a4460fb5ebe608937962fc024f5fb03ae..63feafc8d7134265b39c87306f3e78a461002f73 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserController.java @@ -7,26 +7,22 @@ import com.mortals.framework.ap.SysConstains; import com.mortals.framework.exception.AppException; import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.Context; - import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; -import com.mortals.xhx.base.system.role.model.RoleUserQuery; -import org.apache.commons.beanutils.MethodUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.mortals.framework.web.BaseCRUDJsonMappingController; import com.mortals.xhx.base.system.role.model.RoleEntity; import com.mortals.xhx.base.system.role.model.RoleUserEntity; +import com.mortals.xhx.base.system.role.model.RoleUserQuery; import com.mortals.xhx.base.system.role.service.RoleService; import com.mortals.xhx.base.system.role.service.RoleUserService; import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserQuery; import com.mortals.xhx.base.system.user.service.UserService; +import org.apache.commons.beanutils.MethodUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -49,7 +45,6 @@ public class RoleUserController extends BaseCRUDJsonBodyMappingController<RoleUs private UserService userService; public RoleUserController() { - super.setFormClass(RoleUserForm.class); super.setModuleDesc("瑙掕壊鐢ㄦ埛"); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserForm.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserForm.java deleted file mode 100644 index be4e4ee9bd57dbb2fed05b285ddd3057b54157c7..0000000000000000000000000000000000000000 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserForm.java +++ /dev/null @@ -1,47 +0,0 @@ -/** -* 鏂囦欢锛歊oleUserForm.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ -package com.mortals.xhx.base.system.role.web; - - -import com.mortals.framework.web.BaseCRUDFormLong; -import com.mortals.xhx.base.system.role.model.RoleUserEntity; -import com.mortals.xhx.base.system.role.model.RoleUserQuery; - -/** - * <p>Title: 瑙掕壊鐢ㄦ埛</p> - * <p>Description: RoleUserForm </p> - * <p>Copyright: Copyright ® </p> - * <p>Company: </p> - * @author - * @version 1.0.0 - */ -public class RoleUserForm extends BaseCRUDFormLong<RoleUserEntity> { - private RoleUserEntity entity = new RoleUserEntity(); - private RoleUserQuery query = new RoleUserQuery(); - public RoleUserForm(){ - - } - - @Override - public RoleUserEntity getEntity() { - return entity; - } - - public void setEntity(RoleUserEntity entity) { - this.entity = entity; - } - - @Override - public RoleUserQuery getQuery() { - return query; - } - - public void setQuery(RoleUserQuery query) { - this.query = query; - } -} \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java index aae3f6758b2fca1af21230de5f16dd0c495fdf8b..334069f484cfa69bb6f39c908f1bd3b4cfc696be 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java @@ -20,7 +20,7 @@ public class UserVo extends BaseEntityLong { */ private String siteName; - private String roleIds; + private List<Long> roleIds; /** * 鍞竴鏍囪瘑 */ diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java index 593b5f8c23e09d32e0e1ca1da7c8f4fe6f3abd28..6ccc59927f31e603590889d29bd5f70f69427fdb 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java @@ -10,7 +10,7 @@ package com.mortals.xhx.base.system.user.service; import com.mortals.framework.exception.AppException; import com.mortals.framework.model.Result; -import com.mortals.framework.service.ICRUDService; +import com.mortals.framework.service.ICRUDCacheService; import com.mortals.framework.service.IUser; import com.mortals.xhx.base.system.menu.model.MenuEntity; import com.mortals.xhx.base.system.user.dao.UserDao; @@ -28,7 +28,7 @@ import java.util.Set; * @version 1.0.0 */ -public interface UserService extends ICRUDService<UserEntity,Long> { +public interface UserService extends ICRUDCacheService<UserEntity,Long> { /** * 鐢ㄦ埛鐧诲綍 * @@ -38,7 +38,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @return * @throws AppException */ - UserEntity doLogin(String loginName, String password, String loginIp) throws AppException; + public UserEntity doLogin(String loginName, String password, String loginIp) throws AppException; /** * 鏍¢獙鐢ㄦ埛鍚嶄笌瀵嗙爜鏄惁姝g‘ @@ -48,7 +48,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @return * @throws AppException */ - UserEntity doCheckUser(String loginName, String password) throws AppException; + public UserEntity doCheckUser(String loginName, String password) throws AppException; /** * 妫€鏌ョ敤鎴锋槸鍚﹀瓨鍦� @@ -57,7 +57,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @param userId 瀵嗙爜 * @return */ - boolean existUser(String loginName, Long userId) throws AppException; + public boolean existUser(String loginName, Long userId) throws AppException; /** * 閫氳繃鐧诲綍鐢ㄦ埛鑾峰彇鑿滃崟鍔熻兘鏉冮檺 @@ -65,7 +65,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @param user * @return */ - List<MenuEntity> findOutlookBarList(IUser user); + public List<MenuEntity> findOutlookBarList(IUser user); /** * 鏌ヨ鐢ㄦ埛鎵€鏈夋湁鏉冮檺鐨勮彍鍗旾D @@ -73,7 +73,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @param userEntity * @return */ - Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException; + public Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException; /** * 鏌ヨ鐢ㄦ埛璁板綍 @@ -85,7 +85,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @return * @throws AppException */ - Result<UserEntity> find(Long platformId, UserEntity params, int currPage, int prePageResult) throws AppException; + public Result<UserEntity> find(Long platformId, UserEntity params, int currPage, int prePageResult) throws AppException; /** * 涓哄鎴峰垱寤虹敤鎴� @@ -100,7 +100,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @return * @throws AppException */ - UserEntity createUser(IUser currUser, Long customerId, String customerName, String loginName, String password, + public UserEntity createUser(IUser currUser, Long customerId, String customerName, String loginName, String password, String userName, String mobile) throws AppException; /** @@ -112,12 +112,9 @@ public interface UserService extends ICRUDService<UserEntity,Long> { * @return * @throws AppException */ - boolean updateUserPwd(String loginName, String oldPwd, String newPwd) throws AppException; + public boolean updateUserPwd(String loginName, String oldPwd, String newPwd) throws AppException; - - UserDao getUserDao(); - - void doHandlerUser(UserEntity entity); + UserDao getUserDao(); } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java index aca40ac3e18ab8ee026312a412ba419a47094e7a..b6ece9781403409df7ab8021d46717210c31154e 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java @@ -14,54 +14,53 @@ import com.mortals.framework.exception.AppException; import com.mortals.framework.model.Context; import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; -import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.IUser; -import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; +import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; import com.mortals.framework.util.SecurityUtil; import com.mortals.framework.util.StringUtils; import com.mortals.xhx.base.system.menu.model.MenuEntity; import com.mortals.xhx.base.system.menu.service.MenuService; import com.mortals.xhx.base.system.resource.model.ResourceEntity; import com.mortals.xhx.base.system.resource.service.ResourceService; +import com.mortals.xhx.base.system.role.dao.RoleUserDao; import com.mortals.xhx.base.system.role.model.RoleUserEntity; -import com.mortals.xhx.base.system.role.model.RoleUserQuery; -import com.mortals.xhx.base.system.role.service.RoleService; -import com.mortals.xhx.base.system.role.service.RoleUserService; import com.mortals.xhx.base.system.user.dao.UserDao; import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserQuery; import com.mortals.xhx.base.system.user.service.UserService; - - +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; import java.util.*; -import java.util.stream.Collectors; /** * <p>Title: 鐢ㄦ埛淇℃伅</p> * <p>Description: UserServiceImpl service鎺ュ彛 </p> * <p>Copyright: Copyright ® </p> * <p>Company: </p> - * * @author * @version 1.0.0 */ @Service("userService") -public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity, Long> implements UserService { +public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserEntity, Long> implements UserService { + + @Autowired private MenuService menuService; @Autowired private ResourceService resourceService; @Autowired - private RoleUserService roleUserService; - @Autowired - private ICacheService cacheService; + private RoleUserDao roleUserDao; @Override - public void doHandlerUser(UserEntity entity) throws AppException { + protected String getExtKey(UserEntity data) { + return data.getLoginName(); + } + + + + private void doHandlerUser(UserEntity entity) throws AppException { if (StringUtils.isNotEmpty(entity.getLoginPwd())) { try { entity.setLoginPwd(SecurityUtil.md5DoubleEncoding(entity.getLoginPwd())); @@ -71,69 +70,55 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity } else { entity.setLoginPwd(null); } +// if (entity.isSystemUser()) { +// entity.setUserType(UserType.SYSTEM.getValue()); +// } else { +// entity.setUserType(UserType.CUSTOMER.getValue()); +// } } @Override protected void saveBefore(UserEntity entity, Context context) throws AppException { - if (!ObjectUtils.isEmpty(entity.getLoginName()) && existUser(entity.getLoginName(), entity.getId())) { - throw new AppException("鐧诲綍鍚嶅凡瀛樺湪锛�"); - } this.doHandlerUser(entity); - } @Override - protected void updateBefore(UserEntity entity, Context context) throws AppException { -// if (entity.getId().longValue() == SysConstains.ADMIN_ID && !context.getUser().isAdmin()) { -// throw new AppException("浣犳病鏈夋潈闄愭墽琛岃鎿嶄綔"); -// } - - //鏇存柊涓嶆洿鏂板瘑鐮佸瓧娈� - entity.setLoginPwd(null); - this.doHandlerUser(entity); - //鏇存柊瑙掕壊 - if(entity.getId().longValue() != SysConstains.ADMIN_ID &&!ObjectUtils.isEmpty(entity.getRoleIds())){ - RoleUserQuery roleUserQuery = new RoleUserQuery(); - roleUserQuery.setUserId(entity.getId()); - List<Long> idList = Arrays.asList(entity.getRoleIds().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); - roleUserQuery.setRoleIdList(idList); - roleUserService.doDistributionRole(roleUserQuery); + protected void saveAfter(UserEntity entity, Context context) throws AppException { + if(CollectionUtils.isNotEmpty(entity.getRoleIds())){ + List<RoleUserEntity> roleUserEntityList = new ArrayList<>(); + entity.getRoleIds().stream().forEach(item->{ + RoleUserEntity roleUserEntity = new RoleUserEntity(); + roleUserEntity.setUserId(entity.getId()); + roleUserEntity.setRoleId(item); + roleUserEntityList.add(roleUserEntity); + }); + roleUserDao.insertBatch(roleUserEntityList); } } @Override - protected void updateAfter(UserEntity entity, Context context) throws AppException { - //鏇存柊鐢ㄦ埛鍚� 鍒犻櫎褰撳墠鐢ㄦ埛鐨則oken - Set<String> keys = cacheService.scan(SysConstains.LOGIN_TOKEN_KEY + entity.getId()); - if (!ObjectUtils.isEmpty(keys)) { - for (String key : keys) { - cacheService.del(key); - } + protected void updateBefore(UserEntity entity, Context context) throws AppException { + if (entity.getId().longValue() == SysConstains.ADMIN_ID && !context.getUser().isAdmin()) { + throw new AppException("浣犳病鏈夋潈闄愭墽琛岃鎿嶄綔"); } + this.doHandlerUser(entity); } @Override - protected void saveAfter(UserEntity entity, Context context) throws AppException { - //鏇存柊瑙掕壊 - if(!ObjectUtils.isEmpty(entity.getId())&&entity.getId().longValue() != SysConstains.ADMIN_ID &&!ObjectUtils.isEmpty(entity.getRoleIds())){ - RoleUserQuery roleUserQuery = new RoleUserQuery(); - roleUserQuery.setUserId(entity.getId()); - List<Long> idList = Arrays.asList(entity.getRoleIds().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); - roleUserQuery.setRoleIdList(idList); - roleUserService.doDistributionRole(roleUserQuery); + protected void updateAfter(UserEntity entity, Context context) throws AppException { + if(CollectionUtils.isNotEmpty(entity.getRoleIds())){ + List<RoleUserEntity> roleUserEntityList = new ArrayList<>(); + entity.getRoleIds().stream().forEach(item->{ + RoleUserEntity roleUserEntity = new RoleUserEntity(); + roleUserEntity.setUserId(entity.getId()); + roleUserEntity.setRoleId(item); + roleUserEntityList.add(roleUserEntity); + }); + RoleUserEntity condition = new RoleUserEntity(); + condition.setUserId(entity.getId()); + roleUserDao.delete(condition); + roleUserDao.insertBatch(roleUserEntityList); } - super.saveAfter(entity, context); - } - - @Override - protected void findAfter(UserEntity params, PageInfo pageInfo, Context context, List<UserEntity> list) throws AppException { - list.stream().peek(item -> { - RoleUserQuery roleUserQuery = new RoleUserQuery(); - roleUserQuery.setUserId(item.getId()); - String roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(",")); - item.setRoleIds(roleIds); - }).count(); - super.findAfter(params, pageInfo, context, list); } @Override @@ -152,6 +137,22 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity return super.findBefore(params, pageInfo, context); } + @Override + protected void findAfter(UserEntity params, PageInfo pageInfo, Context context, List<UserEntity> list) throws AppException { + if(CollectionUtils.isNotEmpty(list)) { + list.stream().forEach(item->{ + RoleUserEntity query = new RoleUserEntity(); + query.setUserId(item.getId()); + List<RoleUserEntity> roleUserEntityList = roleUserDao.getList(query); + List<Long> roleIds = new ArrayList<>(); + roleUserEntityList.stream().forEach(role->{ + roleIds.add(role.getRoleId()); + }); + item.setRoleIds(roleIds); + }); + } + } + public UserEntity findByLoginName(String loginName) { UserQuery params = new UserQuery(); params.setLoginName(loginName); @@ -175,6 +176,11 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity } catch (Exception e) { throw new AppException("瀵嗙爜楠岃鍑洪敊锛�", e); } + UserEntity update = new UserEntity(); + update.setId(sysUser.getId()); + update.setLastLoginAddress(loginIp); + update.setLastLoginTime(new Date()); + this.dao.update(update); return sysUser; } @@ -218,7 +224,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity urls.addAll(StringUtils.converStr2Set(url)); } } - Set<Long> authIds = new HashSet<>(); + Set<Long> authIds = new HashSet<Long>(); Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>(); List<MenuEntity> userModuleList = this.menuService.findAllEnable(); for (MenuEntity sysModule : userModuleList) { @@ -226,7 +232,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity continue; } menuMap.put(sysModule.getId(), sysModule); - if (!user.isAdmin() && urls.contains(StringUtils.trim(sysModule.getUrl()))) { authIds.add(sysModule.getId()); } @@ -275,6 +280,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity entity.initAttrValue(); entity.setLoginName(loginName); entity.setRealName(userName); + entity.setCustomerId(customerId); entity.setLoginPwd(password); entity.setMobile(mobile); entity.setUserType(UserType.CUSTOMER.getValue()); @@ -320,6 +326,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity } try { sysUser.setLoginPwd(SecurityUtil.md5DoubleEncoding(newPwd)); + } catch (Exception e) { throw new AppException("瀵嗙爜杞崲寮傚父锛�", e); } @@ -329,18 +336,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity @Override public UserDao getUserDao() { - return getDao(); - } - - @Override - protected void removeAfter(Long[] ids, Context context, int result) throws AppException { - Arrays.asList(ids).stream().peek(userId->{ - RoleUserQuery roleUserQuery = new RoleUserQuery(); - roleUserQuery.setUserId(userId); - Long[] userIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new); - roleUserService.remove(userIds,context); - }).count(); - - super.removeAfter(ids, context, result); + return this.getDao(); } } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java index 4494527b5279453a9db703491afd67a3f1768be1..01c704c1ed9b244ba26e0a1ac354cdaacaff550f 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java @@ -33,6 +33,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Base64; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -54,7 +55,6 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic private DeptService deptService; public UserController() { - super.setFormClass(UserForm.class); super.setModuleDesc("鐢ㄦ埛淇℃伅"); } @@ -82,7 +82,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic protected int editAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException { RoleUserQuery roleUserQuery = new RoleUserQuery(); roleUserQuery.setUserId(entity.getId()); - String roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(",")); + List<Long> roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).collect(Collectors.toList()); entity.setRoleIds(roleIds); return super.editAfter(id, model, entity, context); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserForm.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserForm.java deleted file mode 100644 index 48a5354ad30a75b1872b0ee666686f5df3c5e168..0000000000000000000000000000000000000000 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserForm.java +++ /dev/null @@ -1,46 +0,0 @@ -/** -* 鏂囦欢锛歎serForm.java -* 鐗堟湰锛�1.0.0 -* 鏃ユ湡锛� -* Copyright ® -* All right reserved. -*/ -package com.mortals.xhx.base.system.user.web; - -import com.mortals.framework.web.BaseCRUDFormLong; -import com.mortals.xhx.base.system.user.model.UserEntity; -import com.mortals.xhx.base.system.user.model.UserQuery; - -/** - * <p>Title: 鐢ㄦ埛淇℃伅</p> - * <p>Description: UserForm </p> - * <p>Copyright: Copyright ® </p> - * <p>Company: </p> - * @author - * @version 1.0.0 - */ -public class UserForm extends BaseCRUDFormLong<UserEntity> { - private UserEntity entity = new UserEntity(); - private UserQuery query = new UserQuery(); - public UserForm(){ - - } - - @Override - public UserEntity getEntity() { - return entity; - } - - public void setEntity(UserEntity entity) { - this.entity = entity; - } - - @Override - public UserQuery getQuery() { - return query; - } - - public void setQuery(UserQuery query) { - this.query = query; - } -} \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/RedisKey.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/RedisKey.java index d2d9f65ed8d79f3a101e61b677e3e070f3223616..afa6b7822f9c46b89b6103450689964c3534101b 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/RedisKey.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/RedisKey.java @@ -21,4 +21,7 @@ public class RedisKey { */ public static final String KEY_ATTENC_TOTOAL_CACHE = "attend:total"; + public static final String KEY_USER_MENU_CACHE = "user:menu"; + + } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/MenuEncodeUtil.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/MenuEncodeUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..9de4fc113650d8e44ba74848042ff3b59db7f4f8 --- /dev/null +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/MenuEncodeUtil.java @@ -0,0 +1,30 @@ +package com.mortals.xhx.common.utils; + +import com.mortals.framework.ap.GlobalSysInfo; +import com.mortals.framework.ap.SysConstains; +import com.mortals.framework.util.AESUtil; +import lombok.extern.slf4j.Slf4j; + +import java.util.Set; + +@Slf4j +public class MenuEncodeUtil { + + public static String generateMenuUrlCode(Set<String> urls) { + try { + String securityKey = GlobalSysInfo.getPropertyValue(SysConstains.PROP_COOKIE_SECURITY_KEY); + StringBuilder sb = new StringBuilder(); + if (urls != null && urls.size() > 0) { + for (String url : urls) { + int index = url.hashCode() & (Integer.MAX_VALUE - 1); + sb.append(index).append(","); + } + } + String menuUrl = sb.toString(); + return AESUtil.encrypt(menuUrl, securityKey); + } catch (Throwable e) { + log.error("缂栫爜寮傚父",e); + return null; + } + } +}