package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.domain.MarrySelf; import com.ruoyi.domain.MarryUser; import com.ruoyi.domain.ZInfoUser; import com.ruoyi.domain.dto.MarryInfoDto; import com.ruoyi.domain.dto.MarryUserDto; import com.ruoyi.mapper.MarrySelfMapper; import com.ruoyi.service.MarrySelfService; import com.ruoyi.service.MarryUserService; import com.ruoyi.service.ZInfoUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; /** * @Author Jinquan_Ou * @Description * @Date 2023-08-07 21:25 * @Version 1.0.0 **/ @Service public class MarrySelfServiceImpl extends ServiceImpl implements MarrySelfService { @Resource MarryUserService marryUserService; // @Resource // MarrySelfService marrySelfService; @Override public AjaxResult getInfo() { //先查询自己的信息 SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper marrySelfLQW = new LambdaQueryWrapper<>(); marrySelfLQW.eq(MarrySelf::getUid,userId); MarrySelf myself = getOne(marrySelfLQW); if(myself == null){ throw new RuntimeException("请先编辑信息"); } //再查询前任的信息 LambdaQueryWrapper marryUserLQW = new LambdaQueryWrapper<>(); marryUserLQW.eq(MarryUser::getUid,userId); List spouseList = marryUserService.list(marryUserLQW); List frontList = spouseList.stream().map(s -> { MarryUserDto marryUserDto = new MarryUserDto(); BeanUtils.copyProperties(s, marryUserDto); return marryUserDto; }).collect(Collectors.toList()); //最终返回数据模型 MarryInfoDto result = new MarryInfoDto(); BeanUtils.copyProperties(myself,result); result.setOldSpouseList(frontList); return AjaxResult.success(result); } @Override public Boolean updateData(MarryInfoDto marryInfoDto) { // SysUser user = SecurityUtils.getLoginUser().getUser(); // Long userId = user.getUserId(); MarrySelf marrySelf = new MarrySelf(); BeanUtils.copyProperties(marryInfoDto,marrySelf); marrySelf.setUid(marryInfoDto.getUid()); //先查询数据库中有没有本用户的数据 LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(MarrySelf::getUid,marryInfoDto.getUid()); List list = list(lqw); if(list.isEmpty()){ //如果是空的,那就是新增 save(marrySelf); }else { //否则就是修改 marrySelf.setId(list.get(0).getId()); updateById(marrySelf); } return true; } }