package com.ruoyi.app.service.impl; import cn.hutool.core.comparator.PinyinComparator; import cn.hutool.extra.pinyin.PinyinUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.app.domain.TbAppUser; import com.ruoyi.app.domain.TbFamilyMember; import com.ruoyi.app.domain.TbMemberMiddle; import com.ruoyi.app.domain.TbMyPublish; import com.ruoyi.app.domain.vo.AppMemberVo; import com.ruoyi.app.mapper.TbAppUserMapper; import com.ruoyi.app.service.ITbAppUserService; import com.ruoyi.app.service.ITbFamilyMemberService; import com.ruoyi.app.service.ITbMemberMiddleService; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 会员Service业务层处理 * * @author Alex * @date 2020-09-24 */ @Service @Transactional(rollbackFor = Exception.class) public class TbAppUserServiceImpl extends ServiceImpl implements ITbAppUserService { @Autowired private ITbFamilyMemberService memberService; @Autowired private ITbAppUserService userService; @Autowired private ITbMemberMiddleService memberMiddleService; /** * 获取所有未删除状态的会员信息列表 * @return */ @Override public List selectAppMembers(String enable, String search, String beginTime, String endTime){ return baseMapper.selectAppMembers("user",enable, search, beginTime, endTime); } @Override public List selectMembers(List memberIds) { return baseMapper.selectMembers("user",memberIds); } public List selectFamilyMember(AppMemberVo memberVo){ List memberMiddleList = memberMiddleService.list(new LambdaQueryWrapper() .eq(TbMemberMiddle::getFamilyId, memberVo.getFamilyId()) ); if (memberMiddleList.size() <= 0) { return new ArrayList<>(); } List ids = new ArrayList<>(); memberMiddleList.forEach(item -> { ids.add(item.getMemberId()); }); // List memberList = return null; } /** * 添加/修改会员 * @param memberVo * @return */ @Override public boolean saveOrUpdate(AppMemberVo memberVo){ if (memberVo == null) { return false; } TbAppUser appUser = new TbAppUser(); TbFamilyMember member = new TbFamilyMember(); Date date = new Date(); BeanUtils.copyBeanProp(appUser,memberVo); BeanUtils.copyBeanProp(member,memberVo); appUser.setUpdateBy(memberVo.getUserUpdateBy()); appUser.setUpdateTime(date); appUser.setRemark(memberVo.getUserRemark()); member.setUpdateBy(memberVo.getUserUpdateBy()); member.setUpdateTime(date); if (StringUtils.isNotBlank(memberVo.getNickName())) { String py = PinyinUtil.getFirstLetter(memberVo.getNickName(), "").toUpperCase(); appUser.setPyCode(py); appUser.setPyFirst(StringUtils.substring(py,0,1)); } if (StringUtils.isNotBlank(memberVo.getName())) { String py = PinyinUtil.getFirstLetter(memberVo.getName(), "").toUpperCase(); member.setPyCode(py); member.setPyFirst(StringUtils.substring(py,0,1)); } //新增用户 if (memberVo.getUserId() == null) { appUser.setQrcode(DateUtils.getCurrentTimeRandom()); appUser.setCreateBy(memberVo.getUserCreateBy()); appUser.setCreateTime(date); userService.save(appUser); memberVo.setUserId(appUser.getId()); }else {// 否则修改用户 appUser.setId(memberVo.getUserId()); userService.updateById(appUser); } member.setAppUserId(appUser.getId()); // 新增成员 if (memberVo.getMemberId() == null) { member.setCreateBy(memberVo.getUserCreateBy()); member.setCreateTime(date); memberService.save(member); memberVo.setMemberId(member.getId()); } else { // 否则修改成员 member.setId(memberVo.getMemberId()); memberService.updateById(member); } return true; } @Override public AppMemberVo getAppMember(String id,String search) { return baseMapper.getAppMember("user", id, search); } @Override public AppMemberVo getMember(String type,String id,String search){ return baseMapper.getAppMember(type, id, search); } }