|
|
@@ -0,0 +1,66 @@
|
|
|
+package com.izouma.nineth.web;
|
|
|
+
|
|
|
+import com.izouma.nineth.domain.DailySign;
|
|
|
+import com.izouma.nineth.service.DailySignService;
|
|
|
+import com.izouma.nineth.dto.PageQuery;
|
|
|
+import com.izouma.nineth.exception.BusinessException;
|
|
|
+import com.izouma.nineth.repo.DailySignRepo;
|
|
|
+import com.izouma.nineth.utils.ObjUtils;
|
|
|
+import com.izouma.nineth.utils.excel.ExcelUtils;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/dailySign")
|
|
|
+@AllArgsConstructor
|
|
|
+public class DailySignController extends BaseController {
|
|
|
+ private DailySignService dailySignService;
|
|
|
+ private DailySignRepo dailySignRepo;
|
|
|
+
|
|
|
+ //@PreAuthorize("hasRole('ADMIN')")
|
|
|
+ @PostMapping("/save")
|
|
|
+ public DailySign save(@RequestBody DailySign record) {
|
|
|
+ if (record.getId() != null) {
|
|
|
+ DailySign orig = dailySignRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
|
|
|
+ ObjUtils.merge(orig, record);
|
|
|
+ return dailySignRepo.save(orig);
|
|
|
+ }
|
|
|
+ return dailySignRepo.save(record);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //@PreAuthorize("hasRole('ADMIN')")
|
|
|
+ @PostMapping("/all")
|
|
|
+ public Page<DailySign> all(@RequestBody PageQuery pageQuery) {
|
|
|
+ return dailySignService.all(pageQuery);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/get/{id}")
|
|
|
+ public DailySign get(@PathVariable Long id) {
|
|
|
+ return dailySignRepo.findById(id).orElseThrow(new BusinessException("无记录"));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/del/{id}")
|
|
|
+ public void del(@PathVariable Long id) {
|
|
|
+ dailySignRepo.softDelete(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/excel")
|
|
|
+ @ResponseBody
|
|
|
+ public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
|
|
|
+ List<DailySign> data = all(pageQuery).getContent();
|
|
|
+ ExcelUtils.export(response, data);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/sign")
|
|
|
+ public void sign(Long userId) {
|
|
|
+ dailySignService.sign(userId);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|