From b9b8b93a1b8ec1954ffc690093cb4628477de8c2 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 22 十月 2025 14:11:49 +0800
Subject: [PATCH] 导出excel添加用户id

---
 framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java |   65 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 9 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..3faabf9 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
@@ -689,6 +734,7 @@
         // 鍒涘缓琛ㄥご
         Row header = sheet.createRow(0);
         String[] headers = {
+                "浼氬憳id",
                 "浼氬憳鍚嶇О", "浼氬憳鏄电О","鑱旂郴鏂瑰紡",
                 "娉ㄥ唽鏃堕棿","鏈�鍚庣櫥褰曟椂闂�"
         };
@@ -699,11 +745,12 @@
         for (int i=0;i< exportDetailDTOS.size();i++){
             MemberExportVO dto = exportDetailDTOS.get(i);
             Row row = sheet.createRow(i+1);
-            row.createCell(0).setCellValue(dto.getUsername());
-            row.createCell(1).setCellValue(dto.getNickName());
-            row.createCell(2).setCellValue(dto.getMobile());
-            row.createCell(3).setCellValue(dto.getCreateTime());
-            row.createCell(4).setCellValue(dto.getLastLoginDate());
+            row.createCell(0).setCellValue(dto.getId());
+            row.createCell(1).setCellValue(dto.getUsername());
+            row.createCell(2).setCellValue(dto.getNickName());
+            row.createCell(3).setCellValue(dto.getMobile());
+            row.createCell(4).setCellValue(dto.getCreateTime());
+            row.createCell(5).setCellValue(dto.getLastLoginDate());
         }
 
         return workbook;

--
Gitblit v1.8.0