Browse Source

no message

xingzai 10 months ago
parent
commit
6df5bab416
4 changed files with 68 additions and 7 deletions
  1. 7 4
      controllers/order.go
  2. 7 3
      models/order/order.go
  3. 32 0
      services/order.go
  4. 22 0
      services/user_admin_share.go

+ 7 - 4
controllers/order.go

@@ -2,7 +2,6 @@ package controllers
 
 import (
 	"encoding/json"
-	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hongze_web_mfyx/models"
 	"hongze/hongze_web_mfyx/models/order"
@@ -81,7 +80,8 @@ func (this *OrderController) AddByArticle() {
 	item.CompanyId = user.CompanyId
 	item.CompanyName = user.CompanyName
 	item.RealName = user.RealName
-	item.SellerName, item.SellerId = services.GetSellerName(user) // 销售姓名
+	item.SellerName, item.SellerId = services.GetSellerName(user)                          // 销售姓名
+	item.ShareName, item.ShareId = services.GetAdminByInviteShareCode(req.InviteShareCode) // 分享人信息
 	item.CreateTime = time.Now()
 	item.ModifyTime = time.Now()
 	item.RegisterPlatform = utils.REGISTER_PLATFORM
@@ -105,6 +105,7 @@ func (this *OrderController) AddByArticle() {
 		return
 	}
 	resp := new(order.WxNativeApiResp)
+	_, resp.PayTimeCountdown = services.GetHaverEquallyOrderByUser10MinByArticle(uid, sourceId) //截止支付时间倒计时
 	resp.CodeUrl = codeUrl
 	resp.OrderCode = item.OrderCode
 	br.Data = resp
@@ -182,7 +183,7 @@ func (this *OrderController) AddByActivity() {
 	if activityDetail.ActivityTypeName == "公司调研电话会" {
 		item.GoodsName = "买方交流"
 	}
-	fmt.Println("item.GoodsName", item.GoodsName)
+	//fmt.Println("item.GoodsName", item.GoodsName)
 	//return
 	item.GoodsId = goodsId
 	item.GoodsMoney = goodsDetail.Price
@@ -196,7 +197,8 @@ func (this *OrderController) AddByActivity() {
 	item.CompanyId = user.CompanyId
 	item.CompanyName = user.CompanyName
 	item.RealName = user.RealName
-	item.SellerName, item.SellerId = services.GetSellerName(user) // 销售姓名
+	item.SellerName, item.SellerId = services.GetSellerName(user)                          // 销售姓名
+	item.ShareName, item.ShareId = services.GetAdminByInviteShareCode(req.InviteShareCode) // 分享人信息
 	item.CreateTime = time.Now()
 	item.ModifyTime = time.Now()
 	item.RegisterPlatform = utils.REGISTER_PLATFORM
@@ -215,6 +217,7 @@ func (this *OrderController) AddByActivity() {
 		return
 	}
 	resp := new(order.WxNativeApiResp)
+	_, resp.PayTimeCountdown = services.GetHaverEquallyOrderByUser10MinByActivty(uid, sourceId) //截止支付时间倒计时
 	resp.CodeUrl = codeUrl
 	resp.OrderCode = item.OrderCode
 	br.Data = resp

+ 7 - 3
models/order/order.go

@@ -8,8 +8,9 @@ import (
 )
 
 type WxNativeApiResp struct {
-	CodeUrl   string `comment:"微信支付二维码链接"`
-	OrderCode string `comment:"订单编号"`
+	CodeUrl          string `comment:"微信支付二维码链接"`
+	OrderCode        string `comment:"订单编号"`
+	PayTimeCountdown int    `description:"支付时间倒计时"`
 }
 
 // PrepayWithRequestPaymentResponse 预下单ID,并包含了调起支付的请求参数
@@ -26,7 +27,8 @@ type PrepayWithRequestPaymentResponse struct {
 type CygxOrderAddReq struct {
 	GoodsId int `description:"商品ID"`
 	//Source   string `description:"资源(文章、活动)"`
-	SourceId int `description:"资源ID"`
+	SourceId        int    `description:"资源ID"`
+	InviteShareCode string `description:"销售账号邀请码"`
 }
 
 type CygxOrderCancelReq struct {
@@ -65,6 +67,8 @@ type CygxOrder struct {
 	ModifyTime       time.Time `comment:"修改时间"`
 	RegisterPlatform int       `comment:"来源 1小程序,2:网页"`
 	OrderType        int       `comment:"订单类型,1:畅读卡订单,2:单场付费订单"`
+	ShareId          int       `comment:"分享人ID"`
+	ShareName        string    `comment:"分享人姓名"`
 	StartDate        time.Time `comment:"开始时间"`
 	EndDate          time.Time `comment:"结束时间"`
 }

+ 32 - 0
services/order.go

@@ -128,6 +128,38 @@ func GetHaverEquallyOrderByUser10MinByActivty(userId, sourceId int) (orderCode s
 	return
 }
 
+// 获取用户十分钟之内是否有相同的文章订单信息
+func GetHaverEquallyOrderByUser10MinByArticle(userId, sourceId int) (orderCode string, seconds int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg(fmt.Sprint("获取用户十分钟之内是否有相同的订单信息失败 GetHaverEquallyOrderByUser10MinByActivty, err:", err.Error()), 2)
+		}
+	}()
+	var condition string
+	var pars []interface{}
+	endTime := time.Now().Add(-10 * time.Minute)
+	condition = `  AND order_status = 1  AND source = 'article' AND  user_id = ? AND  source_id = ? AND create_time > ?  ORDER BY order_id DESC  `
+	pars = append(pars, userId, sourceId, endTime)
+	orderList, e := order.GetCygxOrderList(condition, pars, 0, 1)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCygxOrderList, Err: " + e.Error())
+		return
+	}
+	if len(orderList) == 0 {
+		return
+	} else {
+		for _, v := range orderList {
+			orderCode = v.OrderCode
+			duration := time.Now().Sub(v.CreateTime)
+			// 将时间差转换为秒数
+			seconds = 600 - int(duration.Seconds())
+		}
+	}
+	return
+}
+
 // 处理支付订单回调
 func HandleOrderHandle(itemCallback *WechatPayCallback) {
 	var err error

+ 22 - 0
services/user_admin_share.go

@@ -129,3 +129,25 @@ func AddCygxUserAdminShareHistory(user *models.WxUserItem, source, sourceTitle,
 	}
 	return
 }
+
+// 根据分享码获取对应销售的ID以及姓名
+func GetAdminByInviteShareCode(inviteShareCode string) (shareName string, shareId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg(fmt.Sprint("记录分享来源失败 GetAdminByInviteShareCode, err:", err.Error()), 2)
+		}
+	}()
+	adminDetail, e := models.GetUserAdminShareCodeByShareCode(inviteShareCode)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetUserAdminShareCodeByShareCode, Err: " + e.Error())
+		return
+	}
+	if adminDetail == nil {
+		return
+	}
+	shareId = adminDetail.SellerId
+	shareName = adminDetail.SellerName
+	return
+}