From 59da87cc7b9db21b01c8c2c0831619aff73d0f84 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 28 Apr 2025 17:54:27 +0800
Subject: [PATCH] fix(mall): 修复活动订单删除功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   39 ++++++++++++++++++++++++++-------------
 1 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index eecd7a2..3a4c4ab 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1097,10 +1097,12 @@
 
         MallMember member = this.baseMapper.selectById(loginUser.getId());
 
-        MallMember mallMember = new MallMember();
-        mallMember.setId(member.getId());
-        mallMember.setLastLoginTime(new Date());
-        this.baseMapper.updateById(mallMember);
+//        MallMember mallMember = new MallMember();
+//        mallMember.setId(member.getId());
+//        mallMember.setLastLoginTime(new Date());
+//        this.baseMapper.updateById(mallMember);
+
+        this.baseMapper.updateLastLoginTime(member.getId(),new Date());
 
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNALIVE_COUPON.getType(), DataDictionaryEnum.UNALIVE_COUPON.getCode());
         if (dic == null || StrUtil.isBlank(dic.getValue())) {
@@ -1340,18 +1342,19 @@
 
         // 获取当前登录用户的ID
         Long memberId = LoginUserUtil.getLoginUser().getId();
+        log.info("开始绑定医生{}",memberId);
         // 从DTO中提取邀请ID和门店会员ID
         String inviteId = dto.getInviteId();
         Long storeMemberId = dto.getStoreMemberId();
 
         // 根据门店会员ID查询门店会员信息
-        MallStoreMember mallStoreMember = mallStoreMemberMapper.selectById(storeMemberId);
+        MallStoreMember mallStoreMember = mallStoreMemberMapper.selectOne(
+                new LambdaQueryWrapper<MallStoreMember>()
+                .eq(MallStoreMember::getId,storeMemberId)
+                .eq(MallStoreMember::getMemberId,memberId)
+                );
         // 如果门店会员信息为空,抛出异常
         if(null == mallStoreMember){
-            throw new FebsException("当前检测记录无法绑定!");
-        }
-        // 如果门店会员的会员ID与当前登录用户ID不匹配,抛出异常
-        if(mallStoreMember.getMemberId() != memberId){
             throw new FebsException("当前检测记录无法绑定!");
         }
 
@@ -1363,7 +1366,11 @@
         }
 
         // 查询与当前门店会员ID关联的医生列表
-        List<MallDoctor> mallDoctors = mallDoctorMapper.selectList(new LambdaQueryWrapper<MallDoctor>().eq(MallDoctor::getStoreMemberId, mallStoreMember.getId()));
+        List<MallDoctor> mallDoctors = mallDoctorMapper.selectList(
+                new LambdaQueryWrapper<MallDoctor>()
+                        .eq(MallDoctor::getStoreMemberId, mallStoreMember.getId())
+                        .eq(MallDoctor::getMemberId, mallMember.getId())
+        );
         // 如果医生列表为空,创建新的医生对象并设置相关信息,然后插入数据库
         if(CollUtil.isEmpty(mallDoctors)){
             MallDoctor mallDoctor = new MallDoctor();
@@ -1372,8 +1379,13 @@
             mallDoctor.setBindMemberId(mallStoreMember.getMemberId());
             mallDoctor.setBindPhone(mallStoreMember.getPhone());
             mallDoctor.setBindName(mallStoreMember.getName());
-            mallDoctor.setBindInfo(mallStoreMember.getAccount());
             mallDoctor.setBindAge(mallStoreMember.getAge());
+
+            Long storeId = mallStoreMember.getStoreId();
+            Long storeItemId = mallStoreMember.getStoreItemId();
+            MallStore mallStore = mallStoreMapper.selectById(storeId);
+            MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
+            mallDoctor.setBindInfo(mallStore.getName()+"-"+mallStoreItem.getCode());
             mallDoctorMapper.insert(mallDoctor);
         }
 
@@ -1447,7 +1459,8 @@
                 ApiDoctorListVo apiDoctorListVo = new ApiDoctorListVo();
                 apiDoctorListVo.setId(mallDoctor.getId());
                 apiDoctorListVo.setStoreMemberId(mallDoctor.getStoreMemberId());
-                apiDoctorListVo.setName(mallDoctor.getBindName());
+                MallMember mallMember = this.baseMapper.selectById(mallDoctor.getMemberId());
+                apiDoctorListVo.setName(mallMember.getName());
                 apiDoctorListVo.setPhone(mallDoctor.getBindPhone());
                 apiDoctorListVo.setBindAge(mallDoctor.getBindAge());
                 apiDoctorListVo.setBindInfo(mallDoctor.getBindInfo());
@@ -1466,7 +1479,7 @@
         Long memberId = LoginUserUtil.getLoginUser().getId();
 
         MallDoctor mallDoctor = mallDoctorMapper.selectById(dto.getId());
-        if(memberId != mallDoctor.getBindMemberId()){
+        if(!memberId.equals(mallDoctor.getBindMemberId())){
             throw new FebsException("当前授权无法删除!");
         }
         mallDoctorMapper.deleteById(dto.getId());

--
Gitblit v1.9.1