diff --git a/domain/model/groupPower_m/family.go b/domain/model/groupPower_m/family.go index fa7c13cbeae8801fb1963b6e7b588a8aef3e9abd..2c881c37417c992aabb941e37c029b5515613f53 100644 --- a/domain/model/groupPower_m/family.go +++ b/domain/model/groupPower_m/family.go @@ -2,6 +2,7 @@ package groupPower_m import ( "git.hilo.cn/hilo-common/domain" + "git.hilo.cn/hilo-common/resource/mysql" "gorm.io/gorm" "hilo-group/_const/enum/groupPower_e" "hilo-group/common" @@ -116,9 +117,13 @@ func UpdateFamily(model *domain.Model, familyId uint64, name, nameplate, declara if familyId == 0 || (name == "" && nameplate == "" && declaration == "" && icon == "") { return nil } + var groupPower GroupPower + if err := model.DB().Model(GroupPower{}).Where("id = ?", familyId).First(&groupPower).Error; err != nil { + return err + } // 修改铭牌 if nameplate != "" { - sql := "UPDATE `group_power` a left join (SELECT ? `id` FROM group_power WHERE nameplate = ?) b on a.id = b.id SET a.`nameplate`=? where a.id=? and b.id is null;" + sql := "UPDATE `group_power` a left join (SELECT ? `id` FROM group_power WHERE nameplate = ?) b on a.id = b.id SET a.`nameplate`=?,modify_nameplate = 1 where a.id=? and b.id is null;" result := model.Db.Exec(sql, familyId, nameplate, nameplate, familyId) if result.Error != nil { return myerr.WrapErr(result.Error) @@ -132,6 +137,14 @@ func UpdateFamily(model *domain.Model, familyId uint64, name, nameplate, declara updateMap := make(map[string]interface{}) if name != "" { updateMap["name"] = name + if groupPower.ModifyNameplate != mysql.YES { + // 同步修改铭牌 + n := len([]rune(name)) + if n > 6 { + n = 6 + } + updateMap["nameplate"] = string([]rune(name[0:n])) + } } if declaration != "" { updateMap["declaration"] = declaration diff --git a/domain/model/groupPower_m/groupPower.go b/domain/model/groupPower_m/groupPower.go index 37c4fbf743956266b980814948a1275c071e166c..52c382c7c1af8c6a526bc81e0615597ae1fd1cad 100644 --- a/domain/model/groupPower_m/groupPower.go +++ b/domain/model/groupPower_m/groupPower.go @@ -22,16 +22,17 @@ import ( type GroupPower struct { mysql.Entity - *domain.Model `gorm:"-"` - GroupUid mysql.Str - Name mysql.Str - Status groupPower_e.GroupPowerStatus - Nameplate mysql.Str // 铭牌 - Declaration mysql.Str // 宣言 - Icon mysql.Str // 头像 - GradeName mysql.Str // 等级称号 - GradeMedal mysql.Str // 等级勋章图片 - Grade groupPower_e.GroupPowerGrade `gorm:"-"` + *domain.Model `gorm:"-"` + GroupUid mysql.Str + Name mysql.Str + Status groupPower_e.GroupPowerStatus + Nameplate mysql.Str // 铭牌 + Declaration mysql.Str // 宣言 + Icon mysql.Str // 头像 + GradeName mysql.Str // 等级称号 + GradeMedal mysql.Str // 等级勋章图片 + Grade groupPower_e.GroupPowerGrade `gorm:"-"` + ModifyNameplate mysql.YesNo } type GroupPowerUser struct {