48 lines
1.4 KiB
Go
48 lines
1.4 KiB
Go
package response
|
|
|
|
import (
|
|
"encoding/json"
|
|
"psi/models"
|
|
)
|
|
|
|
// SplitAccountConfigListResponse 分账配置列表响应
|
|
type SplitAccountConfigListResponse struct {
|
|
List []SplitAccountConfigItem `json:"list"`
|
|
Total int64 `json:"total"`
|
|
Page int `json:"page"`
|
|
PageSize int `json:"pageSize"`
|
|
}
|
|
|
|
// SplitAccountConfigItem 分账配置列表项
|
|
type SplitAccountConfigItem struct {
|
|
ID int64 `json:"id"`
|
|
RuleName string `json:"rule_name"`
|
|
RuleValue interface{} `json:"rule_value"`
|
|
Status int8 `json:"status"`
|
|
Description string `json:"description"`
|
|
CreatedBy string `json:"created_by"`
|
|
UpdatedBy string `json:"updated_by"`
|
|
CreatedAt int64 `json:"created_at"`
|
|
UpdatedAt int64 `json:"updated_at"`
|
|
}
|
|
|
|
// ConvertSplitAccountConfigToItem 将分账配置模型转换为响应项
|
|
func ConvertSplitAccountConfigToItem(config models.SplitAccountConfig) SplitAccountConfigItem {
|
|
var ruleValue interface{}
|
|
if config.RuleValue != nil {
|
|
json.Unmarshal(config.RuleValue, &ruleValue)
|
|
}
|
|
|
|
return SplitAccountConfigItem{
|
|
ID: config.ID,
|
|
RuleName: config.RuleName,
|
|
RuleValue: ruleValue,
|
|
Status: config.Status,
|
|
Description: config.Description,
|
|
CreatedBy: config.CreatedBy,
|
|
UpdatedBy: config.UpdatedBy,
|
|
CreatedAt: config.CreatedAt,
|
|
UpdatedAt: config.UpdatedAt,
|
|
}
|
|
}
|