Browse Source

草稿控制器

周浩 9 years ago
parent
commit
c4ee1a25e6

+ 65 - 0
hsweb-web-controller/src/main/java/org/hsweb/web/controller/draft/DraftController.java

@@ -0,0 +1,65 @@
+package org.hsweb.web.controller.draft;
+
+import org.hsweb.web.bean.po.draft.Draft;
+import org.hsweb.web.bean.po.user.User;
+import org.hsweb.web.core.authorize.annotation.Authorize;
+import org.hsweb.web.core.message.ResponseMessage;
+import org.hsweb.web.core.utils.WebUtil;
+import org.hsweb.web.service.draft.DraftService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.Cache;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 草稿箱,基于缓存
+ * Created by zhouhao on 16-6-2.
+ */
+@RestController
+@RequestMapping("/draft")
+@Authorize
+public class DraftController {
+
+    @Resource
+    private DraftService draftService;
+
+    @RequestMapping(value = "/{key}", method = RequestMethod.POST)
+    public ResponseMessage createDraft(@PathVariable("key") String key,
+                                       @RequestBody Draft draft) {
+        User user = WebUtil.getLoginUser();
+        draft.setId(Draft.createUID());
+        draft.setCreateDate(new Date());
+        draft.setCreatorId(user.getId());
+        return ResponseMessage.ok(draftService.createDraft(key + user.getId(), draft));
+    }
+
+    @RequestMapping(value = "/{key}", method = RequestMethod.GET)
+    public ResponseMessage getAllDraftByKey(@PathVariable("key") String key) {
+        User user = WebUtil.getLoginUser();
+        return ResponseMessage.ok(draftService.getAllDraftByKey(key, user.getId()));
+    }
+
+    @RequestMapping(value = "/{key}/{id}", method = RequestMethod.DELETE)
+    public ResponseMessage removeDraft(@PathVariable("key") String key, @PathVariable("id") String id) {
+        User user = WebUtil.getLoginUser();
+        draftService.removeDraft(key, id, user.getId());
+        return ResponseMessage.ok();
+    }
+
+
+    @RequestMapping(value = "/{key}", method = RequestMethod.DELETE)
+    public ResponseMessage removeAllDraft(@PathVariable("key") String key) {
+        User user = WebUtil.getLoginUser();
+        draftService.removeDraft(key, user.getId());
+        return ResponseMessage.ok();
+    }
+
+}