Commit c978ac1689a3719f5496f37e7158cb654bbe558a

Authored by xp.Huang
2 parents 0246ee68 8c8c20d8

Merge branch '20220505' into 'master'

refactor: 意见反馈业务逻辑调整

See merge request huang/thingsboard3.3.2!93
... ... @@ -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());
... ...