|
@@ -2,6 +2,7 @@ package user
|
|
|
|
|
|
import (
|
|
import (
|
|
"eta/eta_mini_ht_api/common/exception"
|
|
"eta/eta_mini_ht_api/common/exception"
|
|
|
|
+ "eta/eta_mini_ht_api/common/utils/page"
|
|
"eta/eta_mini_ht_api/controllers"
|
|
"eta/eta_mini_ht_api/controllers"
|
|
"eta/eta_mini_ht_api/service/facade"
|
|
"eta/eta_mini_ht_api/service/facade"
|
|
"eta/eta_mini_ht_api/service/order"
|
|
"eta/eta_mini_ht_api/service/order"
|
|
@@ -13,7 +14,7 @@ import (
|
|
)
|
|
)
|
|
|
|
|
|
type SubscribeController struct {
|
|
type SubscribeController struct {
|
|
- controllers.BaseController
|
|
|
|
|
|
+ controllers.ListController
|
|
}
|
|
}
|
|
|
|
|
|
var (
|
|
var (
|
|
@@ -60,7 +61,7 @@ func orderNoRateLimitFilter(userId int) (code int) {
|
|
code = http.StatusBadRequest
|
|
code = http.StatusBadRequest
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- if !orderRateLimiter.Allow(userId) {
|
|
|
|
|
|
+ if !orderNoRateLimiter.Allow(userId) {
|
|
code = http.StatusTooManyRequests
|
|
code = http.StatusTooManyRequests
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -98,6 +99,64 @@ func (sc *SubscribeController) GetOrderNo() {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// OrderDetail 获取订单号
|
|
|
|
+// @Summary 获取订单号
|
|
|
|
+// @Description 获取订单号
|
|
|
|
+// @Success 200 {object} controllers.BaseResponse
|
|
|
|
+// @router /subscribe/orderDetail [get]
|
|
|
|
+func (sc *SubscribeController) GetOrderDetail(orderId int) {
|
|
|
|
+ controllers.Wrap(&sc.BaseController, func() (result *controllers.WrapData, err error) {
|
|
|
|
+ result = sc.InitWrapData("获取订单号失败")
|
|
|
|
+ userInfo := sc.Data["user"].(user.User)
|
|
|
|
+ if orderId <= 0 {
|
|
|
|
+ err = exception.New(exception.IllegalProductOrderId)
|
|
|
|
+ sc.FailedResult("获取订单详情失败,产品编号非法", result)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ orderDetail, err := order.GetOrderDetail(orderId, userInfo.Id)
|
|
|
|
+ if err != nil {
|
|
|
|
+ sc.FailedResult("获取订单详情失败", result)
|
|
|
|
+ }
|
|
|
|
+ sc.SuccessResult("获取订单详情成功", orderDetail, result)
|
|
|
|
+ return
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetOrderList 获取用户订单号列表
|
|
|
|
+// @Summary 获取用户订单号列表
|
|
|
|
+// @Description 获取用户订单号列表
|
|
|
|
+// @Success 200 {object} controllers.BaseResponse
|
|
|
|
+// @router /subscribe/orderList [get]
|
|
|
|
+func (sc *SubscribeController) GetOrderList() {
|
|
|
|
+ controllers.Wrap(&sc.BaseController, func() (result *controllers.WrapData, err error) {
|
|
|
|
+ result = sc.InitWrapData("分页查询订单列表失败")
|
|
|
|
+ userInfo := sc.Data["user"].(user.User)
|
|
|
|
+ pageRes := page.Page{
|
|
|
|
+ Current: sc.PageInfo.Current,
|
|
|
|
+ PageSize: sc.PageInfo.PageSize,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ pageRes.Total, pageRes.LatestId = order.GetTotalPageCountByUserId(userInfo.Id)
|
|
|
|
+ if sc.PageInfo.LatestId == 0 {
|
|
|
|
+ sc.PageInfo.LatestId = pageRes.LatestId
|
|
|
|
+ } else {
|
|
|
|
+ pageRes.LatestId = sc.PageInfo.LatestId
|
|
|
|
+ pageRes.Total = sc.PageInfo.Total
|
|
|
|
+ }
|
|
|
|
+ pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
|
|
|
|
+ list, err := order.GetOrderPage(sc.PageInfo, userInfo.Id)
|
|
|
|
+ if err != nil {
|
|
|
|
+ sc.FailedResult("分页查询报告列表失败", result)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ orders := new(page.PageResult)
|
|
|
|
+ orders.Data = list
|
|
|
|
+ orders.Page = pageRes
|
|
|
|
+ sc.SuccessResult("查询报告列表成功", orders, result)
|
|
|
|
+ return
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
// SubscribeProduct 订阅产品
|
|
// SubscribeProduct 订阅产品
|
|
// @Summary 订阅产品
|
|
// @Summary 订阅产品
|
|
// @Description 订阅产品
|
|
// @Description 订阅产品
|
|
@@ -125,6 +184,7 @@ func (sc *SubscribeController) SubscribeProduct() {
|
|
sc.FailedResult("操作太频繁了,请稍后再试", result)
|
|
sc.FailedResult("操作太频繁了,请稍后再试", result)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ //校验是否已经购买并且在有效期内
|
|
//是否开户
|
|
//是否开户
|
|
//未开户
|
|
//未开户
|
|
officialUser, err := user.GetUserByTemplateUserId(userInfo.Id)
|
|
officialUser, err := user.GetUserByTemplateUserId(userInfo.Id)
|
|
@@ -133,7 +193,7 @@ func (sc *SubscribeController) SubscribeProduct() {
|
|
result.Ret = AccountNotOpen
|
|
result.Ret = AccountNotOpen
|
|
sc.FailedResult("用户未开通账户", result)
|
|
sc.FailedResult("用户未开通账户", result)
|
|
} else {
|
|
} else {
|
|
- sc.FailedResult("订阅产品失败", result)
|
|
|
|
|
|
+ sc.FailedResult("获取用户账户信息失败", result)
|
|
}
|
|
}
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -151,7 +211,7 @@ func (sc *SubscribeController) SubscribeProduct() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
//主动发起查询最新风险测评(获取失败用系统中原有的测评信息)
|
|
//主动发起查询最新风险测评(获取失败用系统中原有的测评信息)
|
|
- code, err := facade.CheckUserRiskLevel(userInfo.Id, subscribeReq.ProductId)
|
|
|
|
|
|
+ code, err := facade.CheckUserRiskLevel(userInfo.Id, subscribeReq.ProductId, officialUser)
|
|
if err != nil {
|
|
if err != nil {
|
|
result.Ret = code
|
|
result.Ret = code
|
|
sc.FailedResult("校验用户风险等级失败", result)
|
|
sc.FailedResult("校验用户风险等级失败", result)
|