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);
|
}
|
}
|