Преглед на файлове

update 新增风控相关接口

Alvin преди 10 месеца
родител
ревизия
94813c2ca4

+ 91 - 0
game/game_cluster/nodes/webadmin/controller/riskControl.go

@@ -0,0 +1,91 @@
+package controller
+
+import (
+	"github.com/gin-gonic/gin"
+	"github.com/mhaya/game/game_cluster/internal/code"
+	"github.com/mhaya/game/game_cluster/nodes/webadmin/common"
+	"github.com/mhaya/game/game_cluster/nodes/webadmin/entity"
+	"github.com/mhaya/game/game_cluster/nodes/webadmin/service"
+)
+
+type RiskControl struct {
+	sev *service.RiskControl
+}
+
+func NewRiskControl() *RiskControl {
+	return &RiskControl{
+		sev: service.NewRiskControl(),
+	}
+}
+
+// 同IP下,有多个指纹数据
+func (w *RiskControl) MultipleFingerprintInIp(ctx *gin.Context) {
+	// TODO MultipleFingerprintInIp
+	var req entity.WhitelistListReq
+	if err := ctx.ShouldBindJSON(&req); err != nil {
+		common.PackOkResult(ctx, code.ParamError)
+		return
+	}
+
+	resp, err := w.sev.MultipleFingerprintInIp(req)
+	if err != nil {
+		common.PackOkResult(ctx, err.Code)
+		return
+	}
+
+	common.PackOkResult(ctx, code.OK, resp)
+}
+
+// 同tg号码下,有多个提现地址
+func (w *RiskControl) MultipleAddressInTg(ctx *gin.Context) {
+	// TODO MultipleAddress
+	var req entity.WhitelistListReq
+	if err := ctx.ShouldBindJSON(&req); err != nil {
+		common.PackOkResult(ctx, code.ParamError)
+		return
+	}
+
+	resp, err := w.sev.MultipleAddressInTg(req)
+	if err != nil {
+		common.PackOkResult(ctx, err.Code)
+		return
+	}
+
+	common.PackOkResult(ctx, code.OK, resp)
+}
+
+// 同提现地址下,有多个tg号码
+func (w *RiskControl) MultipleTgInAddress(ctx *gin.Context) {
+	// TODO MultipleTgInAddress
+	var req entity.WhitelistListReq
+	if err := ctx.ShouldBindJSON(&req); err != nil {
+		common.PackOkResult(ctx, code.ParamError)
+		return
+	}
+
+	resp, err := w.sev.MultipleTgInAddress(req)
+	if err != nil {
+		common.PackOkResult(ctx, err.Code)
+		return
+	}
+
+	common.PackOkResult(ctx, code.OK, resp)
+}
+
+// 同IP下,有多个tg号码
+func (w *RiskControl) MultipleTgInIp(ctx *gin.Context) {
+	// TODO MultipleTgInIp
+	var req entity.WhitelistListReq
+	if err := ctx.ShouldBindJSON(&req); err != nil {
+		common.PackOkResult(ctx, code.ParamError)
+		return
+	}
+
+	resp, err := w.sev.MultipleTgInIp(req)
+	if err != nil {
+		common.PackOkResult(ctx, err.Code)
+		return
+	}
+
+	common.PackOkResult(ctx, code.OK, resp)
+}

+ 6 - 0
game/game_cluster/nodes/webadmin/router/router.go

@@ -99,6 +99,12 @@ func (c *Controller) InitApiRouter(u *gin.RouterGroup) {
 	u.POST("/whitelist/add", controller.NewWhitelist().AddWhitelist)
 	u.POST("/whitelist/remove", controller.NewWhitelist().RemoveWhitelist)
 	u.POST("/whitelist/list", controller.NewWhitelist().GetWhitelist)
+
+	// 风控
+	u.POST("/riskControl/multipleFingerprintInIp", controller.NewRiskControl().MultipleFingerprintInIp)
+	u.POST("/riskControl/multipleAddressInTg", controller.NewRiskControl().MultipleAddressInTg)
+	u.POST("/riskControl/multipleTgInAddress", controller.NewRiskControl().MultipleTgInAddress)
+	u.POST("/riskControl/multipleTgInIp", controller.NewRiskControl().MultipleTgInIp)
 }
 
 // func (c *Controller) InitMdb() {

+ 37 - 0
game/game_cluster/nodes/webadmin/service/riskControl.go

@@ -0,0 +1,37 @@
+package service
+
+import (
+	"github.com/mhaya/game/game_cluster/internal/code"
+	"github.com/mhaya/game/game_cluster/nodes/webadmin/entity"
+)
+
+type RiskControl struct {
+}
+
+func NewRiskControl() *RiskControl {
+	return &RiskControl{}
+}
+
+// 同IP下,有多个指纹数据
+func (s *RiskControl) MultipleFingerprintInIp(req entity.WhitelistListReq) (*entity.WhitelistListResp, *code.Result) {
+	// TODO MultipleFingerprintInIp 同IP,指纹数量>10
+	return nil, nil
+}
+
+// 同tg号码下,有多个提现地址
+func (s *RiskControl) MultipleAddressInTg(req entity.WhitelistListReq) (*entity.WhitelistListResp, *code.Result) {
+	// TODO MultipleAddressInTg 同tg号码,提现地址数量>5
+	return nil, nil
+}
+
+// 同提现地址下,有多个tg号码
+func (s *RiskControl) MultipleTgInAddress(req entity.WhitelistListReq) (*entity.WhitelistListResp, *code.Result) {
+	// TODO MultipleTg 同提现地址,tg号码数量>5
+	return nil, nil
+}
+
+// 同IP下,有多个tg号码
+func (s *RiskControl) MultipleTgInIp(req entity.WhitelistListReq) (*entity.WhitelistListResp, *code.Result) {
+	// TODO MultipleTgInIp 同IP,tg号码数量>10
+	return nil, nil
+}