From 79b026c753c25f998776d8a6210fc6afab97e647 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 16 十月 2025 09:14:35 +0800
Subject: [PATCH] 统计
---
framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 49 insertions(+), 4 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 455df7b..9531b2b 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
@@ -25,6 +25,7 @@
import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
import cn.lili.modules.connect.service.ConnectService;
import cn.lili.modules.lmk.domain.entity.VideoAccount;
+import cn.lili.modules.lmk.domain.form.MemberBindStoreForm;
import cn.lili.modules.lmk.domain.form.MemberNickNameForm;
import cn.lili.modules.lmk.domain.form.MemberTagForm;
import cn.lili.modules.lmk.domain.vo.PrizeRecordVO;
@@ -74,6 +75,9 @@
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -356,6 +360,49 @@
}
@Override
+ public Result bindMemberAndStore(MemberBindStoreForm form) {
+ String memberId = UserContext.getCurrentUserId();
+ if(StringUtils.isNotBlank(memberId)){
+ Member member = baseMapper.selectById(memberId);
+
+ if (member != null){
+ //鍒ゆ柇鐢ㄦ埛鐨勫垱寤烘椂闂存槸鍚﹀拰 鍒嗕韩shareTime鍦�24灏忔椂鍐�
+ LocalDateTime memberCreateTime = member.getCreateTime().toInstant()
+ .atZone(ZoneId.systemDefault())
+ .toLocalDateTime();
+
+ LocalDateTime shareTime = form.getShareTime().toInstant()
+ .atZone(ZoneId.systemDefault())
+ .toLocalDateTime();
+
+ // 璁$畻鏃堕棿宸� 绗竴涓弬鏁� 杈冩棭鐨勬椂闂� 鍚庝竴涓緝鏅氱殑鏃堕棿
+ Duration duration = Duration.between(
+ memberCreateTime.isBefore(shareTime) ? memberCreateTime : shareTime,
+ memberCreateTime.isBefore(shareTime) ? shareTime : memberCreateTime
+ );
+
+ long hoursDifference = duration.toHours();
+
+ if (hoursDifference <= 24) {
+ // 鍦�24灏忔椂鍐� 涓庡簵閾鸿繘琛岀粦瀹�
+ if(StringUtils.isNotBlank(member.getShareStoreId())){
+ return Result.ok("宸茬粦瀹氬簵閾�");
+ }
+ member.setShareStoreId(form.getShareStoreId());
+ baseMapper.updateById(member);
+ } else {
+ return Result.ok("鍒嗕韩宸茶繃鏈燂紝鏈夋晥鏈熶负24灏忔椂");
+ }
+ }
+
+
+ }else{
+ throw new RuntimeException("UserContext.getCurrentUserId()锛氱敤鎴穒d鑾峰彇寮傚父");
+ }
+ return Result.ok("缁戝畾鎴愬姛");
+ }
+
+ @Override
public Member editOwn(MemberEditDTO memberEditDTO) {
//鏌ヨ浼氬憳淇℃伅
Member member = this.findByUsername(Objects.requireNonNull(UserContext.getCurrentUser()).getUsername());
@@ -606,13 +653,11 @@
String tagIdsStr = memberSearchVO.getTagIds().stream()
.map(String::valueOf)
.collect(Collectors.joining(","));
- queryWrapper.inSql("id",
+ queryWrapper.inSql("m.id",
"SELECT DISTINCT member_id FROM lmk_member_tag WHERE tag_id IN (" +
tagIdsStr + ")");
-
- return this.baseMapper.pageByMemberVO(PageUtil.initPage(page), queryWrapper);
}
- return this.baseMapper.pageByMemberVO(PageUtil.initPage(page),queryWrapper);
+ return this.baseMapper.pageByMemberVOAndBindStore(PageUtil.initPage(page),queryWrapper);
}
@Override
--
Gitblit v1.8.0