From d9de601e8a5c985ad90f496c301f6206cba281ec Mon Sep 17 00:00:00 2001
From: Chopper711
Date: Wed, 11 Jan 2023 11:34:54 +0800
Subject: [PATCH 01/21] =?UTF-8?q?=E5=94=AE=E5=90=8E=E6=95=B0=E9=87=8F?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E6=A2=B3=E7=90=86=E8=A7=A3=E5=86=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../serviceimpl/AfterSaleServiceImpl.java | 7 +++--
.../modules/payment/kit/RefundSupport.java | 28 -------------------
2 files changed, 5 insertions(+), 30 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java
index 22d9b33d..c6724bc4 100644
--- a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java
@@ -455,7 +455,10 @@ public class AfterSaleServiceImpl extends ServiceImpl
Date: Wed, 11 Jan 2023 11:38:01 +0800
Subject: [PATCH 02/21] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E6=B4=BB?=
=?UTF-8?q?=E5=8A=A8=E9=A2=86=E5=8F=96=E5=91=A8=E6=9C=9F=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
DB/version4.2.5toMASTER.sql | 3 +++
1 file changed, 3 insertions(+)
diff --git a/DB/version4.2.5toMASTER.sql b/DB/version4.2.5toMASTER.sql
index a57e2b6c..1a211ecd 100644
--- a/DB/version4.2.5toMASTER.sql
+++ b/DB/version4.2.5toMASTER.sql
@@ -1,3 +1,6 @@
+
+/** 优惠券活动增加领取周期字段 **/
+ALTER TABLE li_coupon_activity ADD coupon_frequency_enum varchar(255) COMMENT '领取周期';
-- 会员优惠券标识
CREATE TABLE `li_member_coupon_sign` (
`id` bigint NOT NULL,
From bdb62de868935593f1d09f4f79db476825e9a10a Mon Sep 17 00:00:00 2001
From: Chopper711
Date: Thu, 12 Jan 2023 15:44:44 +0800
Subject: [PATCH 03/21] =?UTF-8?q?im=E9=97=AE=E9=A2=98=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../im/entity/enums/MessageResultType.java | 4 +-
.../lili/modules/im/entity/vo/MessageVO.java | 2 +
.../lili/controller/im/ImUserController.java | 7 +-
.../lili/controller/im/WebSocketServer.java | 93 +++++++++----------
4 files changed, 51 insertions(+), 55 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/im/entity/enums/MessageResultType.java b/framework/src/main/java/cn/lili/modules/im/entity/enums/MessageResultType.java
index ba54b5d5..c557a45e 100644
--- a/framework/src/main/java/cn/lili/modules/im/entity/enums/MessageResultType.java
+++ b/framework/src/main/java/cn/lili/modules/im/entity/enums/MessageResultType.java
@@ -16,6 +16,7 @@ public enum MessageResultType {
* 未读消息
* 历史消息
* 系统提示
+ * 下线提醒
*/
FRIENDS,
ADD_FRIENDS,
@@ -23,6 +24,7 @@ public enum MessageResultType {
READ_MESSAGE,
UN_READ,
HISTORY,
- SYSTEM_TIPS
+ SYSTEM_TIPS,
+ OFFLINE
}
diff --git a/framework/src/main/java/cn/lili/modules/im/entity/vo/MessageVO.java b/framework/src/main/java/cn/lili/modules/im/entity/vo/MessageVO.java
index 420091e1..120abc1a 100644
--- a/framework/src/main/java/cn/lili/modules/im/entity/vo/MessageVO.java
+++ b/framework/src/main/java/cn/lili/modules/im/entity/vo/MessageVO.java
@@ -2,6 +2,7 @@ package cn.lili.modules.im.entity.vo;
import cn.lili.modules.im.entity.enums.MessageResultType;
import lombok.AllArgsConstructor;
+import lombok.Builder;
import lombok.Data;
/**
@@ -12,6 +13,7 @@ import lombok.Data;
* 2021-12-30 15:51
*/
@Data
+@Builder
@AllArgsConstructor
public class MessageVO {
diff --git a/im-api/src/main/java/cn/lili/controller/im/ImUserController.java b/im-api/src/main/java/cn/lili/controller/im/ImUserController.java
index b3b56937..ff00bc0f 100644
--- a/im-api/src/main/java/cn/lili/controller/im/ImUserController.java
+++ b/im-api/src/main/java/cn/lili/controller/im/ImUserController.java
@@ -5,7 +5,6 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.ResultMessage;
-import cn.lili.modules.member.entity.dos.FootPrint;
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.entity.dto.FootPrintQueryParams;
import cn.lili.modules.member.service.FootprintService;
@@ -38,11 +37,9 @@ public class ImUserController {
private final MemberService memberService;
- @Autowired
- private StoreService storeService;
+ private final StoreService storeService;
- @Autowired
- private FootprintService footprintService;
+ private final FootprintService footprintService;
@GetMapping
@ApiOperation(value = "获取用户信息")
diff --git a/im-api/src/main/java/cn/lili/controller/im/WebSocketServer.java b/im-api/src/main/java/cn/lili/controller/im/WebSocketServer.java
index 6e7f8de8..97db2ad9 100644
--- a/im-api/src/main/java/cn/lili/controller/im/WebSocketServer.java
+++ b/im-api/src/main/java/cn/lili/controller/im/WebSocketServer.java
@@ -1,6 +1,6 @@
package cn.lili.controller.im;
-import cn.lili.cache.Cache;
+import cn.hutool.json.JSONUtil;
import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
@@ -12,11 +12,10 @@ import cn.lili.modules.im.entity.vo.MessageOperation;
import cn.lili.modules.im.entity.vo.MessageVO;
import cn.lili.modules.im.service.ImMessageService;
import cn.lili.modules.im.service.ImTalkService;
-import cn.lili.modules.member.service.MemberService;
-import cn.lili.modules.store.service.StoreService;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
@@ -35,53 +34,46 @@ import java.util.concurrent.ConcurrentHashMap;
@ServerEndpoint(value = "/lili/webSocket/{accessToken}", configurator = CustomSpringConfigurator.class)
@Scope("prototype")
@Slf4j
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class WebSocketServer {
/**
* 消息服务
*/
- @Autowired
- private ImMessageService imMessageService;
+ private final ImMessageService imMessageService;
- /**
- * im用户服务
- */
- @Autowired
- private MemberService memberService;
+ private final ImTalkService imTalkService;
- @Autowired
- private StoreService storeService;
-
- @Autowired
- private ImTalkService imTalkService;
-
-
- @Autowired
- private Cache cache;
/**
* 在线人数
* PS 注意,只能单节点,如果多节点部署需要自行寻找方案
*/
private static ConcurrentHashMap sessionPools = new ConcurrentHashMap<>();
+
/**
* 建立连接
*
* @param session
*/
@OnOpen
- public void onOpen(@PathParam("accessToken") String accessToken, Session session) throws IOException {
- AuthUser authUser = UserContext.getAuthUser(accessToken);
- Object message = null;
- if (UserEnums.STORE.equals(authUser.getRole())) {
- message = storeService.getById(authUser.getStoreId());
- sessionPools.put(authUser.getStoreId(), session);
+ public void onOpen(@PathParam("accessToken") String accessToken, Session session) {
- } else if (UserEnums.MEMBER.equals(authUser.getRole())) {
- message = memberService.getById(authUser.getId());
- sessionPools.put(authUser.getId(), session);
+
+ AuthUser authUser = UserContext.getAuthUser(accessToken);
+
+ String sessionId = UserEnums.STORE.equals(authUser.getRole()) ? authUser.getStoreId() : authUser.getId();
+ //如果已有会话,则进行下线提醒。
+ if (sessionPools.containsKey(sessionId)) {
+ log.info("用户重复登陆,旧用户下线");
+ Session oldSession = sessionPools.get(sessionId);
+ sendMessage(oldSession, MessageVO.builder().messageResultType(MessageResultType.OFFLINE).result("用户异地登陆").build());
+ try {
+ oldSession.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
- MessageVO messageVO = new MessageVO(MessageResultType.FRIENDS, message);
- sendMessage(authUser.getId(), messageVO);
+ sessionPools.put(sessionId, session);
}
/**
@@ -89,8 +81,9 @@ public class WebSocketServer {
*/
@OnClose
public void onClose(@PathParam("accessToken") String accessToken) {
- log.info("断开连接:{}", accessToken);
- sessionPools.remove(UserContext.getAuthUser(accessToken).getId());
+ AuthUser authUser = UserContext.getAuthUser(accessToken);
+ log.info("用户断开断开连接:{}", JSONUtil.toJsonStr(authUser));
+ sessionPools.remove(authUser);
}
/**
@@ -101,7 +94,7 @@ public class WebSocketServer {
*/
@OnMessage
public void onMessage(@PathParam("accessToken") String accessToken, String msg) {
- log.error(msg);
+ log.info("发送消息:{}", msg);
MessageOperation messageOperation = JSON.parseObject(msg, MessageOperation.class);
operation(accessToken, messageOperation);
}
@@ -123,9 +116,9 @@ public class WebSocketServer {
ImMessage imMessage = new ImMessage(messageOperation);
imMessageService.save(imMessage);
//修改最后消息信息
- imTalkService.update(new LambdaUpdateWrapper().eq(ImTalk::getId,messageOperation.getTalkId()).set(ImTalk::getLastTalkMessage,messageOperation.getContext())
- .set(ImTalk::getLastTalkTime,imMessage.getCreateTime())
- .set(ImTalk::getLastMessageType,imMessage.getMessageType()));
+ imTalkService.update(new LambdaUpdateWrapper().eq(ImTalk::getId, messageOperation.getTalkId()).set(ImTalk::getLastTalkMessage, messageOperation.getContext())
+ .set(ImTalk::getLastTalkTime, imMessage.getCreateTime())
+ .set(ImTalk::getLastMessageType, imMessage.getMessageType()));
//发送消息
sendMessage(messageOperation.getTo(), new MessageVO(MessageResultType.MESSAGE, imMessage));
break;
@@ -148,15 +141,25 @@ public class WebSocketServer {
/**
* 发送消息
*
- * @param key 密钥
+ * @param sessionId sessionId
+ * @param message 消息对象
+ */
+ private void sendMessage(String sessionId, MessageVO message) {
+ Session session = sessionPools.get(sessionId);
+ sendMessage(session, message);
+ }
+
+ /**
+ * 发送消息
+ *
+ * @param session 会话
* @param message 消息对象
*/
- private void sendMessage(String key, MessageVO message) {
- Session session = sessionPools.get(key);
+ private void sendMessage(Session session, MessageVO message) {
if (session != null) {
try {
session.getBasicRemote().sendText(JSON.toJSONString(message, true));
- } catch (IOException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -170,16 +173,8 @@ public class WebSocketServer {
*/
@OnError
public void onError(Session session, Throwable throwable) {
- throwable.printStackTrace();
+ log.error("socket异常: {}", session.getId(), throwable);
}
- /**
- * 获取店铺id
- *
- * @return
- */
- private String storeKey(String storeId) {
- return "STORE_" + storeId;
- }
}
From cb3eca29d8f09794a6a8f27f40d60133d2d59d2d Mon Sep 17 00:00:00 2001
From: Chopper711
Date: Fri, 13 Jan 2023 10:07:57 +0800
Subject: [PATCH 04/21] =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=9B=B4=E6=96=B0?=
=?UTF-8?q?=E5=BA=97=E9=93=BA=E4=BF=A1=E6=81=AF=EF=BC=8C=E7=BC=93=E5=AD=98?=
=?UTF-8?q?=E6=9C=AA=E5=90=8C=E6=AD=A5=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../serviceimpl/StoreDetailServiceImpl.java | 39 ++++++++++++++-----
1 file changed, 30 insertions(+), 9 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java
index efb479ad..9425b815 100644
--- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java
@@ -15,7 +15,10 @@ import cn.lili.modules.goods.service.GoodsService;
import cn.lili.modules.search.utils.EsIndexUtil;
import cn.lili.modules.store.entity.dos.Store;
import cn.lili.modules.store.entity.dos.StoreDetail;
-import cn.lili.modules.store.entity.dto.*;
+import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO;
+import cn.lili.modules.store.entity.dto.StoreDeliverGoodsAddressDTO;
+import cn.lili.modules.store.entity.dto.StoreSettingDTO;
+import cn.lili.modules.store.entity.dto.StoreSettlementDay;
import cn.lili.modules.store.entity.vos.StoreBasicInfoVO;
import cn.lili.modules.store.entity.vos.StoreDetailVO;
import cn.lili.modules.store.entity.vos.StoreManagementCategoryVO;
@@ -25,7 +28,6 @@ import cn.lili.modules.store.service.StoreDetailService;
import cn.lili.modules.store.service.StoreService;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.GoodsTagsEnum;
-import cn.lili.rocketmq.tags.MemberTagsEnum;
import cn.lili.rocketmq.tags.StoreTagsEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -100,6 +102,7 @@ public class StoreDetailServiceImpl extends ServiceImpl lambdaUpdateWrapper = Wrappers.lambdaUpdate();
- lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorName,storeDeliverGoodsAddressDto.getSalesConsignorName());
- lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorMobile,storeDeliverGoodsAddressDto.getSalesConsignorMobile());
- lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorAddressId,storeDeliverGoodsAddressDto.getSalesConsignorAddressId());
- lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorAddressPath,storeDeliverGoodsAddressDto.getSalesConsignorAddressPath());
- lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorDetail,storeDeliverGoodsAddressDto.getSalesConsignorDetail());
- lambdaUpdateWrapper.eq(StoreDetail::getStoreId,storeId);
+ lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorName, storeDeliverGoodsAddressDto.getSalesConsignorName());
+ lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorMobile, storeDeliverGoodsAddressDto.getSalesConsignorMobile());
+ lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorAddressId, storeDeliverGoodsAddressDto.getSalesConsignorAddressId());
+ lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorAddressPath, storeDeliverGoodsAddressDto.getSalesConsignorAddressPath());
+ lambdaUpdateWrapper.set(StoreDetail::getSalesConsignorDetail, storeDeliverGoodsAddressDto.getSalesConsignorDetail());
+ lambdaUpdateWrapper.eq(StoreDetail::getStoreId, storeId);
+
+
+ this.removeCache(storeId);
return this.update(lambdaUpdateWrapper);
}
@@ -175,6 +182,7 @@ public class StoreDetailServiceImpl extends ServiceImpl lambdaUpdateWrapper = Wrappers.lambdaUpdate();
lambdaUpdateWrapper.set(StoreDetail::getStockWarning, stockWarning);
lambdaUpdateWrapper.eq(StoreDetail::getStoreId, storeId);
+ this.removeCache(storeId);
return this.update(lambdaUpdateWrapper);
}
@@ -249,4 +260,14 @@ public class StoreDetailServiceImpl extends ServiceImpl
Date: Fri, 13 Jan 2023 14:22:44 +0800
Subject: [PATCH 05/21] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E8=B4=AD=E7=89=A9=E8=BD=A6=E5=95=86=E5=93=81=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=8F=AF=E8=83=BD=E5=87=BA?=
=?UTF-8?q?=E7=8E=B0=E7=9A=84=E8=8E=B7=E5=8F=96=E8=B4=AD=E7=89=A9=E8=BD=A6?=
=?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lili/modules/order/cart/render/impl/CheckDataRender.java | 3 ++-
1 file changed, 2 insertions(+), 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 e04782a4..c7f1e836 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
@@ -110,7 +110,8 @@ public class CheckDataRender implements CartRenderStep {
GoodsSku dataSku = goodsSkuService.getGoodsSkuByIdFromCache(cartSkuVO.getGoodsSku().getId());
Map promotionMap = promotionGoodsService.getCurrentGoodsPromotion(dataSku, tradeDTO.getCartTypeEnum().name());
//商品有效性判定
- if (dataSku == null || dataSku.getUpdateTime().after(cartSkuVO.getGoodsSku().getUpdateTime())) {
+ log.info("dataSku: {}, goodsSku: {}", dataSku, cartSkuVO.getGoodsSku());
+ if (dataSku == null || cartSkuVO.getGoodsSku() == null || dataSku.getUpdateTime().after(cartSkuVO.getGoodsSku().getUpdateTime())) {
//商品失效,将商品移除并重新填充商品
cartSkuVOS.remove(cartSkuVO);
//设置新商品
From 96a9a32079fc8dd6cffe20b73e37d322a88bb924 Mon Sep 17 00:00:00 2001
From: misworga831
Date: Fri, 13 Jan 2023 14:37:13 +0800
Subject: [PATCH 06/21] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E8=B4=AD=E7=89=A9=E8=BD=A6=E5=95=86=E5=93=81=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=8F=AF=E8=83=BD=E5=87=BA?=
=?UTF-8?q?=E7=8E=B0=E7=9A=84=E8=8E=B7=E5=8F=96=E8=B4=AD=E7=89=A9=E8=BD=A6?=
=?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=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 c7f1e836..76e39c3e 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
@@ -111,7 +111,7 @@ public class CheckDataRender implements CartRenderStep {
Map promotionMap = promotionGoodsService.getCurrentGoodsPromotion(dataSku, tradeDTO.getCartTypeEnum().name());
//商品有效性判定
log.info("dataSku: {}, goodsSku: {}", dataSku, cartSkuVO.getGoodsSku());
- if (dataSku == null || cartSkuVO.getGoodsSku() == null || dataSku.getUpdateTime().after(cartSkuVO.getGoodsSku().getUpdateTime())) {
+ if (dataSku == null || (dataSku.getUpdateTime() != null && dataSku.getUpdateTime().after(cartSkuVO.getGoodsSku().getUpdateTime()))) {
//商品失效,将商品移除并重新填充商品
cartSkuVOS.remove(cartSkuVO);
//设置新商品
From 2df8df1a0d62b42a2b0bed2b26a3bf4e6fb2293b Mon Sep 17 00:00:00 2001
From: 17600048398 <277692624@qq.com>
Date: Fri, 13 Jan 2023 17:10:15 +0800
Subject: [PATCH 07/21] =?UTF-8?q?im=E5=8A=9F=E8=83=BD=E6=8B=86=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../member/FootprintController.java | 6 +
.../order/OrderBuyerController.java | 1 -
.../passport/MemberBuyerController.java | 16 ++
.../store/StoreBuyerController.java | 16 ++
.../controller/goods/GoodsImController.java | 83 ---------
.../controller/im/ImManagerController.java | 175 ------------------
.../lili/controller/im/ImUserController.java | 78 --------
.../controller/orders/ImOrderComtroller.java | 42 -----
.../{ => store}/im/QAStoreController.java | 2 +-
.../{ => store}/seat/SeatLogin.java | 2 +-
.../seat/SeatSettingStoreController.java | 2 +-
.../{ => store}/seat/SeatStoreController.java | 2 +-
.../seat/SeatStoreManagerController.java | 2 +-
13 files changed, 43 insertions(+), 384 deletions(-)
delete mode 100644 im-api/src/main/java/cn/lili/controller/goods/GoodsImController.java
delete mode 100644 im-api/src/main/java/cn/lili/controller/im/ImManagerController.java
delete mode 100644 im-api/src/main/java/cn/lili/controller/im/ImUserController.java
delete mode 100644 im-api/src/main/java/cn/lili/controller/orders/ImOrderComtroller.java
rename im-api/src/main/java/cn/lili/controller/{ => store}/im/QAStoreController.java (98%)
rename im-api/src/main/java/cn/lili/controller/{ => store}/seat/SeatLogin.java (97%)
rename im-api/src/main/java/cn/lili/controller/{ => store}/seat/SeatSettingStoreController.java (97%)
rename im-api/src/main/java/cn/lili/controller/{ => store}/seat/SeatStoreController.java (96%)
rename im-api/src/main/java/cn/lili/controller/{ => store}/seat/SeatStoreManagerController.java (96%)
diff --git a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java
index 951e56ec..480b8823 100644
--- a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java
@@ -65,4 +65,10 @@ public class FootprintController {
return ResultUtil.data(footprintService.getFootprintNum());
}
+
+ @GetMapping("/history")
+ @ApiOperation(value = "获取会员的历史足迹")
+ public ResultMessage> getMemberHistory(FootPrintQueryParams params) {
+ return ResultUtil.data(footprintService.footPrintPage(params));
+ }
}
diff --git a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
index 08251f15..1dfcb000 100644
--- a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
@@ -128,5 +128,4 @@ public class OrderBuyerController {
return ResultUtil.data(orderService.invoice(orderSn));
}
-
}
diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java
index 5a9e86b5..8615bf34 100644
--- a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java
@@ -3,6 +3,8 @@ package cn.lili.controller.passport;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
+import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.dos.Member;
@@ -264,4 +266,18 @@ public class MemberBuyerController {
return ResultUtil.data(this.memberService.refreshToken(refreshToken));
}
+ @GetMapping("/getImUser")
+ @ApiOperation(value = "获取用户信息")
+ public ResultMessage getImUser() {
+ AuthUser authUser = UserContext.getCurrentUser();
+ return ResultUtil.data(memberService.getById(authUser.getId()));
+ }
+
+ @GetMapping("/getImUserDetail/{memberId}")
+ @ApiImplicitParam(name = "memberId", value = "店铺Id", required = true, dataType = "String", paramType = "path")
+ @ApiOperation(value = "获取用户信息")
+ public ResultMessage getImUserDetail(@PathVariable String memberId) {
+ return ResultUtil.data(memberService.getById(memberId));
+ }
+
}
diff --git a/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
index 6e6a7ca7..35bdfbd2 100644
--- a/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
@@ -1,11 +1,13 @@
package cn.lili.controller.store;
import cn.lili.common.enums.ResultUtil;
+import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO;
import cn.lili.modules.goods.service.StoreGoodsLabelService;
+import cn.lili.modules.store.entity.dos.Store;
import cn.lili.modules.store.entity.dto.StoreBankDTO;
import cn.lili.modules.store.entity.dto.StoreCompanyDTO;
import cn.lili.modules.store.entity.dto.StoreOtherInfoDTO;
@@ -57,6 +59,20 @@ public class StoreBuyerController {
return ResultUtil.data(storeService.findByConditionPage(entity, page));
}
+ @GetMapping("/store")
+ @ApiOperation(value = "im-获取店铺信息")
+ public ResultMessage getStoreUser() {
+ AuthUser authUser = UserContext.getCurrentUser();
+ return ResultUtil.data(storeService.getById(authUser.getStoreId()));
+ }
+
+ @GetMapping("/store/{storeId}")
+ @ApiImplicitParam(name = "storeId", value = "店铺Id", required = true, dataType = "String", paramType = "path")
+ @ApiOperation(value = "im-店铺ID获取店铺信息")
+ public ResultMessage getStoreUserDetail(@PathVariable String storeId) {
+ return ResultUtil.data(storeService.getById(storeId));
+ }
+
@ApiOperation(value = "通过id获取店铺信息")
@ApiImplicitParam(name = "id", value = "店铺ID", required = true, paramType = "path")
@GetMapping(value = "/get/detail/{id}")
diff --git a/im-api/src/main/java/cn/lili/controller/goods/GoodsImController.java b/im-api/src/main/java/cn/lili/controller/goods/GoodsImController.java
deleted file mode 100644
index 4e5aa3c7..00000000
--- a/im-api/src/main/java/cn/lili/controller/goods/GoodsImController.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package cn.lili.controller.goods;
-
-import cn.lili.common.enums.ResultCode;
-import cn.lili.common.enums.ResultUtil;
-import cn.lili.common.exception.ServiceException;
-import cn.lili.common.vo.ResultMessage;
-import cn.lili.modules.goods.service.GoodsService;
-import cn.lili.modules.goods.service.GoodsSkuService;
-import cn.lili.modules.search.service.EsGoodsSearchService;
-import cn.lili.modules.search.service.HotWordsService;
-import cn.lili.modules.statistics.aop.PageViewPoint;
-import cn.lili.modules.statistics.aop.enums.PageViewEnum;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.validation.constraints.NotNull;
-import java.util.List;
-import java.util.Map;
-
-/**
- * IM端,商品接口
- *
- * @author chc
- * @since 2022-12-28 18:30:33
- */
-@Slf4j
-@Api(tags = "IM端,商品接口")
-@RestController
-@RequestMapping("/im/goods/goods")
-public class GoodsImController {
-
- /**
- * 商品
- */
- @Autowired
- private GoodsService goodsService;
- /**
- * 商品SKU
- */
- @Autowired
- private GoodsSkuService goodsSkuService;
- /**
- * ES商品搜索
- */
- @Autowired
- private EsGoodsSearchService goodsSearchService;
-
- @Autowired
- private HotWordsService hotWordsService;
-
- @ApiOperation(value = "通过id获取商品信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path"),
- @ApiImplicitParam(name = "skuId", value = "skuId", required = true, paramType = "path")
- })
- @GetMapping(value = "/sku/{goodsId}/{skuId}")
- @PageViewPoint(type = PageViewEnum.SKU, id = "#id")
- public ResultMessage
-
->>>>>>> ae0c4aea12996d3d72eca7c6ccdc97922373e4d7
## Introduction
XXL-JOB is a distributed task scheduling framework.
It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand.
From 8c38c9e1457d7a5b68b1821a3895774856035665 Mon Sep 17 00:00:00 2001
From: misworga831
Date: Tue, 31 Jan 2023 16:45:23 +0800
Subject: [PATCH 11/21] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BC=9A?=
=?UTF-8?q?=E5=91=98=E7=AD=BE=E5=88=B0=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6?=
=?UTF-8?q?=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lili/modules/member/serviceimpl/MemberSignServiceImpl.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java
index 3dc52820..2134109c 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java
@@ -73,7 +73,7 @@ public class MemberSignServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(MemberSign::getMemberId, authUser.getId());
List signSize = this.baseMapper.getTodayMemberSign(queryWrapper);
- if (signSize.size() > 0) {
+ if (signSize.isEmpty()) {
throw new ServiceException(ResultCode.MEMBER_SIGN_REPEAT);
}
//当前签到天数的前一天日期
From 6df2b92bc6943176de81ceab9c0d48dcd5ed52f4 Mon Sep 17 00:00:00 2001
From: chc <1501738723@qq.com>
Date: Tue, 31 Jan 2023 18:03:14 +0800
Subject: [PATCH 12/21] =?UTF-8?q?=E5=A2=9E=E5=8A=A0IM=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../member/serviceimpl/MemberServiceImpl.java | 1 +
.../lili/controller/im/ImUserController.java | 80 +++++++++++++++++++
.../goods/GoodsStoreController.java | 31 +++++++
.../member/FootprintStoreController.java | 39 +++++++++
.../member/StoreUserController.java | 16 ++++
5 files changed, 167 insertions(+)
create mode 100644 im-api/src/main/java/cn/lili/controller/im/ImUserController.java
create mode 100644 seller-api/src/main/java/cn/lili/controller/member/FootprintStoreController.java
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 a35c8433..fd43fbe4 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
@@ -716,6 +716,7 @@ public class MemberServiceImpl extends ServiceImpl impleme
@Override
public MemberVO getMember(String id) {
+ Member byId = this.getById(id);
return new MemberVO(this.getById(id));
}
diff --git a/im-api/src/main/java/cn/lili/controller/im/ImUserController.java b/im-api/src/main/java/cn/lili/controller/im/ImUserController.java
new file mode 100644
index 00000000..d39e0e59
--- /dev/null
+++ b/im-api/src/main/java/cn/lili/controller/im/ImUserController.java
@@ -0,0 +1,80 @@
+package cn.lili.controller.im;
+
+
+import cn.lili.common.enums.ResultUtil;
+import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.context.UserContext;
+import cn.lili.common.vo.ResultMessage;
+import cn.lili.modules.member.entity.dos.Member;
+import cn.lili.modules.member.entity.dto.FootPrintQueryParams;
+import cn.lili.modules.member.service.FootprintService;
+import cn.lili.modules.member.service.MemberService;
+import cn.lili.modules.search.entity.dos.EsGoodsIndex;
+import cn.lili.modules.store.entity.dos.Store;
+import cn.lili.modules.store.service.StoreService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * @author Chopper
+ */
+@RestController
+@Api(tags = "Im消息接口")
+@RequestMapping("/im/user")
+@Transactional(rollbackFor = Exception.class)
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
+public class ImUserController {
+
+ private final MemberService memberService;
+
+ @Autowired
+ private StoreService storeService;
+
+ @Autowired
+ private FootprintService footprintService;
+
+ @GetMapping
+ @ApiOperation(value = "获取用户信息")
+ public ResultMessage getImUser() {
+ AuthUser authUser = UserContext.getCurrentUser();
+ return ResultUtil.data(memberService.getById(authUser.getId()));
+ }
+
+ @GetMapping("/store")
+ @ApiOperation(value = "获取店铺信息")
+ public ResultMessage getStoreUser() {
+ AuthUser authUser = UserContext.getCurrentUser();
+ return ResultUtil.data(storeService.getById(authUser.getStoreId()));
+ }
+
+ @GetMapping("/{memberId}")
+ @ApiImplicitParam(name = "memberId", value = "店铺Id", required = true, dataType = "String", paramType = "path")
+ @ApiOperation(value = "获取用户信息")
+ public ResultMessage getImUserDetail(@PathVariable String memberId) {
+ return ResultUtil.data(memberService.getById(memberId));
+ }
+
+ @GetMapping("/store/{storeId}")
+ @ApiImplicitParam(name = "storeId", value = "店铺Id", required = true, dataType = "String", paramType = "path")
+ @ApiOperation(value = "获取店铺信息")
+ public ResultMessage getStoreUserDetail(@PathVariable String storeId) {
+ return ResultUtil.data(storeService.getById(storeId));
+ }
+
+ @GetMapping("/history")
+ @ApiOperation(value = "获取会员的历史足迹")
+ public ResultMessage> getMemberHistory(FootPrintQueryParams params) {
+ return ResultUtil.data(footprintService.footPrintPage(params));
+ }
+
+}
diff --git a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java
index 8a6c749a..9862fa33 100644
--- a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java
+++ b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java
@@ -1,7 +1,9 @@
package cn.lili.controller.goods;
import cn.lili.common.aop.annotation.DemoSite;
+import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
+import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.OperationalJudgment;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.ResultMessage;
@@ -16,6 +18,8 @@ import cn.lili.modules.goods.entity.vos.GoodsVO;
import cn.lili.modules.goods.entity.vos.StockWarningVO;
import cn.lili.modules.goods.service.GoodsService;
import cn.lili.modules.goods.service.GoodsSkuService;
+import cn.lili.modules.statistics.aop.PageViewPoint;
+import cn.lili.modules.statistics.aop.enums.PageViewEnum;
import cn.lili.modules.store.entity.dos.StoreDetail;
import cn.lili.modules.store.service.StoreDetailService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -24,11 +28,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -39,6 +46,7 @@ import java.util.stream.Collectors;
* @since 2020-02-23 15:18:56
*/
@RestController
+@Slf4j
@Api(tags = "店铺端,商品接口")
@RequestMapping("/store/goods/goods")
public class GoodsStoreController {
@@ -174,4 +182,27 @@ public class GoodsStoreController {
return ResultUtil.success();
}
+ @ApiOperation(value = "通过id获取商品信息")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path"),
+ @ApiImplicitParam(name = "skuId", value = "skuId", required = true, paramType = "path")
+ })
+ @GetMapping(value = "/sku/{goodsId}/{skuId}")
+ @PageViewPoint(type = PageViewEnum.SKU, id = "#id")
+ public ResultMessage