[fix] 规则链解析失败

This commit is contained in:
PandaX
2023-10-30 09:26:01 +08:00
parent 3811401667
commit 036e3c32b7
5 changed files with 16 additions and 10 deletions

View File

@@ -116,12 +116,13 @@ func getRuleChain(etoken *global_model.DeviceAuth) *ruleEntity.RuleDataJson {
get, err := cache.ComputeIfAbsentProductRule(key, func(k any) (any, error) {
one := services.ProductModelDao.FindOne(k.(string))
rule := ruleService.RuleChainModelDao.FindOne(one.RuleChainId)
var lfData ruleEntity.LfData
var lfData ruleEntity.RuleDataJson
err := tool.StringToStruct(rule.RuleDataJson, &lfData)
if err != nil {
return nil, err
}
return ruleEntity.RuleDataJson{Id: rule.Id, LfData: lfData}, nil
lfData.Id = rule.Id
return lfData, nil
})
biz.ErrIsNil(err, "缓存读取规则链失败")
if ruleData, ok := get.(ruleEntity.RuleDataJson); ok {

View File

@@ -2,6 +2,7 @@ package netbase
import (
"encoding/json"
"log"
"pandax/apps/device/entity"
"pandax/apps/device/services"
"pandax/iothub/server/emqxserver/protobuf"
@@ -37,6 +38,7 @@ func Auth(authToken string) bool {
return false
}
etoken = services.GetDeviceToken(&device.Device)
log.Println("设置设备协议", device.Product.ProtocolName)
etoken.DeviceProtocol = device.Product.ProtocolName
err = cache.SetDeviceEtoken(authToken, etoken.GetMarshal(), time.Hour*24*365)
if err != nil {