bugfix: 根据余额表细分的情况,将任务表细分,并添加任务余额表,不依赖套餐余额
This commit is contained in:
parent
6d0ccb0c9d
commit
5269d7e24c
@ -268,29 +268,45 @@ func convertToTaskAssignRecordInfo(record *dao.TaskAssignRecordsResponse) *bundl
|
||||
}
|
||||
}
|
||||
|
||||
// GetArtistBundleBalance 查询艺人套餐剩余数量
|
||||
// GetArtistBundleBalance 查询艺人的当前任务余额与待发数量(区分套餐/增值两类)
|
||||
// 说明:
|
||||
// - 查询条件优先使用艺人编号(customerNum),为空时使用手机号(telNum)
|
||||
// - 返回同时包含“套餐类型”和“增值类型”的余额与待发数量,均按视频/图文/数据分析三类区分
|
||||
func (b *BundleProvider) GetArtistBundleBalance(_ context.Context, req *bundle.ArtistBundleBalanceRequest) (*bundle.ArtistBundleBalanceResponse, error) {
|
||||
// 参数验证
|
||||
// 参数校验
|
||||
if req.CustomerNum == "" && req.TelNum == "" {
|
||||
return nil, fmt.Errorf("艺人编号和手机号不能同时为空")
|
||||
}
|
||||
|
||||
// 转换请求参数
|
||||
daoReq := &dao.ArtistBundleBalanceRequest{
|
||||
CustomerNum: req.CustomerNum,
|
||||
TelNum: req.TelNum,
|
||||
// 组装查询参数(逻辑层/DAO层使用 SubNum 与 TelNum)
|
||||
pendingReq := &dao.PendingAndBalanceRequest{
|
||||
SubNum: req.CustomerNum, // 映射 customerNum -> SubNum
|
||||
TelNum: req.TelNum, // 映射 telNum -> TelNum
|
||||
}
|
||||
|
||||
// 调用logic层
|
||||
result, err := logic.GetArtistBundleBalance(daoReq)
|
||||
// 调用逻辑层:查询待发数量与任务余额(区分套餐/增值)
|
||||
resp, err := logic.GetPendingAndTaskBalances(pendingReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 转换响应数据
|
||||
// 映射为proto响应结构(套餐/增值分别返回视频/图文/数据分析的余额与待发数量)
|
||||
return &bundle.ArtistBundleBalanceResponse{
|
||||
RemainingVideoCount: int32(result.RemainingVideoCount),
|
||||
RemainingImageCount: int32(result.RemainingImageCount),
|
||||
RemainingDataAnalysisCount: int32(result.RemainingDataAnalysisCount),
|
||||
// 套餐类型余额
|
||||
BundleVideoBalance: int32(resp.BundleVideoBalance),
|
||||
BundleImageBalance: int32(resp.BundleImageBalance),
|
||||
BundleDataAnalysisBalance: int32(resp.BundleDataAnalysisBalance),
|
||||
// 增值类型余额
|
||||
IncreaseVideoBalance: int32(resp.IncreaseVideoBalance),
|
||||
IncreaseImageBalance: int32(resp.IncreaseImageBalance),
|
||||
IncreaseDataAnalysisBalance: int32(resp.IncreaseDataAnalysisBalance),
|
||||
// 套餐类型待发数量
|
||||
BundlePendingVideoCount: int32(resp.PendingBundleVideoCount),
|
||||
BundlePendingImageCount: int32(resp.PendingBundleImageCount),
|
||||
BundlePendingDataAnalysisCount: int32(resp.PendingBundleDataAnalysisCount),
|
||||
// 增值类型待发数量
|
||||
IncreasePendingVideoCount: int32(resp.PendingIncreaseVideoCount),
|
||||
IncreasePendingImageCount: int32(resp.PendingIncreaseImageCount),
|
||||
IncreasePendingDataAnalysisCount: int32(resp.PendingIncreaseDataAnalysisCount),
|
||||
}, nil
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"micro-bundle/internal/dao"
|
||||
commonErr "micro-bundle/pkg/err"
|
||||
)
|
||||
@ -77,6 +78,11 @@ func GetPendingTaskList(req *dao.TaskQueryRequest) ([]*dao.TaskQueryResponse, in
|
||||
// 3. 转换为响应结构体
|
||||
var recordResponse []*dao.TaskQueryResponse
|
||||
for _, record := range record {
|
||||
// 计算聚合的待发数量:视频、图文、数据分析
|
||||
videoTotal := record.PendingBundleLimitVideoExpiredCount + record.PendingBundleLimitVideoCount + record.PendingIncreaseLimitVideoExpiredCount + record.PendingIncreaseLimitVideoCount + record.PendingBundleVideoCount + record.PendingIncreaseVideoCount
|
||||
imageTotal := record.PendingBundleLimitImageExpiredCount + record.PendingBundleLimitImageCount + record.PendingIncreaseLimitImageExpiredCount + record.PendingIncreaseLimitImageCount + record.PendingBundleImageCount + record.PendingIncreaseImageCount
|
||||
dataTotal := record.PendingBundleLimitDataAnalysisExpiredCount + record.PendingBundleLimitDataAnalysisCount + record.PendingIncreaseLimitDataAnalysisExpiredCount + record.PendingIncreaseLimitDataAnalysisCount + record.PendingBundleDataAnalysisCount + record.PendingIncreaseDataAnalysisCount
|
||||
|
||||
// 根据 SubNum 和 TelNum 查询对应的员工正在进行中的任务和已完成任务数量
|
||||
progressTaskCount, completeTaskCount, err := dao.GetTaskAssigneeInfo(record.TaskAssigneeNum)
|
||||
if err != nil {
|
||||
@ -85,9 +91,9 @@ func GetPendingTaskList(req *dao.TaskQueryRequest) ([]*dao.TaskQueryResponse, in
|
||||
TelNum: record.TelNum,
|
||||
ArtistName: record.ArtistName,
|
||||
TaskAssigneeNum: record.TaskAssigneeNum,
|
||||
PendingPostCount: record.PendingPostCount,
|
||||
PendingVideoCount: record.PendingVideoCount,
|
||||
PendingDataCount: record.PendingDataCount,
|
||||
PendingPostCount: imageTotal,
|
||||
PendingVideoCount: videoTotal,
|
||||
PendingDataCount: dataTotal,
|
||||
ProgressTaskCount: 0,
|
||||
CompleteTaskCount: 0,
|
||||
LastTaskAssignee: record.LastTaskAssignee,
|
||||
@ -98,9 +104,9 @@ func GetPendingTaskList(req *dao.TaskQueryRequest) ([]*dao.TaskQueryResponse, in
|
||||
TelNum: record.TelNum,
|
||||
ArtistName: record.ArtistName,
|
||||
TaskAssigneeNum: record.TaskAssigneeNum,
|
||||
PendingPostCount: record.PendingPostCount,
|
||||
PendingVideoCount: record.PendingVideoCount,
|
||||
PendingDataCount: record.PendingDataCount,
|
||||
PendingPostCount: imageTotal,
|
||||
PendingVideoCount: videoTotal,
|
||||
PendingDataCount: dataTotal,
|
||||
ProgressTaskCount: progressTaskCount,
|
||||
CompleteTaskCount: completeTaskCount,
|
||||
LastTaskAssignee: record.LastTaskAssignee,
|
||||
@ -154,7 +160,46 @@ func UpdatePendingCount(req *dao.UpdatePendingCountRequest) error {
|
||||
return commonErr.ReturnError(nil, "艺人套餐已过期", "该艺人没有有效的套餐,无法修改待发数量")
|
||||
}
|
||||
|
||||
// todo 需要调用套餐的接口,判断艺人是否有那么数量可以修改
|
||||
// 查询艺人当前任务余额与待发汇总,校验待发数量和余额的总和是否足够
|
||||
resp, err := dao.GetUserPendingAndTaskBalances(&dao.PendingAndBalanceRequest{
|
||||
SubNum: req.SubNum,
|
||||
TelNum: req.TelNum,
|
||||
})
|
||||
if err != nil {
|
||||
return commonErr.ReturnError(err, "查询艺人任务余额失败", "查询艺人任务余额失败: ")
|
||||
}
|
||||
|
||||
// 计算当前待发数量(聚合所有类型)
|
||||
curVideo := resp.PendingBundleVideoCount + resp.PendingIncreaseVideoCount
|
||||
curImage := resp.PendingBundleImageCount + resp.PendingIncreaseImageCount
|
||||
curData := resp.PendingBundleDataAnalysisCount + resp.PendingIncreaseDataAnalysisCount
|
||||
|
||||
// 计算可用余额(套餐 + 增值)
|
||||
availVideo := resp.BundleVideoBalance + resp.IncreaseVideoBalance
|
||||
availImage := resp.BundleImageBalance + resp.IncreaseImageBalance
|
||||
availData := resp.BundleDataAnalysisBalance + resp.IncreaseDataAnalysisBalance
|
||||
|
||||
// 校验:当前待发数量 + 艺人余额 >= 目标数量
|
||||
// 这确保了可以优先扣减待发数量,不足时再扣减余额
|
||||
totalAvailVideo := curVideo + availVideo
|
||||
totalAvailImage := curImage + availImage
|
||||
totalAvailData := curData + availData
|
||||
|
||||
if req.PendingVideoCount > totalAvailVideo {
|
||||
return commonErr.ReturnError(nil, "视频任务数量不足",
|
||||
fmt.Sprintf("目标待发视频数量(%d)超出当前待发数量(%d)和可用余额(%d)的总和(%d)",
|
||||
req.PendingVideoCount, curVideo, availVideo, totalAvailVideo))
|
||||
}
|
||||
if req.PendingPostCount > totalAvailImage {
|
||||
return commonErr.ReturnError(nil, "图文任务数量不足",
|
||||
fmt.Sprintf("目标待发图文数量(%d)超出当前待发数量(%d)和可用余额(%d)的总和(%d)",
|
||||
req.PendingPostCount, curImage, availImage, totalAvailImage))
|
||||
}
|
||||
if req.PendingDataCount > totalAvailData {
|
||||
return commonErr.ReturnError(nil, "数据分析任务数量不足",
|
||||
fmt.Sprintf("目标待发数据分析数量(%d)超出当前待发数量(%d)和可用余额(%d)的总和(%d)",
|
||||
req.PendingDataCount, curData, availData, totalAvailData))
|
||||
}
|
||||
|
||||
// 2. 调用DAO层更新待发数量
|
||||
return dao.UpdatePendingCount(req)
|
||||
@ -212,11 +257,11 @@ func GetEmployeeAssignedTasks(req *dao.EmployeeTaskQueryRequest) ([]*dao.TaskAss
|
||||
|
||||
// CompleteTaskManually 员工手动点击完成任务
|
||||
func CompleteTaskManually(assignRecordsUUID string, taskAssigneeNum string) error {
|
||||
// 第一步,批量更新记录被指派的员工为taskAssigneeNum的待完成任务数量和已经完成任务的数量
|
||||
err := dao.UpdateTaskRecordsByAssigneeNum(taskAssigneeNum)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// // 第一步,批量更新记录被指派的员工为taskAssigneeNum的待完成任务数量和已经完成任务的数量
|
||||
// err := dao.UpdateTaskRecordsByAssigneeNum(taskAssigneeNum)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
return dao.CompleteTaskManually(assignRecordsUUID)
|
||||
}
|
||||
|
||||
@ -225,55 +270,6 @@ func UpdateTaskProgress(req *dao.CompleteTaskRequest) error {
|
||||
return dao.UpdateTaskProgress(req)
|
||||
}
|
||||
|
||||
// // GetArtistBundleInfo 获取艺人套餐信息(用于判断套餐多媒体数量)
|
||||
// func GetArtistBundleInfo(customerNum string) ([]*model.BundleOrderRecords, error) {
|
||||
// var orderRecords []*model.BundleOrderRecords
|
||||
// currentTime := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
// // 查询该艺人的有效套餐订单
|
||||
// err := app.ModuleClients.BundleDB.Model(&model.BundleOrderRecords{}).
|
||||
// Where("customer_num = ? AND expiration_time > ? AND status = ?",
|
||||
// customerNum, currentTime, 2). // 2:已签已支付
|
||||
// Preload("BundleOrderValueAdd").
|
||||
// Find(&orderRecords).Error
|
||||
|
||||
// if err != nil {
|
||||
// return nil, commonErr.ReturnError(err, "查询艺人套餐信息失败", "查询艺人套餐信息失败: ")
|
||||
// }
|
||||
|
||||
// return orderRecords, nil
|
||||
// }
|
||||
|
||||
// // CalculateArtistPendingCounts 计算艺人的待发数量
|
||||
// // 根据套餐信息计算艺人可以额外多发的多媒体内容数量
|
||||
// func CalculateArtistPendingCounts(customerNum string) (videoCount, postCount, dataCount int, err error) {
|
||||
// // 获取艺人套餐信息
|
||||
// orderRecords, err := GetArtistBundleInfo(customerNum)
|
||||
// if err != nil {
|
||||
// return 0, 0, 0, err
|
||||
// }
|
||||
|
||||
// // 计算总的可用数量
|
||||
// for _, record := range orderRecords {
|
||||
// // 从套餐基础数量计算
|
||||
// videoCount += int(record.Num) // 假设Num字段表示视频数量
|
||||
|
||||
// // 从增值服务计算
|
||||
// for _, valueAdd := range record.BundleOrderValueAdd {
|
||||
// switch valueAdd.ServiceType {
|
||||
// case 1: // 视频
|
||||
// videoCount += int(valueAdd.Num)
|
||||
// case 2: // 图文
|
||||
// postCount += int(valueAdd.Num)
|
||||
// case 3: // 数据报表
|
||||
// dataCount += int(valueAdd.Num)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return videoCount, postCount, dataCount, nil
|
||||
// }
|
||||
|
||||
// GetTaskAssignRecordsList 多条件查询操作记录表
|
||||
func GetTaskAssignRecordsList(req *dao.TaskAssignRecordsQueryRequest) ([]*dao.TaskAssignRecordsResponse, int64, error) {
|
||||
record, total, err := dao.GetTaskAssignRecordsList(req)
|
||||
@ -308,7 +304,14 @@ func GetTaskAssignRecordsList(req *dao.TaskAssignRecordsQueryRequest) ([]*dao.Ta
|
||||
return recordResponse, total, nil
|
||||
}
|
||||
|
||||
// GetArtistBundleBalance 查询艺人套餐剩余数量
|
||||
func GetArtistBundleBalance(req *dao.ArtistBundleBalanceRequest) (*dao.ArtistBundleBalanceResponse, error) {
|
||||
return dao.GetArtistBundleBalance(req)
|
||||
// // GetArtistBundleBalance 查询艺人套餐剩余数量
|
||||
// func GetArtistBundleBalance(req *dao.ArtistBundleBalanceRequest) (*dao.ArtistBundleBalanceResponse, error) {
|
||||
// return dao.GetArtistBundleBalance(req)
|
||||
// }
|
||||
|
||||
// GetPendingAndTaskBalances 查询艺人当前的待发数量与任务余额(区分套餐/增值)
|
||||
// 根据艺人的编号 SubNum 或手机号 TelNum 进行查询,优先使用编号
|
||||
// 返回的数据会区分为“套餐类型”和“增值类型”两大类,涵盖视频/图文/数据分析三种任务
|
||||
func GetPendingAndTaskBalances(req *dao.PendingAndBalanceRequest) (*dao.PendingAndBalanceResponse, error) {
|
||||
return dao.GetUserPendingAndTaskBalances(req)
|
||||
}
|
||||
|
@ -7,20 +7,42 @@ import (
|
||||
)
|
||||
|
||||
type TaskManagement struct {
|
||||
ID int64 `gorm:"primarykey"`
|
||||
SubNum string `gorm:"column:sub_num;comment:用户编号;index:idx_sub_num;index:idx_sub_tel,priority:1" json:"subNum"`
|
||||
TelNum string `gorm:"column:tel_num;comment:手机号;index:idx_tel_num;index:idx_sub_tel,priority:2" json:"telNum"`
|
||||
ArtistName string `gorm:"column:artist_name;comment:艺人名称;index:idx_artist_name" json:"artistName"`
|
||||
PendingVideoCount int `gorm:"column:pending_video_count;comment:待发视频数量;index:idx_pending_video" json:"pendingVideoCount"`
|
||||
PendingPostCount int `gorm:"column:pending_post_count;comment:待发图文数量" json:"pendingPostCount"`
|
||||
PendingDataCount int `gorm:"column:pending_data_count;comment:待发数据数量" json:"pendingDataCount"`
|
||||
LastTaskAssignee string `gorm:"column:last_task_assignee;comment:最后一次的任务指派人" json:"lastTaskAssignee"`
|
||||
TaskAssigneeNum string `gorm:"column:task_assignee_num;comment:任务指派人账号" json:"taskAssigneeNum"`
|
||||
ProgressCount int `gorm:"column:progress_count;comment:进行中的任务数量" json:"progressCount"`
|
||||
CompleteCount int `gorm:"column:complete_count;comment:已完成的任务数量" json:"completeCount"`
|
||||
CreatedAt time.Time `gorm:"column:created_at;comment:创建时间" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at;comment:更新时间" json:"updatedAt"`
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:int(11);index:idx_deleted_at" json:"deletedAt"`
|
||||
ID int64 `gorm:"primarykey"`
|
||||
SubNum string `gorm:"column:sub_num;comment:用户编号;index:idx_sub_num;index:idx_sub_tel,priority:1" json:"subNum"`
|
||||
TelNum string `gorm:"column:tel_num;comment:手机号;index:idx_tel_num;index:idx_sub_tel,priority:2" json:"telNum"`
|
||||
ArtistName string `gorm:"column:artist_name;comment:艺人名称;index:idx_artist_name" json:"artistName"`
|
||||
|
||||
// ===== 待发视频类任务 =====
|
||||
PendingBundleVideoCount int `gorm:"column:pending_bundle_video_count;comment:待发非限制类型套餐权益视频数量" json:"pendingBundleVideoCount"`
|
||||
PendingIncreaseVideoCount int `gorm:"column:pending_increase_video_count;comment:待发非限制类型增值权益视频数量" json:"pendingIncreaseVideoCount"`
|
||||
PendingBundleLimitVideoCount int `gorm:"column:pending_bundle_limit_video_count;comment:待发套餐权益限制类型非过期视频数量" json:"pendingBundleLimitVideoCount"`
|
||||
PendingIncreaseLimitVideoCount int `gorm:"column:pending_increase_limit_video_count;comment:待发增值权益限制类型非过期视频数量" json:"pendingIncreaseLimitVideoCount"`
|
||||
PendingBundleLimitVideoExpiredCount int `gorm:"column:pending_bundle_limit_video_expired_count;comment:待发套餐权益限制类型会过期视频数量" json:"pendingBundleLimitVideoExpiredCount"`
|
||||
PendingIncreaseLimitVideoExpiredCount int `gorm:"column:pending_increase_limit_video_expired_count;comment:待发增值权益限制类型会过期视频数量" json:"pendingIncreaseLimitVideoExpiredCount"`
|
||||
|
||||
// ===== 待发图片类任务 =====
|
||||
PendingBundleImageCount int `gorm:"column:pending_bundle_image_count;comment:待发非限制类型套餐权益图片数量" json:"pendingBundleImageCount"`
|
||||
PendingIncreaseImageCount int `gorm:"column:pending_increase_image_count;comment:待发非限制类型增值权益图片数量" json:"pendingIncreaseImageCount"`
|
||||
PendingBundleLimitImageCount int `gorm:"column:pending_bundle_limit_image_count;comment:待发套餐权益限制类型非过期图片数量" json:"pendingBundleLimitImageCount"`
|
||||
PendingIncreaseLimitImageCount int `gorm:"column:pending_increase_limit_image_count;comment:待发增值权益限制类型非过期图片数量" json:"pendingIncreaseLimitImageCount"`
|
||||
PendingBundleLimitImageExpiredCount int `gorm:"column:pending_bundle_limit_image_expired_count;comment:待发套餐权益限制类型会过期图片数量" json:"pendingBundleLimitImageExpiredCount"`
|
||||
PendingIncreaseLimitImageExpiredCount int `gorm:"column:pending_increase_limit_image_expired_count;comment:待发增值权益限制类型会过期图片数量" json:"pendingIncreaseLimitImageExpiredCount"`
|
||||
|
||||
// ===== 待发数据分析类任务 =====
|
||||
PendingBundleDataAnalysisCount int `gorm:"column:pending_bundle_data_analysis_count;comment:待发非限制类型套餐权益数据分析数量" json:"pendingBundleDataAnalysisCount"`
|
||||
PendingIncreaseDataAnalysisCount int `gorm:"column:pending_increase_data_analysis_count;comment:待发非限制类型增值权益数据分析数量" json:"pendingIncreaseDataAnalysisCount"`
|
||||
PendingBundleLimitDataAnalysisCount int `gorm:"column:pending_bundle_limit_data_analysis_count;comment:待发套餐权益限制类型非过期数据分析数量" json:"pendingBundleLimitDataAnalysisCount"`
|
||||
PendingIncreaseLimitDataAnalysisCount int `gorm:"column:pending_increase_limit_data_analysis_count;comment:待发增值权益限制类型非过期数据分析数量" json:"pendingIncreaseLimitDataAnalysisCount"`
|
||||
PendingBundleLimitDataAnalysisExpiredCount int `gorm:"column:pending_bundle_limit_data_analysis_expired_count;comment:待发套餐权益限制类型会过期数据分析数量" json:"pendingBundleLimitDataAnalysisExpiredCount"`
|
||||
PendingIncreaseLimitDataAnalysisExpiredCount int `gorm:"column:pending_increase_limit_data_analysis_expired_count;comment:待发增值权益限制类型会过期数据分析数量" json:"pendingIncreaseLimitDataAnalysisExpiredCount"`
|
||||
|
||||
LastTaskAssignee string `gorm:"column:last_task_assignee;comment:最后一次的任务指派人" json:"lastTaskAssignee"`
|
||||
TaskAssigneeNum string `gorm:"column:task_assignee_num;comment:任务指派人账号" json:"taskAssigneeNum"`
|
||||
ProgressCount int `gorm:"column:progress_count;comment:进行中的任务数量" json:"progressCount"`
|
||||
CompleteCount int `gorm:"column:complete_count;comment:已完成的任务数量" json:"completeCount"`
|
||||
CreatedAt time.Time `gorm:"column:created_at;comment:创建时间" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at;comment:更新时间" json:"updatedAt"`
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:int(11);index:idx_deleted_at" json:"deletedAt"`
|
||||
}
|
||||
|
||||
func (t *TaskManagement) TableName() string {
|
||||
@ -60,3 +82,131 @@ type TaskAssignRecords struct {
|
||||
func (t *TaskAssignRecords) TableName() string {
|
||||
return "task_assign_records"
|
||||
}
|
||||
|
||||
// 任务余额表
|
||||
type TaskBalance struct {
|
||||
ID int64 `gorm:"primarykey"`
|
||||
SubNum string `gorm:"column:sub_num;comment:用户编号;index:idx_task_sub_num;not null" json:"subNum"`
|
||||
TelNum string `gorm:"column:tel_num;comment:手机号;index:idx_task_tel_num;not null" json:"telNum"`
|
||||
Month string `gorm:"column:month;type:varchar(32);comment:月份;index:idx_task_month;not null" json:"month"`
|
||||
ExpiredAt time.Time `gorm:"column:expired_at;type:datetime;comment:任务过期时间" json:"expiredAt"`
|
||||
StartAt time.Time `gorm:"column:start_at;type:datetime;comment:任务开始时间" json:"startAt"`
|
||||
|
||||
// ===== 任务视频类 =====
|
||||
TaskBundleVideoNumber int `gorm:"column:task_bundle_video_number;not null;comment:任务非限制类型套餐权益视频总数" json:"taskBundleVideoNumber"`
|
||||
TaskIncreaseVideoNumber int `gorm:"column:task_increase_video_number;not null;comment:任务非限制类型增值权益视频总数" json:"taskIncreaseVideoNumber"`
|
||||
TaskBundleLimitVideoNumber int `gorm:"column:task_bundle_limit_video_number;not null;comment:任务套餐权益限制类型非过期总数" json:"taskBundleLimitVideoNumber"`
|
||||
TaskIncreaseLimitVideoNumber int `gorm:"column:task_increase_limit_video_number;not null;comment:任务增值权益限制类型非过期总数" json:"taskIncreaseLimitVideoNumber"`
|
||||
TaskBundleLimitVideoExpiredNumber int `gorm:"column:task_bundle_limit_video_expired_number;not null;comment:任务套餐权益限制类型会过期总数" json:"taskBundleLimitVideoExpiredNumber"`
|
||||
TaskIncreaseLimitVideoExpiredNumber int `gorm:"column:task_increase_limit_video_expired_number;not null;comment:任务增值权益限制类型会过期总数" json:"taskIncreaseLimitVideoExpiredNumber"`
|
||||
TaskMonthlyInvalidBundleVideoNumber int `gorm:"column:task_monthly_invalid_bundle_video_number;not null;comment:任务当月失效的套餐权益视频总数" json:"taskMonthlyInvalidBundleVideoNumber"`
|
||||
TaskInvalidBundleVideoNumber int `gorm:"column:task_invalid_bundle_video_number;not null;comment:任务历史失效的套餐权益视频总数" json:"taskInvalidBundleVideoNumber"`
|
||||
TaskMonthlyInvalidIncreaseVideoNumber int `gorm:"column:task_monthly_invalid_increase_video_number;not null;comment:任务当月失效的增值权益视频总数" json:"taskMonthlyInvalidIncreaseVideoNumber"`
|
||||
TaskInvalidIncreaseVideoNumber int `gorm:"column:task_invalid_increase_video_number;not null;comment:任务历史失效的增值权益视频总数" json:"taskInvalidIncreaseVideoNumber"`
|
||||
TaskBundleVideoConsumptionNumber int `gorm:"column:task_bundle_video_consumption_number;not null;comment:任务非限制类型套餐权益视频使用数" json:"taskBundleVideoConsumptionNumber"`
|
||||
TaskIncreaseVideoConsumptionNumber int `gorm:"column:task_increase_video_consumption_number;not null;comment:任务非限制类型增值权益视频使用数" json:"taskIncreaseVideoConsumptionNumber"`
|
||||
TaskBundleLimitVideoConsumptionNumber int `gorm:"column:task_bundle_limit_video_consumption_number;not null;comment:任务套餐权益限制类型非过期使用数" json:"taskBundleLimitVideoConsumptionNumber"`
|
||||
TaskIncreaseLimitVideoConsumptionNumber int `gorm:"column:task_increase_limit_video_consumption_number;not null;comment:任务增值权益限制类型非过期使用数" json:"taskIncreaseLimitVideoConsumptionNumber"`
|
||||
TaskBundleLimitVideoExpiredConsumptionNumber int `gorm:"column:task_bundle_limit_video_expired_consumption_number;not null;comment:任务套餐权益限制类型会过期使用数" json:"taskBundleLimitVideoExpiredConsumptionNumber"`
|
||||
TaskIncreaseLimitVideoExpiredConsumptionNumber int `gorm:"column:task_increase_limit_video_expired_consumption_number;not null;comment:任务增值权益限制类型会过期使用数" json:"taskIncreaseLimitVideoExpiredConsumptionNumber"`
|
||||
TaskMonthlyLimitVideoNumber int `gorm:"column:task_monthly_limit_video_number;not null;comment:任务当月限制类型视频可用数" json:"taskMonthlyLimitVideoNumber"`
|
||||
TaskMonthlyLimitVideoConsumptionNumber int `gorm:"column:task_monthly_limit_video_consumption_number;not null;comment:任务当月限制类型视频已使用额度" json:"taskMonthlyLimitVideoConsumptionNumber"`
|
||||
TaskMonthlyLimitVideoExpireNumber int `gorm:"column:task_monthly_limit_video_expired_number;not null;comment:任务当月限制类型视频会过期可用数" json:"taskMonthlyLimitVideoExpireNumber"`
|
||||
TaskMonthlyLimitVideoExpireConsumptionNumber int `gorm:"column:task_monthly_limit_video_expired_consumption_number;not null;comment:任务当月限制类型视频会过期已使用额度" json:"taskMonthlyLimitVideoExpireConsumptionNumber"`
|
||||
TaskMonthlyBundleVideoConsumptionNumber int `gorm:"column:task_monthly_bundle_video_consumption_number;not null;comment:任务当月套餐类型总使用数" json:"taskMonthlyBundleVideoConsumptionNumber"`
|
||||
TaskMonthlyIncreaseVideoConsumptionNumber int `gorm:"column:task_monthly_increase_video_consumption_number;not null;comment:任务当月增值类型总使用数" json:"taskMonthlyIncreaseVideoConsumptionNumber"`
|
||||
TaskMonthlyLimitVideoQuotaNumber int `gorm:"column:task_monthly_limit_video_quota_number;not null;comment:任务当月限制类型视频额度" json:"taskMonthlyLimitVideoQuotaNumber"`
|
||||
|
||||
// ===== 任务图片类 =====
|
||||
TaskBundleImageNumber int `gorm:"column:task_bundle_image_number;not null;comment:任务非限制类型套餐权益图片总数" json:"taskBundleImageNumber"`
|
||||
TaskIncreaseImageNumber int `gorm:"column:task_increase_image_number;not null;comment:任务非限制类型增值权益图片总数" json:"taskIncreaseImageNumber"`
|
||||
TaskBundleLimitImageNumber int `gorm:"column:task_bundle_limit_image_number;not null;comment:任务套餐权益限制类型非过期总数" json:"taskBundleLimitImageNumber"`
|
||||
TaskIncreaseLimitImageNumber int `gorm:"column:task_increase_limit_image_number;not null;comment:任务增值权益限制类型非过期总数" json:"taskIncreaseLimitImageNumber"`
|
||||
TaskBundleLimitImageExpiredNumber int `gorm:"column:task_bundle_limit_image_expired_number;not null;comment:任务套餐权益限制类型会过期总数" json:"taskBundleLimitImageExpiredNumber"`
|
||||
TaskIncreaseLimitImageExpiredNumber int `gorm:"column:task_increase_limit_image_expired_number;not null;comment:任务增值权益限制类型会过期总数" json:"taskIncreaseLimitImageExpiredNumber"`
|
||||
TaskMonthlyInvalidBundleImageNumber int `gorm:"column:task_monthly_invalid_bundle_image_number;not null;comment:任务当月失效的套餐权益图片总数" json:"taskMonthlyInvalidBundleImageNumber"`
|
||||
TaskInvalidBundleImageNumber int `gorm:"column:task_invalid_bundle_image_number;not null;comment:任务历史失效的套餐权益图片总数" json:"taskInvalidBundleImageNumber"`
|
||||
TaskMonthlyInvalidIncreaseImageNumber int `gorm:"column:task_monthly_invalid_increase_image_number;not null;comment:任务当月失效的增值权益图片总数" json:"taskMonthlyInvalidIncreaseImageNumber"`
|
||||
TaskInvalidIncreaseImageNumber int `gorm:"column:task_invalid_increase_image_number;not null;comment:任务历史失效的增值权益图片总数" json:"taskInvalidIncreaseImageNumber"`
|
||||
TaskBundleImageConsumptionNumber int `gorm:"column:task_bundle_image_consumption_number;not null;comment:任务非限制类型套餐权益图片使用数" json:"taskBundleImageConsumptionNumber"`
|
||||
TaskIncreaseImageConsumptionNumber int `gorm:"column:task_increase_image_consumption_number;not null;comment:任务非限制类型增值权益图片使用数" json:"taskIncreaseImageConsumptionNumber"`
|
||||
TaskBundleLimitImageConsumptionNumber int `gorm:"column:task_bundle_limit_image_consumption_number;not null;comment:任务套餐权益限制类型非过期使用数" json:"taskBundleLimitImageConsumptionNumber"`
|
||||
TaskIncreaseLimitImageConsumptionNumber int `gorm:"column:task_increase_limit_image_consumption_number;not null;comment:任务增值权益限制类型非过期使用数" json:"taskIncreaseLimitImageConsumptionNumber"`
|
||||
TaskBundleLimitImageExpiredConsumptionNumber int `gorm:"column:task_bundle_limit_image_expired_consumption_number;not null;comment:任务套餐权益限制类型会过期使用数" json:"taskBundleLimitImageExpiredConsumptionNumber"`
|
||||
TaskIncreaseLimitImageExpiredConsumptionNumber int `gorm:"column:task_increase_limit_image_expired_consumption_number;not null;comment:任务增值权益限制类型会过期使用数" json:"taskIncreaseLimitImageExpiredConsumptionNumber"`
|
||||
TaskMonthlyLimitImageNumber int `gorm:"column:task_monthly_limit_image_number;not null;comment:任务当月限制类型图片可使用额度" json:"taskMonthlyLimitImageNumber"`
|
||||
TaskMonthlyLimitImageConsumptionNumber int `gorm:"column:task_monthly_limit_image_consumption_number;not null;comment:任务当月限制类型图片已使用额度" json:"taskMonthlyLimitImageConsumptionNumber"`
|
||||
TaskMonthlyLimitImageExpireNumber int `gorm:"column:task_monthly_limit_image_expired_number;not null;comment:任务当月限制类型图片会过期可用数" json:"taskMonthlyLimitImageExpireNumber"`
|
||||
TaskMonthlyLimitImageExpireConsumptionNumber int `gorm:"column:task_monthly_limit_image_expired_consumption_number;not null;comment:任务当月限制类型图片会过期已使用额度" json:"taskMonthlyLimitImageExpireConsumptionNumber"`
|
||||
TaskMonthlyBundleImageConsumptionNumber int `gorm:"column:task_monthly_bundle_image_consumption_number;not null;comment:任务当月套餐类型总使用数" json:"taskMonthlyBundleImageConsumptionNumber"`
|
||||
TaskMonthlyIncreaseImageConsumptionNumber int `gorm:"column:task_monthly_increase_image_consumption_number;not null;comment:任务当月增值类型总使用数" json:"taskMonthlyIncreaseImageConsumptionNumber"`
|
||||
TaskMonthlyLimitImageQuotaNumber int `gorm:"column:task_monthly_limit_image_quota_number;not null;comment:任务当月限制类型图片额度" json:"taskMonthlyLimitImageQuotaNumber"`
|
||||
|
||||
// ===== 任务数据分析类 =====
|
||||
TaskBundleDataAnalysisNumber int `gorm:"column:task_bundle_data_analysis_number;not null;comment:任务非限制类型套餐权益数据分析总数" json:"taskBundleDataAnalysisNumber"`
|
||||
TaskIncreaseDataAnalysisNumber int `gorm:"column:task_increase_data_analysis_number;not null;comment:任务非限制类型增值权益数据分析总数" json:"taskIncreaseDataAnalysisNumber"`
|
||||
TaskBundleLimitDataAnalysisNumber int `gorm:"column:task_bundle_limit_data_analysis_number;not null;comment:任务套餐权益限制类型非过期总数" json:"taskBundleLimitDataAnalysisNumber"`
|
||||
TaskIncreaseLimitDataAnalysisNumber int `gorm:"column:task_increase_limit_data_analysis_number;not null;comment:任务增值权益限制类型非过期总数" json:"taskIncreaseLimitDataAnalysisNumber"`
|
||||
TaskBundleLimitDataAnalysisExpiredNumber int `gorm:"column:task_bundle_limit_data_analysis_expired_number;not null;comment:任务套餐权益限制类型会过期总数" json:"taskBundleLimitDataAnalysisExpiredNumber"`
|
||||
TaskIncreaseLimitDataAnalysisExpiredNumber int `gorm:"column:task_increase_limit_data_analysis_expired_number;not null;comment:任务增值权益限制类型会过期总数" json:"taskIncreaseLimitDataAnalysisExpiredNumber"`
|
||||
TaskMonthlyInvalidBundleDataAnalysisNumber int `gorm:"column:task_monthly_invalid_bundle_data_analysis_number;not null;comment:任务当月失效的套餐权益数据分析总数" json:"taskMonthlyInvalidBundleDataAnalysisNumber"`
|
||||
TaskInvalidBundleDataAnalysisNumber int `gorm:"column:task_invalid_bundle_data_analysis_number;not null;comment:任务历史失效的套餐权益数据分析总数" json:"taskInvalidBundleDataAnalysisNumber"`
|
||||
TaskMonthlyInvalidIncreaseDataAnalysisNumber int `gorm:"column:task_monthly_invalid_increase_data_analysis_number;not null;comment:任务当月失效的增值权益数据分析总数" json:"taskMonthlyInvalidIncreaseDataAnalysisNumber"`
|
||||
TaskInvalidIncreaseDataAnalysisNumber int `gorm:"column:task_invalid_increase_data_analysis_number;not null;comment:任务历史失效的增值权益数据分析总数" json:"taskInvalidIncreaseDataAnalysisNumber"`
|
||||
TaskBundleDataAnalysisConsumptionNumber int `gorm:"column:task_bundle_data_analysis_consumption_number;not null;comment:任务非限制类型套餐权益数据分析使用数" json:"taskBundleDataAnalysisConsumptionNumber"`
|
||||
TaskIncreaseDataAnalysisConsumptionNumber int `gorm:"column:task_increase_data_analysis_consumption_number;not null;comment:任务非限制类型增值权益数据分析使用数" json:"taskIncreaseDataAnalysisConsumptionNumber"`
|
||||
TaskBundleLimitDataAnalysisConsumptionNumber int `gorm:"column:task_bundle_limit_data_analysis_consumption_number;not null;comment:任务套餐权益限制类型非过期使用数" json:"taskBundleLimitDataAnalysisConsumptionNumber"`
|
||||
TaskIncreaseLimitDataAnalysisConsumptionNumber int `gorm:"column:task_increase_limit_data_analysis_consumption_number;not null;comment:任务增值权益限制类型非过期使用数" json:"taskIncreaseLimitDataAnalysisConsumptionNumber"`
|
||||
TaskBundleLimitDataAnalysisExpiredConsumptionNumber int `gorm:"column:task_bundle_limit_data_analysis_expired_consumption_number;not null;comment:任务套餐权益限制类型会过期使用数" json:"taskBundleLimitDataAnalysisExpiredConsumptionNumber"`
|
||||
TaskIncreaseLimitDataAnalysisExpiredConsumptionNumber int `gorm:"column:task_increase_limit_data_analysis_expired_consumption_number;not null;comment:任务增值权益限制类型会过期使用数" json:"taskIncreaseLimitDataAnalysisExpiredConsumptionNumber"`
|
||||
TaskMonthlyLimitDataAnalysisNumber int `gorm:"column:task_monthly_limit_data_analysis_number;not null;comment:任务当月限制类型数据分析可使用额度" json:"taskMonthlyLimitDataAnalysisNumber"`
|
||||
TaskMonthlyLimitDataAnalysisConsumptionNumber int `gorm:"column:task_monthly_limit_data_analysis_consumption_number;not null;comment:任务当月限制类型数据分析已使用额度" json:"taskMonthlyLimitDataAnalysisConsumptionNumber"`
|
||||
TaskMonthlyLimitDataAnalysisExpireNumber int `gorm:"column:task_monthly_limit_data_analysis_expired_number;not null;comment:任务当月限制类型数据分析会过期可用数" json:"taskMonthlyLimitDataAnalysisExpireNumber"`
|
||||
TaskMonthlyLimitDataAnalysisExpireConsumptionNumber int `gorm:"column:task_monthly_limit_data_analysis_expired_consumption_number;not null;comment:任务当月限制类型数据分析会过期已使用额度" json:"taskMonthlyLimitDataAnalysisExpireConsumptionNumber"`
|
||||
TaskMonthlyBundleDataAnalysisConsumptionNumber int `gorm:"column:task_monthly_bundle_data_analysis_consumption_number;not null;comment:任务当月套餐类型总使用数" json:"taskMonthlyBundleDataAnalysisConsumptionNumber"`
|
||||
TaskMonthlyIncreaseDataAnalysisConsumptionNumber int `gorm:"column:task_monthly_increase_data_analysis_consumption_number;not null;comment:任务当月增值类型总使用数" json:"taskMonthlyIncreaseDataAnalysisConsumptionNumber"`
|
||||
TaskMonthlyLimitDataAnalysisQuotaNumber int `gorm:"column:task_monthly_limit_data_analysis_quota_number;not null;comment:任务当月限制类型数据分析额度" json:"taskMonthlyLimitDataAnalysisQuotaNumber"`
|
||||
|
||||
CreatedAt time.Time `gorm:"column:created_at;comment:创建时间" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at;comment:更新时间" json:"updatedAt"`
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:int(11);index:idx_task_balance_deleted_at" json:"deletedAt"`
|
||||
}
|
||||
|
||||
func (t *TaskBalance) TableName() string {
|
||||
return "task_balance"
|
||||
}
|
||||
|
||||
// 任务日志表
|
||||
type TaskLog struct {
|
||||
LogUUID string `gorm:"column:log_uuid;type:varchar(50)comment:任务日志UUID;uniqueIndex:idx_task_log_uuid;not null" json:"taskLogUUID"`
|
||||
SubNum string `gorm:"column:sub_num;comment:任务用户编号;index:idx_task_log_sub_num;not null" json:"taskSubNum"`
|
||||
TelNum string `gorm:"column:tel_num;comment:任务用户手机号;index:idx_task_log_tel_num;not null" json:"taskTelNum"`
|
||||
ArtistName string `gorm:"column:artist_name;comment:任务艺人名称;index:idx_task_log_artist_name" json:"taskArtistName"`
|
||||
|
||||
// ===== 操作信息 =====
|
||||
OperationType int `gorm:"column:operation_type;type:int(11);comment:任务操作类型 1:加任务 2:消耗任务 3:完成任务;4:任务过期;index:idx_task_operation_type;not null" json:"taskOperationType"`
|
||||
TaskType int `gorm:"column:task_type;type:int(11);comment:任务类型 1:视频 2:图片 3:数据分析;index:idx_task_type;not null" json:"taskType"`
|
||||
TaskCount int `gorm:"column:task_count;type:int(11);comment:任务数量;not null" json:"taskCount"`
|
||||
Remark string `gorm:"column:remark;type:varchar(500);comment:任务备注" json:"taskRemark"`
|
||||
|
||||
// ===== 操作人信息 =====
|
||||
OperatorName string `gorm:"column:operator_name;comment:任务操作人姓名;index:idx_task_operator_name" json:"taskOperatorName"`
|
||||
OperatorNum string `gorm:"column:operator_num;comment:任务操作人账号;index:idx_task_operator_num" json:"taskOperatorNum"`
|
||||
CompletorName string `gorm:"column:completor_name;comment:任务完成人姓名;index:idx_task_completor_name" json:"taskCompletorName"`
|
||||
CompletorNum string `gorm:"column:completor_num;comment:任务完成人账号;index:idx_task_completor_num" json:"taskCompletorNum"`
|
||||
|
||||
// ===== 关联ID字段 =====
|
||||
VideoPublishUUID string `gorm:"column:video_publish_id;type:varchar(50);comment:任务关联的发布视频UUID;index:idx_task_video_publish_id" json:"taskVideoPublishID"`
|
||||
PostPublishUUID string `gorm:"column:post_publish_id;type:varchar(50);comment:任务关联的图文发布UUID;index:idx_task_post_publish_id" json:"taskPostPublishID"`
|
||||
DataAnalysisUUID string `gorm:"column:data_analysis_id;type:varchar(50);comment:任务关联的数据分析UUID;index:idx_task_data_analysis_id" json:"taskDataAnalysisID"`
|
||||
|
||||
// ===== 时间字段 =====
|
||||
OperationTime int `gorm:"column:operation_time;type:int(11);comment:任务操作时间;index:idx_task_operation_time;not null" json:"taskOperationTime"`
|
||||
CreatedAt int `gorm:"column:created_at;type:int(11);comment:任务日志创建时间" json:"taskCreatedAt"`
|
||||
UpdatedAt int `gorm:"column:updated_at;type:int(11);comment:任务日志更新时间" json:"taskUpdatedAt"`
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:int(11);index:idx_task_log_deleted_at" json:"taskDeletedAt"`
|
||||
}
|
||||
|
||||
func (t *TaskLog) TableName() string {
|
||||
return "task_log"
|
||||
}
|
||||
|
@ -999,7 +999,7 @@ message TaskAssignRecordInfo {
|
||||
int32 pendingVideoCount = 14 [json_name = "pendingVideoCount"]; // 待发视频数量
|
||||
int32 pendingPostCount = 15 [json_name = "pendingPostCount"]; // 待发图文数量
|
||||
int32 pendingDataCount = 16 [json_name = "pendingDataCount"]; // 待发数据数量
|
||||
string updatedAt = 24 [json_name = "updatedAt"]; // 更新时间
|
||||
string updatedAt = 17 [json_name = "updatedAt"]; // 更新时间
|
||||
}
|
||||
|
||||
// 手动完成任务
|
||||
@ -1046,7 +1046,26 @@ message ArtistBundleBalanceRequest {
|
||||
|
||||
// 艺人套餐剩余数量响应
|
||||
message ArtistBundleBalanceResponse {
|
||||
int32 remainingVideoCount = 1 [json_name = "remainingVideoCount"]; // 剩余视频数量
|
||||
int32 remainingImageCount = 2 [json_name = "remainingImageCount"]; // 剩余图片数量
|
||||
int32 remainingDataAnalysisCount = 3 [json_name = "remainingDataAnalysisCount"]; // 剩余数据分析数量
|
||||
// 以下返回值同时包含“套餐类型”和“增值类型”两类的任务余额与待发数量
|
||||
// 余额来自任务余额表(task_balance),待发数量来自任务管理表(task_management),均按视频/图文/数据分析三类区分
|
||||
|
||||
// 套餐类型 - 任务余额(视频/图文/数据分析)
|
||||
int32 bundleVideoBalance = 1 [json_name = "bundleVideoBalance"]; // 套餐类型视频余额
|
||||
int32 bundleImageBalance = 2 [json_name = "bundleImageBalance"]; // 套餐类型图文余额
|
||||
int32 bundleDataAnalysisBalance = 3 [json_name = "bundleDataAnalysisBalance"]; // 套餐类型数据分析余额
|
||||
|
||||
// 增值类型 - 任务余额(视频/图文/数据分析)
|
||||
int32 increaseVideoBalance = 4 [json_name = "increaseVideoBalance"]; // 增值类型视频余额
|
||||
int32 increaseImageBalance = 5 [json_name = "increaseImageBalance"]; // 增值类型图文余额
|
||||
int32 increaseDataAnalysisBalance = 6 [json_name = "increaseDataAnalysisBalance"]; // 增值类型数据分析余额
|
||||
|
||||
// 套餐类型 - 待发数量(视频/图文/数据分析)
|
||||
int32 bundlePendingVideoCount = 7 [json_name = "bundlePendingVideoCount"]; // 套餐类型待发视频数量
|
||||
int32 bundlePendingImageCount = 8 [json_name = "bundlePendingImageCount"]; // 套餐类型待发图文数量
|
||||
int32 bundlePendingDataAnalysisCount = 9 [json_name = "bundlePendingDataAnalysisCount"]; // 套餐类型待发数据分析数量
|
||||
|
||||
// 增值类型 - 待发数量(视频/图文/数据分析)
|
||||
int32 increasePendingVideoCount = 10 [json_name = "increasePendingVideoCount"]; // 增值类型待发视频数量
|
||||
int32 increasePendingImageCount = 11 [json_name = "increasePendingImageCount"]; // 增值类型待发图文数量
|
||||
int32 increasePendingDataAnalysisCount = 12 [json_name = "increasePendingDataAnalysisCount"]; // 增值类型待发数据分析数量
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.8
|
||||
// - protoc v3.12.4
|
||||
// - protoc v3.21.1
|
||||
// source: pb/bundle.proto
|
||||
|
||||
package bundle
|
||||
@ -50,7 +50,7 @@ type BundleClient interface {
|
||||
OrderRecordsListV2(ctx context.Context, in *OrderRecordsRequestV2, opts ...grpc_go.CallOption) (*OrderRecordsResponseV2, common.ErrorWithAttachment)
|
||||
OrderListByOrderNo(ctx context.Context, in *OrderInfoByOrderNoRequest, opts ...grpc_go.CallOption) (*OrderInfoByOrderNoResp, common.ErrorWithAttachment)
|
||||
OnlyAddValueListByOrderNo(ctx context.Context, in *OnlyAddValueListByOrderNoRequest, opts ...grpc_go.CallOption) (*OnlyAddValueListByOrderNoResp, common.ErrorWithAttachment)
|
||||
// 增值套餐
|
||||
// 增值套餐
|
||||
CreateValueAddBundle(ctx context.Context, in *CreateValueAddBundleRequest, opts ...grpc_go.CallOption) (*CreateValueAddBundleResponse, common.ErrorWithAttachment)
|
||||
ValueAddBundleList(ctx context.Context, in *ValueAddBundleListRequest, opts ...grpc_go.CallOption) (*ValueAddBundleListResponse, common.ErrorWithAttachment)
|
||||
ValueAddBundleDetail(ctx context.Context, in *ValueAddBundleDetailRequest, opts ...grpc_go.CallOption) (*ValueAddBundleDetailResponse, common.ErrorWithAttachment)
|
||||
|
Loading…
Reference in New Issue
Block a user