diff --git a/base-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java b/base-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java index 038e575c7b81d75af05f6d595e30acf6ecc7fc9a..d2784d7287de70940ce556e6dbd97e1a13b9a1e7 100644 --- a/base-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java +++ b/base-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java @@ -11,7 +11,7 @@ import javax.servlet.http.HttpServletResponse; * @date: 2022/6/6 15:05 * @description:娣诲姞璺ㄥ煙鍝嶅簲 **/ -@Component +//@Component public class CrossInterceptor extends HandlerInterceptorAdapter { @Override diff --git a/base-manager/src/main/java/com/mortals/xhx/module/sms/model/SmsSetQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/sms/model/SmsSetQuery.java index ba20af0cb11788592b48dbf5438f56f8a17d682b..5d28bda622a2c31121b5982b7c20bb9f2dd421b3 100644 --- a/base-manager/src/main/java/com/mortals/xhx/module/sms/model/SmsSetQuery.java +++ b/base-manager/src/main/java/com/mortals/xhx/module/sms/model/SmsSetQuery.java @@ -932,36 +932,5 @@ public class SmsSetQuery extends SmsSetEntity { } - /** - * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) - * @return orConditionList - */ - public List<SmsSetQuery> getOrConditionList(){ - return this.orConditionList; - } - - /** - * 璁剧疆 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) - * @param orConditionList - */ - public void setOrConditionList(List<SmsSetQuery> orConditionList){ - this.orConditionList = orConditionList; - } - - /** - * 鑾峰彇 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4) - * @return andConditionList - */ - public List<SmsSetQuery> getAndConditionList(){ - return this.andConditionList; - } - - /** - * 璁剧疆 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4) - * @param andConditionList - */ - public void setAndConditionList(List<SmsSetQuery> andConditionList){ - this.andConditionList = andConditionList; - } } \ No newline at end of file diff --git a/common-lib/src/main/java/com/mortals/xhx/utils/SpringUtils.java b/common-lib/src/main/java/com/mortals/xhx/utils/SpringUtils.java index 08eb180fd0b0e3a3d384293824a2b3a743bc4ed7..d7148e8e199bbd9c80c3c3bf58125c8b2e16cbde 100644 --- a/common-lib/src/main/java/com/mortals/xhx/utils/SpringUtils.java +++ b/common-lib/src/main/java/com/mortals/xhx/utils/SpringUtils.java @@ -1,47 +1,63 @@ package com.mortals.xhx.utils; +import cn.hutool.extra.spring.SpringUtil; +import org.springframework.aop.framework.AopContext; import org.springframework.beans.BeansException; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; -/** - * @ClassName SpringUtils - * @Description TODO - * @Author finegirl - * @Date 2020/4/24 15:32 - **/ @Component -public class SpringUtils implements ApplicationContextAware { +public final class SpringUtils extends SpringUtil { - private static ApplicationContext applicationContext; + /** + * 濡傛灉BeanFactory鍖呭惈涓€涓笌鎵€缁欏悕绉板尮閰嶇殑bean瀹氫箟锛屽垯杩斿洖true + * + * @param name + * @return boolean + */ + public static boolean containsBean(String name) { + return getBeanFactory().containsBean(name); + } - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - SpringUtils.applicationContext = applicationContext; + /** + * 鍒ゆ柇浠ョ粰瀹氬悕瀛楁敞鍐岀殑bean瀹氫箟鏄竴涓猻ingleton杩樻槸涓€涓猵rototype銆� + * 濡傛灉涓庣粰瀹氬悕瀛楃浉搴旂殑bean瀹氫箟娌℃湁琚壘鍒帮紝灏嗕細鎶涘嚭涓€涓紓甯革紙NoSuchBeanDefinitionException锛� + * + * @param name + * @return boolean + */ + public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().isSingleton(name); } - public static ApplicationContext getApplicationContext() { - return applicationContext; + /** + * @param name + * @return Class 娉ㄥ唽瀵硅薄鐨勭被鍨� + */ + public static Class<?> getType(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().getType(name); } /** - * 瀵瑰簲鐨勮绠$悊绫绘湁鍒悕鏃朵娇鐢� + * 濡傛灉缁欏畾鐨刡ean鍚嶅瓧鍦╞ean瀹氫箟涓湁鍒悕锛屽垯杩斿洖杩欎簺鍒悕 + * * @param name - * @param <T> - * @return - * @throws BeansException */ - @SuppressWarnings("unchecked") - public static <T> T getBean(String name) throws BeansException { - return (T) applicationContext.getBean(name); + public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().getAliases(name); } /** - * 鍦ㄥ搴旂殑娉ㄨВ鍐呮湭浣跨敤鍒悕鏃� 浣跨敤 + * 鑾峰彇aop浠g悊瀵硅薄 + * + * @param invoker + * @return */ - public static <T> T getBean(Class<T> clazz) { - return applicationContext.getBean(clazz); + @SuppressWarnings("unchecked") + public static <T> T getAopProxy(T invoker) { + return (T) AopContext.currentProxy(); } } diff --git a/portal-manager/pom.xml b/portal-manager/pom.xml index 248953aada154327b6fa2e59a4259427258c3093..1cfc48f69ff9086640348d852726a09f15d6152b 100644 --- a/portal-manager/pom.xml +++ b/portal-manager/pom.xml @@ -111,6 +111,16 @@ <version>2.3.31</version> </dependency> + <dependency> + <groupId>com.github.xiaoymin</groupId> + <artifactId>knife4j-spring-boot-starter</artifactId> + </dependency> + + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + </dependency> + <!--Token鐢熸垚涓庤В鏋�--> <dependency> <groupId>io.jsonwebtoken</groupId> diff --git a/portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java b/portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java index 6c4eef874324151774c6d86c0f1c5527e95e82bc..e148876b4c4921b8b8f1d8128ee09baedd2e7817 100644 --- a/portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java +++ b/portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java @@ -8,6 +8,7 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; @@ -24,6 +25,7 @@ import java.lang.reflect.Method; * @date: 2022/4/24 11:04 */ @Component +@Slf4j public class AuthUserInterceptor extends BaseInterceptor { @Autowired private InterceptorConfig config; @@ -40,12 +42,14 @@ public class AuthUserInterceptor extends BaseInterceptor { throws Exception { JSONObject ret = new JSONObject(); try { - HandlerMethod handlerMethod = (HandlerMethod) handler; - Method method = handlerMethod.getMethod(); - UnAuth annotation = method.getAnnotation(UnAuth.class); - if (annotation != null) { - //鍙栨秷鏍¢獙 - return true; + if(handler instanceof HandlerMethod){ + HandlerMethod handlerMethod = (HandlerMethod) handler; + Method method = handlerMethod.getMethod(); + UnAuth annotation = method.getAnnotation(UnAuth.class); + if (annotation != null) { + //鍙栨秷鏍¢獙 + return true; + } } String uri = request.getServletPath(); //鏍¢獙閰嶇疆鐨勮姹傝矾寰勬槸鍚﹂渶瑕佹鏌ユ潈闄� @@ -71,7 +75,7 @@ public class AuthUserInterceptor extends BaseInterceptor { } } } catch (Exception e) { - logger.error("鏉冮檺鏍¢獙鎷︽埅璇锋眰澶勭悊寮傚父-->" + e.getMessage()); + log.error("鏉冮檺鏍¢獙鎷︽埅璇锋眰澶勭悊寮傚父-->" + e.getMessage(),e); writeJsonResponse(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "鐢ㄦ埛鏉冮檺鏍¢獙寮傚父"); return false; } diff --git a/portal-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java b/portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/CrossInterceptor.java similarity index 68% rename from portal-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java rename to portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/CrossInterceptor.java index 038e575c7b81d75af05f6d595e30acf6ecc7fc9a..6449553a665ee3378c6829eb6ccecf2c6418abd1 100644 --- a/portal-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java +++ b/portal-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/CrossInterceptor.java @@ -1,5 +1,6 @@ -package com.mortals.xhx.base.framework.config; +package com.mortals.xhx.base.framework.interceptor; +import com.mortals.framework.web.interceptor.BaseInterceptor; import org.springframework.stereotype.Component; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; @@ -12,7 +13,7 @@ import javax.servlet.http.HttpServletResponse; * @description:娣诲姞璺ㄥ煙鍝嶅簲 **/ @Component -public class CrossInterceptor extends HandlerInterceptorAdapter { +public class CrossInterceptor extends BaseInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { @@ -23,4 +24,9 @@ public class CrossInterceptor extends HandlerInterceptorAdapter { response.setHeader("Access-Control-Allow-Credentials", "true"); return true; } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + super.afterCompletion(request, response, handler, ex); + } } diff --git a/portal-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java b/portal-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java index e27589a608041aef6a6fbdf045f55411f532847f..8db0f591d33a3d06c9c25733f4fe4b47fda080af 100644 --- a/portal-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java +++ b/portal-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java @@ -67,7 +67,6 @@ public class UploadServiceImpl implements UploadService { } String newName = new Date().getTime() + "." + extension; String filePathAll = filePath + newName; - File uploadFile = new File(filePathAll); try { log.info("鏂囦欢姝e湪鍌ㄥ瓨锛宖ilepath:"+filePathAll); diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java b/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java index 459bb5d57f863c9283f52d0f0579014e47e1ee63..599271cf4a85349d4c7486164124016735079655 100644 --- a/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java +++ b/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java @@ -28,6 +28,26 @@ import java.util.*; @Service("menuService") public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity, Long> implements MenuService { + + @Override + public int remove(Long[] ids, Context context) throws AppException { + //鍒犻櫎鍚庣骇鑱斿垹闄ゅ瓙鑺傜偣 + Arrays.asList(ids).stream().forEach(id->{ + menudelete(context, id); + }); + return super.remove(ids, context); + } + + private void menudelete(Context context, Long id) { + List<MenuEntity> menuEntityList = this.find(new MenuQuery().parentId(id)); + if(!ObjectUtils.isEmpty(menuEntityList)){ + this.remove(menuEntityList, context); + menuEntityList.forEach(item->{ + menudelete(context,item.getId()); + }); + } + } + @Override protected void findAfter(MenuEntity params, PageInfo pageInfo, Context context, List<MenuEntity> list) throws AppException { //鏌ヨ褰撳墠鐩綍绛夌骇 diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java b/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java index 3864f158f16112a2fa298fd585d425034442b9a8..52ff551c7c887604d111b71310159a773736ffbd 100644 --- a/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java +++ b/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java @@ -14,6 +14,8 @@ import com.mortals.xhx.module.role.model.RoleUserQuery; import com.mortals.xhx.module.role.service.RoleService; import com.mortals.xhx.module.role.service.RoleUserService; import com.mortals.xhx.module.user.model.UserEntityExt; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.RequestMapping; @@ -51,6 +53,8 @@ import static com.mortals.framework.ap.SysConstains.*; * @author zxfei * @date 2022-05-25 */ +@Api(value = "鐢ㄦ埛淇℃伅鎺у埗鍣�", tags = {"鐢ㄦ埛淇℃伅绠$悊"}) + @RestController @RequestMapping("user") public class UserController extends BaseCRUDJsonBodyMappingController<UserService, UserEntity, Long> { @@ -64,7 +68,6 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic private RoleService roleService; public UserController() { - super.setFormClass(UserForm.class); super.setModuleDesc("鐢ㄦ埛淇℃伅涓氬姟"); } diff --git a/portal-manager/src/main/resources/bootstrap.yml b/portal-manager/src/main/resources/bootstrap.yml index 12dbb154737197595516ba4b876285253e3415a3..46b96549f5e97d14e362a6a3e35d161937c27bc3 100644 --- a/portal-manager/src/main/resources/bootstrap.yml +++ b/portal-manager/src/main/resources/bootstrap.yml @@ -36,7 +36,6 @@ mybatis: application: auth: - unloginUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/padsign/*,/terminal/*,/resource/list,/api/asset/*,/api/*,/flow/*,/uploads/*,/project/file/*,/file/*,/assessment/* - uncheckUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/padsign/*,/terminal/*,/resource/list,/api/asset/*,/api/*,/flow/*,/uploads/*,/project/file/*,/file/*,/assessment/* - + unloginUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/padsign/*,/terminal/*,/resource/list,/api/asset/*,/api/*,/flow/*,/uploads/*,/project/file/*,/file/*,/doc.html + uncheckUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/padsign/*,/terminal/*,/resource/list,/api/asset/*,/api/*,/flow/*,/uploads/*,/project/file/*,/file/*,/doc.html diff --git a/portal-manager/src/test/java/com/mortals/httpclient/system.http b/portal-manager/src/test/java/com/mortals/httpclient/system.http index 4b391891d15541ba8a50e68b74fd35979fb7edb4..6561bb22c93408d6e200d607c2b7571fdd1a8fc6 100644 --- a/portal-manager/src/test/java/com/mortals/httpclient/system.http +++ b/portal-manager/src/test/java/com/mortals/httpclient/system.http @@ -1,3 +1,13 @@ +POST {{baseUrl}}/file/commonupload +Content-Type: multipart/form-data; boundary=WebAppBoundary + +--WebAppBoundary +Content-Disposition: form-data; name="file"; filename="1.png" + +< ./1.png +--WebAppBoundary-- + +### ###鐧诲綍 POST {{baseUrl}}/login/login