package com.njcn.csharmonic.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csharmonic.mapper.CsPageUserMapper;
import com.njcn.csharmonic.pojo.po.CsPageUser;
import com.njcn.csharmonic.service.CsPageUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.Objects;

@Service
@RequiredArgsConstructor
public class CsPageUserServiceImpl extends ServiceImpl<CsPageUserMapper, CsPageUser> implements CsPageUserService {

    @Override
    public boolean savePageIdWithUser(CsPageUser csPageUser) {
        // 首先获取该用户的数据，理论上只有一个，以后可能有多个
        CsPageUser csPageUser1 = this.getOne(new QueryWrapper<CsPageUser>().eq("user_id", csPageUser.getUserId()));
        if(Objects.isNull(csPageUser1)){
            // 如果没有就插入
            return this.save(csPageUser);
        }else{
            return this.update(csPageUser, new QueryWrapper<CsPageUser>().eq("user_id", csPageUser.getUserId()));
        }
    }

    @Override
    public CsPageUser getByUserId(String userId) {
        // 根据用户id获取组件信息
        CsPageUser csPageUser = this.getOne(new QueryWrapper<CsPageUser>().eq("user_id", userId));
        if(Objects.isNull(csPageUser)){
            throw new BusinessException("该用户不存在组件信息");
        }
        return csPageUser;
    }
}
