Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
c03a1c3873
@ -1,6 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "10001",
|
"id": "10001",
|
||||||
|
"job": 1,
|
||||||
"race": 1,
|
"race": 1,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -35,6 +36,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10002",
|
"id": "10002",
|
||||||
|
"job": 2,
|
||||||
"race": 2,
|
"race": 2,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -69,6 +71,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10003",
|
"id": "10003",
|
||||||
|
"job": 3,
|
||||||
"race": 3,
|
"race": 3,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -103,6 +106,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10004",
|
"id": "10004",
|
||||||
|
"job": 4,
|
||||||
"race": 4,
|
"race": 4,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -148,6 +152,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10005",
|
"id": "10005",
|
||||||
|
"job": 1,
|
||||||
"race": 1,
|
"race": 1,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -182,6 +187,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10006",
|
"id": "10006",
|
||||||
|
"job": 2,
|
||||||
"race": 2,
|
"race": 2,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -216,6 +222,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10007",
|
"id": "10007",
|
||||||
|
"job": 3,
|
||||||
"race": 3,
|
"race": 3,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -250,6 +257,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10008",
|
"id": "10008",
|
||||||
|
"job": 4,
|
||||||
"race": 4,
|
"race": 4,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -284,6 +292,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10009",
|
"id": "10009",
|
||||||
|
"job": 1,
|
||||||
"race": 1,
|
"race": 1,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -329,6 +338,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10010",
|
"id": "10010",
|
||||||
|
"job": 2,
|
||||||
"race": 2,
|
"race": 2,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -374,6 +384,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10011",
|
"id": "10011",
|
||||||
|
"job": 3,
|
||||||
"race": 1,
|
"race": 1,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -419,6 +430,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "10012",
|
"id": "10012",
|
||||||
|
"job": 4,
|
||||||
"race": 2,
|
"race": 2,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": {
|
"name": {
|
||||||
@ -464,6 +476,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20001",
|
"id": "20001",
|
||||||
|
"job": 1,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -509,6 +522,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20002",
|
"id": "20002",
|
||||||
|
"job": 2,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -543,6 +557,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20003",
|
"id": "20003",
|
||||||
|
"job": 3,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -577,6 +592,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20004",
|
"id": "20004",
|
||||||
|
"job": 4,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -611,6 +627,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20005",
|
"id": "20005",
|
||||||
|
"job": 1,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -645,6 +662,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20006",
|
"id": "20006",
|
||||||
|
"job": 2,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -679,6 +697,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20007",
|
"id": "20007",
|
||||||
|
"job": 3,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -713,6 +732,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20008",
|
"id": "20008",
|
||||||
|
"job": 4,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -747,6 +767,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20009",
|
"id": "20009",
|
||||||
|
"job": 1,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -792,6 +813,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20010",
|
"id": "20010",
|
||||||
|
"job": 2,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -837,6 +859,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20011",
|
"id": "20011",
|
||||||
|
"job": 3,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -882,6 +905,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20012",
|
"id": "20012",
|
||||||
|
"job": 4,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -927,6 +951,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20013",
|
"id": "20013",
|
||||||
|
"job": 1,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -972,6 +997,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20014",
|
"id": "20014",
|
||||||
|
"job": 2,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -1006,6 +1032,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20015",
|
"id": "20015",
|
||||||
|
"job": 3,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -1040,6 +1067,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20016",
|
"id": "20016",
|
||||||
|
"job": 4,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -1074,6 +1102,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20017",
|
"id": "20017",
|
||||||
|
"job": 1,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -1117,6 +1146,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20018",
|
"id": "20018",
|
||||||
|
"job": 2,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -1160,6 +1190,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20019",
|
"id": "20019",
|
||||||
|
"job": 3,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
@ -1203,6 +1234,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "20020",
|
"id": "20020",
|
||||||
|
"job": 4,
|
||||||
"race": 0,
|
"race": 0,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": {
|
"name": {
|
||||||
|
@ -322,7 +322,7 @@
|
|||||||
"goto": 0
|
"goto": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10020,
|
"id": 100101,
|
||||||
"heroid": 25001,
|
"heroid": 25001,
|
||||||
"datas": [
|
"datas": [
|
||||||
"GameMain",
|
"GameMain",
|
||||||
@ -335,6 +335,44 @@
|
|||||||
],
|
],
|
||||||
"goto": 0
|
"goto": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": 100104,
|
||||||
|
"heroid": 25001,
|
||||||
|
"datas": [
|
||||||
|
"GameMain",
|
||||||
|
"901"
|
||||||
|
],
|
||||||
|
"event": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"goto": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 100108,
|
||||||
|
"heroid": 25001,
|
||||||
|
"datas": [
|
||||||
|
"GameMain",
|
||||||
|
"901"
|
||||||
|
],
|
||||||
|
"event": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"goto": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10020,
|
||||||
|
"heroid": 25001,
|
||||||
|
"datas": [
|
||||||
|
"GameMain",
|
||||||
|
"20020_小怪_船甲板",
|
||||||
|
"901"
|
||||||
|
],
|
||||||
|
"event": [
|
||||||
|
2,
|
||||||
|
10042
|
||||||
|
],
|
||||||
|
"goto": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": 10024,
|
"id": 10024,
|
||||||
"heroid": 51004,
|
"heroid": 51004,
|
||||||
|
@ -20436,7 +20436,7 @@
|
|||||||
"From": 2,
|
"From": 2,
|
||||||
"Where": [],
|
"Where": [],
|
||||||
"Order": "",
|
"Order": "",
|
||||||
"Limit": 1,
|
"Limit": 10,
|
||||||
"ExecuteCnt": 1,
|
"ExecuteCnt": 1,
|
||||||
"Type": 1,
|
"Type": 1,
|
||||||
"Argu": [
|
"Argu": [
|
||||||
|
@ -98,7 +98,7 @@
|
|||||||
|
|
||||||
### 支付发货API
|
### 支付发货API
|
||||||
- 接口名:paydelivery
|
- 接口名:paydelivery
|
||||||
- 接口说明:web 服务器给玩家发送邮件
|
- 接口说明:web 服务器给玩家发送支付获得商品
|
||||||
- 请求地址:{IP}:{port}/paydelivery
|
- 请求地址:{IP}:{port}/paydelivery
|
||||||
- 请求参数:uid(用户id|签名),productid(商品id|签名),orderid(订单号|签名),price(总金额|签名),sign(签名)
|
- 请求参数:uid(用户id|签名),productid(商品id|签名),orderid(订单号|签名),price(总金额|签名),sign(签名)
|
||||||
- 请求样例
|
- 请求样例
|
||||||
|
@ -402,34 +402,49 @@ const (
|
|||||||
Diamond int32 = 2 //钻石
|
Diamond int32 = 2 //钻石
|
||||||
)
|
)
|
||||||
|
|
||||||
// 门票
|
//定时通知类型
|
||||||
|
type NotifyType int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// ArenaTicket string = "100004" //竞技场入场券
|
Notify1001 NotifyType = 1001 //铁匠铺炉温达到满值
|
||||||
// MoonFantasyTicket string = "100003" //梦境场入场券
|
|
||||||
// PhysicalMedicament string = "10017" //体力药剂
|
|
||||||
// UnifiedTicket string = "100100" //统一门票
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// 红点枚举
|
// 红点枚举
|
||||||
type ReddotType int32
|
type ReddotType int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Reddot1 ReddotType = 10001 //任务----日常任务奖励红点
|
//任务
|
||||||
Reddot2 ReddotType = 10002 //任务----周常任务奖励红点
|
Reddot10101 ReddotType = 10101 //任务----日常活跃宝箱红点
|
||||||
Reddot3 ReddotType = 10003 //公会----签到红点
|
Reddot10102 ReddotType = 10102 //任务----周活跃宝箱红点
|
||||||
Reddot4 ReddotType = 10004 //任务----成就任务奖励红点
|
Reddot10103 ReddotType = 10103 //任务----成就任务奖励红点
|
||||||
Reddot5 ReddotType = 10005 //主线关卡----可挑战红点
|
Reddot10201 ReddotType = 10201 //任务----日常活跃奖励红点
|
||||||
|
Reddot10301 ReddotType = 10301 //任务----周常活跃奖励红点
|
||||||
|
|
||||||
|
//邮件
|
||||||
|
Reddot12101 ReddotType = 12101 //邮件-----附件红点
|
||||||
|
Reddot12102 ReddotType = 12102 //邮件-----未读邮件红点
|
||||||
|
//维京
|
||||||
|
Reddot13102 ReddotType = 13102 //维京远征 有挑战次数
|
||||||
|
//狩猎
|
||||||
|
Reddot14102 ReddotType = 14102 //狩猎 有挑战次数
|
||||||
|
|
||||||
|
//英雄
|
||||||
|
Reddot20102 ReddotType = 20102 //英雄----升级红点 前端处理
|
||||||
|
Reddot20201 ReddotType = 20201 //英雄----觉醒红点 前端处理
|
||||||
|
Reddot10 ReddotType = 10010 //英雄----共鸣红点 前端处理
|
||||||
|
Reddot20301 ReddotType = 20301 //英雄----升星红点 前端处理
|
||||||
|
//公会
|
||||||
|
Reddot15102 ReddotType = 15102 //公会----签到红点
|
||||||
|
Reddot15201 ReddotType = 15201 //公会----申请红点
|
||||||
|
//主线关卡
|
||||||
|
Reddot11100 ReddotType = 11100 //主线关卡----可挑战红点
|
||||||
|
// 铁匠铺
|
||||||
|
Reddot17102 ReddotType = 17102 // 铁匠铺手册台
|
||||||
|
Reddot17106 ReddotType = 17106 // 铁匠铺手册台收藏家奖励上
|
||||||
|
Reddot17107 ReddotType = 17107 // 铁匠铺手册台收藏家奖励按钮上
|
||||||
|
|
||||||
Reddot6 ReddotType = 10006 //爬塔----可挑战红点
|
Reddot6 ReddotType = 10006 //爬塔----可挑战红点
|
||||||
Reddot7 ReddotType = 10007 //爬塔----奖励红点
|
Reddot7 ReddotType = 10007 //爬塔----奖励红点
|
||||||
Reddot8 ReddotType = 10008 //英雄----升级红点 前端处理
|
|
||||||
Reddot9 ReddotType = 10009 //英雄----觉醒红点 前端处理
|
|
||||||
Reddot10 ReddotType = 10010 //英雄----共鸣红点 前端处理
|
|
||||||
Reddot11 ReddotType = 10011 //英雄----升星红点 前端处理
|
|
||||||
Reddot12 ReddotType = 10012 //装备----可穿戴红点 前端处理
|
|
||||||
Reddot13 ReddotType = 10013 //装备----可替换红点 前端处理
|
|
||||||
Reddot14 ReddotType = 10014 //装备----可强化红点 前端处理
|
|
||||||
Reddot15 ReddotType = 10015 //装备----可附魔红点 前端处理
|
|
||||||
Reddot16 ReddotType = 10016 //装备----可洗炼红点 前端处理
|
|
||||||
Reddot17 ReddotType = 10017 //星座图----红点
|
Reddot17 ReddotType = 10017 //星座图----红点
|
||||||
Reddot18 ReddotType = 10018 //英雄招募----红点 // 前端处理
|
Reddot18 ReddotType = 10018 //英雄招募----红点 // 前端处理
|
||||||
Reddot19 ReddotType = 10019 //竞技场----挑战红点
|
Reddot19 ReddotType = 10019 //竞技场----挑战红点
|
||||||
@ -439,14 +454,8 @@ const (
|
|||||||
Reddot23 ReddotType = 10023 //熊猫武馆----可挂机红点
|
Reddot23 ReddotType = 10023 //熊猫武馆----可挂机红点
|
||||||
Reddot24 ReddotType = 10024 //熊猫武馆----可升级红点
|
Reddot24 ReddotType = 10024 //熊猫武馆----可升级红点
|
||||||
Reddot25 ReddotType = 10025 //熊猫武馆----可领取奖励红点
|
Reddot25 ReddotType = 10025 //熊猫武馆----可领取奖励红点
|
||||||
Reddot26 ReddotType = 10026 //邮件-----附件红点
|
|
||||||
Reddot27 ReddotType = 10027 //任务----日常活跃奖励红点
|
|
||||||
Reddot28 ReddotType = 10028 //任务----周常活跃奖励红点
|
|
||||||
Reddot29 ReddotType = 10029 //公会----申请红点
|
|
||||||
Reddot30 ReddotType = 10030 //邮件-----未读邮件红点
|
|
||||||
Reddot31 ReddotType = 10031 //维京远征 有挑战次数
|
|
||||||
Reddot32 ReddotType = 10032 //狩猎 有挑战次数
|
|
||||||
Reddot33 ReddotType = 10033 //附魔副本 有挑战次数
|
Reddot33 ReddotType = 10033 //附魔副本 有挑战次数
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type TaskType int32
|
type TaskType int32
|
||||||
|
@ -234,23 +234,7 @@ type (
|
|||||||
IReddot
|
IReddot
|
||||||
}
|
}
|
||||||
|
|
||||||
// 随机任务
|
|
||||||
IRtask interface {
|
|
||||||
// 条件校验
|
|
||||||
CheckCondi(uid string, condiId int32, p ...int32) (errdata *pb.ErrorData)
|
|
||||||
// 多条件校验
|
|
||||||
CheckCondis(uid string, condiIds ...int32) (condIds []int32)
|
|
||||||
// 远程任务条件校验
|
|
||||||
RemoteCheckCondi(uid string, condiId int32, rsp *pb.DBRtaskRecord) error
|
|
||||||
// 删除任务条件数据
|
|
||||||
RemoveCondi(uid string, condiId int32) error
|
|
||||||
// 更新任务条件数据
|
|
||||||
ChangeCondi(uid string, data map[int32]*pb.RtaskData) error
|
|
||||||
//任务批量触发
|
|
||||||
TriggerTask(uid string, taskParams ...*TaskParam)
|
|
||||||
// 获取任务条件记录
|
|
||||||
GetCondiData(uid string) *pb.DBRtaskRecord
|
|
||||||
}
|
|
||||||
|
|
||||||
//好友
|
//好友
|
||||||
IFriend interface {
|
IFriend interface {
|
||||||
@ -467,6 +451,7 @@ type (
|
|||||||
|
|
||||||
ISmithy interface {
|
ISmithy interface {
|
||||||
CheckActivateAtlasCollect(uid string, id string)
|
CheckActivateAtlasCollect(uid string, id string)
|
||||||
|
IReddot // 铁匠铺红点
|
||||||
}
|
}
|
||||||
|
|
||||||
IPandaAtlas interface {
|
IPandaAtlas interface {
|
||||||
|
19
comm/pool.go
19
comm/pool.go
@ -5,25 +5,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
var taskParamPool = &sync.Pool{
|
|
||||||
New: func() interface{} {
|
|
||||||
return &TaskParam{}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
//GetBuriedParam
|
|
||||||
func GetTaskParam(t TaskType, p ...int32) *TaskParam {
|
|
||||||
task := taskParamPool.Get().(*TaskParam)
|
|
||||||
task.TT = t
|
|
||||||
task.Params = append(task.Params, p...)
|
|
||||||
return task
|
|
||||||
}
|
|
||||||
|
|
||||||
func PuttaskParam(r *TaskParam) {
|
|
||||||
r.Params = r.Params[:0]
|
|
||||||
taskParamPool.Put(r)
|
|
||||||
}
|
|
||||||
|
|
||||||
var buriedParamPool = &sync.Pool{
|
var buriedParamPool = &sync.Pool{
|
||||||
New: func() interface{} {
|
New: func() interface{} {
|
||||||
return &pb.BuriedParam{
|
return &pb.BuriedParam{
|
||||||
|
@ -2,6 +2,8 @@ package timewheel
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"runtime"
|
||||||
"sync"
|
"sync"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
@ -117,8 +119,7 @@ func (this *TimeWheel) Stop() {
|
|||||||
this.stopC <- struct{}{}
|
this.stopC <- struct{}{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//此处写法 为监控时间轮是否正常执行
|
||||||
//此处写法 为监控时间轮是否正常执行
|
|
||||||
func (this *TimeWheel) tickGenerator() {
|
func (this *TimeWheel) tickGenerator() {
|
||||||
if this.tickQueue == nil {
|
if this.tickQueue == nil {
|
||||||
return
|
return
|
||||||
@ -184,10 +185,10 @@ func (this *TimeWheel) handleTick() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if task.async {
|
if task.async {
|
||||||
go task.callback(task, task.args...)
|
go this.calltask(task, task.args...)
|
||||||
} else {
|
} else {
|
||||||
// optimize gopool
|
// optimize gopool
|
||||||
task.callback(task, task.args...)
|
this.calltask(task, task.args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// circle
|
// circle
|
||||||
@ -209,6 +210,18 @@ func (this *TimeWheel) handleTick() {
|
|||||||
this.currentIndex++
|
this.currentIndex++
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//执行时间轮事件 捕捉异常错误 防止程序崩溃
|
||||||
|
func (this *TimeWheel) calltask(task *Task, args ...interface{}) {
|
||||||
|
defer func() { //程序异常 收集异常信息传递给前端显示
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
buf := make([]byte, 4096)
|
||||||
|
l := runtime.Stack(buf, false)
|
||||||
|
log.Errorf("timewheel err:%s", string(buf[0:l]))
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
task.callback(task, task.args...)
|
||||||
|
}
|
||||||
|
|
||||||
func (this *TimeWheel) addAny(delay time.Duration, circle, async bool, callback func(*Task, ...interface{}), agr ...interface{}) *Task {
|
func (this *TimeWheel) addAny(delay time.Duration, circle, async bool, callback func(*Task, ...interface{}), agr ...interface{}) *Task {
|
||||||
if delay <= 0 {
|
if delay <= 0 {
|
||||||
delay = this.tick
|
delay = this.tick
|
||||||
|
@ -172,8 +172,8 @@ func (this *Hunting) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (
|
|||||||
reddot = make(map[comm.ReddotType]bool)
|
reddot = make(map[comm.ReddotType]bool)
|
||||||
for _, v := range rid {
|
for _, v := range rid {
|
||||||
switch v {
|
switch v {
|
||||||
case comm.Reddot32:
|
case comm.Reddot14102:
|
||||||
reddot[comm.Reddot32] = this.modelHunting.checkReddot32(session)
|
reddot[comm.Reddot14102] = this.modelHunting.checkReddot32(session)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,18 +106,18 @@ func (this *Mail) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (red
|
|||||||
reddot = make(map[comm.ReddotType]bool)
|
reddot = make(map[comm.ReddotType]bool)
|
||||||
for _, v := range rid {
|
for _, v := range rid {
|
||||||
switch v {
|
switch v {
|
||||||
case comm.Reddot26:
|
case comm.Reddot12101:
|
||||||
if isredot := this.modelMail.checkReddot26(session.GetUserId()); isredot {
|
if isredot := this.modelMail.checkReddot26(session.GetUserId()); isredot {
|
||||||
reddot[comm.Reddot26] = true
|
reddot[comm.Reddot12101] = true
|
||||||
} else {
|
} else {
|
||||||
reddot[comm.Reddot26] = false
|
reddot[comm.Reddot12101] = false
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
case comm.Reddot30:
|
case comm.Reddot12102:
|
||||||
if isredot := this.modelMail.checkReddot30(session.GetUserId()); isredot {
|
if isredot := this.modelMail.checkReddot30(session.GetUserId()); isredot {
|
||||||
reddot[comm.Reddot30] = true
|
reddot[comm.Reddot12102] = true
|
||||||
} else {
|
} else {
|
||||||
reddot[comm.Reddot30] = false
|
reddot[comm.Reddot12102] = false
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -53,8 +53,8 @@ func (this *Mline) Start() (err error) {
|
|||||||
func (this *Mline) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
|
func (this *Mline) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
|
||||||
reddot = make(map[comm.ReddotType]bool)
|
reddot = make(map[comm.ReddotType]bool)
|
||||||
for _, v := range rid {
|
for _, v := range rid {
|
||||||
if v == comm.Reddot5 {
|
if v == comm.Reddot11100 {
|
||||||
reddot[comm.Reddot5] = this.CheckPoint(session.GetUserId())
|
reddot[comm.Reddot11100] = this.CheckPoint(session.GetUserId())
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1 +1,8 @@
|
|||||||
package notify
|
package notify
|
||||||
|
|
||||||
|
import "go_dreamfactory/lego/sys/timewheel"
|
||||||
|
|
||||||
|
//定时通知
|
||||||
|
type timernotify struct {
|
||||||
|
rtask *timewheel.Task
|
||||||
|
}
|
||||||
|
@ -4,6 +4,8 @@ import (
|
|||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -40,3 +42,9 @@ func (this *Notify) OnInstallComp() {
|
|||||||
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
|
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
|
||||||
this.modelNotify = this.RegisterComp(new(modelNotifyComp)).(*modelNotifyComp)
|
this.modelNotify = this.RegisterComp(new(modelNotifyComp)).(*modelNotifyComp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//添加定时通知消息
|
||||||
|
func (this *Notify) AddTimerNotify(uid string, ntype comm.NotifyType, delay time.Duration) (errdata *pb.ErrorData) {
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
73
modules/notify/notify_timer.go
Normal file
73
modules/notify/notify_timer.go
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
package notify
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/lego/core/cbase"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/lego/sys/timewheel"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
///定时通知组件
|
||||||
|
type notifyTimer struct {
|
||||||
|
cbase.ModuleCompBase
|
||||||
|
module *Notify
|
||||||
|
timers map[string]map[comm.NotifyType]*timernotify
|
||||||
|
}
|
||||||
|
|
||||||
|
//组件初始化接口
|
||||||
|
func (this *notifyTimer) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
|
||||||
|
this.ModuleCompBase.Init(service, module, comp, opt)
|
||||||
|
this.timers = make(map[string]map[comm.NotifyType]*timernotify)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *notifyTimer) addTimerNotify(uid string, ntype comm.NotifyType, delay time.Duration) (errdata *pb.ErrorData) {
|
||||||
|
var (
|
||||||
|
utimers map[comm.NotifyType]*timernotify
|
||||||
|
timer *timernotify
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if utimers, ok = this.timers[uid]; !ok {
|
||||||
|
this.timers[uid] = make(map[comm.NotifyType]*timernotify)
|
||||||
|
utimers = this.timers[uid]
|
||||||
|
}
|
||||||
|
if timer, ok = utimers[ntype]; !ok { //还没有定时任务
|
||||||
|
utimers[ntype] = &timernotify{}
|
||||||
|
utimers[ntype].rtask = timewheel.Add(delay, this.timerNotify, uid, ntype)
|
||||||
|
} else {
|
||||||
|
timewheel.Remove(utimers[ntype].rtask)
|
||||||
|
timer.rtask = timewheel.Add(delay, this.timerNotify, uid, ntype)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *notifyTimer) timerNotify(task *timewheel.Task, args ...interface{}) {
|
||||||
|
if len(args) != 2 {
|
||||||
|
this.module.Error("异常定时通知消息", log.Field{Key: "args", Value: args})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var (
|
||||||
|
uid string
|
||||||
|
ntype comm.NotifyType
|
||||||
|
utimers map[comm.NotifyType]*timernotify
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
uid = args[0].(string)
|
||||||
|
ntype = args[1].(comm.NotifyType)
|
||||||
|
if utimers, ok = this.timers[uid]; !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if _, ok = utimers[ntype]; !ok { //还没有定时任务
|
||||||
|
return
|
||||||
|
}
|
||||||
|
delete(utimers, ntype)
|
||||||
|
|
||||||
|
switch ntype {
|
||||||
|
case comm.Notify1001:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -23,19 +23,19 @@ func (this *apiComp) Get(session comm.IUserSession, req *pb.ReddotGetReq) (errda
|
|||||||
// reddot[v] = false
|
// reddot[v] = false
|
||||||
_rid := comm.ReddotType(rid)
|
_rid := comm.ReddotType(rid)
|
||||||
switch _rid {
|
switch _rid {
|
||||||
case comm.Reddot1:
|
case comm.Reddot10101:
|
||||||
for k, v := range this.module.ModuleTask.Reddot(session, _rid) {
|
for k, v := range this.module.ModuleTask.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
case comm.Reddot2:
|
case comm.Reddot10102:
|
||||||
for k, v := range this.module.ModuleTask.Reddot(session, _rid) {
|
for k, v := range this.module.ModuleTask.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
case comm.Reddot3:
|
case comm.Reddot15102:
|
||||||
for k, v := range this.module.ModuleSociaty.Reddot(session, _rid) {
|
for k, v := range this.module.ModuleSociaty.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
case comm.Reddot4:
|
case comm.Reddot10103:
|
||||||
for k, v := range this.module.ModuleTask.Reddot(session, _rid) {
|
for k, v := range this.module.ModuleTask.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
@ -55,16 +55,16 @@ func (this *apiComp) Get(session comm.IUserSession, req *pb.ReddotGetReq) (errda
|
|||||||
for k, v := range this.module.gourmet.Reddot(session, _rid) {
|
for k, v := range this.module.gourmet.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
case comm.Reddot26, comm.Reddot30:
|
case comm.Reddot12101, comm.Reddot12102:
|
||||||
for k, v := range this.module.mail.Reddot(session, _rid) {
|
for k, v := range this.module.mail.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
case comm.Reddot31:
|
case comm.Reddot13102:
|
||||||
for k, v := range this.module.viking.Reddot(session, _rid) {
|
for k, v := range this.module.viking.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
case comm.Reddot32:
|
case comm.Reddot14102:
|
||||||
for k, v := range this.module.hunting.Reddot(session, _rid) {
|
for k, v := range this.module.hunting.Reddot(session, _rid) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,11 @@ func (this *apiComp) GetAll(session comm.IUserSession, req *pb.ReddotGetAllReq)
|
|||||||
if errdata = this.GetAllCheck(session, req); errdata != nil {
|
if errdata = this.GetAllCheck(session, req); errdata != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for k, v := range this.module.ModuleTask.Reddot(session, comm.Reddot1, comm.Reddot2, comm.Reddot4, comm.Reddot27,
|
for k, v := range this.module.ModuleTask.Reddot(session, comm.Reddot10101, comm.Reddot10102, comm.Reddot10103, comm.Reddot10201,
|
||||||
comm.Reddot28) {
|
comm.Reddot10301) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
for k, v := range this.module.mline.Reddot(session, comm.Reddot5) {
|
for k, v := range this.module.mline.Reddot(session, comm.Reddot11100) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
for k, v := range this.module.pagoda.Reddot(session, comm.Reddot6) {
|
for k, v := range this.module.pagoda.Reddot(session, comm.Reddot6) {
|
||||||
@ -42,17 +42,17 @@ func (this *apiComp) GetAll(session comm.IUserSession, req *pb.ReddotGetAllReq)
|
|||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range this.module.sociaty.Reddot(session, comm.Reddot3, comm.Reddot29) {
|
for k, v := range this.module.sociaty.Reddot(session, comm.Reddot15102, comm.Reddot15201) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
for k, v := range this.module.mail.Reddot(session, comm.Reddot26, comm.Reddot30) {
|
for k, v := range this.module.mail.Reddot(session, comm.Reddot12101, comm.Reddot12102) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
for k, v := range this.module.viking.Reddot(session, comm.Reddot31) {
|
for k, v := range this.module.viking.Reddot(session, comm.Reddot13102) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range this.module.hunting.Reddot(session, comm.Reddot32) {
|
for k, v := range this.module.hunting.Reddot(session, comm.Reddot14102) {
|
||||||
reddot[int32(k)] = v
|
reddot[int32(k)] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,3 +143,19 @@ func (this *modelAtlas) CheckActivateEquipAtlas(uid string, Equip []*pb.DB_Equip
|
|||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 红点检测
|
||||||
|
func (this *modelAtlas) checkReddot17102(uid string) bool {
|
||||||
|
list, _ := this.module.modelAtlas.getSmithyAtlasList(uid)
|
||||||
|
for _, v := range list.Atlas {
|
||||||
|
if v.Activate == false {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
if v.Data2 != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
@ -170,6 +170,20 @@ func (this *modelTask) updateTaskRecord(uid string, taskId int32) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 红点检测
|
||||||
|
func (this *modelTask) checkReddot17107(uid string) bool {
|
||||||
|
dt, err := this.getTaskRecord(uid)
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for _, v := range dt.Tasks {
|
||||||
|
if v.Received == 1 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// 检查任务状态
|
// 检查任务状态
|
||||||
// func (this *modelTask) checkTaskStatus(uid string, taskId int32) bool {
|
// func (this *modelTask) checkTaskStatus(uid string, taskId int32) bool {
|
||||||
// conf, _ := this.module.configure.GetSmithyTask(taskId)
|
// conf, _ := this.module.configure.GetSmithyTask(taskId)
|
||||||
|
@ -119,3 +119,19 @@ func (this *Smithy) CheckActivateAtlasCollect(uid string, id string) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *Smithy) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
|
||||||
|
reddot = make(map[comm.ReddotType]bool)
|
||||||
|
for _, v := range rid {
|
||||||
|
switch v {
|
||||||
|
case comm.Reddot17102: // 铁匠铺手册台
|
||||||
|
reddot[comm.Reddot17102] = this.modelAtlas.checkReddot17102(session.GetUserId())
|
||||||
|
break
|
||||||
|
case comm.Reddot17107: // 铁匠铺手册台收藏家奖励按钮上
|
||||||
|
reddot[comm.Reddot17107] = this.modelTask.checkReddot17107(session.GetUserId())
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -154,11 +154,11 @@ func (this *Sociaty) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (
|
|||||||
}
|
}
|
||||||
for _, v := range rid {
|
for _, v := range rid {
|
||||||
switch v {
|
switch v {
|
||||||
case comm.Reddot3:
|
case comm.Reddot15102:
|
||||||
tf := this.modelSociaty.IsSign(session.GetUserId(), sociaty)
|
tf := this.modelSociaty.IsSign(session.GetUserId(), sociaty)
|
||||||
reddot[comm.Reddot3] = !tf
|
reddot[comm.Reddot15102] = !tf
|
||||||
case comm.Reddot29:
|
case comm.Reddot15201:
|
||||||
reddot[comm.Reddot29] = applyReddot
|
reddot[comm.Reddot15201] = applyReddot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -143,22 +143,22 @@ func (this *ModuleTask) Reddot(session comm.IUserSession, rid ...comm.ReddotType
|
|||||||
|
|
||||||
for _, v := range rid {
|
for _, v := range rid {
|
||||||
switch v {
|
switch v {
|
||||||
case comm.Reddot1:
|
case comm.Reddot10101:
|
||||||
tf, _ := this.modelTask.noReceiveTask(session.GetUserId(), comm.TASK_DAILY)
|
tf, _ := this.modelTask.noReceiveTask(session.GetUserId(), comm.TASK_DAILY)
|
||||||
reddot[comm.Reddot1] = tf
|
reddot[comm.Reddot10101] = tf
|
||||||
case comm.Reddot2:
|
case comm.Reddot10102:
|
||||||
tf, _ := this.modelTask.noReceiveTask(session.GetUserId(), comm.TASK_WEEKLY)
|
tf, _ := this.modelTask.noReceiveTask(session.GetUserId(), comm.TASK_WEEKLY)
|
||||||
reddot[comm.Reddot2] = tf
|
reddot[comm.Reddot10102] = tf
|
||||||
|
|
||||||
case comm.Reddot4:
|
case comm.Reddot10103:
|
||||||
tf, _ := this.modelTask.noReceiveTask(session.GetUserId(), comm.TASK_ACHIEVE)
|
tf, _ := this.modelTask.noReceiveTask(session.GetUserId(), comm.TASK_ACHIEVE)
|
||||||
reddot[comm.Reddot4] = tf
|
reddot[comm.Reddot10103] = tf
|
||||||
case comm.Reddot27:
|
case comm.Reddot10201:
|
||||||
tf, _ := this.modelTaskActive.noReceiveTaskActive(session.GetUserId(), comm.TASK_DAILY)
|
tf, _ := this.modelTaskActive.noReceiveTaskActive(session.GetUserId(), comm.TASK_DAILY)
|
||||||
reddot[comm.Reddot27] = tf
|
reddot[comm.Reddot10201] = tf
|
||||||
case comm.Reddot28:
|
case comm.Reddot10301:
|
||||||
tf, _ := this.modelTaskActive.noReceiveTaskActive(session.GetUserId(), comm.TASK_WEEKLY)
|
tf, _ := this.modelTaskActive.noReceiveTaskActive(session.GetUserId(), comm.TASK_WEEKLY)
|
||||||
reddot[comm.Reddot28] = tf
|
reddot[comm.Reddot10301] = tf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -180,8 +180,8 @@ func (this *Viking) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (r
|
|||||||
reddot = make(map[comm.ReddotType]bool)
|
reddot = make(map[comm.ReddotType]bool)
|
||||||
for _, v := range rid {
|
for _, v := range rid {
|
||||||
switch v {
|
switch v {
|
||||||
case comm.Reddot31:
|
case comm.Reddot13102:
|
||||||
reddot[comm.Reddot31] = this.modelViking.checkReddot31(session)
|
reddot[comm.Reddot13102] = this.modelViking.checkReddot31(session)
|
||||||
break
|
break
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"go_dreamfactory/lego/utils/crypto/md5"
|
"go_dreamfactory/lego/utils/crypto/md5"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PayDeliveryResults struct {
|
type PayDeliveryResults struct {
|
||||||
@ -53,8 +54,9 @@ func (this *Api_Comp) PayDelivery(c *engine.Context) {
|
|||||||
payresp.Code = pb.ErrorCode_SignError
|
payresp.Code = pb.ErrorCode_SignError
|
||||||
payresp.Msg = pb.GetErrorCodeMsg(pb.ErrorCode_SignError)
|
payresp.Msg = pb.GetErrorCodeMsg(pb.ErrorCode_SignError)
|
||||||
}
|
}
|
||||||
|
ctx, _ := context.WithTimeout(context.TODO(), time.Second*5)
|
||||||
if err = this.module.service.RpcCall(
|
if err = this.module.service.RpcCall(
|
||||||
context.Background(),
|
ctx,
|
||||||
comm.Service_Worker,
|
comm.Service_Worker,
|
||||||
string(comm.Rpc_ModulePayDelivery),
|
string(comm.Rpc_ModulePayDelivery),
|
||||||
payreq,
|
payreq,
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/sys/db"
|
"go_dreamfactory/sys/db"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SyncCrossReq struct {
|
type SyncCrossReq struct {
|
||||||
@ -51,8 +52,9 @@ func (this *Api_Comp) SyncCross(c *engine.Context) {
|
|||||||
resp.Message = err.Error()
|
resp.Message = err.Error()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
ctx, _ := context.WithTimeout(context.TODO(), time.Second*5)
|
||||||
if err = this.module.service.RpcBroadcast(
|
if err = this.module.service.RpcBroadcast(
|
||||||
context.Background(),
|
ctx,
|
||||||
comm.Service_Worker,
|
comm.Service_Worker,
|
||||||
string(comm.Rpc_DBSyncCross),
|
string(comm.Rpc_DBSyncCross),
|
||||||
pb.EmptyReq{},
|
pb.EmptyReq{},
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
//上传配置文件
|
//上传配置文件
|
||||||
@ -52,8 +53,9 @@ func (this *Api_Comp) Upload(c *engine.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ctx, _ := context.WithTimeout(context.TODO(), time.Second*5)
|
||||||
if err := this.module.service.RpcBroadcast(
|
if err := this.module.service.RpcBroadcast(
|
||||||
context.Background(),
|
ctx,
|
||||||
comm.Service_Worker,
|
comm.Service_Worker,
|
||||||
string(comm.Rpc_ConfigureUpDate),
|
string(comm.Rpc_ConfigureUpDate),
|
||||||
&pb.EmptyReq{},
|
&pb.EmptyReq{},
|
||||||
|
@ -12,6 +12,7 @@ import "errors"
|
|||||||
|
|
||||||
type GamePandamasJxData struct {
|
type GamePandamasJxData struct {
|
||||||
Id string
|
Id string
|
||||||
|
Job int32
|
||||||
Race int32
|
Race int32
|
||||||
Type int32
|
Type int32
|
||||||
Name string
|
Name string
|
||||||
@ -41,6 +42,7 @@ func (*GamePandamasJxData) GetTypeId() int32 {
|
|||||||
|
|
||||||
func (_v *GamePandamasJxData)Deserialize(_buf map[string]interface{}) (err error) {
|
func (_v *GamePandamasJxData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||||
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
|
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
|
||||||
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["job"].(float64); !_ok_ { err = errors.New("job error"); return }; _v.Job = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||||
|
Loading…
Reference in New Issue
Block a user