|
@@ -3,7 +3,6 @@ package servers
|
|
|
import (
|
|
|
. "app.yhyue.com/moapp/jybase/api"
|
|
|
"app.yhyue.com/moapp/jybase/common"
|
|
|
- "app.yhyue.com/moapp/jybase/go-xweb/httpsession"
|
|
|
"app.yhyue.com/moapp/jybase/go-xweb/xweb"
|
|
|
"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
|
|
|
"encoding/json"
|
|
@@ -115,12 +114,12 @@ func (userDoc *UserDoc) DocBuy() {
|
|
|
return nil, fmt.Errorf("已兑换,请勿重复操作")
|
|
|
}
|
|
|
// 获取用户身份
|
|
|
- docMember, err := getDocMemberStatus(userDoc.Session())
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
+ mData := jy.GetBigVipUserBaseMsg(userDoc.Session(), *config.Middleground)
|
|
|
+ if mData == nil || mData.Data == nil {
|
|
|
+ return nil, fmt.Errorf("获取用户身份信息失败")
|
|
|
}
|
|
|
- docMemberStatus := docMember["docMemberStatus"].(bool)
|
|
|
- freeDownload := common.IntAll(docMember["free_download"])
|
|
|
+ docMemberStatus := mData.Data.Docs.Status > 0
|
|
|
+ freeDownload := mData.Data.Docs.FreeDownload
|
|
|
surplus, use := 0, 0 // 今日下载剩余次数,今日消耗次数
|
|
|
payWay := "剑鱼币"
|
|
|
if docInfo.ProductType == public.ProductTypeMemberFree {
|
|
@@ -130,11 +129,15 @@ func (userDoc *UserDoc) DocBuy() {
|
|
|
if err2 != nil {
|
|
|
return nil, err2
|
|
|
}
|
|
|
+ totalLimit := config.JyDocsAppConfig.DocMember.FreeDocLimit
|
|
|
+ if docMemberStatus {
|
|
|
+ totalLimit = config.JyDocsAppConfig.DocMember.Times
|
|
|
+ }
|
|
|
use = int(count)
|
|
|
- surplus = config.JyDocsAppConfig.DocMember.Times - use
|
|
|
+ surplus = totalLimit - use
|
|
|
if surplus <= 0 {
|
|
|
surplus = 0
|
|
|
- use = config.JyDocsAppConfig.DocMember.Times
|
|
|
+ use = totalLimit
|
|
|
return map[string]interface{}{
|
|
|
"status": public.StatusMemberFreeExhaust,
|
|
|
"surplus": surplus,
|
|
@@ -203,17 +206,18 @@ func (userDoc *UserDoc) DocBuy() {
|
|
|
}
|
|
|
// 没有ossdocId 说明是还没有下过的 需要先获得地址
|
|
|
if docInfo.OssDocId == "" && docInfo.Source == public.SourceDd {
|
|
|
- // 如果是精品 则需要先调购买接口
|
|
|
- if docInfo.ProductType == public.ProductTypePremium {
|
|
|
- _, err2 := rpc.PartUserBuy(docId, userInfo.MgoUserId, userInfo.Phone, userInfo.PositionId)
|
|
|
+ // 如果是精品文档 或者 是免费文档剑鱼文库会员超过10篇 则需要先调购买接口
|
|
|
+ if docInfo.ProductType == public.ProductTypePremium || use >= config.JyDocsAppConfig.DocMember.FreeDocLimit {
|
|
|
+ buyType := common.If(docMemberStatus, public.DdUserBuyType0, public.DdUserBuyType1).(int64)
|
|
|
+ _, err2 := rpc.PartUserBuy(docId, userInfo.MgoUserId, userInfo.Phone, userInfo.PositionId, buyType)
|
|
|
if err2 != nil {
|
|
|
return nil, fmt.Errorf("获取失败")
|
|
|
}
|
|
|
}
|
|
|
- // 如果是免费则直接调
|
|
|
+ // 下载接口
|
|
|
_, err := rpc.PartDocDownload(docId, userInfo.MgoUserId, userInfo.Phone, userInfo.PositionId)
|
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("获取失败")
|
|
|
+ return nil, fmt.Errorf("文档获取失败")
|
|
|
}
|
|
|
}
|
|
|
//转存文库
|
|
@@ -227,7 +231,7 @@ func (userDoc *UserDoc) DocBuy() {
|
|
|
"i_doc_free_download": int(1),
|
|
|
},
|
|
|
})
|
|
|
- config.Middleground.PowerCheckCenter.DelCheckRedis(public.AppID,userInfo.PositionId)
|
|
|
+ config.Middleground.PowerCheckCenter.DelCheckRedis(public.AppID, userInfo.PositionId)
|
|
|
}
|
|
|
//手机号采集
|
|
|
go func() {
|
|
@@ -261,17 +265,3 @@ func (userDoc *UserDoc) DocBuy() {
|
|
|
}
|
|
|
userDoc.ServeJson(NewResult(rData, errMsg))
|
|
|
}
|
|
|
-
|
|
|
-func getDocMemberStatus(session *httpsession.Session) (map[string]interface{}, error) {
|
|
|
- mData := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
|
|
|
- if mData != nil {
|
|
|
- vipStatus := mData.Data.Docs.Status
|
|
|
- return map[string]interface{}{
|
|
|
- "docMemberStatus": vipStatus > 0,
|
|
|
- "startTime": mData.Data.Docs.StartDate,
|
|
|
- "endTime": mData.Data.Docs.EndDate,
|
|
|
- "free_download": mData.Data.Docs.FreeDownload,
|
|
|
- }, nil
|
|
|
- }
|
|
|
- return nil, errors.New("获取文库会员状态失败")
|
|
|
-}
|