From 6d09bd498779edb02d014f376921544222d6efc6 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Fri, 17 Jun 2022 15:40:52 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?=
=?UTF-8?q?=E7=B4=A2=E5=BC=95=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lili/modules/order/cart/entity/vo/CartSkuVO.java | 2 ++
.../search/serviceimpl/EsGoodsSearchServiceImpl.java | 11 +++++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java
index 30608258..1dcffeeb 100644
--- a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java
+++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java
@@ -6,6 +6,7 @@ import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.promotion.tools.PromotionTools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@@ -19,6 +20,7 @@ import java.util.Map;
*/
@Data
@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
public class CartSkuVO extends CartBase implements Serializable {
diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java
index fd25cf2b..20646ebb 100644
--- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java
@@ -56,6 +56,9 @@ import java.util.*;
@Service
public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
+ // 最小分词匹配数
+ private static final String MINIMUM_SHOULD_MATCH = "1";
+
private static final String ATTR_PATH = "attrList";
private static final String ATTR_VALUE = "attrList.value";
private static final String ATTR_NAME = "attrList.name";
@@ -540,7 +543,7 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];
filterFunctionBuilders.toArray(builders);
- FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(builders)
+ FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch(MINIMUM_SHOULD_MATCH), builders)
.scoreMode(FunctionScoreQuery.ScoreMode.SUM)
.setMinScore(2);
//聚合搜索则将结果放入过滤条件
@@ -556,7 +559,7 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
private List buildKeywordSearch(String keyword) {
List filterFunctionBuilders = new ArrayList<>();
// operator 为 AND 时 需全部分词匹配。为 OR 时 需配置 minimumShouldMatch(最小分词匹配数)不设置默认为1
- MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch("2");
+ MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch(MINIMUM_SHOULD_MATCH);
//分词匹配
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
ScoreFunctionBuilders.weightFactorFunction(10)));
@@ -564,11 +567,11 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.nestedQuery(ATTR_PATH, QueryBuilders.wildcardQuery(ATTR_VALUE, "*" + keyword + "*"), ScoreMode.None),
ScoreFunctionBuilders.weightFactorFunction(8)));
- GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 50, 10, 50).setWeight(7);
+ GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 50, 10, 50).setWeight(2);
FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery, skuNoScore);
filterFunctionBuilders.add(skuNoBuilder);
- FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(6);
+ FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(3);
FunctionScoreQueryBuilder.FilterFunctionBuilder buyCountBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery, buyCountScore);
filterFunctionBuilders.add(buyCountBuilder);
return filterFunctionBuilders;
From e17e3474cac4df19b5bc727e251c7a7051154779 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Fri, 17 Jun 2022 19:08:08 +0800
Subject: [PATCH 2/7] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?=
=?UTF-8?q?=E7=B4=A2=E5=BC=95=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../serviceimpl/EsGoodsSearchServiceImpl.java | 49 +++++++------------
1 file changed, 17 insertions(+), 32 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java
index 20646ebb..37cd3373 100644
--- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java
@@ -25,7 +25,6 @@ import org.elasticsearch.index.query.Operator;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.functionscore.FieldValueFactorFunctionBuilder;
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
-import org.elasticsearch.index.query.functionscore.GaussDecayFunctionBuilder;
import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
import org.elasticsearch.search.aggregations.*;
import org.elasticsearch.search.aggregations.bucket.nested.ParsedNested;
@@ -57,7 +56,7 @@ import java.util.*;
public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
// 最小分词匹配数
- private static final String MINIMUM_SHOULD_MATCH = "1";
+ private static final String MINIMUM_SHOULD_MATCH = "2";
private static final String ATTR_PATH = "attrList";
private static final String ATTR_VALUE = "attrList.value";
@@ -367,16 +366,10 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
//关键字检索
if (CharSequenceUtil.isEmpty(searchDTO.getKeyword())) {
- List filterFunctionBuilders = new ArrayList<>();
- GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 50, 10, 50).setWeight(2);
- FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchAllQuery(), skuNoScore);
- filterFunctionBuilders.add(skuNoBuilder);
- FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(3);
- FunctionScoreQueryBuilder.FilterFunctionBuilder buyCountBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchAllQuery(), buyCountScore);
- filterFunctionBuilders.add(buyCountBuilder);
+ List filterFunctionBuilders = this.buildFunctionSearch();
FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];
filterFunctionBuilders.toArray(builders);
- FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(builders)
+ FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(QueryBuilders.matchAllQuery(), builders)
.scoreMode(FunctionScoreQuery.ScoreMode.SUM)
.setMinScore(2);
//聚合搜索则将结果放入过滤条件
@@ -532,18 +525,16 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
* @param keyword 关键字
*/
private void keywordSearch(BoolQueryBuilder filterBuilder, String keyword) {
- List filterFunctionBuilders = new ArrayList<>();
- if (keyword.contains(" ")) {
- for (String s : keyword.split(" ")) {
- filterFunctionBuilders.addAll(this.buildKeywordSearch(s));
- }
- } else {
- filterFunctionBuilders = this.buildKeywordSearch(keyword);
- }
+
+ List filterFunctionBuilders = this.buildFunctionSearch();
+
+ //分词匹配
+ // operator 为 AND 时 需全部分词匹配。为 OR 时 需配置 minimumShouldMatch(最小分词匹配数)不设置默认为1
+ MatchQueryBuilder goodsNameMatchQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch(MINIMUM_SHOULD_MATCH);
FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];
filterFunctionBuilders.toArray(builders);
- FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch(MINIMUM_SHOULD_MATCH), builders)
+ FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(goodsNameMatchQuery, builders)
.scoreMode(FunctionScoreQuery.ScoreMode.SUM)
.setMinScore(2);
//聚合搜索则将结果放入过滤条件
@@ -553,26 +544,20 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
/**
* 构造关键字查询
*
- * @param keyword 关键字
* @return 构造查询的集合
*/
- private List buildKeywordSearch(String keyword) {
+ private List buildFunctionSearch() {
List filterFunctionBuilders = new ArrayList<>();
- // operator 为 AND 时 需全部分词匹配。为 OR 时 需配置 minimumShouldMatch(最小分词匹配数)不设置默认为1
- MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch(MINIMUM_SHOULD_MATCH);
- //分词匹配
- filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
- ScoreFunctionBuilders.weightFactorFunction(10)));
- //属性匹配
- filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.nestedQuery(ATTR_PATH, QueryBuilders.wildcardQuery(ATTR_VALUE, "*" + keyword + "*"), ScoreMode.None),
- ScoreFunctionBuilders.weightFactorFunction(8)));
- GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 50, 10, 50).setWeight(2);
- FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery, skuNoScore);
+// GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 100, 10).setWeight(2);
+// FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(skuNoScore);
+// filterFunctionBuilders.add(skuNoBuilder);
+ FieldValueFactorFunctionBuilder skuNoScore = ScoreFunctionBuilders.fieldValueFactorFunction("skuSource").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(3);
+ FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(skuNoScore);
filterFunctionBuilders.add(skuNoBuilder);
FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(3);
- FunctionScoreQueryBuilder.FilterFunctionBuilder buyCountBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery, buyCountScore);
+ FunctionScoreQueryBuilder.FilterFunctionBuilder buyCountBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(buyCountScore);
filterFunctionBuilders.add(buyCountBuilder);
return filterFunctionBuilders;
}
From cb52fca2a4e807e06d1b28859049e0b3d8e765e6 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Wed, 22 Jun 2022 14:44:58 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=82=E9=BB=98=E8=AE=A4=E6=8B=BC=E5=9B=A2?=
=?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4=E4=BF=AE=E6=94=B9=E4=B8=BA?=
=?UTF-8?q?24=E5=B0=8F=E6=97=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lili/cache/config/redis/RedisConfig.java | 17 ++++++--------
.../serviceimpl/ConnectServiceImpl.java | 23 +++++++++++--------
.../entity/dto/ManagerMemberEditDTO.java | 3 ++-
.../order/serviceimpl/OrderServiceImpl.java | 4 ++--
.../serviceimpl/PintuanServiceImpl.java | 2 +-
.../promotion/tools/PromotionTools.java | 8 ++-----
.../search/entity/dos/CustomWords.java | 2 ++
.../search/service/EsGoodsSearchService.java | 1 -
.../serviceimpl/EsGoodsSearchServiceImpl.java | 5 ++--
9 files changed, 32 insertions(+), 33 deletions(-)
diff --git a/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java b/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java
index 0551f26b..8af75596 100644
--- a/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java
+++ b/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java
@@ -11,7 +11,6 @@ import org.redisson.config.ClusterServersConfig;
import org.redisson.config.Config;
import org.redisson.config.SentinelServersConfig;
import org.redisson.config.SingleServerConfig;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -56,13 +55,11 @@ import java.util.Map;
public class RedisConfig extends CachingConfigurerSupport {
+ private static final String REDIS_PREFIX = "redis://";
+
@Value("${lili.cache.timeout:7200}")
private Integer timeout;
- @Autowired
- private RedisProperties redisProperties;
-
-
/**
* 当有多个管理器的时候,必须使用该注解在一个管理器上注释:表示该管理器为默认的管理器
*
@@ -101,7 +98,7 @@ public class RedisConfig extends CachingConfigurerSupport {
public RedisTemplate
*
- * @param openId
- * @param unionId
- * @param member
+ * @param openId 微信openid
+ * @param unionId 微信unionid
+ * @param member 会员
*/
private void bindMpMember(String openId, String unionId, Member member) {
@@ -272,7 +275,7 @@ public class ConnectServiceImpl extends ServiceImpl impl
lambdaQueryWrapper.eq(Connect::getUnionId, unionId);
lambdaQueryWrapper.eq(Connect::getUnionType, ConnectEnum.WECHAT.name());
List connects = this.list(lambdaQueryWrapper);
- if (connects.size() == 0) {
+ if (connects.isEmpty()) {
Connect connect = new Connect();
connect.setUnionId(unionId);
connect.setUserId(member.getId());
@@ -281,7 +284,7 @@ public class ConnectServiceImpl extends ServiceImpl impl
}
}//如果openid 不为空 则为账号绑定openid
if (CharSequenceUtil.isNotEmpty(openId)) {
- LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper();
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(Connect::getUnionId, openId);
lambdaQueryWrapper.eq(Connect::getUnionType, ConnectEnum.WECHAT_MP_OPEN_ID.name());
List connects = this.list(lambdaQueryWrapper);
diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java
index 8818ad4a..c61792aa 100644
--- a/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java
+++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java
@@ -24,6 +24,7 @@ public class ManagerMemberEditDTO {
@ApiModelProperty(value = "会员用户名,用户名不能进行修改", required = true)
@NotNull(message = "会员用户名不能为空")
private String id;
+
@ApiModelProperty(value = "会员用户名,用户名不能进行修改", required = true)
@NotNull(message = "会员用户名不能为空")
private String username;
@@ -48,7 +49,7 @@ public class ManagerMemberEditDTO {
private Integer sex;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "会员生日")
private Date birthday;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index b6211c3c..ca00f595 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -811,10 +811,10 @@ public class OrderServiceImpl extends ServiceImpl implements
List list = this.getPintuanOrder(pintuanId, parentOrderSn);
int count = list.size();
if (count == 1) {
- //如果为开团订单,则发布一个一小时的延时任务,时间到达后,如果未成团则自动结束(未开启虚拟成团的情况下)
+ //如果为开团订单,则发布一个24小时的延时任务,时间到达后,如果未成团则自动结束(未开启虚拟成团的情况下)
PintuanOrderMessage pintuanOrderMessage = new PintuanOrderMessage();
//开团结束时间
- long startTime = DateUtil.offsetMinute(new Date(), 2).getTime();
+ long startTime = DateUtil.offsetHour(new Date(), 24).getTime();
pintuanOrderMessage.setOrderSn(parentOrderSn);
pintuanOrderMessage.setPintuanId(pintuanId);
TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.PROMOTION_EXECUTOR,
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java
index 4edd344a..6750104b 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java
@@ -299,7 +299,7 @@ public class PintuanServiceImpl extends AbstractPromotionsServiceImpl
Date: Wed, 22 Jun 2022 15:05:25 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=BE=91?=
=?UTF-8?q?=E6=9C=89=E5=8F=82=E5=8A=A0=E5=95=86=E5=93=81=E7=9A=84=E4=BF=83?=
=?UTF-8?q?=E9=94=80=E6=B4=BB=E5=8A=A8=E7=9A=84=E6=97=B6=E9=97=B4=E6=97=B6?=
=?UTF-8?q?=EF=BC=8C=E5=8E=9F=E5=8F=82=E4=B8=8E=E6=B4=BB=E5=8A=A8=E7=9A=84?=
=?UTF-8?q?=E5=95=86=E5=93=81=E7=9A=84=E6=97=B6=E9=97=B4=E6=B2=A1=E6=9C=89?=
=?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cn/lili/modules/promotion/tools/PromotionTools.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java b/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java
index 02eb5703..1eb51582 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java
@@ -133,6 +133,13 @@ public class PromotionTools {
promotionGoods.setStoreName(promotion.getStoreName());
}
promotionGoods.setTitle(promotion.getPromotionName());
+ // 如果是秒杀活动保留原时间
+ if (promotionGoods.getStartTime() == null || !PromotionTypeEnum.SECKILL.equals(promotionTypeEnum)) {
+ promotionGoods.setStartTime(promotion.getStartTime());
+ }
+ if (promotionGoods.getStartTime() == null || !PromotionTypeEnum.SECKILL.equals(promotionTypeEnum)) {
+ promotionGoods.setEndTime(promotion.getEndTime());
+ }
promotionGoods.setStartTime(promotion.getStartTime());
promotionGoods.setEndTime(promotion.getEndTime());
promotionGoods.setPromotionType(promotionTypeEnum.name());
From 96697e11fd848334f206ba72872172252b4179bc Mon Sep 17 00:00:00 2001
From: paulGao
Date: Wed, 22 Jun 2022 17:31:26 +0800
Subject: [PATCH 5/7] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=9B=91=E5=90=AC?=
=?UTF-8?q?=E4=BA=8B=E5=8A=A1=E6=8F=90=E4=BA=A4=E5=8F=91=E9=80=81mq?=
=?UTF-8?q?=E4=BA=8B=E4=BB=B6=EF=BC=8C=E4=B8=BA=E8=AE=A2=E5=8D=95=E5=8F=98?=
=?UTF-8?q?=E6=9B=B4=E5=8F=91=E9=80=81mq=E5=A2=9E=E5=8A=A0=E4=BA=8B?=
=?UTF-8?q?=E5=8A=A1=E6=8F=90=E4=BA=A4=E7=9B=91=E5=90=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../event/TransactionCommitSendMQEvent.java | 32 +++++++++++++++
.../TransactionCommitSendMQListener.java | 38 +++++++++++++++++
.../event/GeneratorEsGoodsIndexEvent.java | 24 -----------
.../GeneratorEsGoodsIndexListener.java | 37 -----------------
.../serviceimpl/GoodsSkuServiceImpl.java | 8 ++--
.../order/serviceimpl/OrderServiceImpl.java | 17 +++++---
.../UpdateEsGoodsIndexPromotionsEvent.java | 19 ---------
.../UpdateEsGoodsIndexPromotionsListener.java | 41 -------------------
.../AbstractPromotionsServiceImpl.java | 17 ++------
9 files changed, 90 insertions(+), 143 deletions(-)
create mode 100644 framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java
create mode 100644 framework/src/main/java/cn/lili/common/listener/TransactionCommitSendMQListener.java
delete mode 100644 framework/src/main/java/cn/lili/modules/goods/event/GeneratorEsGoodsIndexEvent.java
delete mode 100644 framework/src/main/java/cn/lili/modules/goods/listener/GeneratorEsGoodsIndexListener.java
delete mode 100644 framework/src/main/java/cn/lili/modules/promotion/event/UpdateEsGoodsIndexPromotionsEvent.java
delete mode 100644 framework/src/main/java/cn/lili/modules/promotion/listener/UpdateEsGoodsIndexPromotionsListener.java
diff --git a/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java b/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java
new file mode 100644
index 00000000..9f16c1e4
--- /dev/null
+++ b/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java
@@ -0,0 +1,32 @@
+package cn.lili.common.event;
+
+import lombok.Getter;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * 事务提交后发生mq事件
+ *
+ * @author paulG
+ * @since 2022/1/19
+ **/
+public class TransactionCommitSendMQEvent extends ApplicationEvent {
+
+ private static final long serialVersionUID = 5885956821347953071L;
+
+
+ @Getter
+ private final String topic;
+
+ @Getter
+ private final String tag;
+
+ @Getter
+ private final String message;
+
+ public TransactionCommitSendMQEvent(Object source, String topic, String tag, String message) {
+ super(source);
+ this.topic = topic;
+ this.tag = tag;
+ this.message = message;
+ }
+}
diff --git a/framework/src/main/java/cn/lili/common/listener/TransactionCommitSendMQListener.java b/framework/src/main/java/cn/lili/common/listener/TransactionCommitSendMQListener.java
new file mode 100644
index 00000000..c709df75
--- /dev/null
+++ b/framework/src/main/java/cn/lili/common/listener/TransactionCommitSendMQListener.java
@@ -0,0 +1,38 @@
+package cn.lili.common.listener;
+
+import cn.lili.common.event.TransactionCommitSendMQEvent;
+import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.event.TransactionPhase;
+import org.springframework.transaction.event.TransactionalEventListener;
+
+/**
+ * 事务提交监听器
+ *
+ * @author paulG
+ * @since 2022/1/19
+ **/
+@Component
+@Slf4j
+public class TransactionCommitSendMQListener {
+
+ /**
+ * rocketMq
+ */
+ @Autowired
+ private RocketMQTemplate rocketMQTemplate;
+
+
+ @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
+ public void send(TransactionCommitSendMQEvent event) {
+ log.info("事务提交,发送mq信息!{}", event);
+ String destination = event.getTopic() + ":" + event.getTag();
+ //发送订单变更mq消息
+ rocketMQTemplate.asyncSend(destination, event.getMessage(), RocketmqSendCallbackBuilder.commonCallback());
+ }
+
+
+}
diff --git a/framework/src/main/java/cn/lili/modules/goods/event/GeneratorEsGoodsIndexEvent.java b/framework/src/main/java/cn/lili/modules/goods/event/GeneratorEsGoodsIndexEvent.java
deleted file mode 100644
index 4088b5aa..00000000
--- a/framework/src/main/java/cn/lili/modules/goods/event/GeneratorEsGoodsIndexEvent.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.lili.modules.goods.event;
-
-import lombok.Data;
-import org.springframework.context.ApplicationEvent;
-
-/**
- * @author paulG
- * @since 2022/1/19
- **/
-@Data
-public class GeneratorEsGoodsIndexEvent extends ApplicationEvent {
-
- private static final long serialVersionUID = -6206752641309458207L;
-
- private String id;
-
- private String tag;
-
- public GeneratorEsGoodsIndexEvent(Object source, String tag, String id) {
- super(source);
- this.tag = tag;
- this.id = id;
- }
-}
diff --git a/framework/src/main/java/cn/lili/modules/goods/listener/GeneratorEsGoodsIndexListener.java b/framework/src/main/java/cn/lili/modules/goods/listener/GeneratorEsGoodsIndexListener.java
deleted file mode 100644
index 175e0b13..00000000
--- a/framework/src/main/java/cn/lili/modules/goods/listener/GeneratorEsGoodsIndexListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package cn.lili.modules.goods.listener;
-
-import cn.lili.common.properties.RocketmqCustomProperties;
-import cn.lili.modules.goods.event.GeneratorEsGoodsIndexEvent;
-import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
-import org.apache.rocketmq.spring.core.RocketMQTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.event.TransactionPhase;
-import org.springframework.transaction.event.TransactionalEventListener;
-
-/**
- * @author paulG
- * @since 2022/1/19
- **/
-@Component
-public class GeneratorEsGoodsIndexListener {
-
- /**
- * rocketMq
- */
- @Autowired
- private RocketMQTemplate rocketMQTemplate;
- /**
- * rocketMq配置
- */
- @Autowired
- private RocketmqCustomProperties rocketmqCustomProperties;
-
- @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
- public void generatorEsGoodsIndex(GeneratorEsGoodsIndexEvent esGoodsIndexEvent) {
- String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + esGoodsIndexEvent.getTag();
- //发送mq消息
- rocketMQTemplate.asyncSend(destination, esGoodsIndexEvent.getId(), RocketmqSendCallbackBuilder.commonCallback());
- }
-
-}
diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java
index c4d89278..94bec3dc 100644
--- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java
@@ -9,6 +9,7 @@ import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
+import cn.lili.common.event.TransactionCommitSendMQEvent;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.security.context.UserContext;
@@ -26,7 +27,6 @@ import cn.lili.modules.goods.entity.vos.GoodsSkuSpecVO;
import cn.lili.modules.goods.entity.vos.GoodsSkuVO;
import cn.lili.modules.goods.entity.vos.GoodsVO;
import cn.lili.modules.goods.entity.vos.SpecValueVO;
-import cn.lili.modules.goods.event.GeneratorEsGoodsIndexEvent;
import cn.lili.modules.goods.mapper.GoodsSkuMapper;
import cn.lili.modules.goods.service.*;
import cn.lili.modules.goods.sku.GoodsSkuBuilder;
@@ -362,10 +362,10 @@ public class GoodsSkuServiceImpl extends ServiceImpl i
boolean update = this.update(updateWrapper);
if (Boolean.TRUE.equals(update)) {
if (GoodsStatusEnum.UPPER.name().equals(marketEnable)) {
- applicationEventPublisher.publishEvent(new GeneratorEsGoodsIndexEvent("生成店铺商品", GoodsTagsEnum.GENERATOR_STORE_GOODS_INDEX.name(), storeId));
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("生成店铺商品", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.GENERATOR_STORE_GOODS_INDEX.name(), storeId));
} else if (GoodsStatusEnum.DOWN.name().equals(marketEnable)) {
cache.vagueDel(CachePrefix.GOODS_SKU.getPrefix());
- applicationEventPublisher.publishEvent(new GeneratorEsGoodsIndexEvent("删除店铺商品", GoodsTagsEnum.STORE_GOODS_DELETE.name(), storeId));
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除店铺商品", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.STORE_GOODS_DELETE.name(), storeId));
}
}
}
@@ -589,7 +589,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i
if (!GoodsStatusEnum.UPPER.name().equals(goods.getMarketEnable()) || !GoodsAuthEnum.PASS.name().equals(goods.getAuthFlag())) {
return;
}
- applicationEventPublisher.publishEvent(new GeneratorEsGoodsIndexEvent("生成商品", GoodsTagsEnum.GENERATOR_GOODS_INDEX.name(), goods.getId()));
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("生成商品", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.GENERATOR_GOODS_INDEX.name(), goods.getId()));
}
@Override
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index ca00f595..fab02420 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -10,6 +10,7 @@ import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
+import cn.lili.common.event.TransactionCommitSendMQEvent;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.security.OperationalJudgment;
@@ -66,6 +67,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -144,6 +146,10 @@ public class OrderServiceImpl extends ServiceImpl implements
@Autowired
private TradeService tradeService;
+
+ @Autowired
+ private ApplicationEventPublisher applicationEventPublisher;
+
@Override
@Transactional(rollbackFor = Exception.class)
public void intoDB(TradeDTO tradeDTO) {
@@ -445,12 +451,13 @@ public class OrderServiceImpl extends ServiceImpl implements
//获取订单信息
Order order = this.getBySn(orderSn);
//获取踪迹信息
- String str=order.getConsigneeMobile();
- return logisticsService.getLogistic(order.getLogisticsCode(), order.getLogisticsNo(), str.substring(str.length()-4));
+ String str = order.getConsigneeMobile();
+ return logisticsService.getLogistic(order.getLogisticsCode(), order.getLogisticsNo(), str.substring(str.length() - 4));
}
@Override
@OrderLogPoint(description = "'订单['+#orderSn+']核销,核销码['+#verificationCode+']'", orderSn = "#orderSn")
+ @Transactional(rollbackFor = Exception.class)
public Order take(String orderSn, String verificationCode) {
//获取订单信息
@@ -534,10 +541,9 @@ public class OrderServiceImpl extends ServiceImpl implements
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void sendUpdateStatusMessage(OrderMessage orderMessage) {
- String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name();
- //发送订单变更mq消息
- rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(orderMessage), RocketmqSendCallbackBuilder.commonCallback());
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("发送订单变更mq消息", rocketmqCustomProperties.getOrderTopic(), OrderTagsEnum.STATUS_CHANGE.name(), JSONUtil.toJsonStr(orderMessage)));
}
@Override
@@ -621,6 +627,7 @@ public class OrderServiceImpl extends ServiceImpl implements
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void batchDeliver(MultipartFile files) {
InputStream inputStream;
diff --git a/framework/src/main/java/cn/lili/modules/promotion/event/UpdateEsGoodsIndexPromotionsEvent.java b/framework/src/main/java/cn/lili/modules/promotion/event/UpdateEsGoodsIndexPromotionsEvent.java
deleted file mode 100644
index 94442bf7..00000000
--- a/framework/src/main/java/cn/lili/modules/promotion/event/UpdateEsGoodsIndexPromotionsEvent.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package cn.lili.modules.promotion.event;
-
-import lombok.Data;
-import org.springframework.context.ApplicationEvent;
-
-/**
- * @author paulG
- * @since 2022/1/19
- **/
-@Data
-public class UpdateEsGoodsIndexPromotionsEvent extends ApplicationEvent {
-
- private String promotionsJsonStr;
-
- public UpdateEsGoodsIndexPromotionsEvent(Object source, String promotionsJsonStr) {
- super(source);
- this.promotionsJsonStr = promotionsJsonStr;
- }
-}
diff --git a/framework/src/main/java/cn/lili/modules/promotion/listener/UpdateEsGoodsIndexPromotionsListener.java b/framework/src/main/java/cn/lili/modules/promotion/listener/UpdateEsGoodsIndexPromotionsListener.java
deleted file mode 100644
index 00417c5f..00000000
--- a/framework/src/main/java/cn/lili/modules/promotion/listener/UpdateEsGoodsIndexPromotionsListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package cn.lili.modules.promotion.listener;
-
-import cn.lili.common.properties.RocketmqCustomProperties;
-import cn.lili.modules.promotion.event.UpdateEsGoodsIndexPromotionsEvent;
-import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
-import cn.lili.rocketmq.tags.GoodsTagsEnum;
-import org.apache.rocketmq.spring.core.RocketMQTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.event.TransactionPhase;
-import org.springframework.transaction.event.TransactionalEventListener;
-
-/**
- * @author paulG
- * @since 2022/1/19
- **/
-@Component
-public class UpdateEsGoodsIndexPromotionsListener {
-
- /**
- * rocketMq
- */
- @Autowired
- private RocketMQTemplate rocketMQTemplate;
- /**
- * rocketMq配置
- */
- @Autowired
- private RocketmqCustomProperties rocketmqCustomProperties;
-
-
- @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, fallbackExecution = true)
- public void updateEsGoodsIndexPromotions(UpdateEsGoodsIndexPromotionsEvent event) {
- //更新商品促销消息
- String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name();
- //发送mq消息
- rocketMQTemplate.asyncSend(destination, event.getPromotionsJsonStr(), RocketmqSendCallbackBuilder.commonCallback());
- }
-
-
-}
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java
index c46eb258..05682167 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.ResultCode;
+import cn.lili.common.event.TransactionCommitSendMQEvent;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.vo.PageVO;
@@ -11,19 +12,16 @@ import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.BasePromotionsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
-import cn.lili.modules.promotion.event.UpdateEsGoodsIndexPromotionsEvent;
import cn.lili.modules.promotion.service.AbstractPromotionsService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.tools.PromotionTools;
import cn.lili.mybatis.util.PageUtil;
-import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.GoodsTagsEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.transaction.annotation.Transactional;
@@ -48,12 +46,6 @@ public abstract class AbstractPromotionsServiceImpl, T e
@Autowired
private RocketmqCustomProperties rocketmqCustomProperties;
- /**
- * rocketMq
- */
- @Autowired
- private RocketMQTemplate rocketMQTemplate;
-
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
@@ -253,13 +245,12 @@ public abstract class AbstractPromotionsServiceImpl, T e
* @param promotions 促销实体
*/
@Override
+ @Transactional(rollbackFor = {Exception.class})
public void updateEsGoodsIndex(T promotions) {
if (promotions.getStartTime() == null && promotions.getEndTime() == null) {
Map build = MapBuilder.create().put("promotionKey", this.getPromotionType() + "-" + promotions.getId()).put("scopeId", promotions.getScopeId()).build();
//删除商品促销消息
- String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name();
- //发送mq消息
- rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(build), RocketmqSendCallbackBuilder.commonCallback());
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除商品促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(build)));
} else {
String esPromotionKey = this.getPromotionType().name() + "-" + promotions.getId();
@@ -270,7 +261,7 @@ public abstract class AbstractPromotionsServiceImpl, T e
map.put("promotionsType", promotions.getClass().getName());
// 促销实体
map.put("promotions", promotions);
- applicationEventPublisher.publishEvent(new UpdateEsGoodsIndexPromotionsEvent("更新商品索引促销事件", JSONUtil.toJsonStr(map)));
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map)));
}
}
From ad1f5a297e8af308dbb532945dd996a57d883a9a Mon Sep 17 00:00:00 2001
From: paulGao
Date: Wed, 22 Jun 2022 17:32:19 +0800
Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E4=BC=9A=E5=91=98=E9=92=B1=E5=8C=85=E5=8F=AF=E8=83=BD=E5=8F=91?=
=?UTF-8?q?=E7=94=9F=E7=9A=84=E5=BC=82=E5=B8=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/wallet/serviceimpl/MemberWalletServiceImpl.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java
index d411481d..be6f99ee 100644
--- a/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java
@@ -84,7 +84,7 @@ public class MemberWalletServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
queryWrapper.eq("member_id", memberId);
//执行查询
- MemberWallet memberWallet = this.baseMapper.selectOne(queryWrapper);
+ MemberWallet memberWallet = this.getOne(queryWrapper, false);
//如果没有钱包,则创建钱包
if (memberWallet == null) {
memberWallet = this.save(memberId, memberService.getById(memberId).getUsername());
@@ -186,7 +186,7 @@ public class MemberWalletServiceImpl extends ServiceImpl().eq("member_id", memberId));
+ MemberWallet memberWallet = this.getOne(new QueryWrapper().eq("member_id", memberId), false);
//如果会员预存款信息不存在则同步重新建立预存款信息
if (memberWallet == null) {
Member member = memberService.getById(memberId);
From f01236cc96651c47096930e734e00febd4ba1915 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Wed, 22 Jun 2022 17:44:40 +0800
Subject: [PATCH 7/7] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=9B=91=E5=90=AC?=
=?UTF-8?q?=E4=BA=8B=E5=8A=A1=E6=8F=90=E4=BA=A4=E5=8F=91=E9=80=81mq?=
=?UTF-8?q?=E4=BA=8B=E4=BB=B6=EF=BC=8C=E4=B8=BA=E8=AE=A2=E5=8D=95=E5=8F=98?=
=?UTF-8?q?=E6=9B=B4=E5=8F=91=E9=80=81mq=E5=A2=9E=E5=8A=A0=E4=BA=8B?=
=?UTF-8?q?=E5=8A=A1=E6=8F=90=E4=BA=A4=E7=9B=91=E5=90=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../order/order/serviceimpl/OrderServiceImpl.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index fab02420..76491576 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -502,7 +502,8 @@ public class OrderServiceImpl extends ServiceImpl implements
* @param order 订单
* @param orderSn 订单编号
*/
- private void complete(Order order, String orderSn) {//修改订单状态为完成
+ @Transactional(rollbackFor = Exception.class)
+ public void complete(Order order, String orderSn) {//修改订单状态为完成
this.updateStatus(orderSn, OrderStatusEnum.COMPLETED);
//修改订单货物可以进行评价
@@ -784,9 +785,10 @@ public class OrderServiceImpl extends ServiceImpl implements
/**
* 订单状态变更消息
*
- * @param order
+ * @param order 订单信息
*/
- private void orderStatusMessage(Order order) {
+ @Transactional(rollbackFor = Exception.class)
+ public void orderStatusMessage(Order order) {
OrderMessage orderMessage = new OrderMessage();
orderMessage.setOrderSn(order.getSn());
orderMessage.setNewStatus(OrderStatusEnum.valueOf(order.getOrderStatus()));
@@ -913,7 +915,8 @@ public class OrderServiceImpl extends ServiceImpl implements
*
* @param orderSn 订单编号
*/
- private void normalOrderConfirm(String orderSn) {
+ @Transactional(rollbackFor = Exception.class)
+ public void normalOrderConfirm(String orderSn) {
//修改订单
this.update(new LambdaUpdateWrapper()
.eq(Order::getSn, orderSn)
@@ -932,7 +935,8 @@ public class OrderServiceImpl extends ServiceImpl implements
*
* @param orderSn 订单编号
*/
- private void virtualOrderConfirm(String orderSn) {
+ @Transactional(rollbackFor = Exception.class)
+ public void virtualOrderConfirm(String orderSn) {
//修改订单
this.update(new LambdaUpdateWrapper()
.eq(Order::getSn, orderSn)