docsBuyOrder.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. return
  15. }
  16. // 获取和合作商订单相关的信息
  17. func GetDocOrderInfo(positionId int64, mgoUserId string, state int) (orderInfo *model.DocinUserOrder, err error) {
  18. var orderInfos = []*model.DocinUserOrder{}
  19. err = jyDocRpcUtil.GetJyDocsDB().Table(entity.DocUserOrderTab).
  20. Where("(position_id = ? AND mgo_user_id = ?) AND state = 1 AND purchase_type > ?", positionId, mgoUserId, state).
  21. Order("update_date ASC").
  22. Find(&orderInfos).Error
  23. if err == nil && len(orderInfos) > 0 {
  24. orderInfo = orderInfos[0]
  25. }
  26. return &model.DocinUserOrder{}, err
  27. }
  28. // 剑鱼文库会员订单信息
  29. type OrderInfo struct {
  30. Filter Filter
  31. OrderCode string
  32. StartDate string
  33. EndDate string
  34. }
  35. type Filter struct {
  36. CycleCount int
  37. CycleUnit int
  38. }
  39. // 获取剑鱼文库会员购买信息
  40. func GetJYDocsOrderInfo(positionId int64, mgoUserId string) (orderInfo *OrderInfo) {
  41. var orders = []map[string]interface{}{}
  42. err := jyDocRpcUtil.GetJyDocsDB().Table(entity.OrderTable).
  43. 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)).
  44. Select("order_code,filter,vip_starttime,vip_endtime").
  45. Find(&orders).Error
  46. if err == nil && len(orders) > 0 {
  47. filter := &Filter{}
  48. err := json.Unmarshal([]byte(orders[0]["filter"].(string)), &filter)
  49. if err == nil {
  50. orderInfo = &OrderInfo{
  51. Filter: *filter,
  52. OrderCode: common.InterfaceToStr(orders[0]["order_code"]),
  53. StartDate: common.InterfaceToStr(orders[0]["vip_starttime"]),
  54. EndDate: common.InterfaceToStr(orders[0]["vip_endtime"]),
  55. }
  56. } else {
  57. log.Println("文库会员订单-filter-结构体反序列化-错误", err)
  58. }
  59. }
  60. return
  61. }