From 0fb6b9d8d414822668c401a2b507df1fe6d1fa2d Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 16 六月 2025 14:28:08 +0800 Subject: [PATCH] 用户权限管理 --- framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreMemberServiceImpl.java | 130 +++++++++++++++++++++++++++++------------- 1 files changed, 89 insertions(+), 41 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 index bc19a15..2555f5d 100644 --- 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 @@ -4,18 +4,23 @@ import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; +import cn.lili.common.vo.PageVO; 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.CheckClerkPermissionVO; 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.Clerk; 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.entity.dto.*; +import cn.lili.modules.member.entity.vo.ClerkVO; +import cn.lili.modules.member.service.ClerkService; import cn.lili.modules.member.service.MemberService; import cn.lili.utils.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -24,6 +29,8 @@ import org.springframework.beans.BeanUtils; import org.springframework.util.Assert; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -40,6 +47,8 @@ private final StoreMemberMapper storeMemberMapper; private final MemberService memberService; + + private final ClerkService clerkService; /** * 娣诲姞 * @param form @@ -47,29 +56,25 @@ */ @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鑾峰彇寮傚父"); + String storeId =UserContext.getCurrentUser().getStoreId(); + System.out.println(storeId); +// storeId = "1376433565247471616"; //娴嬭瘯鐢� + if ( storeId == null){ + return null; } - - //鎻掑叆浼氬憳琛� - MemberAddDTO addDTO = new MemberAddDTO(); - addDTO.setMobile(form.getMobile()); - addDTO.setPassword(form.getPassword()); - addDTO.setUsername(form.getMobile()); - - Member member = memberService.addMember(addDTO); + ClerkAddDTO clerkAddDTO = new ClerkAddDTO(); + clerkAddDTO.setPassword(form.getPassword()); + clerkAddDTO.setRoles(form.getRole()); + clerkAddDTO.setUsername(form.getMobile()); + clerkAddDTO.setMobile(form.getMobile()); + clerkAddDTO.setDepartmentId(form.getDepartmentId()); + clerkAddDTO.setIsSuper(form.getIsSuper()); + Member member = clerkService.addClerkReturnMember(clerkAddDTO); //鎻掑叆鐢ㄦ埛鏉冮檺琛� //id鎻掑叆闂 StoreMember entity = StoreMemberForm.getEntityByForm(form, null); entity.setMemberId(member.getId()); - entity.setStoreId(storeId); - baseMapper.insert(entity); return Result.ok("娣诲姞鎴愬姛"); } @@ -81,16 +86,27 @@ */ @Override public Result update(StoreMemberForm form) { - StoreMember entity = baseMapper.selectById(form.getId()); + ClerkEditDTO clerkEditDTO = new ClerkEditDTO(); + clerkEditDTO.setId(form.getId()); + clerkEditDTO.setRoles(form.getRole()); + clerkEditDTO.setDepartmentId(form.getDepartmentId()); + clerkEditDTO.setIsSuper(form.getIsSuper()); + Clerk clerk = clerkService.updateClerk(clerkEditDTO); + StoreMember entity = new LambdaQueryChainWrapper<>(baseMapper) + .eq(StoreMember::getMemberId,clerk.getMemberId()) + .one(); + if (entity == null){ + //鎻掑叆 + entity = new StoreMember(); + entity.setMemberId(clerk.getMemberId()); + entity.setRealName(form.getRealName()); + baseMapper.insert(entity); + }else { + //淇敼鐪熷疄濮撳悕 + entity.setRealName(form.getRealName()); - //TODO 鏄惁闇�瑕佸垽鏂瘑鐮佹柊瀵嗙爜 - //浼氬憳淇敼瀵嗙爜锛岀數璇� - memberService.updateMemberPartProperties(entity.getMemberId(),form.getPassword(),form.getMobile()); - - //淇敼鐪熷疄濮撳悕 - entity.setRealName(form.getRealName()); - entity.setRole(form.getRole()); - baseMapper.updateById(entity); + baseMapper.updateById(entity); + } return Result.ok("淇敼鎴愬姛"); } @@ -112,11 +128,15 @@ */ @Override public Result removeById(String id) { - StoreMember entity = baseMapper.selectById(id); - memberService.removeById(entity.getMemberId()); - baseMapper.deleteById(id); - //鍚屾椂鍒犻櫎鐢ㄦ埛 + ClerkVO clerkVO =clerkService.get(id); + List<String> ids = new ArrayList<>(); + ids.add(id); + clerkService.deleteClerk(ids); + baseMapper.delete(new LambdaQueryChainWrapper<>(baseMapper) + .eq(StoreMember::getMemberId,clerkVO.getMemberId())); + //鍚屾椂鍒犻櫎鐢ㄦ埛 + // 鐢ㄦ埛瑙掕壊 return Result.ok("鍒犻櫎鎴愬姛"); } @@ -128,15 +148,17 @@ */ @Override public Result page(StoreMemberQuery query) { - AuthUser currentUser = UserContext.getCurrentUser(); -// String storeId = currentUser.getStoreId(); - String storeId = "12312323123"; + String storeId = UserContext.getCurrentUser().getStoreId(); + + //TODO 涓嶉�氳繃UserContext鑾峰緱搴楅摵id锛岄�氳繃浼氬憳id鏌ヨ鏁版嵁搴撻噷鐨勫晢搴梚d +// String storeId = "1376433565247471616"; if (storeId == null) { return Result.error("褰撳墠鐧诲綍璐︽埛鏈粦瀹氬晢鎴锋垨鐢ㄦ埛id鑾峰彇寮傚父"); } - IPage<StoreMemberVO> page = PageUtil.getPage(query, StoreMemberVO.class); + System.out.println(query.getPageNumber()); + IPage<ClerkVO> page = PageUtil.getPage(query, ClerkVO.class); query.setStoreId(storeId); - baseMapper.getPage(page, query); + baseMapper.getClerkPage(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -147,11 +169,17 @@ */ @Override public Result detail(String id) { - StoreMemberVO vo = baseMapper.getById(id); - //瀵嗙爜鏄惁闇�瑕佽В瀵� + ClerkVO clerkVO = clerkService.get(id); + StoreMember storeMember = new LambdaQueryChainWrapper<>(baseMapper) + .eq(StoreMember::getMemberId, clerkVO.getMemberId()) + .one(); + if (storeMember != null) { + clerkVO.setRealName(storeMember.getRealName()); + } - Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); - return Result.ok().data(vo); + //瀵嗙爜鏄惁闇�瑕佽В瀵� + Assert.notNull(clerkVO, "璁板綍涓嶅瓨鍦�"); + return Result.ok().data(clerkVO); } /** @@ -166,4 +194,24 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + // 鑾峰緱褰撳墠璐﹀彿鐨勭敤鎴峰簵鍛樹俊鎭� + public ClerkVO getUserContextClerkInfo(){ + String id = UserContext.getCurrentUser().getId(); + Clerk clerk = clerkService.getClerkByMemberId(id); + if (clerk == null){ + throw new RuntimeException("鑾峰彇搴楀憳淇℃伅寮傚父"); + } + return clerkService.get(clerk.getId()); + } + + @Override + public Result checkDelAndUpdatePermission() { + + ClerkVO clerkVO = getUserContextClerkInfo(); + CheckClerkPermissionVO permissionVO = new CheckClerkPermissionVO(); + permissionVO.setClerkId(clerkVO.getId()); + permissionVO.setIsShopkeeper(clerkVO.getShopkeeper()); + permissionVO.setIsSuper(clerkVO.getIsSuper()); + return Result.ok().data(permissionVO); + } } -- Gitblit v1.8.0