xingzai 10 ay önce
ebeveyn
işleme
9f9bba311c
4 değiştirilmiş dosya ile 44 ekleme ve 215 silme
  1. 13 0
      controllers/activity.go
  2. 8 0
      controllers/order.go
  3. 19 14
      models/activity.go
  4. 4 201
      services/order.go

+ 13 - 0
controllers/activity.go

@@ -2517,11 +2517,24 @@ func (this *ActivityController) Check() {
 	if resp.CheckPoints {
 		//如果通过点数的校验,就来校验邮箱
 		resp.CheckEmail, resp.PopupMsg = services.CheckActivityUserEmail(activityInfo, user)
+	} else {
+		resp.IsShowWxPay = utils.IS_SHOW_WX_PAY
+		resp.GoodsList = services.GetGoodsInfoByActivity(activityInfo) //单场活动信息
+		for _, v := range resp.GoodsList {
+			resp.PopupPriceMsg += v.PopupPriceMsg //价格弹窗信息
+		}
+		resp.IsShowWxPay = utils.IS_SHOW_WX_PAY                                                      //是否展示微信支付按钮
+		resp.IsCompanyApply = services.GetUserApplyRecordCountByCompanyIdPay(user.CompanyId)         //获取客户是否有过历史申请记录
+		resp.IsNeedBusinessCard = services.GetCygxUserBusinessCardCount(user.UserId, user.CompanyId) //是否需要上传名片
 	}
 	// 判断是否属于研选类型的活动
 	if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
 		resp.IsResearch = true
 	}
+
+	if len(resp.GoodsList) == 0 {
+		resp.GoodsList = make([]*order.CygxGoodsResp, 0)
+	}
 	br.Ret = 200
 	br.Success = true
 	br.Data = resp

+ 8 - 0
controllers/order.go

@@ -284,6 +284,14 @@ func (this *OrderController) UserOrderList() {
 		br.ErrMsg = "获取失败, Err:" + err.Error()
 		return
 	}
+
+	var activityIds []int
+	for _, v := range list {
+		if v.Source == utils.CYGX_OBJ_ACTIVITY {
+			activityIds = append(activityIds, v.SourceId)
+		}
+	}
+
 	for _, v := range list {
 		item := new(order.OrderListResp)
 		item.OrderCode = v.OrderCode

+ 19 - 14
models/activity.go

@@ -241,20 +241,25 @@ type ActivityListResp struct {
 }
 
 type ActivityCheck struct {
-	CheckPermission   bool   `description:"权限是否通过校验"`
-	HasPermission     int    `description:"操作方式,1:有该行业权限,正常展示,2:无该行业权限,3:潜在客户,未提交过申请,4:潜在客户,已提交过申请"`
-	PopupMsg          string `description:"权限弹窗信息"`
-	CancelPopupMsg    string `description:"取消报名时间弹窗信息"`
-	SellerMobile      string `description:"销售电话"`
-	SellerName        string `description:"销售姓名"`
-	Mobile            string `description:"手机号"`
-	IsResearch        bool   `description:"是否属于研选"`
-	IsResearchSpecial bool   `description:"是否属于特殊的研选"`
-	CheckTime         bool   `description:"时间是否通过校验"`
-	CheckEmail        bool   `description:"邮箱是否通过校验"`
-	CheckPoints       bool   `description:"扣点是否通过校验"`
-	CompanyPoints     string `description:"公司剩余点数"`
-	ActivityPoints    string `description:"本场活动要扣除的点数"`
+	CheckPermission    bool                   `description:"权限是否通过校验"`
+	HasPermission      int                    `description:"操作方式,1:有该行业权限,正常展示,2:无该行业权限,3:潜在客户,未提交过申请,4:潜在客户,已提交过申请"`
+	PopupMsg           string                 `description:"权限弹窗信息"`
+	CancelPopupMsg     string                 `description:"取消报名时间弹窗信息"`
+	SellerMobile       string                 `description:"销售电话"`
+	SellerName         string                 `description:"销售姓名"`
+	Mobile             string                 `description:"手机号"`
+	IsResearch         bool                   `description:"是否属于研选"`
+	IsResearchSpecial  bool                   `description:"是否属于特殊的研选"`
+	CheckTime          bool                   `description:"时间是否通过校验"`
+	CheckEmail         bool                   `description:"邮箱是否通过校验"`
+	CheckPoints        bool                   `description:"扣点是否通过校验"`
+	CompanyPoints      string                 `description:"公司剩余点数"`
+	ActivityPoints     string                 `description:"本场活动要扣除的点数"`
+	PopupPriceMsg      string                 `description:"价格弹窗信息"`
+	IsShowWxPay        bool                   `description:"是否展示微信支付"`
+	IsCompanyApply     bool                   `description:"机构是否申请过试用"`
+	IsNeedBusinessCard bool                   `description:"是否需要上传名片"`
+	GoodsList          []*order.CygxGoodsResp `description:"商品信息"`
 }
 
 type ActivityArticleResp struct {

+ 4 - 201
services/order.go

@@ -1,7 +1,6 @@
 package services
 
 import (
-	"encoding/json"
 	"errors"
 	"fmt"
 	"hongze/hongze_web_mfyx/models"
@@ -108,8 +107,8 @@ func GetHaverEquallyOrderByUser10MinByActivty(userId, sourceId int) (orderCode s
 	var condition string
 	var pars []interface{}
 	endTime := time.Now().Add(-10 * time.Minute)
-	condition = `  AND order_status = 1  AND source = 'activity' AND  user_id = ? AND  source_id = ? AND create_time > ?  ORDER BY order_id DESC  `
-	pars = append(pars, userId, sourceId, endTime)
+	condition = `  AND order_status = 1  AND source = 'activity' AND  user_id = ? AND  source_id = ? AND create_time > ?  AND register_platform = ? ORDER BY order_id DESC  `
+	pars = append(pars, userId, sourceId, endTime, utils.REGISTER_PLATFORM)
 	orderList, e := order.GetCygxOrderList(condition, pars, 0, 1)
 	if e != nil && e.Error() != utils.ErrNoRow() {
 		err = errors.New("GetCygxOrderList, Err: " + e.Error())
@@ -140,8 +139,8 @@ func GetHaverEquallyOrderByUser10MinByArticle(userId, sourceId int) (orderCode s
 	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)
+	condition = `  AND order_status = 1  AND source = 'article' AND  user_id = ? AND  source_id = ? AND create_time > ?  AND register_platform = ?  ORDER BY order_id DESC  `
+	pars = append(pars, userId, sourceId, endTime, utils.REGISTER_PLATFORM)
 	orderList, e := order.GetCygxOrderList(condition, pars, 0, 1)
 	if e != nil && e.Error() != utils.ErrNoRow() {
 		err = errors.New("GetCygxOrderList, Err: " + e.Error())
@@ -159,199 +158,3 @@ func GetHaverEquallyOrderByUser10MinByArticle(userId, sourceId int) (orderCode s
 	}
 	return
 }
-
-// 处理支付订单回调
-func HandleOrderHandle(itemCallback *WechatPayCallback) {
-	var err error
-	defer func() {
-		if err != nil {
-			fmt.Println(err)
-			go utils.SendAlarmMsg(fmt.Sprint("处理订单回调信息失败 HandleOrderHandle, err:", err.Error()), 2)
-		}
-	}()
-	outTradeNo := itemCallback.OutTradeNo
-	orderDetail, e := order.GetCygxOrderDetailByOrderCode(outTradeNo)
-	if e != nil {
-		err = errors.New("GetCygxOrderDetailByOrderCode, Err: " + e.Error())
-		return
-	}
-
-	go AddCygxOrderPayment(itemCallback) // 记录支付交易信息
-
-	if itemCallback.TradeState != "SUCCESS" { // 回调显示支付不成功,模版消息推送
-		if e != nil {
-			err = errors.New("支付失败,  OrderCode: " + outTradeNo)
-			return
-		}
-	}
-	//修改过状态的不再二次处理
-	if orderDetail.OrderStatus == 2 {
-		return
-	}
-
-	itemOrder := new(order.CygxOrder)
-	itemOrder.OrderCode = itemCallback.OutTradeNo
-	itemOrder.PayTime = itemCallback.SuccessTime
-	itemOrder.PayMoney = float64(float64(itemCallback.Amount.PayerTotal) / 100) // 金额分转换处理
-	itemOrder.OrderStatus = 2
-	itemOrder.OutTradeCode = itemCallback.TransactionID
-
-	//文章处理逻辑  	OrderType        int       `comment:"订单类型,1:畅读卡订单,2:单场付费订单"`
-	if orderDetail.OrderType == 1 {
-		itemUserCard := new(order.CygxOrderUserCard)
-		itemUserCard.OrderCode = orderDetail.OrderCode
-		itemUserCard.UserId = orderDetail.UserId
-		itemUserCard.Mobile = orderDetail.Mobile
-		itemUserCard.Email = orderDetail.Email
-		itemUserCard.CompanyId = orderDetail.CompanyId
-		itemUserCard.CompanyName = orderDetail.CompanyName
-		itemUserCard.RealName = orderDetail.RealName
-		itemUserCard.SellerName = orderDetail.SellerName
-		itemUserCard.CreateTime = time.Now()
-		itemUserCard.ModifyTime = time.Now()
-		itemUserCard.RegisterPlatform = orderDetail.RegisterPlatform
-
-		if orderDetail.GoodsId == 1 {
-			itemUserCard.StartDate = itemOrder.PayTime
-			itemUserCard.EndDate = itemOrder.PayTime.AddDate(0, 0, 1)
-			itemUserCard.CardType = "日卡"
-		} else {
-			now := time.Now()
-			itemUserCard.StartDate = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, time.Local)
-			itemUserCard.EndDate = itemUserCard.StartDate.AddDate(0, 1, 0)
-			itemUserCard.CardType = "月卡"
-		}
-		e = order.AddCygxOrderUserCard(itemUserCard, itemOrder)
-		if e != nil {
-			err = errors.New("AddCygxOrderUserCard, Err: " + e.Error())
-			return
-		}
-	} else if orderDetail.OrderType == 2 {
-		//如果是活动,把单场付费信息的活动写入 用户虚拟资产表
-		itemOrderVirtualAsset := new(order.CygxOrderVirtualAsset)
-		itemOrderVirtualAsset.OrderCode = orderDetail.OrderCode
-		itemOrderVirtualAsset.UserId = orderDetail.UserId
-		itemOrderVirtualAsset.Mobile = orderDetail.Mobile
-		itemOrderVirtualAsset.Email = orderDetail.Email
-		itemOrderVirtualAsset.CompanyId = orderDetail.CompanyId
-		itemOrderVirtualAsset.CompanyName = orderDetail.CompanyName
-		itemOrderVirtualAsset.RealName = orderDetail.RealName
-		itemOrderVirtualAsset.SellerName = orderDetail.SellerName
-		itemOrderVirtualAsset.Source = orderDetail.Source
-		itemOrderVirtualAsset.SourceId = orderDetail.SourceId
-		itemOrderVirtualAsset.CreateTime = time.Now()
-		itemOrderVirtualAsset.ModifyTime = time.Now()
-		e = order.AddCygxOrderVirtualAsset(itemOrderVirtualAsset, itemOrder)
-		if e != nil {
-			err = errors.New("AddCygxOrderVirtualAsset, Err: " + e.Error())
-			return
-		}
-	}
-	fmt.Println(orderDetail.Source)
-	return
-}
-
-func AddCygxOrderPayment(itemCallback *WechatPayCallback) {
-	var err error
-	defer func() {
-		if err != nil {
-			fmt.Println(err)
-			go utils.SendAlarmMsg(fmt.Sprint("处理订单回调信息失败 HandleOrderHandle, err:", err.Error()), 2)
-		}
-	}()
-	itemPay := new(order.CygxOrderPayment)
-	itemPay.OrderCode = itemCallback.OutTradeNo
-	itemPay.OutTradeCode = itemCallback.TransactionID
-	itemPay.PayBody = itemCallback.TradeStateDesc
-	jsonData, _ := json.Marshal(itemCallback)
-	itemPay.PayDetail = string(jsonData)
-	itemPay.PayMoney = float64(float64(itemCallback.Amount.PayerTotal) / 100) // 金额分转换处理
-	itemPay.PayStatus = itemCallback.TradeState
-	itemPay.CreateTime = time.Now()
-	itemPay.PaymentType = 1
-	e := order.AddCygxOrderPayment(itemPay)
-	if e != nil {
-		err = errors.New("AddCygxOrderPayment, Err: " + e.Error())
-		return
-	}
-	return
-}
-
-// 处理退款订单回调
-func HandleOrderRefundHandle(itemCallback *WechatPayCallback) {
-	var err error
-	defer func() {
-		if err != nil {
-			fmt.Println(err)
-			go utils.SendAlarmMsg(fmt.Sprint("处理退款订单回调信息失败 HandleOrderRefundHandle, err:", err.Error()), 2)
-		}
-	}()
-	outTradeNo := itemCallback.OutTradeNo
-	orderDetail, e := order.GetCygxOrderDetailByOrderCode(outTradeNo)
-	if e != nil {
-		err = errors.New("GetCygxOrderDetailByOrderCode, Err: " + e.Error())
-		return
-	}
-
-	//go AddCygxOrderPayment(itemCallback) // 记录支付交易信息
-
-	//修改过状态的不再二次处理
-	if orderDetail.OrderStatus == 3 {
-		return
-	}
-
-	itemOrder := new(order.CygxOrder)
-	itemOrder.OrderCode = itemCallback.OutTradeNo
-	itemOrder.RefundTime = itemCallback.SuccessTime
-	itemOrder.RefundMoney = float64(float64(itemCallback.Amount.PayerTotal) / 100) // 金额分转换处理
-	itemOrder.OrderStatus = 3
-
-	//文章处理逻辑  	OrderType        int       `comment:"订单类型,1:畅读卡订单,2:单场付费订单"`
-	if orderDetail.OrderType == 1 {
-		itemUserCard := new(order.CygxOrderUserCard)
-		itemUserCard.OrderCode = orderDetail.OrderCode
-		itemUserCard.UserId = orderDetail.UserId
-		itemUserCard.Mobile = orderDetail.Mobile
-		itemUserCard.Email = orderDetail.Email
-		itemUserCard.CompanyId = orderDetail.CompanyId
-		itemUserCard.CompanyName = orderDetail.CompanyName
-		itemUserCard.RealName = orderDetail.RealName
-		itemUserCard.SellerName = orderDetail.SellerName
-		itemUserCard.CreateTime = time.Now()
-		itemUserCard.ModifyTime = time.Now()
-		itemUserCard.RegisterPlatform = orderDetail.RegisterPlatform
-
-		if orderDetail.GoodsId == 1 {
-			itemUserCard.CardType = "日卡"
-		} else {
-			itemUserCard.CardType = "月卡"
-		}
-		e = order.RemoveCygxOrderUserCard(itemUserCard, itemOrder) // 移除用户
-		if e != nil {
-			err = errors.New("RemoveCygxOrderUserCard, Err: " + e.Error())
-			return
-		}
-	} else if orderDetail.OrderType == 2 {
-		//如果是活动,把单场付费信息的活动写入 用户虚拟资产表
-		itemOrderVirtualAsset := new(order.CygxOrderVirtualAsset)
-		itemOrderVirtualAsset.OrderCode = orderDetail.OrderCode
-		itemOrderVirtualAsset.UserId = orderDetail.UserId
-		itemOrderVirtualAsset.Mobile = orderDetail.Mobile
-		itemOrderVirtualAsset.Email = orderDetail.Email
-		itemOrderVirtualAsset.CompanyId = orderDetail.CompanyId
-		itemOrderVirtualAsset.CompanyName = orderDetail.CompanyName
-		itemOrderVirtualAsset.RealName = orderDetail.RealName
-		itemOrderVirtualAsset.SellerName = orderDetail.SellerName
-		itemOrderVirtualAsset.Source = orderDetail.Source
-		itemOrderVirtualAsset.SourceId = orderDetail.SourceId
-		itemOrderVirtualAsset.CreateTime = time.Now()
-		itemOrderVirtualAsset.ModifyTime = time.Now()
-		e = order.RemoveCygxOrderVirtualAsset(itemOrderVirtualAsset, itemOrder)
-		if e != nil {
-			err = errors.New("AddCygxOrderVirtualAsset, Err: " + e.Error())
-			return
-		}
-	}
-	fmt.Println(orderDetail.Source)
-	return
-}