From 3a49e1b1c3898ab79d948dc92139209ae1aed476 Mon Sep 17 00:00:00 2001 From: xuwenbo <717567226@qq.com> Date: Wed, 20 May 2020 18:39:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=BB=E5=BA=95=E7=A7=BB=E9=99=A4jpa?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=EF=BC=8C=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=93=E5=AD=98=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=88=B7=E6=96=B0=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 +- .../java/co/yixiang/enums/OrderInfoEnum.java | 2 - .../main/java/co/yixiang/utils/QueryHelp.java | 178 ------------------ .../java/co/yixiang/utils/ThrowableUtil.java | 3 +- .../java/co/yixiang/logging/domain/Log.java | 2 - .../yixiang/common/utils/QueryHelpPlus.java | 14 +- .../impl/YxStoreBargainServiceImpl.java | 2 - .../impl/YxStoreCombinationServiceImpl.java | 2 - .../impl/YxStoreCouponIssueServiceImpl.java | 2 - .../YxStoreCouponIssueUserServiceImpl.java | 2 - .../impl/YxStoreCouponServiceImpl.java | 2 - .../impl/YxStoreCouponUserServiceImpl.java | 2 - .../service/impl/YxStorePinkServiceImpl.java | 2 - .../service/impl/YxStoreVisitServiceImpl.java | 2 - .../impl/YxUserExtractServiceImpl.java | 2 - .../shop/service/mapper/StoreCartMapper.java | 1 - .../shop/service/mapper/UserMapper.java | 2 - .../modules/system/rest/MenuController.java | 19 +- .../modules/system/service/MenuService.java | 2 + .../service/impl/DictDetailServiceImpl.java | 2 - .../system/service/impl/DictServiceImpl.java | 2 - .../system/service/impl/JobServiceImpl.java | 2 - .../system/service/impl/MenuServiceImpl.java | 33 +++- .../system/service/impl/RoleServiceImpl.java | 3 - .../service/impl/UserAvatarServiceImpl.java | 2 - .../template/generator/admin/ServiceImpl.ftl | 2 - .../template/generator/admin/ServiceImplP.ftl | 2 - 27 files changed, 46 insertions(+), 253 deletions(-) delete mode 100644 yshop-common/src/main/java/co/yixiang/utils/QueryHelp.java diff --git a/pom.xml b/pom.xml index c932c3c1..94022ba3 100644 --- a/pom.xml +++ b/pom.xml @@ -48,8 +48,9 @@ - org.springframework.boot - spring-boot-starter-data-jpa + javax.persistence + persistence-api + 1.0.2 org.springframework.boot @@ -64,6 +65,11 @@ org.springframework.boot spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-aop + org.springframework.boot diff --git a/yshop-common/src/main/java/co/yixiang/enums/OrderInfoEnum.java b/yshop-common/src/main/java/co/yixiang/enums/OrderInfoEnum.java index cee72acc..a5c8c0fd 100644 --- a/yshop-common/src/main/java/co/yixiang/enums/OrderInfoEnum.java +++ b/yshop-common/src/main/java/co/yixiang/enums/OrderInfoEnum.java @@ -7,8 +7,6 @@ package co.yixiang.enums; import lombok.AllArgsConstructor; import lombok.Getter; - -import javax.persistence.criteria.CriteriaBuilder; import java.util.stream.Stream; /** diff --git a/yshop-common/src/main/java/co/yixiang/utils/QueryHelp.java b/yshop-common/src/main/java/co/yixiang/utils/QueryHelp.java deleted file mode 100644 index c986b094..00000000 --- a/yshop-common/src/main/java/co/yixiang/utils/QueryHelp.java +++ /dev/null @@ -1,178 +0,0 @@ -/** - * Copyright (C) 2018-2020 - * All rights reserved, Designed By www.yixiang.co - - */ -package co.yixiang.utils; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import lombok.extern.slf4j.Slf4j; -import co.yixiang.annotation.Query; -import javax.persistence.criteria.*; -import java.lang.reflect.Field; -import java.text.SimpleDateFormat; -import java.util.*; - -/** - * @author Zheng Jie - * @date 2019-6-4 14:59:48 - */ -@Slf4j -@SuppressWarnings({"unchecked","all"}) -public class QueryHelp { - - public static Predicate getPredicate(Root root, Q query, CriteriaBuilder cb) { - List list = new ArrayList<>(); - - if(query == null){ - return cb.and(list.toArray(new Predicate[0])); - } - try { - List fields = getAllFields(query.getClass(), new ArrayList<>()); - for (Field field : fields) { - boolean accessible = field.isAccessible(); - field.setAccessible(true); - Query q = field.getAnnotation(Query.class); - if (q != null) { - String propName = q.propName(); - String joinName = q.joinName(); - String blurry = q.blurry(); - String attributeName = isBlank(propName) ? field.getName() : propName; - Class fieldType = field.getType(); - Object val = field.get(query); - if (ObjectUtil.isNull(val) || "".equals(val)) { - continue; - } - Join join = null; - // 模糊多字段 - if (ObjectUtil.isNotEmpty(blurry)) { - String[] blurrys = blurry.split(","); - List orPredicate = new ArrayList<>(); - for (String s : blurrys) { - orPredicate.add(cb.like(root.get(s) - .as(String.class), "%" + val.toString() + "%")); - } - Predicate[] p = new Predicate[orPredicate.size()]; - list.add(cb.or(orPredicate.toArray(p))); - continue; - } - if (ObjectUtil.isNotEmpty(joinName)) { - String[] joinNames = joinName.split(">"); - for (String name : joinNames) { - switch (q.join()) { - case LEFT: - if(ObjectUtil.isNotNull(join)){ - join = join.join(name, JoinType.LEFT); - } else { - join = root.join(name, JoinType.LEFT); - } - break; - case RIGHT: - if(ObjectUtil.isNotNull(join)){ - join = join.join(name, JoinType.RIGHT); - } else { - join = root.join(name, JoinType.RIGHT); - } - break; - default: break; - } - } - } - switch (q.type()) { - case EQUAL: - list.add(cb.equal(getExpression(attributeName,join,root) - .as((Class) fieldType),val)); - break; - case GREATER_THAN: - list.add(cb.greaterThanOrEqualTo(getExpression(attributeName,join,root) - .as((Class) fieldType), (Comparable) val)); - break; - case LESS_THAN: - list.add(cb.lessThanOrEqualTo(getExpression(attributeName,join,root) - .as((Class) fieldType), (Comparable) val)); - break; - case LESS_THAN_NQ: - list.add(cb.lessThan(getExpression(attributeName,join,root) - .as((Class) fieldType), (Comparable) val)); - break; - case INNER_LIKE: - list.add(cb.like(getExpression(attributeName,join,root) - .as(String.class), "%" + val.toString() + "%")); - break; - case LEFT_LIKE: - list.add(cb.like(getExpression(attributeName,join,root) - .as(String.class), "%" + val.toString())); - break; - case RIGHT_LIKE: - list.add(cb.like(getExpression(attributeName,join,root) - .as(String.class), val.toString() + "%")); - break; - case IN: - if (CollUtil.isNotEmpty((Collection)val)) { - list.add(getExpression(attributeName,join,root).in((Collection) val)); - } - break; - case NOT_EQUAL: - list.add(cb.notEqual(getExpression(attributeName,join,root), val)); - break; - case NOT_NULL: - list.add(cb.isNotNull(getExpression(attributeName,join,root))); - break; - case BETWEEN: - List between = new ArrayList<>((List)val); - list.add(cb.between(getExpression(attributeName, join, root).as((Class) between.get(0).getClass()), - (Comparable) between.get(0), (Comparable) between.get(1))); - break; - case UNIX_TIMESTAMP: - List UNIX_TIMESTAMP = new ArrayList<>((List)val); - if(!UNIX_TIMESTAMP.isEmpty()){ - SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - long time1 = fm.parse(UNIX_TIMESTAMP.get(0).toString()).getTime()/1000; - long time2 = fm.parse(UNIX_TIMESTAMP.get(1).toString()).getTime()/1000; - list.add(cb.between(getExpression(attributeName, join, root), - time1, time2)); - } - break; - default: break; - } - } - field.setAccessible(accessible); - } - } catch (Exception e) { - log.error(e.getMessage(), e); - } - int size = list.size(); - return cb.and(list.toArray(new Predicate[size])); - } - - @SuppressWarnings("unchecked") - private static Expression getExpression(String attributeName, Join join, Root root) { - if (ObjectUtil.isNotEmpty(join)) { - return join.get(attributeName); - } else { - return root.get(attributeName); - } - } - - private static boolean isBlank(final CharSequence cs) { - int strLen; - if (cs == null || (strLen = cs.length()) == 0) { - return true; - } - for (int i = 0; i < strLen; i++) { - if (!Character.isWhitespace(cs.charAt(i))) { - return false; - } - } - return true; - } - - private static List getAllFields(Class clazz, List fields) { - if (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - getAllFields(clazz.getSuperclass(), fields); - } - return fields; - } -} diff --git a/yshop-common/src/main/java/co/yixiang/utils/ThrowableUtil.java b/yshop-common/src/main/java/co/yixiang/utils/ThrowableUtil.java index 9ebb9777..68c17f43 100644 --- a/yshop-common/src/main/java/co/yixiang/utils/ThrowableUtil.java +++ b/yshop-common/src/main/java/co/yixiang/utils/ThrowableUtil.java @@ -6,7 +6,8 @@ package co.yixiang.utils; import co.yixiang.exception.BadRequestException; -import org.hibernate.exception.ConstraintViolationException; + +import javax.validation.ConstraintViolationException; import java.io.PrintWriter; import java.io.StringWriter; diff --git a/yshop-logging/src/main/java/co/yixiang/logging/domain/Log.java b/yshop-logging/src/main/java/co/yixiang/logging/domain/Log.java index 250b0341..4a7d80ea 100644 --- a/yshop-logging/src/main/java/co/yixiang/logging/domain/Log.java +++ b/yshop-logging/src/main/java/co/yixiang/logging/domain/Log.java @@ -11,8 +11,6 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.NoArgsConstructor; -import org.hibernate.annotations.CreationTimestamp; -import javax.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/yshop-mproot/src/main/java/co/yixiang/common/utils/QueryHelpPlus.java b/yshop-mproot/src/main/java/co/yixiang/common/utils/QueryHelpPlus.java index 62da477e..71abe365 100644 --- a/yshop-mproot/src/main/java/co/yixiang/common/utils/QueryHelpPlus.java +++ b/yshop-mproot/src/main/java/co/yixiang/common/utils/QueryHelpPlus.java @@ -11,13 +11,10 @@ import co.yixiang.common.web.vo.Paging; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import co.yixiang.annotation.Query; - -import javax.persistence.criteria.*; +import net.sf.jsqlparser.statement.select.Join; import java.lang.reflect.Field; -import java.sql.Wrapper; import java.text.SimpleDateFormat; import java.util.*; -import java.util.function.Consumer; /** * @author Zheng Jie @@ -149,14 +146,7 @@ public class QueryHelpPlus { return queryWrapper; } - @SuppressWarnings("unchecked") - private static Expression getExpression(String attributeName, Join join, Root root) { - if (ObjectUtil.isNotEmpty(join)) { - return join.get(attributeName); - } else { - return root.get(attributeName); - } - } + private static boolean isBlank(final CharSequence cs) { int strLen; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java index 6b21f72d..76202290 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCombinationServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCombinationServiceImpl.java index df8faa67..669c4f55 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCombinationServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCombinationServiceImpl.java @@ -32,8 +32,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueServiceImpl.java index 3b48c1de..e84fbdba 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueUserServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueUserServiceImpl.java index a2f7bd01..bde13057 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueUserServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponIssueUserServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponServiceImpl.java index b1fb3500..3da1e6bf 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponUserServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponUserServiceImpl.java index 532d361b..5484ea76 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponUserServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreCouponUserServiceImpl.java @@ -30,8 +30,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStorePinkServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStorePinkServiceImpl.java index 39256afc..e1c54fa1 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStorePinkServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStorePinkServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreVisitServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreVisitServiceImpl.java index f474ab36..5d3b883c 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreVisitServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreVisitServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxUserExtractServiceImpl.java b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxUserExtractServiceImpl.java index 0d69bc3a..c9917c8f 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxUserExtractServiceImpl.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/activity/service/impl/YxUserExtractServiceImpl.java @@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/StoreCartMapper.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/StoreCartMapper.java index 6dbb8900..326505ff 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/StoreCartMapper.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/StoreCartMapper.java @@ -10,7 +10,6 @@ import co.yixiang.modules.shop.domain.YxStoreCart; import co.yixiang.modules.shop.service.dto.CountDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; -import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/UserMapper.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/UserMapper.java index 09646297..3006f041 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/UserMapper.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/service/mapper/UserMapper.java @@ -10,8 +10,6 @@ import co.yixiang.modules.shop.domain.YxUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; /** diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/rest/MenuController.java b/yshop-system/src/main/java/co/yixiang/modules/system/rest/MenuController.java index 76eb8b6e..f7197144 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/rest/MenuController.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/rest/MenuController.java @@ -104,23 +104,8 @@ public class MenuController { if (resources.getId() != null) { throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); } - Menu menu = menuService.getOne(new QueryWrapper().eq("name",resources.getName())); - if(menu != null){ - throw new EntityExistException(Menu.class,"name",resources.getName()); - } - if(StringUtils.isNotBlank(resources.getComponentName())){ - menu = menuService.getOne(new QueryWrapper().eq("component_name",resources.getComponentName())); - if(menu != null){ - throw new EntityExistException(Menu.class,"componentName",resources.getComponentName()); - } - } - if(resources.getIFrame()){ - String http = "http://", https = "https://"; - if (!(resources.getPath().toLowerCase().startsWith(http)||resources.getPath().toLowerCase().startsWith(https))) { - throw new BadRequestException("外链必须以http://或者https://开头"); - } - } - return new ResponseEntity<>(menuService.save(resources),HttpStatus.CREATED); + + return new ResponseEntity<>(menuService.create(resources),HttpStatus.CREATED); } @Log("修改菜单") diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/MenuService.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/MenuService.java index e7ec977b..6fb9993f 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/MenuService.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/MenuService.java @@ -104,4 +104,6 @@ public interface MenuService extends BaseService{ * @param resources / */ void update(Menu resources); + + Object create(Menu resources); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictDetailServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictDetailServiceImpl.java index 2c776433..cbd866ee 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictDetailServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictDetailServiceImpl.java @@ -30,8 +30,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictServiceImpl.java index 8629f75a..04c2d512 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DictServiceImpl.java @@ -30,8 +30,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java index db045803..7949fb99 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java @@ -31,8 +31,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/MenuServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/MenuServiceImpl.java index 4fd7e071..a4b68e8f 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/MenuServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/MenuServiceImpl.java @@ -30,7 +30,9 @@ import co.yixiang.modules.system.service.MenuService; import co.yixiang.modules.system.service.dto.MenuDto; import co.yixiang.modules.system.service.dto.MenuQueryCriteria; import co.yixiang.modules.system.service.mapper.MenuMapper; +import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -58,7 +60,7 @@ import java.util.stream.Collectors; */ @Service @AllArgsConstructor -//@CacheConfig(cacheNames = "menu") +@CacheConfig(cacheNames = "menu") @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) public class MenuServiceImpl extends BaseServiceImpl implements MenuService { @@ -67,7 +69,7 @@ public class MenuServiceImpl extends BaseServiceImpl implement private final RoleMapper roleMapper; @Override - //@Cacheable + @Cacheable public Map queryAll(MenuQueryCriteria criteria, Pageable pageable) { getPage(pageable); PageInfo page = new PageInfo<>(queryAll(criteria)); @@ -79,7 +81,7 @@ public class MenuServiceImpl extends BaseServiceImpl implement @Override - //@Cacheable + @Cacheable public List queryAll(MenuQueryCriteria criteria){ return baseMapper.selectList(QueryHelpPlus.getPredicate(Menu.class, criteria)); } @@ -204,6 +206,7 @@ public class MenuServiceImpl extends BaseServiceImpl implement * @return / */ @Override + @Cacheable(key = "'tree'") public Object getMenuTree(List menus) { List> list = new LinkedList<>(); menus.forEach(menu -> { @@ -249,6 +252,7 @@ public class MenuServiceImpl extends BaseServiceImpl implement * @return / */ @Override + @Cacheable(key = "'pid:'+#p0") public List findByPid(long pid) { return menuMapper.findByPid(pid); } @@ -276,6 +280,7 @@ public class MenuServiceImpl extends BaseServiceImpl implement * @param menuSet / */ @Override + @CacheEvict(allEntries = true) public void delete(Set menuSet) { for (Menu menu : menuSet) { roleMapper.untiedMenu(menu.getId()); @@ -289,6 +294,7 @@ public class MenuServiceImpl extends BaseServiceImpl implement * @param resources / */ @Override + @CacheEvict(allEntries = true) public void update(Menu resources) { if(resources.getId().equals(resources.getPid())) { throw new BadRequestException("上级不能为自己"); @@ -329,4 +335,25 @@ public class MenuServiceImpl extends BaseServiceImpl implement menu.setType(resources.getType()); this.saveOrUpdate(menu); } + + @Override + @CacheEvict(allEntries = true) + public MenuDto create(Menu resources) { + if(this.getOne(lambdaQuery().eq(Menu::getName,resources.getName())) != null){ + throw new EntityExistException(Menu.class,"name",resources.getName()); + } + if(StringUtils.isNotBlank(resources.getComponentName())){ + if(this.getOne(lambdaQuery().eq(Menu::getComponentName,resources.getComponentName())) != null){ + throw new EntityExistException(Menu.class,"componentName",resources.getComponentName()); + } + } + if(resources.getIFrame()){ + String http = "http://", https = "https://"; + if (!(resources.getPath().toLowerCase().startsWith(http)||resources.getPath().toLowerCase().startsWith(https))) { + throw new BadRequestException("外链必须以http://或者https://开头"); + } + } + this.save(resources); + return generator.convert(resources,MenuDto.class); + } } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java index d6d44744..342a6b93 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java @@ -44,9 +44,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; - import java.util.Collection; import java.util.Collections; import java.util.HashSet; diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/UserAvatarServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/UserAvatarServiceImpl.java index 51aefcdd..5c3eba8c 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/UserAvatarServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/UserAvatarServiceImpl.java @@ -30,8 +30,6 @@ import org.springframework.transaction.annotation.Transactional; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-system/src/main/resources/template/generator/admin/ServiceImpl.ftl b/yshop-system/src/main/resources/template/generator/admin/ServiceImpl.ftl index eddabeee..d8453c6c 100644 --- a/yshop-system/src/main/resources/template/generator/admin/ServiceImpl.ftl +++ b/yshop-system/src/main/resources/template/generator/admin/ServiceImpl.ftl @@ -41,8 +41,6 @@ import cn.hutool.core.util.IdUtil; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException; diff --git a/yshop-system/src/main/resources/template/generator/admin/ServiceImplP.ftl b/yshop-system/src/main/resources/template/generator/admin/ServiceImplP.ftl index 541473c8..82eb800a 100644 --- a/yshop-system/src/main/resources/template/generator/admin/ServiceImplP.ftl +++ b/yshop-system/src/main/resources/template/generator/admin/ServiceImplP.ftl @@ -46,8 +46,6 @@ import cn.hutool.core.util.IdUtil; //import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import co.yixiang.utils.PageUtil; -import co.yixiang.utils.QueryHelp; import java.util.List; import java.util.Map; import java.io.IOException;