jiangqs
2023-06-30 08b2a4048452bef8d99ac5a700dd5aa6a4121699
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -17,6 +17,7 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.pojo.member.IntegralRecord;
import com.ruoyi.member.domain.pojo.member.MemberArchive;
import com.ruoyi.member.domain.pojo.member.MemberTotal;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.mapper.member.MemberMapper;
@@ -581,6 +582,20 @@
            // Save the member and initialize member total
            this.saveOrUpdate(member);
            initMemberTotal(memberId);
            List<MemberArchiveVo> achiveList = merMemberAddDto.getAchiveList();
            if(achiveList!=null&&!achiveList.isEmpty()){
                SysUser finalSysUser = sysUser;
                List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> {
                    MemberArchive memberArchive = new MemberArchive();
                    memberArchive.setDelFlag(0);
                    memberArchive.setUserId(finalSysUser.getUserId());
                    memberArchive.setFieldId(memberArchiveVo.getFieldId());
                    memberArchive.setFieldValue(memberArchiveVo.getFieldValue());
                    return memberArchive;
                    }
                ).collect(Collectors.toList());
                memberArchiveService.saveBatch(memberArchiveList);
            }
        }
    }
@@ -591,30 +606,49 @@
     */
    @Override
    public void editMerMember(MerMemberEditDto merMemberEditDto) {
        Member member = this.getByUserId(merMemberEditDto.getEditUserId());
        if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) {
            Member memberOld = getByMobile(merMemberEditDto.getPhonenumber());
            if (memberOld != null) {
                throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE);
            }
    // 获取用户信息
    Member member = this.getByUserId(merMemberEditDto.getEditUserId());
     // 检查手机号是否已经存在
    if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) {
        Member memberOld = getByMobile(merMemberEditDto.getPhonenumber());
        if (memberOld != null) {
            throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE);
        }
        member.setRealName(merMemberEditDto.getNickName());
        member.setMobile(merMemberEditDto.getPhonenumber());
        member.setGender(merMemberEditDto.getGender());
        member.setReferrer(merMemberEditDto.getReferrer());
        member.setCustomerSource(merMemberEditDto.getCustomerSource());
        member.setLevel(merMemberEditDto.getLevel());
        member.setBirthday(merMemberEditDto.getBirthday());
        member.setUpdateUserId(merMemberEditDto.getUserId());
        member.setUpdateTime(new Date());
        log.info("member-----------------" + member.toString());
        this.saveOrUpdate(member);
        SysUser sysUser = new SysUser();
        sysUser.setUserId(merMemberEditDto.getEditUserId());
        sysUser.setPhonenumber(merMemberEditDto.getPhonenumber());
        sysUserService.updateUserMobile(sysUser);
    }
     // 更新用户信息
    member.setRealName(merMemberEditDto.getNickName());
    member.setMobile(merMemberEditDto.getPhonenumber());
    member.setGender(merMemberEditDto.getGender());
    member.setReferrer(merMemberEditDto.getReferrer());
    member.setCustomerSource(merMemberEditDto.getCustomerSource());
    member.setLevel(merMemberEditDto.getLevel());
    member.setBirthday(merMemberEditDto.getBirthday());
    member.setUpdateUserId(merMemberEditDto.getUserId());
    member.setUpdateTime(new Date());
    this.saveOrUpdate(member);
     // 更新用户手机号
    SysUser sysUser = new SysUser();
    sysUser.setUserId(merMemberEditDto.getEditUserId());
    sysUser.setPhonenumber(merMemberEditDto.getPhonenumber());
    sysUserService.updateUserMobile(sysUser);
     // 删除用户的档案信息
    memberArchiveService.deleteByUserId(sysUser.getUserId());
     // 添加用户的档案信息
    List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList();
    if (achiveList != null && !achiveList.isEmpty()) {
        // 构造用户档案列表
        List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> {
            MemberArchive memberArchive = new MemberArchive();
            memberArchive.setDelFlag(0);
            memberArchive.setUserId(sysUser.getUserId());
            memberArchive.setFieldId(memberArchiveVo.getFieldId());
            memberArchive.setFieldValue(memberArchiveVo.getFieldValue());
            return memberArchive;
        }).collect(Collectors.toList());
         // 批量保存用户档案信息
        memberArchiveService.saveBatch(memberArchiveList);
    }
}
    /**
     * @param mobile