|
@@ -7,6 +7,7 @@ import (
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/model"
|
|
|
"github.com/go-nunu/nunu-layout-advanced/internal/repository"
|
|
|
"github.com/spf13/viper"
|
|
|
+ "strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -54,27 +55,6 @@ type gameShieldService struct {
|
|
|
required RequiredService
|
|
|
}
|
|
|
|
|
|
-//func (service *gameShieldService) GetGameShieldrequired(ctx context.Context, req *v1.GameShieldSubmitRequest) (*v1.GetGameShieldRequiredResponse, error) {
|
|
|
-// var res v1.GetGameShieldRequiredResponse
|
|
|
-// var err error
|
|
|
-// if req.Uid == 0 {
|
|
|
-// return nil, fmt.Errorf("uid is required")
|
|
|
-// }
|
|
|
-// res.ExpiredAt, err = service.duedate.NextDueDate(ctx, req.Uid, req.HostId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// res.Backend, err = service.formatter.FormatBackendData(ctx, req)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// res.Cookie, err = service.crawlerService.GetLoginCookie(ctx)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// return &res, nil
|
|
|
-//}
|
|
|
-
|
|
|
func (service *gameShieldService) SubmitGameShield(ctx context.Context, req *v1.GameShieldSubmitRequest) (string, error) {
|
|
|
nameCount, err := service.gameShieldRepository.GetGameShieldDuplicateName(ctx, req.AppName, req.Uid)
|
|
|
if err != nil {
|
|
@@ -83,42 +63,38 @@ func (service *gameShieldService) SubmitGameShield(ctx context.Context, req *v1.
|
|
|
if nameCount > 0 {
|
|
|
return "", fmt.Errorf("应用名称已存在")
|
|
|
}
|
|
|
- //require, err := service.GetGameShieldrequired(ctx, req)
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //dunName := strconv.Itoa(req.Uid) + "_" + strconv.FormatInt(time.Now().Unix(), 10) + "_" + req.AppName
|
|
|
- //formData := map[string]interface{}{
|
|
|
- // "app_name": dunName,
|
|
|
- // "gateway_group_id": 4,
|
|
|
- // "backend": require.Backend,
|
|
|
- // "expired_at": require.ExpiredAt,
|
|
|
- // "max_device_count": 0,
|
|
|
- //}
|
|
|
- //respBody, err := service.required.SendForm(ctx, "admin/info/rule/new", "admin/new/rule", formData)
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //// 解析响应内容中的 alert 消息
|
|
|
- //res, err := service.parser.ParseAlert(string(respBody))
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //if res != "" {
|
|
|
- // return "", fmt.Errorf(res)
|
|
|
- //}
|
|
|
- //KeyAndField, err := service.required.GetKeyAndField(ctx, dunName, "rule_id")
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
+ dunName := strconv.Itoa(req.Uid) + "_" + strconv.FormatInt(time.Now().Unix(), 10) + "_hostId" + req.HostId
|
|
|
+ formData := map[string]interface{}{
|
|
|
+ "app_name": dunName,
|
|
|
+ "gateway_group_id": 4,
|
|
|
+ "backend": "{}",
|
|
|
+ "expired_at": "",
|
|
|
+ "max_device_count": 0,
|
|
|
+ }
|
|
|
+ respBody, err := service.required.SendForm(ctx, "admin/info/rule/new", "admin/new/rule", formData)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ // 解析响应内容中的 alert 消息
|
|
|
+ res, err := service.parser.ParseAlert(string(respBody))
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ if res != "" {
|
|
|
+ return "", fmt.Errorf(res)
|
|
|
+ }
|
|
|
+ KeyAndField, err := service.required.GetKeyAndField(ctx, dunName, "rule_id")
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
if err := service.gameShieldRepository.AddGameShield(ctx, &model.GameShield{
|
|
|
AppName: req.AppName,
|
|
|
GatewayGroupId: 4,
|
|
|
AddTime: time.Now(),
|
|
|
Uid: req.Uid,
|
|
|
HostId: req.HostId,
|
|
|
- AppIp: req.AppIp,
|
|
|
- Checked: req.Checked,
|
|
|
+ DunName: dunName,
|
|
|
+ RuleId: KeyAndField.FieldId,
|
|
|
}); err != nil {
|
|
|
return "", err
|
|
|
}
|
|
@@ -126,58 +102,8 @@ func (service *gameShieldService) SubmitGameShield(ctx context.Context, req *v1.
|
|
|
}
|
|
|
|
|
|
func (service *gameShieldService) EditGameShield(ctx context.Context, req *v1.GameShieldSubmitRequest) (string, error) {
|
|
|
- ruleId, err := service.gameShieldRepository.GetGameShieldRuleIdByAppName(ctx, req.AppName)
|
|
|
- if err != nil {
|
|
|
- return "", err
|
|
|
- }
|
|
|
- if ruleId != req.RuleId {
|
|
|
- return "", fmt.Errorf("应用名称已存在")
|
|
|
- }
|
|
|
- //require, err := service.GetGameShieldrequired(ctx, req)
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //tokenUrl := service.Url + "admin/info/rule/edit?&__goadmin_edit_pk=" + strconv.Itoa(req.RuleId) + "_" + req.AppName
|
|
|
- //tokens, err := service.crawlerService.GetFormTokens(ctx, tokenUrl, require.Cookie)
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //sendUrl := service.Url + "admin/edit/rule"
|
|
|
- //
|
|
|
- //dunName := strconv.Itoa(req.Uid) + "_" + strconv.FormatInt(time.Now().Unix(), 10) + "_" + req.AppName
|
|
|
- //formData := map[string]interface{}{
|
|
|
- // "app_name": dunName,
|
|
|
- // "gateway_group_id": 4,
|
|
|
- // "backend": require.Backend,
|
|
|
- // "rule_id": req.RuleId,
|
|
|
- // "expired_at": require.ExpiredAt,
|
|
|
- // "max_device_count": 0,
|
|
|
- // "__go_admin_previous_": tokens["previous"],
|
|
|
- // "__go_admin_t_": tokens["t"],
|
|
|
- //}
|
|
|
- //respBody, err := service.crawlerService.SendFormData(ctx, sendUrl, require.Cookie, formData)
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //// 解析响应内容中的 alert 消息
|
|
|
- //res, err := service.parser.ParseAlert(string(respBody))
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
- //if res != "" {
|
|
|
- // return "", fmt.Errorf(res)
|
|
|
- //}
|
|
|
- //KeyAndField, err := service.required.GetKeyAndField(ctx, dunName, "rule_id")
|
|
|
- //if err != nil {
|
|
|
- // return "", err
|
|
|
- //}
|
|
|
if err := service.gameShieldRepository.UpdateGameShield(ctx, &model.GameShield{
|
|
|
- AppName: req.AppName,
|
|
|
- GatewayGroupId: 4,
|
|
|
- Uid: req.Uid,
|
|
|
- HostId: req.HostId,
|
|
|
- AppIp: req.AppIp,
|
|
|
- Checked: req.Checked,
|
|
|
+ AppName: req.AppName,
|
|
|
}); err != nil {
|
|
|
return "", err
|
|
|
}
|