上传商店折扣结算

This commit is contained in:
liwei1dao 2022-07-18 10:58:37 +08:00
parent fe776970a9
commit 938d4b47fc
4 changed files with 333 additions and 297 deletions

View File

@ -1,259 +1,4 @@
[
{
"id": 1,
"name": "绿色材料",
"usetype": 1,
"color": 1,
"bagtype": 1,
"index": 1,
"special_type": 0,
"effects": "",
"drop": 0,
"synthetize_num": 10,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 10,
"isani": 0,
"star": 2,
"race": 1,
"synthetize_hero": 0,
"img": "item1",
"ico": "item1",
"intr": "绿色材料,可以合成蓝色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 2000
}
],
"boxhero": []
},
{
"id": 2,
"name": "蓝色材料",
"usetype": 1,
"color": 2,
"bagtype": 2,
"index": 2,
"special_type": 0,
"effects": "",
"drop": 0,
"synthetize_num": 20,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 3,
"race": 2,
"synthetize_hero": 0,
"img": "item2",
"ico": "item2",
"intr": "蓝色材料,可以合成紫色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 3000
}
],
"boxhero": []
},
{
"id": 3,
"name": "紫色材料",
"usetype": 1,
"color": 3,
"bagtype": 3,
"index": 3,
"special_type": 0,
"effects": "",
"drop": 0,
"synthetize_num": 30,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 4,
"race": 3,
"synthetize_hero": 0,
"img": "item3",
"ico": "item3",
"intr": "紫色材料,可以合成橙色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 4000
}
],
"boxhero": []
},
{
"id": 4,
"name": "橙色材料",
"usetype": 1,
"color": 4,
"bagtype": 3,
"index": 4,
"special_type": 0,
"effects": "",
"drop": 0,
"synthetize_num": 40,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 4,
"synthetize_hero": 0,
"img": "item4",
"ico": "item4",
"intr": "橙色材料,可以合成红色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 5000
}
],
"boxhero": []
},
{
"id": 5,
"name": "红色材料",
"usetype": 2,
"color": 5,
"bagtype": 3,
"index": 5,
"special_type": 0,
"effects": "effects1",
"drop": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 1,
"uselv": 0,
"isani": 1,
"star": 6,
"race": 4,
"synthetize_hero": 0,
"img": "item5",
"ico": "item5",
"intr": "红色材料,最顶级的材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 6000
}
],
"boxhero": []
},
{
"id": 6,
"name": "金币箱子",
"usetype": 4,
"color": 4,
"bagtype": 1,
"index": 6,
"special_type": 0,
"effects": "",
"drop": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"synthetize_hero": 0,
"img": "item6",
"ico": "item6",
"intr": "可以在以下道具中选择任选1个",
"sale": [],
"boxhero": []
},
{
"id": 7,
"name": "随机金币箱子",
"usetype": 7,
"color": 4,
"bagtype": 1,
"index": 7,
"special_type": 0,
"effects": "",
"drop": 1,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"synthetize_hero": 0,
"img": "item7",
"ico": "item7",
"intr": "可以下一下道具中随机获取1个",
"sale": [],
"boxhero": []
},
{
"id": 8,
"name": "2小时金币",
"usetype": 5,
"color": 4,
"bagtype": 1,
"index": 8,
"special_type": 120,
"effects": "",
"drop": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"synthetize_hero": 0,
"img": "item8",
"ico": "item8",
"intr": "使用后获得2小时金币收益",
"sale": [],
"boxhero": []
},
{
"id": 9,
"name": "1分钟就不见",
"usetype": 6,
"color": 4,
"bagtype": 1,
"index": 9,
"special_type": 1,
"effects": "",
"drop": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"synthetize_hero": 0,
"img": "item9",
"ico": "item9",
"intr": "获得1分钟后该道具消失",
"sale": [],
"boxhero": []
},
{
"id": 10001,
"name": "绿色材料",
@ -263,7 +8,7 @@
"index": 1,
"special_type": 0,
"effects": "",
"drop": 0,
"box_id": 0,
"synthetize_num": 10,
"access": 0,
"use_skip": 0,
@ -272,11 +17,292 @@
"isani": 0,
"star": 2,
"race": 1,
"synthetize_hero": 0,
"img": "item1",
"ico": "item1",
"intr": "绿色材料,可以合成蓝色材料",
"sale": [],
"boxhero": []
"sale": [
{
"a": "attr",
"t": "gold",
"n": 2000
}
]
},
{
"id": 10002,
"name": "蓝色材料",
"usetype": 1,
"color": 2,
"bagtype": 1,
"index": 2,
"special_type": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 20,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 3,
"race": 2,
"img": "item2",
"ico": "item2",
"intr": "蓝色材料,可以合成紫色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 3000
}
]
},
{
"id": 10003,
"name": "紫色材料",
"usetype": 1,
"color": 3,
"bagtype": 1,
"index": 3,
"special_type": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 30,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 4,
"race": 3,
"img": "item3",
"ico": "item3",
"intr": "紫色材料,可以合成橙色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 4000
}
]
},
{
"id": 10004,
"name": "橙色材料",
"usetype": 1,
"color": 4,
"bagtype": 1,
"index": 4,
"special_type": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 40,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 4,
"img": "item4",
"ico": "item4",
"intr": "橙色材料,可以合成红色材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 5000
}
]
},
{
"id": 10005,
"name": "红色材料",
"usetype": 2,
"color": 5,
"bagtype": 1,
"index": 5,
"special_type": 0,
"effects": "effects1",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 1,
"uselv": 0,
"isani": 1,
"star": 6,
"race": 4,
"img": "item5",
"ico": "item5",
"intr": "红色材料,最顶级的材料",
"sale": [
{
"a": "attr",
"t": "gold",
"n": 6000
}
]
},
{
"id": 10006,
"name": "5星阿宝碎片",
"usetype": 3,
"color": 5,
"bagtype": 2,
"index": 6,
"special_type": 0,
"effects": "",
"box_id": 10001,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 6,
"race": 0,
"img": "item6",
"ico": "item6",
"intr": "集齐50个碎片合成阿宝",
"sale": []
},
{
"id": 10007,
"name": "金币自选箱子",
"usetype": 4,
"color": 4,
"bagtype": 1,
"index": 7,
"special_type": 0,
"effects": "",
"box_id": 10001,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"img": "item7",
"ico": "item7",
"intr": "可以在以下道具中选择任选1个",
"sale": []
},
{
"id": 10008,
"name": "随机金币箱子",
"usetype": 5,
"color": 4,
"bagtype": 1,
"index": 8,
"special_type": 0,
"effects": "",
"box_id": 10001,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"img": "item8",
"ico": "item8",
"intr": "可以下一下道具中随机获取1个",
"sale": []
},
{
"id": 10009,
"name": "金币箱子",
"usetype": 6,
"color": 4,
"bagtype": 1,
"index": 9,
"special_type": 0,
"effects": "",
"box_id": 10001,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"img": "item9",
"ico": "item9",
"intr": "打开后可以获得金币",
"sale": []
},
{
"id": 10010,
"name": "2小时金币",
"usetype": 7,
"color": 4,
"bagtype": 1,
"index": 10,
"special_type": 120,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"img": "item9",
"ico": "item9",
"intr": "使用后获得2小时金币收益",
"sale": []
},
{
"id": 1,
"name": "宝箱自选",
"usetype": 4,
"color": 4,
"bagtype": 1,
"index": 7,
"special_type": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 5,
"race": 0,
"img": "wp_icon_0001",
"ico": "wp_icon_0001",
"intr": "可以在以下道具中选择任选1个",
"sale": []
},
{
"id": 2,
"name": "金币",
"usetype": 4,
"color": 3,
"bagtype": 1,
"index": 7,
"special_type": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 4,
"race": 0,
"img": "wp_icon_0002",
"ico": "wp_icon_0002",
"intr": "货币",
"sale": []
}
]

View File

@ -17,7 +17,7 @@
"n": 10000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -45,7 +45,7 @@
"n": 20000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -73,7 +73,7 @@
"n": 30000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -101,7 +101,7 @@
"n": 40000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -129,7 +129,7 @@
"n": 50000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -157,7 +157,7 @@
"n": 60000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -185,7 +185,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -220,7 +220,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -255,7 +255,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -290,7 +290,7 @@
"n": 10000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -318,7 +318,7 @@
"n": 20000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -346,7 +346,7 @@
"n": 30000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -374,7 +374,7 @@
"n": 40000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -402,7 +402,7 @@
"n": 50000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -430,7 +430,7 @@
"n": 60000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -458,7 +458,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -493,7 +493,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -528,7 +528,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -563,7 +563,7 @@
"n": 10000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -591,7 +591,7 @@
"n": 20000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -619,7 +619,7 @@
"n": 30000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -647,7 +647,7 @@
"n": 40000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -675,7 +675,7 @@
"n": 50000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -703,7 +703,7 @@
"n": 60000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -731,7 +731,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -766,7 +766,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -801,7 +801,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -836,7 +836,7 @@
"n": 10000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -864,7 +864,7 @@
"n": 20000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -892,7 +892,7 @@
"n": 30000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -920,7 +920,7 @@
"n": 40000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -948,7 +948,7 @@
"n": 50000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -976,7 +976,7 @@
"n": 60000
}
],
"sale": 5,
"sale": 500,
"salelist": [],
"buyminnum": 1,
"buymaxnum": 10,
@ -1004,7 +1004,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -1039,7 +1039,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,
@ -1074,7 +1074,7 @@
"n": 10000
}
],
"sale": 10,
"sale": 1000,
"salelist": [
1000,
1000,

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"math"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
@ -23,6 +24,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb
ok bool
conf *cfg.Game_shopitemData
shopitem *pb.DBShopItem
need []*cfg.Game_atn
)
defer func() {
if code == pb.ErrorCode_Success {
@ -44,6 +46,14 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb
LastBuyTime: 0,
}
}
need = make([]*cfg.Game_atn, len(conf.Need))
for i, v := range conf.Need {
need[i] = &cfg.Game_atn{
A: v.A,
T: v.T,
N: int32(math.Ceil(float64(v.N) * float64(conf.Sale) / float64(100))),
}
}
if code = this.module.CheckConsumeRes(session.GetUserId(), conf.Need, true); code != pb.ErrorCode_Success {
return

View File

@ -16,7 +16,7 @@ type Game_shopitemData struct {
Iteminfo []*Game_atn
Probability int32
Need []*Game_atn
Sale float32
Sale int32
Salelist []int32
Buyminnum int32
Buymaxnum int32
@ -64,7 +64,7 @@ func NewGame_shopitemData(_buf map[string]interface{}) (_v *Game_shopitemData, e
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sale"].(float64); !_ok_ { err = errors.New("sale error"); return }; _v.Sale = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sale"].(float64); !_ok_ { err = errors.New("sale error"); return }; _v.Sale = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool