处理余额问题OpenAi余额显示问题
This commit is contained in:
parent
461f5dab56
commit
4414c982d1
@ -34,15 +34,28 @@ func GetAllChannels(startIdx int, num int, selectAll bool) ([]*Channel, error) {
|
||||
} else {
|
||||
err = DB.Order("id desc").Limit(num).Offset(startIdx).Omit("key").Find(&channels).Error
|
||||
}
|
||||
for i, v := range channels {
|
||||
if v.Type == common.ChannelTypeOpenAI {
|
||||
channels[i].Balance = v.Balance - float64(v.UsedQuota)/500000.0
|
||||
if channels[i].Balance < 0 {
|
||||
channels[i].Balance = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
return channels, err
|
||||
}
|
||||
|
||||
func SearchChannels(keyword string) (channels []*Channel, err error) {
|
||||
keyCol := "`key`"
|
||||
if common.UsingPostgreSQL {
|
||||
keyCol = `"key"`
|
||||
}
|
||||
err = DB.Omit("key").Where("id = ? or name LIKE ? or "+keyCol+" = ?", common.String2Int(keyword), keyword+"%", keyword).Find(&channels).Error
|
||||
for i, v := range channels {
|
||||
channels[i].Balance = v.Balance - float64(v.UsedQuota)/500000.0
|
||||
if channels[i].Balance < 0 {
|
||||
channels[i].Balance = 0
|
||||
}
|
||||
}
|
||||
return channels, err
|
||||
}
|
||||
|
||||
@ -54,6 +67,10 @@ func GetChannelById(id int, selectAll bool) (*Channel, error) {
|
||||
} else {
|
||||
err = DB.Omit("key").First(&channel, "id = ?", id).Error
|
||||
}
|
||||
channel.Balance = channel.Balance - float64(channel.UsedQuota)/500000.0
|
||||
if channel.Balance < 0 {
|
||||
channel.Balance = 0
|
||||
}
|
||||
return &channel, err
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,8 @@ const EditChannel = () => {
|
||||
other: '',
|
||||
model_mapping: '',
|
||||
models: [],
|
||||
groups: ['default']
|
||||
groups: ['default'],
|
||||
balance: 0.0
|
||||
};
|
||||
const [batch, setBatch] = useState(false);
|
||||
const [inputs, setInputs] = useState(originInputs);
|
||||
@ -194,6 +195,7 @@ const EditChannel = () => {
|
||||
let res;
|
||||
localInputs.models = localInputs.models.join(',');
|
||||
localInputs.group = localInputs.groups.join(',');
|
||||
localInputs.balance = parseFloat(localInputs.balance);
|
||||
if (isEdit) {
|
||||
res = await API.put(`/api/channel/`, { ...localInputs, id: parseInt(channelId) });
|
||||
} else {
|
||||
@ -375,6 +377,20 @@ const EditChannel = () => {
|
||||
options={modelOptions}
|
||||
/>
|
||||
</Form.Field>
|
||||
{
|
||||
!isEdit && (
|
||||
<Form.Field>
|
||||
<Form.Input
|
||||
label='余额'
|
||||
name='balance'
|
||||
placeholder={'请输入余额'}
|
||||
onChange={handleInputChange}
|
||||
value={inputs.balance}
|
||||
autoComplete='new-password'
|
||||
/>
|
||||
</Form.Field>
|
||||
)
|
||||
}
|
||||
<div style={{ lineHeight: '40px', marginBottom: '12px' }}>
|
||||
<Button type={'button'} onClick={() => {
|
||||
handleInputChange(null, { name: 'models', value: basicModels });
|
||||
|
Loading…
Reference in New Issue
Block a user