| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | private final StoreMemberMapper storeMemberMapper; |
| | | |
| | | private final MemberService memberService; |
| | | |
| | | private final ClerkService clerkService; |
| | | /** |
| | | * 添加 |
| | | * @param form |
| | |
| | | */ |
| | | @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("添加成功"); |
| | | } |
| | |
| | | */ |
| | | @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("修改成功"); |
| | | } |
| | | |
| | |
| | | */ |
| | | @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("删除成功"); |
| | | } |
| | |
| | | */ |
| | | @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查询数据库里的商店id |
| | | // 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()); |
| | | } |
| | | |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | .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); |
| | | } |
| | | } |