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.domain.ZHealthHabit; import com.ruoyi.domain.ZHealthNote; import com.ruoyi.domain.ZInfoUser; import com.ruoyi.mapper.ZHealthNoteMapper; import com.ruoyi.service.ZHealthNoteService; import com.ruoyi.service.ZInfoUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * @Author Jinquan_Ou * @Description * @Date 2023-07-17 13:26 * @Version 1.0.0 **/ @Service public class ZHealthNoteServiceImpl extends ServiceImpl implements ZHealthNoteService { @Autowired ZInfoUserService zInfoUserService; @Override public AjaxResult listAll() { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZHealthNote::getUid,userId); ZHealthNote result = getOne(lqw); if(result==null) { //根据userId查询到infouser的uaid ZInfoUser zInfoUser = zInfoUserService.getInfoBysysId(userId); // System.out.println("sdfsdf999000550"); //拿到所有的sysid List fms = zInfoUserService.findByUaidToFaid(zInfoUser.getUaid()).stream().map(ZInfoUser::getSysId).collect(Collectors.toList()); System.out.println(fms.size()); for(Long id:fms) { LambdaQueryWrapper lqw1 = new LambdaQueryWrapper<>(); if(!id.equals(userId)) { lqw1.eq(ZHealthNote::getUid, id); result = getOne(lqw1); break; } } // System.out.println(result); // System.out.println("sdfsdf9990000"); } if(result == null){ throw new RuntimeException("请先填写好生活习惯数据!"); } return AjaxResult.success(result); } @Override public AjaxResult saveData(ZHealthNote zHealthNote) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZHealthNote::getUid,userId); ZHealthNote result = getOne(lqw); if(result == null){ zHealthNote.setUid(userId); save(zHealthNote); }else { zHealthNote.setId(result.getId()); zHealthNote.setUid(userId); updateById(zHealthNote); } return AjaxResult.success(); } }