diff --git a/pkg/router/bundleOrder.go b/pkg/router/bundleOrder.go index f1b5f7c..0c8ffd4 100644 --- a/pkg/router/bundleOrder.go +++ b/pkg/router/bundleOrder.go @@ -12,7 +12,7 @@ func BundleOrderRouter(r *gin.RouterGroup) { r.POST("/stripe-pay/callback", bundle.StripeCheckoutSessionWebhook) r.POST("/antom/callback", bundle.AntomWebhook) // Antom回调 - + r.POST("/home-page/roll", bundle.HomePageRoll) bundleOrderRoute := r.Group("bundle-order") bundleOrderRoute.Use(middleware.CheckLogin(service.AccountFieeProvider)) //bundleOrderWebRoute := r.Group("bundle-order") diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index 473e90e..d62d3b8 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "fmt" + "fonchain-fiee/api/accountFiee" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" "fonchain-fiee/api/payment" @@ -366,3 +367,56 @@ func AntomWebhook(c *gin.Context) { } service.Success(c) } +func HomePageRoll(c *gin.Context) { + //var req order.HomePageRollRequest + res, err := service.BundleProvider.OrderRecordsListV2(context.Background(), &bundle.OrderRecordsRequestV2{ + Page: 1, + PageSize: 5, + }) + if err != nil { + service.Error(c, err) + return + } + if len(res.BundleInfo) == 0 { + service.Success(c, nil) + return + } + type Roll struct { + Tel string `json:"tel"` + Name string `json:"name"` + } + var userIds []int64 + for _, i := range res.BundleInfo { + userIds = append(userIds, i.CustomerId) + } + userListResp, err := service.AccountFieeProvider.UserList(context.Background(), &accountFiee.UserListRequest{ + Ids: userIds, + Domain: "app", + }) + if err != nil { + service.Error(c, err) + return + } + + // 建立用户ID -> 用户信息映射 + userMap := make(map[int64]*accountFiee.UserListInfo, len(userListResp.UserList)) + for _, u := range userListResp.UserList { + userMap[int64(u.Id)] = u + } + + var roll []Roll + for _, i := range res.BundleInfo { + maskedTel := userMap[i.CustomerId].TelNum + if len(userMap[i.CustomerId].TelNum) >= 11 { // 标准11位手机号 + maskedTel = userMap[i.CustomerId].TelNum[:3] + "****" + userMap[i.CustomerId].TelNum[7:] + } else if len(userMap[i.CustomerId].TelNum) >= 7 { // 短号处理 + maskedTel = userMap[i.CustomerId].TelNum[:3] + "****" + userMap[i.CustomerId].TelNum[7:] + } + roll = append(roll, Roll{ + Tel: maskedTel, + Name: i.BundleName, + }) + } + service.Success(c, roll) + return +}