From 4e502853119c6d8e7ff686191e19bb0a19a4f875 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 04 六月 2025 16:35:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreMemberServiceImpl.java |  169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 169 insertions(+), 0 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreMemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreMemberServiceImpl.java
new file mode 100644
index 0000000..bc19a15
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreMemberServiceImpl.java
@@ -0,0 +1,169 @@
+package cn.lili.modules.lmk.service.impl;
+
+import cn.lili.base.Result;
+
+import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.context.UserContext;
+import cn.lili.modules.lmk.domain.entity.StoreMember;
+import cn.lili.modules.lmk.domain.form.StoreMemberForm;
+import cn.lili.modules.lmk.domain.query.StoreMemberQuery;
+import cn.lili.modules.lmk.domain.vo.StoreMemberVO;
+import cn.lili.modules.lmk.mapper.StoreMemberMapper;
+import cn.lili.modules.lmk.service.StoreMemberService;
+import cn.lili.modules.member.entity.dos.Member;
+import cn.lili.modules.member.entity.dto.ManagerMemberEditDTO;
+import cn.lili.modules.member.entity.dto.MemberAddDTO;
+import cn.lili.modules.member.service.MemberService;
+import cn.lili.utils.PageUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.Assert;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 鐢ㄦ埛鏉冮檺绠$悊(鍟嗗) 鏈嶅姟瀹炵幇绫�
+ *
+ * @author zxl
+ * @since 2025-05-30
+ */
+@Service
+@RequiredArgsConstructor
+public class StoreMemberServiceImpl extends ServiceImpl<StoreMemberMapper, StoreMember> implements StoreMemberService {
+
+    private final StoreMemberMapper storeMemberMapper;
+
+    private final MemberService memberService;
+    /**
+     * 娣诲姞
+     * @param form
+     * @return
+     */
+    @Override
+    public Result add(StoreMemberForm form) {
+        //鎻掑叆鍒扮敤鎴疯〃涓�
+        AuthUser currentUser = UserContext.getCurrentUser();
+        String id = currentUser.getId();
+//        String storeId = currentUser.getStoreId();
+        String storeId = "12312323123";
+        if (id == null || storeId == null) {
+            return Result.error("褰撳墠鐧诲綍璐︽埛鏈粦瀹氬晢鎴锋垨鐢ㄦ埛id鑾峰彇寮傚父");
+        }
+
+        //鎻掑叆浼氬憳琛�
+        MemberAddDTO addDTO = new MemberAddDTO();
+        addDTO.setMobile(form.getMobile());
+        addDTO.setPassword(form.getPassword());
+        addDTO.setUsername(form.getMobile());
+
+        Member member = memberService.addMember(addDTO);
+
+        //鎻掑叆鐢ㄦ埛鏉冮檺琛�
+        //id鎻掑叆闂
+        StoreMember entity = StoreMemberForm.getEntityByForm(form, null);
+        entity.setMemberId(member.getId());
+        entity.setStoreId(storeId);
+
+        baseMapper.insert(entity);
+        return Result.ok("娣诲姞鎴愬姛");
+    }
+
+    /**
+     * 淇敼
+     * @param form
+     * @return
+     */
+    @Override
+    public Result update(StoreMemberForm form) {
+        StoreMember entity = baseMapper.selectById(form.getId());
+
+        //TODO 鏄惁闇�瑕佸垽鏂瘑鐮佹柊瀵嗙爜
+        //浼氬憳淇敼瀵嗙爜锛岀數璇�
+        memberService.updateMemberPartProperties(entity.getMemberId(),form.getPassword(),form.getMobile());
+
+        //淇敼鐪熷疄濮撳悕
+        entity.setRealName(form.getRealName());
+        entity.setRole(form.getRole());
+        baseMapper.updateById(entity);
+        return Result.ok("淇敼鎴愬姛");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param ids
+     * @return
+     */
+    @Override
+    public Result remove(List<String> ids) {
+        baseMapper.deleteBatchIds(ids);
+        return Result.ok("鍒犻櫎鎴愬姛");
+    }
+
+    /**
+     * id鍒犻櫎
+     * @param id
+     * @return
+     */
+    @Override
+    public Result removeById(String id) {
+        StoreMember entity = baseMapper.selectById(id);
+        memberService.removeById(entity.getMemberId());
+        baseMapper.deleteById(id);
+        //鍚屾椂鍒犻櫎鐢ㄦ埛
+
+
+        return Result.ok("鍒犻櫎鎴愬姛");
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param query
+     * @return
+     */
+    @Override
+    public Result page(StoreMemberQuery query) {
+        AuthUser currentUser = UserContext.getCurrentUser();
+//        String storeId = currentUser.getStoreId();
+        String storeId = "12312323123";
+        if (storeId == null) {
+            return Result.error("褰撳墠鐧诲綍璐︽埛鏈粦瀹氬晢鎴锋垨鐢ㄦ埛id鑾峰彇寮傚父");
+        }
+        IPage<StoreMemberVO> page = PageUtil.getPage(query, StoreMemberVO.class);
+        query.setStoreId(storeId);
+        baseMapper.getPage(page, query);
+        return Result.ok().data(page.getRecords()).total(page.getTotal());
+    }
+
+    /**
+     * 鏍规嵁id鏌ユ壘
+     * @param id
+     * @return
+     */
+    @Override
+    public Result detail(String id) {
+        StoreMemberVO vo = baseMapper.getById(id);
+        //瀵嗙爜鏄惁闇�瑕佽В瀵�
+
+        Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+        return Result.ok().data(vo);
+    }
+
+    /**
+     * 鍒楄〃
+     * @return
+     */
+    @Override
+    public Result all() {
+        List<StoreMember> entities = baseMapper.selectList(null);
+        List<StoreMemberVO> vos = entities.stream()
+                .map(entity -> StoreMemberVO.getVoByEntity(entity, null))
+                .collect(Collectors.toList());
+        return Result.ok().data(vos);
+    }
+}

--
Gitblit v1.8.0