Commit 43b04502647ae6f6fc431ed13d3f632eb49e21b8
1 parent
8dc8b250
feature(*): 优化待办推送
- 优化待办推送
Showing
1 changed file
with
18 additions
and
10 deletions
fw-shirasawa-server/src/main/java/cn/fw/shirasawa/server/controller/task/FollowRecordTask.java
... | ... | @@ -145,16 +145,7 @@ public class FollowRecordTask { |
145 | 145 | } |
146 | 146 | FollowTask task = followTaskService.getById(record.getTaskId()); |
147 | 147 | if (Objects.nonNull(task) && TaskStateEnum.ONGOING.equals(task.getState())) { |
148 | - String note = record.getNote(); | |
149 | - HashMap<String, String> dynamicMap = Optional.ofNullable(JSONObject.<HashMap<String, String>>parseObject(note, HashMap.class)).orElse(new HashMap<>(4)); | |
150 | - dynamicMap.put("type", record.getType().getValue().toString()); | |
151 | - dynamicMap.put("taskId", record.getTaskId().toString()); | |
152 | - dynamicMap.put("id", record.getId().toString()); | |
153 | - BackLogItemDTO dto = new BackLogItemDTO(userId, record.getTodoCode(), String.valueOf(record.getId()), DateUtil.toDate(record.getPlanTime()), record.getShopId()); | |
154 | - dto.setExpireTime(DateUtil.toDate(record.getDeadline())); | |
155 | - dto.setDynamicMap(dynamicMap); | |
156 | - boolean pushed = todoRpcService.push(dto); | |
157 | - if (pushed) { | |
148 | + if (execute(record)) { | |
158 | 149 | idList.add(record.getId()); |
159 | 150 | } |
160 | 151 | } else { |
... | ... | @@ -166,4 +157,21 @@ public class FollowRecordTask { |
166 | 157 | followRecordService.removeByIds(failIdList); |
167 | 158 | } |
168 | 159 | } |
160 | + | |
161 | + private boolean execute(FollowRecord record) { | |
162 | + try { | |
163 | + String note = record.getNote(); | |
164 | + HashMap<String, String> dynamicMap = Optional.ofNullable(JSONObject.<HashMap<String, String>>parseObject(note, HashMap.class)).orElse(new HashMap<>(4)); | |
165 | + dynamicMap.put("type", record.getType().getValue().toString()); | |
166 | + dynamicMap.put("taskId", record.getTaskId().toString()); | |
167 | + dynamicMap.put("id", record.getId().toString()); | |
168 | + BackLogItemDTO dto = new BackLogItemDTO(record.getUserId(), record.getTodoCode(), String.valueOf(record.getId()), DateUtil.toDate(record.getPlanTime()), record.getShopId()); | |
169 | + dto.setExpireTime(DateUtil.toDate(record.getDeadline())); | |
170 | + dto.setDynamicMap(dynamicMap); | |
171 | + return todoRpcService.push(dto); | |
172 | + } catch (Exception e) { | |
173 | + log.error("推送待办失败 record: [{}]", record, e); | |
174 | + return false; | |
175 | + } | |
176 | + } | |
169 | 177 | } | ... | ... |