Browse Source

feat: 提交

master
yuanjs@qutke.com 2 months ago
parent
commit
a60aa42276
  1. 4
      src/main/java/cn/ai/springaigu/service/AppointmentService.java
  2. 26
      src/main/java/cn/ai/springaigu/service/impl/AppointmentServiceImpl.java
  3. 13
      src/main/java/cn/ai/springaigu/tools/AppointmentTools.java

4
src/main/java/cn/ai/springaigu/service/AppointmentService.java

@ -3,6 +3,10 @@ package cn.ai.springaigu.service;
import cn.ai.springaigu.domain.Appointment; import cn.ai.springaigu.domain.Appointment;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface AppointmentService extends IService<Appointment> { public interface AppointmentService extends IService<Appointment> {
Appointment getOne(Appointment appointment); Appointment getOne(Appointment appointment);
List<Appointment> query(Appointment appointment);
} }

26
src/main/java/cn/ai/springaigu/service/impl/AppointmentServiceImpl.java

@ -5,8 +5,11 @@ import cn.ai.springaigu.mapper.AppointmentMapper;
import cn.ai.springaigu.service.AppointmentService; import cn.ai.springaigu.service.AppointmentService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.tika.utils.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class AppointmentServiceImpl extends ServiceImpl<AppointmentMapper, Appointment> implements AppointmentService { public class AppointmentServiceImpl extends ServiceImpl<AppointmentMapper, Appointment> implements AppointmentService {
/** /**
@ -24,4 +27,27 @@ public class AppointmentServiceImpl extends ServiceImpl<AppointmentMapper, Appoi
queryWrapper.eq(Appointment::getTime, appointment.getTime()); queryWrapper.eq(Appointment::getTime, appointment.getTime());
return baseMapper.selectOne(queryWrapper); return baseMapper.selectOne(queryWrapper);
} }
@Override
public List<Appointment> query(Appointment appointment) {
LambdaQueryWrapper<Appointment> queryWrapper = new LambdaQueryWrapper<>();
if (!StringUtils.isEmpty(appointment.getUsername())) {
queryWrapper.eq(Appointment::getUsername, appointment.getUsername());
}
if (!StringUtils.isEmpty(appointment.getIdCard())) {
queryWrapper.eq(Appointment::getIdCard, appointment.getIdCard());
}
// if (!StringUtils.isEmpty(appointment.getDepartment())) {
// queryWrapper.eq(Appointment::getDepartment, appointment.getDepartment());
// }
// if (!StringUtils.isEmpty(appointment.getDate())) {
// queryWrapper.eq(Appointment::getDate, appointment.getDate());
// }
// if (!StringUtils.isEmpty(appointment.getTime())) {
// queryWrapper.eq(Appointment::getTime, appointment.getTime());
// }
return baseMapper.selectList(queryWrapper);
}
} }

13
src/main/java/cn/ai/springaigu/tools/AppointmentTools.java

@ -4,9 +4,12 @@ import cn.ai.springaigu.domain.Appointment;
import cn.ai.springaigu.service.AppointmentService; import cn.ai.springaigu.service.AppointmentService;
import dev.langchain4j.agent.tool.P; import dev.langchain4j.agent.tool.P;
import dev.langchain4j.agent.tool.Tool; import dev.langchain4j.agent.tool.Tool;
import dev.langchain4j.internal.Json;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
@Component @Component
public class AppointmentTools { public class AppointmentTools {
@ -45,6 +48,16 @@ public class AppointmentTools {
return "您没有预约记录,请核对预约科室和时间"; return "您没有预约记录,请核对预约科室和时间";
} }
@Tool(name = "查询预约", value = "根据参数,查询预约数据集合")
public String queryAppointment(Appointment appointment) {
List<Appointment> query = appointmentService.query(appointment);
if (!query.isEmpty()) {
return "查询到预约数据:" + Json.toJson(query);
}
return "您没有预约记录";
}
@Tool(name = "查询是否有号源", value = "根据科室名称,日期,时间和医生查询是否有号源,并返回给用户") @Tool(name = "查询是否有号源", value = "根据科室名称,日期,时间和医生查询是否有号源,并返回给用户")
public boolean queryDepartment( public boolean queryDepartment(
@P(value = "科室名称") String name, @P(value = "科室名称") String name,

Loading…
Cancel
Save