houzhongjian
2025-06-12 a01ef141b18dd249df9adc93612501d782c466a7
iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/chat/AiChatConversationServiceImpl.java
@@ -6,6 +6,7 @@
import cn.hutool.core.util.ObjectUtil;
import com.iailab.framework.ai.core.enums.AiModelTypeEnum;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.util.date.DateUtils;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateEnergyReqVO;
import com.iailab.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO;
@@ -20,15 +21,18 @@
import com.iailab.module.ai.service.model.AiChatRoleService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.iailab.framework.common.util.collection.CollectionUtils.convertList;
import static com.iailab.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.iailab.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.iailab.module.ai.enums.ErrorCodeConstants.CHAT_CONVERSATION_MODEL_ERROR;
import static com.iailab.module.ai.enums.ErrorCodeConstants.CHAT_CONVERSATION_NOT_EXISTS;
@@ -92,7 +96,12 @@
        AiChatConversationDO conversation = new AiChatConversationDO().setUserId(getLoginUserId()).setPinned(false)
                .setModelId(model.getId()).setModel(model.getModel())
                .setTemperature(model.getTemperature()).setMaxTokens(model.getMaxTokens()).setMaxContexts(model.getMaxContexts());
        conversation.setTitle("新对话");
        if(StringUtils.isNotEmpty(createReqVO.getTitle())) {
            conversation.setTitle(createReqVO.getTitle());
        } else {
            String format = DateUtils.format(new Date(), FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
            conversation.setTitle(format);
        }
        chatConversationMapper.insert(conversation);
        return conversation.getId();
    }
@@ -176,6 +185,7 @@
        throw exception(CHAT_CONVERSATION_MODEL_ERROR);
    }
    @Override
    public AiChatConversationDO validateChatConversationExists(Long id) {
        AiChatConversationDO conversation = chatConversationMapper.selectById(id);
        if (conversation == null) {