From 2eb469b228ea810b43864f1596b2a92f410d061e Mon Sep 17 00:00:00 2001
From: paulGao
Date: Tue, 19 Jul 2022 15:24:39 +0800
Subject: [PATCH 1/6] improve code
---
.../cn/lili/modules/search/mapper/CustomWordsMapper.java | 2 +-
.../cn/lili/modules/search/service/CustomWordsService.java | 6 ++++++
.../mybatis/mybatisplus/{ => external}/SpiceBaseMapper.java | 2 +-
.../mybatisplus/{ => external}/SpiceSqlInjector.java | 2 +-
4 files changed, 9 insertions(+), 3 deletions(-)
rename framework/src/main/java/cn/lili/mybatis/mybatisplus/{ => external}/SpiceBaseMapper.java (89%)
rename framework/src/main/java/cn/lili/mybatis/mybatisplus/{ => external}/SpiceSqlInjector.java (96%)
diff --git a/framework/src/main/java/cn/lili/modules/search/mapper/CustomWordsMapper.java b/framework/src/main/java/cn/lili/modules/search/mapper/CustomWordsMapper.java
index 858eda75..6f3d99ec 100644
--- a/framework/src/main/java/cn/lili/modules/search/mapper/CustomWordsMapper.java
+++ b/framework/src/main/java/cn/lili/modules/search/mapper/CustomWordsMapper.java
@@ -1,7 +1,7 @@
package cn.lili.modules.search.mapper;
import cn.lili.modules.search.entity.dos.CustomWords;
-import cn.lili.mybatis.mybatisplus.SpiceBaseMapper;
+import cn.lili.mybatis.mybatisplus.external.SpiceBaseMapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
diff --git a/framework/src/main/java/cn/lili/modules/search/service/CustomWordsService.java b/framework/src/main/java/cn/lili/modules/search/service/CustomWordsService.java
index 72621949..90d775bc 100644
--- a/framework/src/main/java/cn/lili/modules/search/service/CustomWordsService.java
+++ b/framework/src/main/java/cn/lili/modules/search/service/CustomWordsService.java
@@ -62,6 +62,12 @@ public interface CustomWordsService extends IService {
*/
boolean deleteBathByName(List names);
+ /**
+ * 批量插入自定义分词
+ *
+ * @param customWordsList 自定义分词列表
+ * @return 受影响行数
+ */
long insertBatchCustomWords(List customWordsList);
/**
diff --git a/framework/src/main/java/cn/lili/mybatis/mybatisplus/SpiceBaseMapper.java b/framework/src/main/java/cn/lili/mybatis/mybatisplus/external/SpiceBaseMapper.java
similarity index 89%
rename from framework/src/main/java/cn/lili/mybatis/mybatisplus/SpiceBaseMapper.java
rename to framework/src/main/java/cn/lili/mybatis/mybatisplus/external/SpiceBaseMapper.java
index c72055b9..8d56ccec 100644
--- a/framework/src/main/java/cn/lili/mybatis/mybatisplus/SpiceBaseMapper.java
+++ b/framework/src/main/java/cn/lili/mybatis/mybatisplus/external/SpiceBaseMapper.java
@@ -1,4 +1,4 @@
-package cn.lili.mybatis.mybatisplus;
+package cn.lili.mybatis.mybatisplus.external;
import java.util.List;
diff --git a/framework/src/main/java/cn/lili/mybatis/mybatisplus/SpiceSqlInjector.java b/framework/src/main/java/cn/lili/mybatis/mybatisplus/external/SpiceSqlInjector.java
similarity index 96%
rename from framework/src/main/java/cn/lili/mybatis/mybatisplus/SpiceSqlInjector.java
rename to framework/src/main/java/cn/lili/mybatis/mybatisplus/external/SpiceSqlInjector.java
index a7d86ae8..5481579a 100644
--- a/framework/src/main/java/cn/lili/mybatis/mybatisplus/SpiceSqlInjector.java
+++ b/framework/src/main/java/cn/lili/mybatis/mybatisplus/external/SpiceSqlInjector.java
@@ -1,4 +1,4 @@
-package cn.lili.mybatis.mybatisplus;
+package cn.lili.mybatis.mybatisplus.external;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
From d6edb9340383524a7fa28f48323ed39fc47249d9 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Thu, 21 Jul 2022 11:52:12 +0800
Subject: [PATCH 2/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?=
=?UTF-8?q?=E7=9A=84es=E5=88=86=E8=AF=8D=E6=97=A0=E6=95=88=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
deploy-api.yml | 651 ++++++++++++++++++
.../permission/entity/vo/SystemLogVO.java | 2 +-
.../search/entity/dos/CustomWords.java | 2 +-
.../serviceimpl/EsGoodsIndexServiceImpl.java | 4 +-
4 files changed, 655 insertions(+), 4 deletions(-)
create mode 100644 deploy-api.yml
diff --git a/deploy-api.yml b/deploy-api.yml
new file mode 100644
index 00000000..baecfc31
--- /dev/null
+++ b/deploy-api.yml
@@ -0,0 +1,651 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: lilishop-service
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: buyer-api-service
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: buyer-api-service
+ app.kubernetes.io/instance: api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ type: NodePort
+ ports:
+ - name: "8888"
+ nodePort: 30888
+ port: 8888
+ targetPort: buyer8888
+ selector:
+ lilishop.service: buyer-api
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: common-api-service
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: common-api-service
+ app.kubernetes.io/instance: api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ type: NodePort
+ ports:
+ - name: "8890"
+ nodePort: 30890
+ port: 8890
+ targetPort: common8890
+ selector:
+ lilishop.service: common-api
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: seller-api-service
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: seller-api-service
+ app.kubernetes.io/instance: api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ type: NodePort
+ ports:
+ - name: "8889"
+ nodePort: 30889
+ port: 8889
+ targetPort: seller8889
+ selector:
+ lilishop.service: seller-api
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: manager-api-service
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: manager-api-service
+ app.kubernetes.io/instance: api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ type: NodePort
+ ports:
+ - name: "8887"
+ nodePort: 30887
+ port: 8887
+ targetPort: manager8887
+ selector:
+ lilishop.service: manager-api
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: api-config
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: mysql-db-config
+ app.kubernetes.io/instance: mysql-single
+ app.kubernetes.io/version: "8.0.28"
+ app.kubernetes.io/component: database
+ app.kubernetes.io/part-of: lilishop
+data:
+ application.yml: |
+ server:
+ servlet:
+ context-path: /
+
+ tomcat:
+ uri-encoding: UTF-8
+ threads:
+ min-spare: 50
+ max: 1000
+
+ # 与Spring Boot 2一样,默认情况下,大多数端点都不通过http公开,我们公开了所有端点。对于生产,您应该仔细选择要公开的端点。
+ management:
+ # health:
+ # elasticsearch:
+ # enabled: false
+ # datasource:
+ # enabled: false
+ endpoints:
+ web:
+ exposure:
+ include: '*'
+ spring:
+ # 要在其中注册的Spring Boot Admin Server的URL。
+ boot:
+ admin:
+ client:
+ url: http://192.168.0.116:8000
+ cache:
+ type: redis
+ # Redis
+ redis:
+ host: redis-service.lilishop-middleware
+ port: 6379
+ password: lilishop
+ lettuce:
+ pool:
+ # 连接池最大连接数(使用负值表示没有限制) 默认 8
+ max-active: 200
+ # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
+ max-wait: 20
+ # 连接池中的最大空闲连接 默认 8
+ max-idle: 10
+ # 连接池中的最小空闲连接 默认 8
+ min-idle: 8
+ # 文件大小上传配置
+ servlet:
+ multipart:
+ max-file-size: 20MB
+ max-request-size: 20MB
+ jackson:
+ time-zone: GMT+8
+ serialization:
+ #关闭jackson 对json做解析
+ fail-on-empty-beans: false
+
+ shardingsphere:
+ datasource:
+ # 数据库名称,可自定义,可以为多个,以逗号隔开,每个在这里定义的库,都要在下面定义连接属性
+ names: default-datasource
+ default-datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ driverClassName: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://mysql.lilishop-middleware:3306/lilishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+ username: root
+ password: lilishop
+ maxActive: 50
+ initialSize: 20
+ maxWait: 60000
+ minIdle: 5
+ timeBetweenEvictionRunsMillis: 60000
+ minEvictableIdleTimeMillis: 300000
+ validationQuery: SELECT 1 FROM DUAL
+ testWhileIdle: true
+ testOnBorrow: false
+ testOnReturn: false
+ #是否缓存preparedStatement,也就是PSCache。在mysql下建议关闭。 PSCache对支持游标的数据库性能提升巨大,比如说oracle。
+ poolPreparedStatements: false
+ #要启用PSCache,-1为关闭 必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true 可以把这个数值配置大一些,比如说100
+ maxOpenPreparedStatements: -1
+ #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+ filters: stat,wall,log4j2
+ #通过connectProperties属性来打开mergeSql功能;慢SQL记录
+ connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+ #合并多个DruidDataSource的监控数据
+ useGlobalDataSourceStat: true
+ loginUsername: druid
+ loginPassword: druid
+ # sharding:
+ # default-data-source-name: default-datasource
+ # #需要拆分的表,可以设置多个 在 li_order 级别即可
+ # tables:
+ # #需要进行分表的逻辑表名
+ # li_order:
+ # #实际的表结点,下面代表的是li_order_为开头的所有表,如果能确定表的范围例如按月份分表,这里的写法是data2020.li_order_$->{2020..2021}_$->{01..12} 表示例如 li_order_2020_01 li_order_2020_03 li_order_2021_01
+ # actual-data-nodes: data2020.li_order_$->{2019..2021}_$->{01..12}
+ # table-strategy:
+ # # 分表策略,根据创建日期
+ # standard:
+ # sharding-column: create_time
+ # #分表策略
+ # precise-algorithm-class-name: cn.lili.mybatis.sharding.CreateTimeShardingTableAlgorithm
+ # #范围查询实现
+ # range-algorithm-class-name: cn.lili.mybatis.sharding.CreateTimeShardingTableAlgorithm
+ props:
+ #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭
+ sql:
+ show: true
+
+ # 忽略鉴权url
+ ignored:
+ urls:
+ - /editor-app/**
+ - /actuator**
+ - /actuator/**
+ - /MP_verify_qSyvBPhDsPdxvOhC.txt
+ - /weixin/**
+ - /source/**
+ - /store/passport/login/**
+ - /store/passport/login/refresh/**
+ - /common/common/slider/**
+ - /common/common/sms/**
+ - /buyer/payment/cashier/**
+ - /buyer/other/pageData/**
+ - /buyer/other/article/**
+ - /buyer/goods/**
+ - /buyer/store/**
+ - /buyer/passport/connect/**
+ - /buyer/members/**
+ - /buyer/passport/member/**
+ - /buyer/passport/member/refresh/**
+ - /buyer/promotion/pintuan/**
+ - /buyer/promotion/seckill/**
+ - /buyer/promotion/pointsGoods/**
+ - /buyer/promotion/coupon
+ - /buyer/member/evaluation/**/goodsEvaluation
+ - /buyer/member/evaluation/**/evaluationNumber
+ - /buyer/other/appVersion/**
+ - /buyer/broadcast/studio/**
+ - /manager/passport/user/login
+ - /manager/passport/user/refresh/**
+ - /manager/other/elasticsearch
+ - /manager/other/customWords
+ - /druid/**
+ - /swagger-ui.html
+ - /doc.html
+ - /swagger-resources/**
+ - /swagger/**
+ - /webjars/**
+ - /v2/api-docs**
+ - /configuration/ui
+ - /boot-admin
+ - /manager/promotion/seckill/init
+ - /**/*.js
+ - /**/*.css
+ - /**/*.png
+ - /**/*.ico
+
+ # Swagger界面内容配置
+ swagger:
+ title: lilishop API接口文档
+ description: lilishop Api Documentation
+ version: 4.2.2
+ termsOfServiceUrl: https://pickmall.cn
+ contact:
+ name: lili
+ url: https://pickmall.cn
+ email: admin@pickmall.com
+
+ # Mybatis-plus
+ mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ #缓存开启
+ cache-enabled: true
+ #日志
+ # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+ # 日志
+ logging:
+ # 输出级别
+ level:
+ cn.lili: info
+ # org.hibernate: debug
+ # org.springframework: debug
+ file:
+ # 指定路径
+ path: logs
+ logback:
+ rollingpolicy:
+ # 最大保存天数
+ max-history: 7
+ # 每个文件最大大小
+ max-file-size: 5MB
+ #加密参数
+ jasypt:
+ encryptor:
+ password: lili
+
+
+ lili:
+ #验证码设置
+ verification-code:
+ #图形验证码有效时间 秒 包含滑块验证码有效时间, 以及验证通过之后,缓存中存储的验证结果有效时间
+ effectiveTime: 300
+ #水印
+ watermark: LILI-SHOP
+ #干扰项数量 最大2 默认0
+ interfereNum: 1
+ #允许误差像素
+ faultTolerant: 3
+ #短信模版配置
+ sms:
+ #登录
+ LOGIN: SMS_205755300
+ #注册
+ REGISTER: SMS_205755298
+ #找回密码
+ FIND_USER: SMS_205755301
+ #设置密码
+ UPDATE_PASSWORD: SMS_205755297
+ #支付密码
+ WALLET_PASSWORD: SMS_205755301
+ system:
+ isDemoSite: false
+ isTestModel: true
+ # 脱敏级别:
+ # 0:不做脱敏处理
+ # 1:管理端用户手机号等信息脱敏
+ # 2:商家端信息脱敏(为2时,表示管理端,商家端同时脱敏)
+ sensitiveLevel: 1
+
+ statistics:
+ # 在线人数统计 X 小时。这里设置48,即统计过去48小时每小时在线人数
+ onlineMember: 48
+ # 当前在线人数刷新时间间隔,单位秒,设置为600,则每10分钟刷新一次
+ currentOnlineUpdate: 600
+ #qq lbs 申请
+ lbs:
+ key: 4BYBZ-7MT6S-PUAOA-6BNWL-FJUD7-UUFXT
+ sk: zhNKVrJK6UPOhqIjn8AQvG37b9sz6
+ #域名
+ domain:
+ pc: http://192.168.0.116:8888
+ wap: http://192.168.0.116:8888
+ seller: http://192.168.0.116:8888
+ admin: http://192.168.0.116:8888
+ #api地址
+ api:
+ buyer: http://192.168.0.116:8888
+ base: http://192.168.0.116:8888
+ manager: http://192.168.0.116:8888
+ seller: http://192.168.0.116:8888
+
+ # jwt 细节设定
+ jwt-setting:
+ # token过期时间(分钟)
+ tokenExpireTime: 30
+
+ # 使用Spring @Cacheable注解失效时间
+ cache:
+ # 过期时间 单位秒 永久不过期设为-1
+ timeout: 1500
+ #多线程配置
+ thread:
+ corePoolSize: 5
+ maxPoolSize: 50
+ queueCapacity: 50
+ data:
+ elasticsearch:
+ cluster-name: elasticsearch
+ cluster-nodes: elasticsearch.lilishop-middleware:9200
+ index:
+ number-of-replicas: 0
+ number-of-shards: 3
+ index-prefix: lili
+ schema: http
+ # account:
+ # username: elastic
+ # password: LiLiShopES
+
+ logstash:
+ server: logstash-service.lilishop-middleware:4560
+ rocketmq:
+ promotion-topic: lili_promotion_topic
+ promotion-group: lili_promotion_group
+ msg-ext-topic: lili_msg_topic
+ msg-ext-group: lili_msg_group
+ goods-topic: lili_goods_topic
+ goods-group: lili_goods_group
+ order-topic: lili_order_topic
+ order-group: lili_order_group
+ member-topic: lili_member_topic
+ member-group: lili_member_group
+ other-topic: lili_other_topic
+ other-group: lili_other_group
+ notice-topic: lili_notice_topic
+ notice-group: lili_notice_group
+ notice-send-topic: lili_send_notice_topic
+ notice-send-group: lili_send_notice_group
+ after-sale-topic: lili_after_sale_topic
+ after-sale-group: lili_after_sale_group
+ rocketmq:
+ name-server: rocketmq.lilishop-middleware:9876
+ isVIPChannel: false
+ producer:
+ group: lili_group
+ send-message-timeout: 30000
+
+ xxl:
+ job:
+ admin:
+ addresses: http://xxl-job-service.lilishop-middleware:9001/xxl-job-admin
+ executor:
+ appname: xxl-job-executor-lilishop
+ address:
+ ip:
+ port: 8891
+ logpath: ./xxl-job/executor
+ logretentiondays: 7
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: buyer-api
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: buyer-api-service
+ app.kubernetes.io/instance: buyer-api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ lilishop.service: buyer-api
+ template:
+ metadata:
+ labels:
+ lilishop.service: buyer-api
+ spec:
+ containers:
+ - image: 192.168.0.108:31320/buyer-api:4.2.4.1
+ name: buyer-api
+ env:
+ - name: TZ
+ value: Asia/Shanghai
+ - name: JAVA_OPTS
+ value: -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx256m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
+ ports:
+ - name: buyer8888
+ containerPort: 8888
+ volumeMounts:
+ - mountPath: /application.yml
+ name: application-yml
+ subPath: application.yml
+ restartPolicy: Always
+ volumes:
+ - configMap:
+ name: api-config
+ name: application-yml
+
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: common-api
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: common-api-service
+ app.kubernetes.io/instance: common-api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ lilishop.service: common-api
+ template:
+ metadata:
+ labels:
+ lilishop.service: common-api
+ spec:
+ containers:
+ - image: 192.168.0.108:31320/common-api:4.2.4.1
+ name: common-api
+ env:
+ - name: TZ
+ value: Asia/Shanghai
+ - name: JAVA_OPTS
+ value: -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx256m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
+ ports:
+ - name: common8890
+ containerPort: 8890
+ volumeMounts:
+ - mountPath: /application.yml
+ name: application-yml
+ subPath: application.yml
+ restartPolicy: Always
+ volumes:
+ - configMap:
+ name: api-config
+ name: application-yml
+
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: seller-api
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: seller-api-service
+ app.kubernetes.io/instance: seller-api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ lilishop.service: seller-api
+ template:
+ metadata:
+ labels:
+ lilishop.service: seller-api
+ spec:
+ containers:
+ - image: 192.168.0.108:31320/seller-api:4.2.4.1
+ name: seller-api
+ env:
+ - name: TZ
+ value: Asia/Shanghai
+ - name: JAVA_OPTS
+ value: -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx256m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
+ ports:
+ - name: seller8889
+ containerPort: 8889
+ volumeMounts:
+ - mountPath: /application.yml
+ name: application-yml
+ subPath: application.yml
+ restartPolicy: Always
+ volumes:
+ - configMap:
+ name: api-config
+ name: application-yml
+
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: manager-api
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: manager-api-service
+ app.kubernetes.io/instance: manager-api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ lilishop.service: manager-api
+ template:
+ metadata:
+ labels:
+ lilishop.service: manager-api
+ spec:
+ containers:
+ - image: 192.168.0.108:31320/manager-api:4.2.4.1
+ name: manager-api
+ env:
+ - name: TZ
+ value: Asia/Shanghai
+ - name: JAVA_OPTS
+ value: -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx256m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
+ ports:
+ - name: manager8887
+ containerPort: 8887
+ volumeMounts:
+ - mountPath: /application.yml
+ name: application-yml
+ subPath: application.yml
+ restartPolicy: Always
+ volumes:
+ - configMap:
+ name: api-config
+ name: application-yml
+
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: consumer
+ namespace: lilishop-service
+ labels:
+ app.kubernetes.io/name: consumer-service
+ app.kubernetes.io/instance: buyer-api
+ app.kubernetes.io/version: "4.2.4.1"
+ app.kubernetes.io/component: api
+ app.kubernetes.io/part-of: lilishop
+ tier: "api-service"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ lilishop.service: consumer
+ template:
+ metadata:
+ labels:
+ lilishop.service: consumer
+ spec:
+ containers:
+ - image: 192.168.0.108:31320/consumer:4.2.4.1
+ name: consumer
+ env:
+ - name: TZ
+ value: Asia/Shanghai
+ - name: JAVA_OPTS
+ value: -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx256m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
+ volumeMounts:
+ - mountPath: /application.yml
+ name: application-yml
+ subPath: application.yml
+ restartPolicy: Always
+ volumes:
+ - configMap:
+ name: api-config
+ name: application-yml
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/permission/entity/vo/SystemLogVO.java b/framework/src/main/java/cn/lili/modules/permission/entity/vo/SystemLogVO.java
index 8718de48..b3a9ec9c 100644
--- a/framework/src/main/java/cn/lili/modules/permission/entity/vo/SystemLogVO.java
+++ b/framework/src/main/java/cn/lili/modules/permission/entity/vo/SystemLogVO.java
@@ -42,7 +42,7 @@ public class SystemLogVO implements Serializable {
@ApiModelProperty(value = "日志记录时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
- @Field(type = FieldType.Date, format = DateFormat.basic_date_time)
+ @Field(type = FieldType.Date, format = DateFormat.basic_date_time, fielddata = true)
private Date createTime = new Date();
@ApiModelProperty(value = "请求用户")
diff --git a/framework/src/main/java/cn/lili/modules/search/entity/dos/CustomWords.java b/framework/src/main/java/cn/lili/modules/search/entity/dos/CustomWords.java
index 4b53e75f..6cc49e54 100644
--- a/framework/src/main/java/cn/lili/modules/search/entity/dos/CustomWords.java
+++ b/framework/src/main/java/cn/lili/modules/search/entity/dos/CustomWords.java
@@ -37,7 +37,7 @@ public class CustomWords extends BaseEntity {
private String name;
- @ApiModelProperty(value = "是否禁用")
+ @ApiModelProperty(value = "是否禁用: 0,禁用;1,不禁用")
private Integer disabled;
diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java
index 4695102d..27f89f79 100644
--- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java
@@ -294,7 +294,7 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements
for (EsGoodsAttribute esGoodsAttribute : goods.getAttrList()) {
if (keywordsList.stream().noneMatch(i -> i.toLowerCase(Locale.ROOT).equals(esGoodsAttribute.getValue().toLowerCase(Locale.ROOT)))) {
keywordsList.add(esGoodsAttribute.getValue());
- customWordsList.add(new CustomWords(esGoodsAttribute.getValue(), 0));
+ customWordsList.add(new CustomWords(esGoodsAttribute.getValue(), 1));
}
}
}
@@ -302,7 +302,7 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements
for (AnalyzeResponse.AnalyzeToken token : tokens) {
if (keywordsList.stream().noneMatch(i -> i.toLowerCase(Locale.ROOT).equals(token.getTerm().toLowerCase(Locale.ROOT)))) {
keywordsList.add(token.getTerm());
- customWordsList.add(new CustomWords(token.getTerm(), 0));
+ customWordsList.add(new CustomWords(token.getTerm(), 1));
}
//保存词条进入数据库
}
From 0eebc544a6fb4c96eebfc7032b86df73efbe0316 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Mon, 25 Jul 2022 20:52:03 +0800
Subject: [PATCH 3/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A7=AF=E5=88=86?=
=?UTF-8?q?=E5=95=86=E5=93=81=E8=B4=AD=E4=B9=B0=E6=97=B6=EF=BC=8C=E4=BB=B7?=
=?UTF-8?q?=E6=A0=BC=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cn/lili/modules/order/cart/render/impl/CheckDataRender.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java
index 2d59abc5..c85cfbbd 100644
--- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java
+++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java
@@ -134,7 +134,7 @@ public class CheckDataRender implements CartRenderStep {
cartSkuVO.setErrorMessage("商品库存不足,现有库存数量[" + dataSku.getQuantity() + "]");
}
//如果存在商品促销活动,则判定商品促销状态
- if (CollUtil.isNotEmpty(cartSkuVO.getNotFilterPromotionMap()) || Boolean.TRUE.equals(cartSkuVO.getGoodsSku().getPromotionFlag())) {
+ if (!cartSkuVO.getCartType().equals(CartTypeEnum.POINTS) && (CollUtil.isNotEmpty(cartSkuVO.getNotFilterPromotionMap()) || Boolean.TRUE.equals(cartSkuVO.getGoodsSku().getPromotionFlag()))) {
//获取当前最新的促销信息
cartSkuVO.setPromotionMap(this.promotionGoodsService.getCurrentGoodsPromotion(cartSkuVO.getGoodsSku(), tradeDTO.getCartTypeEnum().name()));
//设定商品价格
From 99479e722a548734c818c27d79ddd3094edaf59e Mon Sep 17 00:00:00 2001
From: paulGao
Date: Tue, 26 Jul 2022 19:18:01 +0800
Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B0=8F=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F=E6=B3=A8=E5=86=8C=E7=94=A8=E6=88=B7=E6=B2=A1=E6=9C=89?=
=?UTF-8?q?=E5=8F=91=E9=80=81=E4=BC=9A=E5=91=98=E6=B3=A8=E5=86=8C=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../event/TransactionCommitSendMQEvent.java | 4 +--
.../serviceimpl/ConnectServiceImpl.java | 20 +++++++++++---
.../member/serviceimpl/MemberServiceImpl.java | 26 +++++++------------
3 files changed, 29 insertions(+), 21 deletions(-)
diff --git a/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java b/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java
index 9f16c1e4..7b3d2e73 100644
--- a/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java
+++ b/framework/src/main/java/cn/lili/common/event/TransactionCommitSendMQEvent.java
@@ -21,9 +21,9 @@ public class TransactionCommitSendMQEvent extends ApplicationEvent {
private final String tag;
@Getter
- private final String message;
+ private final Object message;
- public TransactionCommitSendMQEvent(Object source, String topic, String tag, String message) {
+ public TransactionCommitSendMQEvent(Object source, String topic, String tag, Object message) {
super(source);
this.topic = topic;
this.tag = tag;
diff --git a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
index e910a6c7..942bf897 100644
--- a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
@@ -8,7 +8,9 @@ import cn.lili.cache.CachePrefix;
import cn.lili.common.context.ThreadContextHolder;
import cn.lili.common.enums.ClientTypeEnum;
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.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.token.Token;
@@ -29,11 +31,13 @@ import cn.lili.modules.system.entity.dto.connect.WechatConnectSetting;
import cn.lili.modules.system.entity.dto.connect.dto.WechatConnectSettingItem;
import cn.lili.modules.system.entity.enums.SettingEnum;
import cn.lili.modules.system.service.SettingService;
+import cn.lili.rocketmq.tags.MemberTagsEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -66,6 +70,14 @@ public class ConnectServiceImpl extends ServiceImpl impl
private MemberTokenGenerate memberTokenGenerate;
@Autowired
private Cache cache;
+ /**
+ * RocketMQ 配置
+ */
+ @Autowired
+ private RocketmqCustomProperties rocketmqCustomProperties;
+
+ @Autowired
+ private ApplicationEventPublisher applicationEventPublisher;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -235,6 +247,8 @@ public class ConnectServiceImpl extends ServiceImpl impl
memberService.save(newMember);
newMember = memberService.findByUsername(newMember.getUsername());
bindMpMember(openId, unionId, newMember);
+ // 发送会员注册信息
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_REGISTER.name(), newMember));
return memberTokenGenerate.createToken(newMember, true);
}
@@ -262,9 +276,9 @@ public class ConnectServiceImpl extends ServiceImpl impl
* 这样,微信小程序注册之后,其他app 公众号页面,都可以实现绑定自动登录功能
*
*
- * @param openId 微信openid
- * @param unionId 微信unionid
- * @param member 会员
+ * @param openId 微信openid
+ * @param unionId 微信unionid
+ * @param member 会员
*/
private void bindMpMember(String openId, String unionId, Member member) {
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
index c7eb0a70..71397bbf 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
@@ -8,6 +8,7 @@ import cn.lili.cache.CachePrefix;
import cn.lili.common.context.ThreadContextHolder;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.SwitchEnum;
+import cn.lili.common.event.TransactionCommitSendMQEvent;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.security.AuthUser;
@@ -35,7 +36,6 @@ import cn.lili.modules.store.entity.dos.Store;
import cn.lili.modules.store.entity.enums.StoreStatusEnum;
import cn.lili.modules.store.service.StoreService;
import cn.lili.mybatis.util.PageUtil;
-import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.MemberTagsEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -43,8 +43,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -88,11 +88,9 @@ public class MemberServiceImpl extends ServiceImpl impleme
*/
@Autowired
private RocketmqCustomProperties rocketmqCustomProperties;
- /**
- * RocketMQ
- */
+
@Autowired
- private RocketMQTemplate rocketMQTemplate;
+ private ApplicationEventPublisher applicationEventPublisher;
/**
* 缓存
*/
@@ -247,8 +245,8 @@ public class MemberServiceImpl extends ServiceImpl impleme
member.setId(SnowFlake.getIdStr());
//保存会员
this.save(member);
- String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_REGISTER.name();
- rocketMQTemplate.asyncSend(destination, member, RocketmqSendCallbackBuilder.commonCallback());
+ // 发送会员注册信息
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_REGISTER.name(), member));
}
@Override
@@ -288,10 +286,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
throw new ServiceException(ResultCode.USER_NOT_LOGIN);
}
Member member = this.getById(tokenUser.getId());
- if (member.getPassword().equals(DEFAULT_PASSWORD)) {
- return true;
- }
- return false;
+ return member.getPassword().equals(DEFAULT_PASSWORD);
}
@@ -350,8 +345,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
Member member = new Member(userName, new BCryptPasswordEncoder().encode(password), mobilePhone);
//注册成功后用户自动登录
registerHandler(member);
- Token token = memberTokenGenerate.createToken(member, false);
- return token;
+ return memberTokenGenerate.createToken(member, false);
}
@Override
@@ -463,8 +457,8 @@ public class MemberServiceImpl extends ServiceImpl impleme
memberPointMessage.setPoint(point);
memberPointMessage.setType(type);
memberPointMessage.setMemberId(memberId);
- String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_POINT_CHANGE.name();
- rocketMQTemplate.asyncSend(destination, memberPointMessage, RocketmqSendCallbackBuilder.commonCallback());
+ // 发送会员注册信息
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_REGISTER.name(), member));
return true;
}
return false;
From a2a923809e89feec9e075f30ada226a210909003 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Wed, 27 Jul 2022 12:06:47 +0800
Subject: [PATCH 5/6] add transactional
---
.../modules/member/serviceimpl/MemberServiceImpl.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
index 71397bbf..a26632cf 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
@@ -180,6 +180,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
}
@Override
+ @Transactional
public Token autoRegister(ConnectAuthUser authUser) {
if (CharSequenceUtil.isEmpty(authUser.getNickname())) {
@@ -223,6 +224,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
}
@Override
+ @Transactional
public Token mobilePhoneLogin(String mobilePhone) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("mobile", mobilePhone);
@@ -241,7 +243,8 @@ public class MemberServiceImpl extends ServiceImpl impleme
*
* @param member
*/
- private void registerHandler(Member member) {
+ @Transactional
+ public void registerHandler(Member member) {
member.setId(SnowFlake.getIdStr());
//保存会员
this.save(member);
@@ -338,6 +341,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
}
@Override
+ @Transactional
public Token register(String userName, String password, String mobilePhone) {
//检测会员信息
checkMember(userName, mobilePhone);
@@ -382,6 +386,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
}
@Override
+ @Transactional
public Member addMember(MemberAddDTO memberAddDTO) {
//检测会员信息
@@ -458,7 +463,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
memberPointMessage.setType(type);
memberPointMessage.setMemberId(memberId);
// 发送会员注册信息
- applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_REGISTER.name(), member));
+ applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("update member point", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_POINT_CHANGE.name(), memberPointMessage));
return true;
}
return false;
From ed976e90dcaedd55321a6f01aaa0c8ac4aaaeba9 Mon Sep 17 00:00:00 2001
From: paulGao
Date: Wed, 27 Jul 2022 17:21:48 +0800
Subject: [PATCH 6/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=83=E9=94=80?=
=?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=95=86=E5=93=81=EF=BC=8C=E6=A3=80=E6=9F=A5?=
=?UTF-8?q?=E5=95=86=E5=93=81=E6=98=AF=E5=90=A6=E5=8F=AF=E4=BB=A5=E5=8F=82?=
=?UTF-8?q?=E4=B8=8E=E4=BF=83=E9=94=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../goods/service/GoodsSkuService.java | 10 ++++-
.../serviceimpl/GoodsSkuServiceImpl.java | 10 +++++
.../member/serviceimpl/MemberServiceImpl.java | 1 -
.../serviceimpl/CouponServiceImpl.java | 2 +-
.../KanjiaActivityGoodsServiceImpl.java | 6 +--
.../KanjiaActivityServiceImpl.java | 2 +-
.../serviceimpl/PintuanServiceImpl.java | 2 +-
.../serviceimpl/PointsGoodsServiceImpl.java | 2 +-
.../PromotionGoodsServiceImpl.java | 39 +------------------
.../serviceimpl/SeckillApplyServiceImpl.java | 6 +--
10 files changed, 30 insertions(+), 50 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java
index 8a322a79..a78f9bb0 100644
--- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java
+++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java
@@ -82,6 +82,14 @@ public interface GoodsSkuService extends IService {
*/
GoodsSku getGoodsSkuByIdFromCache(String id);
+ /**
+ * 从缓存中获取可参与促销商品
+ *
+ * @param skuId skuid
+ * @return 商品详情
+ */
+ GoodsSku getCanPromotionGoodsSkuByIdFromCache(String skuId);
+
/**
* 获取商品sku详情
*
@@ -143,7 +151,7 @@ public interface GoodsSkuService extends IService {
/**
* 分页查询商品sku信息
*
- * @param page 分页参数
+ * @param page 分页参数
* @param queryWrapper 查询参数
* @return 商品sku信息
*/
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 5ab87344..5438ae95 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
@@ -22,6 +22,7 @@ import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
import cn.lili.modules.goods.entity.dto.GoodsSkuDTO;
import cn.lili.modules.goods.entity.dto.GoodsSkuStockDTO;
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
+import cn.lili.modules.goods.entity.enums.GoodsSalesModeEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.entity.vos.GoodsSkuSpecVO;
import cn.lili.modules.goods.entity.vos.GoodsSkuVO;
@@ -237,6 +238,15 @@ public class GoodsSkuServiceImpl extends ServiceImpl i
return goodsSku;
}
+ @Override
+ public GoodsSku getCanPromotionGoodsSkuByIdFromCache(String skuId) {
+ GoodsSku goodsSku = this.getGoodsSkuByIdFromCache(skuId);
+ if (goodsSku != null && GoodsSalesModeEnum.WHOLESALE.name().equals(goodsSku.getSalesModel())) {
+ throw new ServiceException(ResultCode.PROMOTION_GOODS_DO_NOT_JOIN_WHOLESALE, goodsSku.getGoodsName());
+ }
+ return goodsSku;
+ }
+
@Override
public Map getGoodsSkuDetail(String goodsId, String skuId) {
Map map = new HashMap<>(16);
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
index a26632cf..86031a0c 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
@@ -462,7 +462,6 @@ public class MemberServiceImpl extends ServiceImpl impleme
memberPointMessage.setPoint(point);
memberPointMessage.setType(type);
memberPointMessage.setMemberId(memberId);
- // 发送会员注册信息
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("update member point", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_POINT_CHANGE.name(), memberPointMessage));
return true;
}
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java
index 4f08616f..167fd2eb 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java
@@ -291,7 +291,7 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl promotionGoods = PromotionTools.promotionGoodsInit(pintuan.getPromotionGoodsList(), pintuan, PromotionTypeEnum.PINTUAN);
for (PromotionGoods promotionGood : promotionGoods) {
- if (goodsSkuService.getGoodsSkuByIdFromCache(promotionGood.getSkuId()) == null) {
+ if (goodsSkuService.getCanPromotionGoodsSkuByIdFromCache(promotionGood.getSkuId()) == null) {
log.error("商品[" + promotionGood.getGoodsName() + "]不存在或处于不可售卖状态!");
throw new ServiceException("商品[" + promotionGood.getGoodsName() + "]不存在或处于不可售卖状态!");
}
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java
index 95f37f19..2be950f4 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java
@@ -278,7 +278,7 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl findSkuValidPromotion(String skuId, String storeIds) {
- GoodsSku sku = goodsSkuService.getGoodsSkuByIdFromCache(skuId);
+ GoodsSku sku = goodsSkuService.getCanPromotionGoodsSkuByIdFromCache(skuId);
if (sku == null) {
return new ArrayList<>();
}
@@ -316,40 +313,6 @@ public class PromotionGoodsServiceImpl extends ServiceImpl entityList) {
- for (PromotionGoods promotionGoods : entityList) {
- this.checkGoodsSku(promotionGoods.getSkuId());
- }
- return super.saveBatch(entityList);
- }
-
- @Override
- public boolean saveOrUpdateBatch(Collection entityList) {
- for (PromotionGoods promotionGoods : entityList) {
- this.checkGoodsSku(promotionGoods.getSkuId());
- }
- return super.saveOrUpdateBatch(entityList);
- }
-
- /**
- * 检查是否为不能参加促销活动的商品
- *
- * @param skuId 商品skuId
- */
- private void checkGoodsSku(String skuId) {
- GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(skuId);
- if (goodsSku != null && GoodsSalesModeEnum.WHOLESALE.name().equals(goodsSku.getSalesModel())) {
- throw new ServiceException(ResultCode.PROMOTION_GOODS_DO_NOT_JOIN_WHOLESALE, goodsSku.getGoodsName());
- }
- }
-
private void setGoodsPromotionInfo(GoodsSku dataSku, Map.Entry promotionInfo) {
JSONObject promotionsObj = JSONUtil.parseObj(promotionInfo.getValue());
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java
index 07572e9c..6d5eaec9 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java
@@ -161,7 +161,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl promotionGoodsList = new ArrayList<>();
for (SeckillApplyVO seckillApply : seckillApplyList) {
//获取参与活动的商品信息
- GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(seckillApply.getSkuId());
+ GoodsSku goodsSku = goodsSkuService.getCanPromotionGoodsSkuByIdFromCache(seckillApply.getSkuId());
if (!goodsSku.getStoreId().equals(storeId)) {
continue;
}
@@ -262,7 +262,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl list = this.list(queryWrapper).stream().filter(i -> i.getTimeLine() != null && seckill.getHours().contains(i.getTimeLine().toString())).collect(Collectors.toList());
for (SeckillApply seckillApply : list) {
//获取参与活动的商品信息
- GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(seckillApply.getSkuId());
+ GoodsSku goodsSku = goodsSkuService.getCanPromotionGoodsSkuByIdFromCache(seckillApply.getSkuId());
//获取促销商品
PromotionGoods promotionGoods = this.setSeckillGoods(goodsSku, seckillApply, seckill);
promotionGoodsList.add(promotionGoods);
@@ -373,7 +373,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl collect = seckillApplyList.stream().filter(i -> i.getTimeLine().equals(startTimeline) && i.getPromotionApplyStatus().equals(PromotionsApplyStatusEnum.PASS.name())).collect(Collectors.toList());
for (SeckillApply seckillApply : collect) {
- GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(seckillApply.getSkuId());
+ GoodsSku goodsSku = goodsSkuService.getCanPromotionGoodsSkuByIdFromCache(seckillApply.getSkuId());
if (goodsSku != null) {
SeckillGoodsVO goodsVO = new SeckillGoodsVO();
BeanUtil.copyProperties(seckillApply, goodsVO);