Commit c978ac1689a3719f5496f37e7158cb654bbe558a
Merge branch '20220505' into 'master'
refactor: 意见反馈业务逻辑调整 See merge request huang/thingsboard3.3.2!93
Showing
4 changed files
with
11 additions
and
8 deletions
... | ... | @@ -249,7 +249,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
249 | 249 | |
250 | 250 | //Thingskit function |
251 | 251 | JsonNode old = JacksonUtil.toJsonNode(request.getAdditionalInfo()); |
252 | - ObjectNode additional = old.isEmpty() ?mapper.createObjectNode():(ObjectNode)old; | |
252 | + ObjectNode additional = (old == null || old.isEmpty()) ?mapper.createObjectNode():(ObjectNode)old; | |
253 | 253 | if(!additional.has("cmdType")){ |
254 | 254 | additional.put("cmdType", DeviceTransportType.MQTT.name()); |
255 | 255 | } | ... | ... |
... | ... | @@ -23,13 +23,13 @@ import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant. |
23 | 23 | @RequestMapping("api/yt/opinion") |
24 | 24 | @Api(tags = {"意见反馈"}) |
25 | 25 | @RequiredArgsConstructor |
26 | -@PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | |
27 | 26 | public class YtOpinionController extends BaseController { |
28 | 27 | |
29 | 28 | private final YtOpinionService opinionService; |
30 | 29 | |
31 | 30 | @GetMapping(params = {PAGE_SIZE, PAGE}) |
32 | 31 | @ApiOperation("分页") |
32 | + @PreAuthorize("hasAnyAuthority('PLATFORM_ADMIN','SYS_ADMIN')") | |
33 | 33 | public YtPageData<YtOpinionDTO> pageAlarmProfile( |
34 | 34 | @RequestParam(PAGE_SIZE) int pageSize, |
35 | 35 | @RequestParam(PAGE) int page, |
... | ... | @@ -58,6 +58,7 @@ public class YtOpinionController extends BaseController { |
58 | 58 | } |
59 | 59 | |
60 | 60 | @DeleteMapping |
61 | + @PreAuthorize("hasAnyAuthority('PLATFORM_ADMIN','SYS_ADMIN')") | |
61 | 62 | @ApiOperation("删除") |
62 | 63 | public boolean deleteAlarmProfile(@Validated(DeleteGroup.class) @RequestBody DeleteDTO deleteDTO) |
63 | 64 | throws ThingsboardException { |
... | ... | @@ -66,6 +67,7 @@ public class YtOpinionController extends BaseController { |
66 | 67 | } |
67 | 68 | |
68 | 69 | @GetMapping("{entityId}") |
70 | + @PreAuthorize("hasAnyAuthority('PLATFORM_ADMIN','SYS_ADMIN')") | |
69 | 71 | @ApiOperation("详情") |
70 | 72 | public YtOpinionDTO detail(@PathVariable("entityId") String entityId) |
71 | 73 | throws ThingsboardException { | ... | ... |
... | ... | @@ -45,7 +45,7 @@ public class YtOpinionServiceImpl extends AbstractBaseService<YtOpinionMapper, Y |
45 | 45 | @Override |
46 | 46 | public YtOpinionDTO detail(String tenantId, String entityId) { |
47 | 47 | Wrapper filter = new QueryWrapper<YtOpinionEntity>().lambda() |
48 | - .eq(YtOpinionEntity::getTenantId,tenantId) | |
48 | +// .eq(YtOpinionEntity::getTenantId,tenantId) | |
49 | 49 | .eq(YtOpinionEntity::getId,entityId); |
50 | 50 | YtOpinionEntity self = baseMapper.selectOne(filter); |
51 | 51 | return self.getDTO(YtOpinionDTO.class); |
... | ... | @@ -76,7 +76,7 @@ public class YtOpinionServiceImpl extends AbstractBaseService<YtOpinionMapper, Y |
76 | 76 | @Transactional(rollbackFor=Exception.class) |
77 | 77 | public boolean deleteDataByIds(DeleteDTO deleteDTO) { |
78 | 78 | Wrapper filter = new QueryWrapper<YtOpinionEntity>().lambda() |
79 | - .eq(YtOpinionEntity::getTenantId,deleteDTO.getTenantId()) | |
79 | +// .eq(YtOpinionEntity::getTenantId,deleteDTO.getTenantId()) | |
80 | 80 | .in(YtOpinionEntity::getId,deleteDTO.getIds()); |
81 | 81 | return baseMapper.delete(filter) > 0; |
82 | 82 | } | ... | ... |
... | ... | @@ -117,18 +117,19 @@ class ReactState { |
117 | 117 | ctx.tellSuccess(msg); |
118 | 118 | } |
119 | 119 | |
120 | - boolean matched; | |
120 | + boolean matched = false; | |
121 | 121 | if (triggers == null || triggers.isEmpty()) { |
122 | 122 | matched = true; |
123 | 123 | } else { |
124 | - matched = false; | |
124 | + boolean itemMatched = false; | |
125 | 125 | for (TriggerDTO trigger : triggers) { |
126 | 126 | TriggerState triggerState = getOrCreateTriggerState(trigger, deviceId); |
127 | 127 | if (triggerState == null) { |
128 | 128 | continue; |
129 | 129 | } |
130 | - matched = triggerState.process(ctx, msg); | |
131 | - if (matched) { | |
130 | + itemMatched = triggerState.process(ctx, msg); | |
131 | + if (itemMatched) { | |
132 | + matched = true; | |
132 | 133 | detail.append(triggerState.getAlarmDetails()); |
133 | 134 | if (this.alarmAction != null) { |
134 | 135 | noticeMsg(ctx, msg, alarmAction, deviceId, triggerState.getAlarmDetails(), triggerState.getLatestValues().getTs()); | ... | ... |