| | |
| | | return key.getKey().longValue(); |
| | | } |
| | | |
| | | /** 负责人只能将自己的待处理事项完成一次;写入条件同时校验身份和当前状态。 */ |
| | | public void handle(long id, long ownerId, String remark) { |
| | | /** |
| | | * 负责人把自己的待处理事项标记为已处理,并保存处理说明。 |
| | | * |
| | | * <p>前置条件:操作人就是该待办的负责人,处理说明非空且不超过 500 个字符。 |
| | | * 写入条件同时校验身份和当前状态,已处理的事项不能重复处理。</p> |
| | | * |
| | | * @param id 待办主键 |
| | | * @param ownerId 操作人用户 ID |
| | | * @param remark 处理说明 |
| | | * @throws ServiceException 处理说明为空或超长、待办不存在、已处理或不属于该负责人 |
| | | */ |
| | | public void completeTodo(long id, long ownerId, String remark) { |
| | | String value = required(remark, 500, "处理说明"); |
| | | if (jdbc.update("update t_todo set status='已处理',handle_remark=?,operated_at_utc=? where todo_id=? and owner_id=? and status='待处理'", |
| | | value, new Timestamp(System.currentTimeMillis()), id, ownerId) != 1) |