【项目实训】后端逻辑完善

发布于:2024-06-27 ⋅ 阅读:(132) ⋅ 点赞:(0)

经测试,我们决定前端可以同时选择多个类型的岗位进行查询,以显示相应的公司岗位信息

于是,修改后端函数的逻辑:

后端

首先,因为要对checkList中的job_name进行模糊匹配查询,于是使用以下代码:

def showCompanyJobInformationWithOfset():
    if request.method == "POST":
        company = request.json['company']
        # 如果之后添加”前端“岗位,则应前端再传递一个”岗位“信息,从而到数据库中查询相应的数据
        job_list = request.json['checkList']
        offset = request.json['offset']
    if request.method == "GET":
        company = request.args.get['company']
        job_list = request.json['checkList']
        offset = request.json['offset']
    # 创建Database类的对象sql,test为需要访问的数据库名字 具体可见Database类的构造函数
    sql = Database("xmsx")
    try:
        # 构建SQL查询语句,使用LIKE和OR关键字进行模糊匹配
        job_conditions = " OR ".join([f"job_name LIKE '%{job}%'" for job in job_list])
        sql_query = f"SELECT job_name, job_require FROM companyandjob WHERE company='{company}' AND ({job_conditions}) LIMIT {offset}, 1"
        result = sql.execute(sql_query)
        print(result)
    except Exception as e:
        return {'status':"error", 'message': "code error"}
    else:
        print(result)
        if not len(result) == 0:
            #返回查询结果,根据需要进行处理
            return {'status':'success','job':result[0][0],'requirement':result[0][1],}
        else:
            return {'status':'success','job':'无','requirement':'无'}

但是报错:

 即提示sql查询错误。于是继续寻找解决方法:

 try:
        # 构建SQL查询语句,使用LIKE和OR关键字进行模糊匹配
        job_conditions = " OR ".join([f"job_name LIKE '%{job}%'" for job in job_list])
        sql_query = f"SELECT job_name, job_require FROM companyandjob WHERE company='{company}' AND ({job_conditions}) LIMIT {offset}, 1"
        result = sql.execute(sql_query)
        print(result)

 修改为上述代码,当前端选择相应的岗位时,则显示相应的数据内容

前端

前端同时也要修改逻辑。前端改成首次进入“公司一览”界面时,默认展示所有类别岗位的相关信息。


网站公告

今日签到

点亮在社区的每一天
去签到