|
@@ -9,6 +9,8 @@ import (
|
|
|
"qfw/util"
|
|
|
"qfw/util/redis"
|
|
|
qrpc "qfw/util/rpc"
|
|
|
+ "runtime"
|
|
|
+ "strings"
|
|
|
"sync"
|
|
|
"time"
|
|
|
)
|
|
@@ -36,6 +38,17 @@ func GetMutex(uid string) *sync.Mutex {
|
|
|
|
|
|
//增加积分
|
|
|
func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
|
|
|
+ defer func() {
|
|
|
+ if r := recover(); r != nil {
|
|
|
+ for skip := 1; ; skip++ {
|
|
|
+ _, file, line, ok := runtime.Caller(skip)
|
|
|
+ if !ok {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ go log.Printf("%v,%v\n", file, line)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }()
|
|
|
//a类为即时保存
|
|
|
//b、c、d、e为定时保存
|
|
|
log.Println("---请求", param)
|
|
@@ -193,6 +206,17 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
|
|
|
|
|
|
//消费积分,增加扣费方式、手动还是自动
|
|
|
func (c *CreditRpc) OutCreadit(param *qrpc.CreditData, replay *int) error {
|
|
|
+ defer func() {
|
|
|
+ if r := recover(); r != nil {
|
|
|
+ for skip := 1; ; skip++ {
|
|
|
+ _, file, line, ok := runtime.Caller(skip)
|
|
|
+ if !ok {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ go log.Printf("%v,%v\n", file, line)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }()
|
|
|
*replay = 0
|
|
|
lock := GetMutex(param.Uid)
|
|
|
lock.Lock()
|
|
@@ -215,7 +239,11 @@ func (c *CreditRpc) OutCreadit(param *qrpc.CreditData, replay *int) error {
|
|
|
creditDoc["l_enddate"] = now.AddDate(0, 1, 0).Unix()
|
|
|
creditDoc["i_valid"] = 1
|
|
|
if param.OtherParam != nil {
|
|
|
- creditDoc["s_type"] = param.OtherParam["s_type"]
|
|
|
+ str := []string{}
|
|
|
+ for k, _ := range param.OtherParam {
|
|
|
+ str = append(str, k)
|
|
|
+ }
|
|
|
+ creditDoc["s_type"] = strings.Join(str, ",")
|
|
|
}
|
|
|
case "B":
|
|
|
creditDoc["i_givestatus"] = 0
|
|
@@ -237,6 +265,17 @@ func SendWeixin(num int, uid, info string) {
|
|
|
|
|
|
//微信远程调用,实现模板发送消息
|
|
|
func SendManagerNotifyMsg(p *qrpc.NotifyMsg) {
|
|
|
+ defer func() {
|
|
|
+ if r := recover(); r != nil {
|
|
|
+ for skip := 1; ; skip++ {
|
|
|
+ _, file, line, ok := runtime.Caller(skip)
|
|
|
+ if !ok {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ go log.Printf("%v,%v\n", file, line)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }()
|
|
|
client, err := rpc.DialHTTP("tcp", Rpcserver)
|
|
|
if err != nil {
|
|
|
log.Println(err.Error())
|