From e01f312cfd5297514dd2942da36f4bb007677aa0 Mon Sep 17 00:00:00 2001 From: sige Date: Wed, 10 Apr 2024 16:49:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=20type=3D?= =?UTF-8?q?=20"error"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.db | Bin 299008 -> 299008 bytes .../controller/UfApiNotification.java | 26 +++++++++++++++++++++ .../underframework/dao/record/UfActiveRecord.java | 13 +++++++++++ web | 2 +- 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/iflytop/digester/underframework/controller/UfApiNotification.java diff --git a/app.db b/app.db index a4b9ca8ee5fc0db3d38256966d2ca1c76b37ddce..72199755eb1670940c6e5cba1e11449b3e397a24 100644 GIT binary patch delta 133 zcmZozAk?rxXo56j>qHr6#@5D!tqF|F@>!lT@IT!wXwb_)eR@5kl|BOl0|=u4Nk&#- zaamDABjePfqWmHtZD!-c@K4_?Xwb_)eR@5km0;JxXPwJmEbMu@ zWaEo1OBJjXra$awlxEILE#KC_$R@yYgMt4BQ29B27Io%O>{&8CAA3E?{IUXlD~( M0%GRvKt;dm0sX!wD*ylh diff --git a/src/main/java/com/iflytop/digester/underframework/controller/UfApiNotification.java b/src/main/java/com/iflytop/digester/underframework/controller/UfApiNotification.java new file mode 100644 index 0000000..2407dc6 --- /dev/null +++ b/src/main/java/com/iflytop/digester/underframework/controller/UfApiNotification.java @@ -0,0 +1,26 @@ +package com.iflytop.digester.underframework.controller; +import com.iflytop.digester.underframework.dao.model.UfMdbNotification; +import com.iflytop.digester.underframework.dao.record.UfActiveRecord; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; +import java.util.Map; +@Controller +public class UfApiNotification extends UfApiControllerBase { + @ResponseBody + @PostMapping("/api/notification/fetch-one") + public UfApiResponse notificationFetchOne() { + var notification = UfActiveRecord.findOne(UfMdbNotification.class, Map.of("status", "new")); + return this.success(notification); + } + + @ResponseBody + @PostMapping("/api/notification/mark-read") + public UfApiResponse notificationMarkRead(@RequestBody UfMdbNotification notification) { + notification.reload(); + notification.status = "read"; + notification.save(); + return this.success(); + } +} diff --git a/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java b/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java index b3604cf..c87e991 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java @@ -202,4 +202,17 @@ public class UfActiveRecord { } return data; } + + // reload model + public void reload() { + if ( null == this.id ) { + throw new RuntimeException("Model id is null"); + } + var model = UfActiveRecord.findOne(this.getClass(), this.id); + if ( null == model ) { + throw new RuntimeException("Model not found: " + this.id); + } + this.setAttributes(model.toMap()); + this.isNewRecord = false; + } } diff --git a/web b/web index 5a0d772..1281f43 160000 --- a/web +++ b/web @@ -1 +1 @@ -Subproject commit 5a0d77238339189b0fc83e950c0f12d02fff9d2d +Subproject commit 1281f43be8a5de2f98d83c2a32506bb878eb5495