商标注册官费是300元,(限定本类10个商品。10个以上商品,每超过1个商品,每个商品加收30元)
第一种情况
你做餐饮的需要注册43类,还想在把35类也一起注册了,这就是两个类别,官费就是600元。也就是注册的官费300元 X 注册类别个数=注册费用
第二种情况
你注册第25类服装,选择了十个小项目(针织内衣,网球服,网球裙,围裙,女式内衣,无肩带乳罩,女式裙裤,女式上衣,女式套服,女式套装),你还想再这个25类别里面加上(晚礼服大衣),这就11个小项目了。费用是330元,超过十个多余的小项目,多出一个加收30元。注册费用=300+30*( (注册小项个数—10)<=0?0:(注册小项个数—10) ),注意:必须是再同一个类别,跨类就收两个类别的钱。
总结-计算算法
//golang 算法
//商标注册费率规则
type TmRegisterFeeRule struct {
//项目基础费用
ItemBasisFee float32
//免费项数量
FreeItemAmount int
//项多出费用
ItemExtraFee float32
}
func main() {
var TmTemp TmRegisterFeeRule
TmTemp.ItemBasisFee = 300.00
TmTemp.FreeItemAmount = 10
TmTemp.ItemExtraFee = 30.00
var (
//注册数量
registerItemAmount int = 1
//注册项目数组
registerItemArray map[int]map[int]string
//结算费用
calcFee float32 = 0.0
)
registerItemArray = make(map[int]map[int]string)
for i := 0; i <= Common.RandInt(1, 10); i++ {
temp := map[int]string{}
for j := 0; j <= Common.RandInt(1, 30); j++ {
temp[j+1] = strconv.Itoa(Common.RandInt(10000, 99999))
}
registerItemArray[i+1] = temp
diff := func() float32 {
diff := float32(len(temp) - TmTemp.FreeItemAmount)
if diff <= 0 {
return 0
} else {
return diff
}
}()
//calcFee+=
//计算结果
calcFee += (float32(registerItemAmount) * TmTemp.ItemBasisFee) + diff*TmTemp.ItemExtraFee
}
jsonStr, _ := json.Marshal(registerItemArray)
fmt.Println(TmTemp, jsonStr, calcFee)
}