浏览代码

增加Subject和RemarkTemplate的接口

4228306 5 年之前
父节点
当前提交
8a8ad311d2

+ 55 - 5
src/main/java/com/yaoxiang/diagnosis/controller/RemarkTemplateController.java

@@ -3,10 +3,11 @@ package com.yaoxiang.diagnosis.controller;
 
 import com.yaoxiang.diagnosis.dao.RemarkTemplateRepo;
 import com.yaoxiang.diagnosis.entity.RemarkTemplate;
+import com.yaoxiang.diagnosis.model.Result;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.domain.Example;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -20,7 +21,56 @@ public class RemarkTemplateController {
     private RemarkTemplateRepo remarkTemplateRepo;
 
     @GetMapping("/list")
-    public List<RemarkTemplate> list() {
-        return remarkTemplateRepo.findAll();
+    public List<RemarkTemplate> list(@RequestParam(required = false) String name) {
+        if(StringUtils.isBlank(name)){
+           return remarkTemplateRepo.findAll();
+        }
+        RemarkTemplate template = new RemarkTemplate();
+        template.setName(name);
+        return remarkTemplateRepo.findAll(Example.of(template));
+    }
+
+    @PostMapping("add")
+    public Result add(String name, String remark, Long subjectId) {
+        if (checkName(name)) {
+            return Result.fail("该模板已存在");
+        }
+        RemarkTemplate template = new RemarkTemplate();
+        template.setName(name);
+        template.setRemark(remark);
+        template.setSubjectId(subjectId);
+        remarkTemplateRepo.save(template);
+        return Result.ok();
+    }
+
+    @GetMapping("exists")
+    public Result exists(String name) {
+        return Result.ok(checkName(name));
+    }
+
+    @PostMapping("update")
+    public Result update(Long id, String name, String remark, Long subjectId) {
+        RemarkTemplate template = remarkTemplateRepo.findById(id).orElse(null);
+        if (template == null) {
+            return Result.fail("未找到模板");
+        }
+        template.setName(name);
+        template.setRemark(remark);
+        template.setSubjectId(subjectId);
+        remarkTemplateRepo.save(template);
+        return Result.ok();
+    }
+
+    @PostMapping("delete")
+    public Result delete(Long id) {
+        remarkTemplateRepo.deleteById(id);
+        return Result.ok();
+    }
+
+    private boolean checkName(String name) {
+        RemarkTemplate template = new RemarkTemplate();
+        template.setName(name);
+        Example<RemarkTemplate> example = Example.of(template);
+        return remarkTemplateRepo.findOne(example).isPresent();
     }
 }

+ 52 - 0
src/main/java/com/yaoxiang/diagnosis/controller/SubjectController.java

@@ -0,0 +1,52 @@
+package com.yaoxiang.diagnosis.controller;
+
+import com.yaoxiang.diagnosis.entity.Subject;
+import com.yaoxiang.diagnosis.model.Result;
+import com.yaoxiang.diagnosis.service.SubjectService;
+import io.swagger.annotations.Api;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Api(tags = "科目管理")
+@RestController
+@RequestMapping("subject")
+public class SubjectController {
+
+    @Resource
+    private SubjectService subjectService;
+
+    @GetMapping("/list")
+    public List<Subject> list(@RequestParam(required = false) String name) {
+        if (StringUtils.isBlank(name)) {
+            return subjectService.list();
+        }
+        return subjectService.list(name);
+    }
+
+    @PostMapping("add")
+    public Result add(String name, String code) {
+        boolean r = subjectService.add(name, code);
+        return r ? Result.ok() : Result.fail("该科目已存在");
+    }
+
+    @GetMapping("exists")
+    public Result exists(String name) {
+        return Result.ok(subjectService.findByName(name) != null);
+    }
+
+    @PostMapping("update")
+    public Result update(Long id, String name, String code) {
+        boolean r = subjectService.update(id, name, code);
+        return r ? Result.ok() : Result.fail("未找到科目");
+    }
+
+    @PostMapping("delete")
+    public Result delete(Long id) {
+        subjectService.delete(id);
+        return Result.ok();
+    }
+
+}

+ 40 - 0
src/main/java/com/yaoxiang/diagnosis/service/SubjectService.java

@@ -2,9 +2,11 @@ package com.yaoxiang.diagnosis.service;
 
 import com.yaoxiang.diagnosis.dao.SubjectRepo;
 import com.yaoxiang.diagnosis.entity.Subject;
+import org.springframework.data.domain.Example;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Service
 public class SubjectService {
@@ -16,7 +18,45 @@ public class SubjectService {
         return subjectRepo.findByName(name);
     }
 
+    public List<Subject> list() {
+        return subjectRepo.findAll();
+    }
+
+        public List<Subject> list(String name) {
+        Subject subject = new Subject();
+        subject.setName(name);
+        Example<Subject> example = Example.of(subject);
+        return subjectRepo.findAll(example);
+    }
+
     public Subject get(Long id) {
         return subjectRepo.getOne(id);
     }
+
+    public boolean add(String name, String code) {
+        if (findByName(name) == null) {
+            return false;
+        }
+        Subject subject = new Subject();
+        subject.setName(name);
+        subject.setCode(code);
+        subjectRepo.save(subject);
+        return true;
+    }
+
+    public boolean update(Long id,String name,String code){
+        Subject subject = get(id);
+        if(subject == null){
+            return false;
+        }
+        subject.setName(name);
+        subject.setCode(code);
+        subjectRepo.save(subject);
+        return true;
+    }
+
+    public boolean delete(Long id) {
+        subjectRepo.deleteById(id);
+        return true;
+    }
 }