import { API_CONFIG, graphqlRequest } from '@/config/api'
|
|
// 使用统一的GraphQL请求函数
|
|
// GraphQL查询语句
|
const GET_RATING_SCHEMES_QUERY = `
|
query GetRatingSchemes($page: Int!, $size: Int!, $name: String) {
|
ratingSchemes(page: $page, size: $size, name: $name) {
|
content {
|
id
|
name
|
description
|
totalScore
|
state
|
stateName
|
createTime
|
updateTime
|
}
|
totalElements
|
page
|
size
|
}
|
}
|
`
|
|
const GET_ALL_RATING_SCHEMES_QUERY = `
|
query GetAllRatingSchemes {
|
allRatingSchemes {
|
id
|
name
|
description
|
totalScore
|
state
|
stateName
|
}
|
}
|
`
|
|
const GET_RATING_SCHEME_QUERY = `
|
query GetRatingScheme($id: ID!) {
|
ratingScheme(id: $id) {
|
id
|
name
|
description
|
totalScore
|
state
|
stateName
|
createTime
|
updateTime
|
items {
|
id
|
name
|
maxScore
|
orderNo
|
}
|
}
|
}
|
`
|
|
const SAVE_RATING_SCHEME_MUTATION = `
|
mutation SaveRatingScheme($input: RatingSchemeInput!) {
|
saveRatingScheme(input: $input) {
|
id
|
name
|
description
|
totalScore
|
state
|
stateName
|
createTime
|
updateTime
|
}
|
}
|
`
|
|
const DELETE_RATING_SCHEME_MUTATION = `
|
mutation DeleteRatingScheme($id: ID!) {
|
deleteRatingScheme(id: $id)
|
}
|
`
|
|
// API函数
|
export const getRatingSchemes = async (page = 0, size = 10, name = '') => {
|
try {
|
const data = await graphqlRequest(GET_RATING_SCHEMES_QUERY, { page, size, name })
|
return data.ratingSchemes
|
} catch (error) {
|
throw new Error(error.message || '获取评分方案列表失败')
|
}
|
}
|
|
export const getAllRatingSchemes = async () => {
|
try {
|
const data = await graphqlRequest(GET_ALL_RATING_SCHEMES_QUERY)
|
return data.allRatingSchemes || []
|
} catch (error) {
|
throw new Error(error.message || '获取所有评分方案失败')
|
}
|
}
|
|
export const getRatingScheme = async (id) => {
|
try {
|
const data = await graphqlRequest(GET_RATING_SCHEME_QUERY, { id })
|
return data.ratingScheme
|
} catch (error) {
|
throw new Error(error.message || '获取评分方案详情失败')
|
}
|
}
|
|
export const saveRatingScheme = async (ratingSchemeData) => {
|
try {
|
const data = await graphqlRequest(SAVE_RATING_SCHEME_MUTATION, { input: ratingSchemeData })
|
return data.saveRatingScheme
|
} catch (error) {
|
throw new Error(error.message || '保存评分方案失败')
|
}
|
}
|
|
export const deleteRatingScheme = async (id) => {
|
try {
|
const data = await graphqlRequest(DELETE_RATING_SCHEME_MUTATION, { id })
|
return data.deleteRatingScheme
|
} catch (error) {
|
throw new Error(error.message || '删除评分方案失败')
|
}
|
}
|