From 1371f948387899c22a000e59cda941d81fd01438 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Thu, 4 Apr 2019 18:05:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=86=94=E6=96=AD=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/bean/BaseFallBackBean.java | 38 +++++++++++++++++----- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseFallBackBean.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseFallBackBean.java index 870b7f7..fecb6e3 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseFallBackBean.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseFallBackBean.java @@ -18,23 +18,45 @@ public class BaseFallBackBean { // LOGGER.error("【微服出错,熔断】{}",cause.getCause()); // cause.printStackTrace(); + /** + * 基本熔断信息封装方法 + * @param cause 错误原因 + * @return 基础结果类 + */ public BaseResultBean makeBaseFallBack(Throwable cause){ - LOGGER.error("【熔断信息】{}",cause.getMessage()); - LOGGER.error("【熔断原因】{}",cause.getCause()); - return makeBaseFallBack("【微服熔断】服务暂停,请稍后再试。",cause); + LOGGER.error("【熔断信息】{}", cause.getMessage()); + LOGGER.error("【熔断原因】{}", cause.getCause()); + cause.printStackTrace(); + return makeBaseFallBack("【微服熔断】服务暂停,请稍后再试。", cause); } - public BaseResultBean makeBaseFallBack(String msg,Throwable cause){ - LOGGER.error("【熔断信息】{}",cause.getMessage()); - LOGGER.error("【熔断原因】{}",cause.getCause()); - return BaseResultBean.buildBaseResultBean(false,cause.getMessage() + ",信息:" + msg); + /** + * 自定义熔断信息封装方法 + * @param msg 错误提示 + * @param cause 错误原因 + * @return 基础结果类 + */ + public BaseResultBean makeBaseFallBack(String msg, Throwable cause){ + LOGGER.error("【熔断信息】{}", cause.getMessage()); + LOGGER.error("【熔断原因】{}", cause.getCause()); + cause.printStackTrace(); + return BaseResultBean.buildBaseResultBean(false, cause.getMessage() + ",信息:" + msg); } + /** + * 简化熔断信息方法 + * @return 基础结果类 + */ public BaseResultBean makeBaseFallBack(){ return makeBaseFallBack("【微服熔断】服务暂停,请稍后再试。"); } + /** + * 自定义简化熔断方法 + * @param msg 自定义信息 + * @return 基础结果类 + */ public BaseResultBean makeBaseFallBack(String msg){ - return BaseResultBean.buildBaseResultBean(false,msg); + return BaseResultBean.buildBaseResultBean(false, msg); } } From 7f10c22613966ce27bf98fb92086c49aae832ac0 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Fri, 12 Apr 2019 18:44:09 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=83=A8=E5=88=86=E7=BB=86=E8=8A=82?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/jpa/daoimpl/BaseMongoRepositoryImpl.java | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java index f81e238..ef58910 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseMongoRepositoryImpl.java @@ -5,8 +5,10 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseMongoRepository; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; import com.alibaba.fastjson.JSONObject; +import com.mongodb.BasicDBObject; import com.mongodb.Block; import com.mongodb.client.FindIterable; +import com.mongodb.client.model.CountOptions; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Sorts; import org.apache.commons.lang3.StringUtils; @@ -21,6 +23,7 @@ import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity; import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.repository.query.MongoEntityInformation; import org.springframework.data.mongodb.repository.support.SimpleMongoRepository; @@ -271,13 +274,9 @@ public class BaseMongoRepositoryImpl extends SimpleM FindIterable findIter = null; if(bson == null) { - findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find() - .skip(pager.getStartRow()) - .limit(pager.getPageSize()); + findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(); }else{ - findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(bson) - .skip(pager.getStartRow()) - .limit(pager.getPageSize()); + findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(bson); } if(StringUtils.isNotBlank(orderByParam) && ascOrDesc != 0){ //排序 @@ -286,8 +285,13 @@ public class BaseMongoRepositoryImpl extends SimpleM }else{ findIter.sort(Sorts.descending(orderByParam)); } + }else{ + //根据id排序 + findIter.sort(new BasicDBObject("_id", 1)); } + findIter.skip(pager.getStartRow()).limit(pager.getPageSize()); findIter.forEach(saveBlock); + return packObjectListFromDocument(dList); } @@ -310,9 +314,7 @@ public class BaseMongoRepositoryImpl extends SimpleM dList.add(document); } }; - FindIterable findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find() - .skip(pager.getStartRow()) - .limit(pager.getPageSize()); + FindIterable findIter = mongoOperations.getCollection(this.entityInformation.getCollectionName()).find(); if(StringUtils.isNotBlank(orderByParam) && ascOrDesc != 0){ //排序 if(ascOrDesc == CommonEnumUtil.ASC_OR_DESC.ASC.getValue()){ @@ -320,7 +322,11 @@ public class BaseMongoRepositoryImpl extends SimpleM }else{ findIter.sort(Sorts.descending(orderByParam)); } + }else{ + //根据id排序 + findIter.sort(new BasicDBObject("_id", 1)); } + findIter.skip(pager.getStartRow()).limit(pager.getPageSize()); findIter.forEach(saveBlock); return packObjectListFromDocument(dList); } From d0cac648f300f39664cb51f7f9c4e1533739527e Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Tue, 16 Apr 2019 19:02:50 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0update=E9=80=9A=E8=BF=87D?= =?UTF-8?q?dlPack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/jpa/dao/BaseRepository.java | 9 ++++++ .../pojo/base/jpa/daoimpl/BaseRepositoryImpl.java | 34 ++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java index 6a48fbe..4c07060 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java @@ -105,6 +105,15 @@ public interface BaseRepository extends JpaReposito int updateByProperties(String conditionName, Object conditionValue, String[] propertyName, Object[] propertyValue); /** + * 通过属性进行多个值更新 + * @param propertyName + * @param propertyValue + */ + int updateByProperties(String propertyName, Object propertyValue,DdlPackBean packBean); + int updateByProperties(String[] propertyName, Object[] propertyValue,DdlPackBean packBean); + + + /** * 通过多个属性进行单个值更新 * @param conditionName * @param conditionValue diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java index 4145076..3de0adf 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java @@ -222,6 +222,40 @@ public class BaseRepositoryImpl extends SimpleJpaRep } @Override + public int updateByProperties(String propertyName, Object propertyValue,DdlPackBean packBean) { + return updateByProperties(new String[] { propertyName }, new Object[] { propertyValue },packBean); + } + + @Override + public int updateByProperties(String[] propertyName, Object[] propertyValue,DdlPackBean packBean) { + if ((propertyName != null) && (propertyName.length > 0) && (propertyValue != null) + && (propertyValue.length > 0) && (propertyName.length == propertyValue.length)) { + StringBuffer sb = new StringBuffer(); + + sb.append("update " + persistentClass.getName() + " model set "); + for (int i = 0; i < propertyName.length; i++) { + sb.append(propertyName[i] + " = :p_" + propertyName[i] + ","); + } + sb.deleteCharAt(sb.length() - 1); + sb.append(" where 1=1 " + packBean.getWhereAppend()); + + Query query = entityManager.createQuery(sb.toString()); + //更新值 + for (int i = 0; i < propertyName.length; i++) { + query.setParameter("p_" + propertyName[i], propertyValue[i]); + } + //查询条件 + for (String key : packBean.getHqlPreparedMap().keySet()) { + query.setParameter(key,packBean.getHqlPreparedMap().get(key)); + } + + return query.executeUpdate(); + } else { + throw new IllegalArgumentException("参数值错误!,propertyName:" + propertyName + ",propertyValue:" + propertyValue); + } + } + + @Override public int updateByHqlWhere(String hqlWhere, String propertyName, Object propertyValue) { return updateByHqlWhere(hqlWhere, new String[]{propertyName}, new Object[]{propertyValue}); }