docsBuyOrder.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package partner
  2. import (
  3. "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/entity"
  4. "app.yhyue.com/moapp/jy_docs/services/model"
  5. jyDocRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
  6. "app.yhyue.com/moapp/jybase/common"
  7. "app.yhyue.com/moapp/jybase/date"
  8. "encoding/json"
  9. "log"
  10. )
  11. // 保存和合作商订单相关的信息
  12. func InsertBuyDocOrder(orderInfo *model.DocinUserOrder) (err error) {
  13. err = jyDocRpcUtil.GetJyDocsDB().Table(entity.DocUserOrderTab).Create(orderInfo).Error
  14. log.Println("err:", err)
  15. return
  16. }
  17. // 获取和合作商订单相关的信息
  18. func GetDocOrderInfo(positionId int64, mgoUserId string, state int) (orderInfo *model.DocinUserOrder, err error) {
  19. var orderInfos = []*model.DocinUserOrder{}
  20. err = jyDocRpcUtil.GetJyDocsDB().Table(entity.DocUserOrderTab).
  21. Where("(position_id = ? AND mgo_user_id = ?) AND state = 1 AND purchase_type > ?", positionId, mgoUserId, state).
  22. Order("update_date ASC").
  23. Find(&orderInfos).Error
  24. if err == nil && len(orderInfos) > 0 {
  25. orderInfo = orderInfos[0]
  26. return
  27. }
  28. return &model.DocinUserOrder{}, err
  29. }
  30. // 剑鱼文库会员订单信息
  31. type OrderInfo struct {
  32. Filter Filter
  33. OrderCode string
  34. StartDate string
  35. EndDate string
  36. }
  37. type Filter struct {
  38. CycleCount int
  39. CycleUnit int
  40. }
  41. // 获取剑鱼文库会员购买信息
  42. func GetJYDocsOrderInfo(positionId int64, mgoUserId string) (orderInfo *OrderInfo) {
  43. var orders = []map[string]interface{}{}
  44. err := jyDocRpcUtil.GetJyDocsDB().Table(entity.OrderTable).
  45. Where("order_status = 1 AND product_type = ? AND (user_id = ? OR user_id = ?) AND vip_endtime > ?", entity.ProductType, positionId, mgoUserId, date.NowFormat(date.Date_Full_Layout)).
  46. Select("order_code,filter,vip_starttime,vip_endtime").
  47. Find(&orders).Error
  48. if err == nil && len(orders) > 0 {
  49. filter := &Filter{}
  50. err := json.Unmarshal([]byte(orders[0]["filter"].(string)), &filter)
  51. if err == nil {
  52. orderInfo = &OrderInfo{
  53. Filter: *filter,
  54. OrderCode: common.InterfaceToStr(orders[0]["order_code"]),
  55. StartDate: common.InterfaceToStr(orders[0]["vip_starttime"]),
  56. EndDate: common.InterfaceToStr(orders[0]["vip_endtime"]),
  57. }
  58. } else {
  59. log.Println("文库会员订单-filter-结构体反序列化-错误", err)
  60. }
  61. }
  62. return
  63. }