|
@@ -6,6 +6,8 @@ import (
|
|
|
"fmt"
|
|
|
"log"
|
|
|
"net/url"
|
|
|
+ qu "qfw/util"
|
|
|
+ "strings"
|
|
|
)
|
|
|
|
|
|
//充值
|
|
@@ -17,9 +19,11 @@ type PayStruct struct {
|
|
|
Spec string //单位
|
|
|
EndTime string //截止日期
|
|
|
Remarks map[string]interface{} //备注
|
|
|
+ AppId string //appId默认10000
|
|
|
+ VipTime int64 //超级订阅截止日期
|
|
|
}
|
|
|
|
|
|
-func PurchasePay(userId, product, resourceType, num, spec, endTime string, remarks map[string]interface{}) *PayStruct {
|
|
|
+func InitPurchase(userId, product, resourceType, num, spec, endTime string, remarks map[string]interface{}, vipEndTime int64) *PayStruct {
|
|
|
return &PayStruct{
|
|
|
AccountId: userId,
|
|
|
Name: product, //资源名称
|
|
@@ -28,6 +32,8 @@ func PurchasePay(userId, product, resourceType, num, spec, endTime string, remar
|
|
|
Spec: spec, //单位
|
|
|
EndTime: endTime, //截止日期
|
|
|
Remarks: remarks, //备注
|
|
|
+ AppId: config.CouponConfig.AppId,
|
|
|
+ VipTime: vipEndTime,
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -46,13 +52,137 @@ func (this *PayStruct) PurchaseUserBalance() (bool, error) {
|
|
|
"spec": []string{this.Spec}, //规格*
|
|
|
"endTime": []string{this.EndTime},
|
|
|
"remarks": []string{string(remarkBytes)},
|
|
|
+ "appId": []string{this.AppId},
|
|
|
+ "vipTime": []string{fmt.Sprint("%v", this.VipTime)},
|
|
|
}
|
|
|
rmap, err := commonPost(config.JyApiConfig.ApiList.BuyBalance, param)
|
|
|
- log.Println("purchase user balance ", rmap, err)
|
|
|
+ log.Println("BuyBalance post err: ", rmap, err)
|
|
|
if err != nil {
|
|
|
return false, err
|
|
|
}
|
|
|
return true, nil
|
|
|
}
|
|
|
|
|
|
-//TODO 消费
|
|
|
+type FindBalanceStruct struct {
|
|
|
+ AccountId string //账户标识
|
|
|
+ ResourceType string //产品类型
|
|
|
+}
|
|
|
+
|
|
|
+// @Summary 余额接口【数据流量包、附件下载包。。】
|
|
|
+// @Param &FindBalanceStruct
|
|
|
+// @return map error
|
|
|
+func (this *FindBalanceStruct) FindBalance() (map[string]interface{}, error) {
|
|
|
+ param := url.Values{
|
|
|
+ "accountId": []string{this.AccountId},
|
|
|
+ "resourceType": []string{this.ResourceType},
|
|
|
+ }
|
|
|
+ rmap, err := commonPost(config.JyApiConfig.ApiList.FindBalance, param)
|
|
|
+ if err != nil {
|
|
|
+ log.Println("FindBalance post err:", err)
|
|
|
+ return rmap, err
|
|
|
+ }
|
|
|
+ return rmap, err
|
|
|
+}
|
|
|
+
|
|
|
+//使用
|
|
|
+type UseBalanceStruct struct {
|
|
|
+ AccountId string //账户标识
|
|
|
+ Name string //资源名称
|
|
|
+ ResourceType string //资源类型
|
|
|
+ Number int //扣除数量
|
|
|
+ RuleId string //规则标识
|
|
|
+ UserId string //用户标识
|
|
|
+ AppId string //默认10000
|
|
|
+ Remarks map[string]interface{} //备注
|
|
|
+ DuplicateRemoval string //是否去重0不去1去重【数据流量包用到】
|
|
|
+ InfoId []string //数据Id,多个以逗号隔开【数据流量包用到】
|
|
|
+}
|
|
|
+
|
|
|
+//
|
|
|
+func InitUseBalance(userId, product, resourceType, ruleId, duplicateRemoval string, infoId []string, remarks map[string]interface{}, num int) *UseBalanceStruct {
|
|
|
+ return &UseBalanceStruct{
|
|
|
+ AccountId: userId,
|
|
|
+ Name: product,
|
|
|
+ ResourceType: resourceType,
|
|
|
+ Number: num,
|
|
|
+ RuleId: ruleId,
|
|
|
+ UserId: userId,
|
|
|
+ AppId: config.CouponConfig.AppId,
|
|
|
+ Remarks: remarks, //备注
|
|
|
+ DuplicateRemoval: duplicateRemoval, //是否去重0不去1去重【数据流量包用到】
|
|
|
+ InfoId: infoId,
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// @Summary 使用接口【数据流量包、附件下载包。。】
|
|
|
+// @Param &UseBalanceStruct
|
|
|
+// @return map error
|
|
|
+func (this *UseBalanceStruct) UseBalance() (map[string]interface{}, error) {
|
|
|
+ remarkBytes, err := json.Marshal(this.Remarks)
|
|
|
+ if err != nil {
|
|
|
+ return nil, fmt.Errorf("remark pase error")
|
|
|
+ }
|
|
|
+ resMap, err := commonPost(config.JyApiConfig.ApiList.UseBalance, url.Values{
|
|
|
+ "accountId": []string{this.UserId}, //账户标识
|
|
|
+ "name": []string{this.Name}, //资源名称
|
|
|
+ "resourceType": []string{this.ResourceType}, //资源类型
|
|
|
+ "number": []string{fmt.Sprintf("%d", this.Number)}, //扣除数量
|
|
|
+ "ruleId": []string{this.RuleId}, //规则标识
|
|
|
+ "userId": []string{this.UserId}, //用户标识
|
|
|
+ "remarks": []string{string(remarkBytes)}, //备注 查询条件、下载地址、导出时间、导出条数
|
|
|
+ "infoId": []string{strings.Join(this.InfoId, ",")}, //数据Id,多个以逗号隔开
|
|
|
+ "duplicateRemoval": []string{this.DuplicateRemoval}, //是否去重0不去1去重
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ log.Println("UseBalance post err:", err)
|
|
|
+ return resMap, err
|
|
|
+ }
|
|
|
+ return resMap, err
|
|
|
+}
|
|
|
+
|
|
|
+//流水
|
|
|
+type FindRecordStruct struct {
|
|
|
+ AccountId string //账户标识
|
|
|
+ UserId string //用户标识
|
|
|
+ Name string //资源名称
|
|
|
+ PageSize int //每页多少条
|
|
|
+ Page int //当前页
|
|
|
+ State int // 0 查消耗记录 1 查充值记录
|
|
|
+ ResourceType string //资源类型
|
|
|
+ QueryTime string //查询时间 格式2022-01
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//定义结构体
|
|
|
+func InitFindRecord(userId, resourceType, queryTime string, pageSize, pageNum, state int) *FindRecordStruct {
|
|
|
+ return &FindRecordStruct{
|
|
|
+ AccountId: userId,
|
|
|
+ UserId: userId,
|
|
|
+ PageSize: pageSize,
|
|
|
+ Page: pageNum,
|
|
|
+ State: state, //0 查消耗记录 1 查充值记录
|
|
|
+ ResourceType: resourceType,
|
|
|
+ QueryTime: queryTime,
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// @Summary 流水接口【数据流量包、附件下载包。。】
|
|
|
+// @Param &FindRecordStruct
|
|
|
+// @return list列表 , int数量 , error
|
|
|
+func (this *FindRecordStruct) FindBalance() ([]interface{}, int, error) {
|
|
|
+ resMap, err := commonPost(config.JyApiConfig.ApiList.FindRecord, url.Values{
|
|
|
+ "accountId": []string{this.UserId}, //账户标识
|
|
|
+ "userId": []string{this.UserId}, //用户标识
|
|
|
+ "pageSize": []string{fmt.Sprintf("%d", this.PageSize)}, //每页多少条
|
|
|
+ "page": []string{fmt.Sprintf("%d", this.Page)}, //当前页
|
|
|
+ "state": []string{fmt.Sprintf("%d", this.State)}, // 0 查消耗记录 1 查充值记录
|
|
|
+ "resourceType": []string{this.ResourceType},
|
|
|
+ "queryTime": []string{this.QueryTime}, //格式 2022-01
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return nil, -1, err
|
|
|
+ }
|
|
|
+ total := qu.IntAll(resMap["count"])
|
|
|
+ list, _ := resMap["data"].([]interface{})
|
|
|
+ return list, total, err
|
|
|
+}
|