123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package service
- import (
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/entity"
- IC "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/init"
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/type/partnerlib"
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/util"
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/warn"
- "app.yhyue.com/moapp/jy_docs/services/model"
- "app.yhyue.com/moapp/jy_docs/services/partner"
- "app.yhyue.com/moapp/jybase/date"
- "encoding/json"
- "fmt"
- )
- type BRes struct {
- Msg string
- Code int64
- OrderNo string
- }
- func UBHandle(in *partnerlib.UserBuyVipRequest) (res *partnerlib.UBVRes, err error) {
- res = new(partnerlib.UBVRes)
- var (
- b []byte
- docInfo = partner.DocsFindOne(in.DocId)
- userId = in.PositionId
- )
- //测试账号
- if IC.I.Docin.TestAccount > 0 {
- userId = IC.I.Docin.TestAccount
- }
- if docInfo.Id != "" {
- orderCode := util.GetOrderCode()
- h := NewHH(IC.I.Docin.Name, IC.I.Docin.Host, IC.I.Docin.BuyRecord.Name, IC.I.Docin.BuyRecord.Pathname, IC.I.Docin.BuyRecord.Method, map[string]interface{}{
- "orderNo": orderCode,
- "productId": in.DocId,
- "userId": userId,
- "price": docInfo.Price,
- "priceVip": docInfo.PriceVip,
- "type": in.Type,
- "orderTime": date.NowFormat(entity.DateFullLayout),
- })
- b, err, _ = h.HttpFunc()
- go h.SaveDocinLogger(b, err, "req")
- if err == nil {
- //豆丁同步数据到mongo
- go h.SaveDocinLogger(b, err, "res")
- bRes := &BRes{}
- if err = json.Unmarshal(b, &bRes); err == nil {
- if bRes.Code == 0 {
- //更新文档购买记录
- if err = partner.InsertBuyDocOrder(&model.DocinUserOrder{
- PositionId: in.PositionId,
- MgoUserId: in.MgoUserId,
- Phone: in.Phone,
- DocId: docInfo.Id,
- OrderCode: orderCode,
- Price: docInfo.Price,
- PriceVip: docInfo.PriceVip,
- PurchaseType: int(in.Type), //购买类型:1 币买文档,2 券买文档,3 月大会员,4 季大会员,5 年大会员
- State: 1, //合作商:1:豆丁
- CreateTime: date.NowFormat(date.Date_Full_Layout),
- }); err == nil {
- warn.SendMsgByWXURL(fmt.Sprintf("%s文档名称: %s,文档id:%s,购买订单编号:%s,请求信息:%v", entity.PartnerName, docInfo.DocName, docInfo.Id, orderCode, in))
- }
- res.OrderNo = bRes.OrderNo
- res.Msg = bRes.Msg
- res.Code = bRes.Code
- return
- }
- err = fmt.Errorf(entity.Res[res.Msg])
- }
- }
- } else {
- err = fmt.Errorf("参数异常")
- }
- res.Msg = err.Error()
- res.Code = -1
- return
- }
|