From d70c22dde88a0afcf712849d3bd93403c744a81e Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Thu, 23 Mar 2023 20:58:33 +0800 Subject: [PATCH] =?UTF-8?q?=20fix:=20=E8=A7=A3=E5=86=B3=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=88=86=E7=BB=84=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(#385)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/dto/group.go | 1 + backend/app/repo/group.go | 6 +++--- backend/app/service/group.go | 2 +- frontend/src/components/group/index.vue | 1 + frontend/src/views/login/components/login-form.vue | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/app/dto/group.go b/backend/app/dto/group.go index 387d492a2..60179d7ac 100644 --- a/backend/app/dto/group.go +++ b/backend/app/dto/group.go @@ -13,6 +13,7 @@ type GroupSearch struct { type GroupUpdate struct { ID uint `json:"id"` Name string `json:"name"` + Type string `json:"type" validate:"required"` IsDefault bool `json:"isDefault"` } diff --git a/backend/app/repo/group.go b/backend/app/repo/group.go index 1c2afb6a5..de154e02b 100644 --- a/backend/app/repo/group.go +++ b/backend/app/repo/group.go @@ -14,7 +14,7 @@ type IGroupRepo interface { Create(group *model.Group) error Update(id uint, vars map[string]interface{}) error Delete(opts ...DBOption) error - CancelDefault() error + CancelDefault(groupType string) error WithByIsDefault(isDefault bool) DBOption } @@ -64,6 +64,6 @@ func (u *GroupRepo) Delete(opts ...DBOption) error { return db.Delete(&model.Group{}).Error } -func (u *GroupRepo) CancelDefault() error { - return global.DB.Model(&model.Group{}).Where("`is_default` = 1").Updates(map[string]interface{}{"is_default": 0}).Error +func (u *GroupRepo) CancelDefault(groupType string) error { + return global.DB.Model(&model.Group{}).Where("is_default = ? AND type = ?", 1, groupType).Updates(map[string]interface{}{"is_default": 0}).Error } diff --git a/backend/app/service/group.go b/backend/app/service/group.go index 09152281f..11c5f87c4 100644 --- a/backend/app/service/group.go +++ b/backend/app/service/group.go @@ -73,7 +73,7 @@ func (u *GroupService) Delete(id uint) error { func (u *GroupService) Update(req dto.GroupUpdate) error { if req.IsDefault { - if err := groupRepo.CancelDefault(); err != nil { + if err := groupRepo.CancelDefault(req.Type); err != nil { return err } } diff --git a/frontend/src/components/group/index.vue b/frontend/src/components/group/index.vue index bb8735663..5ef57bf91 100644 --- a/frontend/src/components/group/index.vue +++ b/frontend/src/components/group/index.vue @@ -124,6 +124,7 @@ const saveGroup = async (formEl: FormInstance, group: Group.GroupInfo) => { const setDefault = (group: Group.GroupInfo) => { group.isDefault = true; + group.type = type.value; UpdateGroup(group).then(() => { MsgSuccess(i18n.global.t('commons.msg.updateSuccess')); search(); diff --git a/frontend/src/views/login/components/login-form.vue b/frontend/src/views/login/components/login-form.vue index 9f4453f20..bbbd14910 100644 --- a/frontend/src/views/login/components/login-form.vue +++ b/frontend/src/views/login/components/login-form.vue @@ -70,7 +70,7 @@