package cc.mrbird.febs.ai.service.impl; import cc.mrbird.febs.ai.entity.AiCompany; import cc.mrbird.febs.ai.entity.AiMemberRole; import cc.mrbird.febs.ai.entity.AiProductPrompt; import cc.mrbird.febs.ai.mapper.AiProductPromptMapper; import cc.mrbird.febs.ai.service.AiProductPromptService; import cc.mrbird.febs.ai.util.UUID; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.utils.ShareCodeUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.Date; @Slf4j @Service @RequiredArgsConstructor public class AiProductPromptServiceImpl extends ServiceImpl implements AiProductPromptService { private final AiProductPromptMapper aiProductPromptMapper; @Override public AiProductPrompt getById(String id) { return aiProductPromptMapper.selectById( id); } @Override public IPage listInPage(AiProductPrompt dto, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); LambdaQueryWrapper query = Wrappers.lambdaQuery(AiProductPrompt.class); if (StrUtil.isNotEmpty(dto.getCompanyId())){ query.eq(AiProductPrompt::getCompanyId, dto.getCompanyId()); } query.orderByDesc(AiProductPrompt::getCreatedTime); Page pages = aiProductPromptMapper.selectPage(page, query); return pages; } @Override public FebsResponse add(AiProductPrompt dto) { Date createTime = new Date(); AiProductPrompt entity = new AiProductPrompt(); entity.setId(UUID.getSimpleUUIDString()); entity.setName(dto.getName()); entity.setCode(dto.getCode()); entity.setCompanyId(dto.getCompanyId()); entity.setCreatedTime(createTime); aiProductPromptMapper.insert( entity); return new FebsResponse().success().message("操作成功"); } @Override public FebsResponse update(AiProductPrompt dto) { String id = dto.getId(); AiProductPrompt entity = this.getById(id); if(ObjectUtil.isNotNull( entity)){ this.update(null, Wrappers.lambdaUpdate(AiProductPrompt.class) .set(AiProductPrompt::getCode, dto.getCode()) .set(AiProductPrompt::getName, dto.getName()) .set(AiProductPrompt::getUpdatedTime, new Date()) .eq(AiProductPrompt::getId, id)); } return new FebsResponse().success().message("操作成功"); } }