| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- package com.izouma.nineth.web;
- import com.izouma.nineth.domain.MetaResources;
- import com.izouma.nineth.domain.MetaResourcesLikeRecord;
- import com.izouma.nineth.dto.MetaResourcesLikeDTO;
- import com.izouma.nineth.dto.MetaRestResult;
- import com.izouma.nineth.dto.PageQuery;
- import com.izouma.nineth.enums.MetaResourcesType;
- import com.izouma.nineth.exception.BusinessException;
- import com.izouma.nineth.repo.MetaResourcesLikeRecordRepo;
- import com.izouma.nineth.repo.MetaResourcesRepo;
- import com.izouma.nineth.service.MetaResourcesService;
- import com.izouma.nineth.utils.DateTimeUtils;
- import com.izouma.nineth.utils.ObjUtils;
- import com.izouma.nineth.utils.excel.ExcelUtils;
- import lombok.AllArgsConstructor;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.data.domain.Page;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.time.LocalDate;
- import java.time.format.DateTimeFormatter;
- import java.util.List;
- import java.util.Objects;
- @RestController
- @RequestMapping("/metaResources")
- @AllArgsConstructor
- public class MetaResourcesController extends BaseController {
- private MetaResourcesService metaResourcesService;
- private MetaResourcesRepo metaResourcesRepo;
- private MetaResourcesLikeRecordRepo metaResourcesLikeRecordRepo;
- //@PreAuthorize("hasRole('ADMIN')")
- @PostMapping("/save")
- public MetaResources save(@RequestBody MetaResources record) {
- MetaResources metaResources = metaResourcesRepo.findByNameAndDel(record.getName(), false);
- if (Objects.nonNull(metaResources) && !Objects.equals(metaResources.getId(), record.getId())) {
- throw new BusinessException("当前资源名称已经存在!");
- }
- if (record.getId() != null) {
- MetaResources orig = metaResourcesRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
- ObjUtils.merge(orig, record);
- return metaResourcesRepo.save(orig);
- }
- return metaResourcesRepo.save(record);
- }
- //@PreAuthorize("hasRole('ADMIN')")
- @PostMapping("/all")
- public Page<MetaResources> all(@RequestBody PageQuery pageQuery) {
- return metaResourcesService.all(pageQuery);
- }
- @GetMapping("/get/{id}")
- public MetaResources get(@PathVariable Long id) {
- return metaResourcesRepo.findById(id).orElseThrow(new BusinessException("无记录"));
- }
- @PostMapping("/del/{id}")
- public void del(@PathVariable Long id) {
- metaResourcesRepo.softDelete(id);
- }
- @GetMapping("/excel")
- @ResponseBody
- public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
- List<MetaResources> data = all(pageQuery).getContent();
- ExcelUtils.export(response, data);
- }
- @GetMapping("/getUrl")
- public MetaRestResult<String> getUrl(String name) {
- MetaResources metaResources = metaResourcesRepo.findByNameAndDel(name, false);
- if (Objects.isNull(metaResources)) {
- return MetaRestResult.returnError("不存在该名称的资源");
- }
- if (StringUtils.isBlank(metaResources.getValue())) {
- return MetaRestResult.returnError("该名称的资源文件为空");
- }
- return MetaRestResult.returnSuccess("查询成功", metaResources.getValue());
- }
- @PostMapping("/like/{name}/{userId}")
- public MetaRestResult<Integer> like(@PathVariable String name, @PathVariable Long userId) {
- MetaResources metaResources = metaResourcesRepo.findByNameAndDel(name, false);
- if (Objects.isNull(metaResources)) {
- return MetaRestResult.returnError("当前资源不存在!");
- }
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DateTimeUtils.DATE_FORMAT);
- LocalDate likeTime = LocalDate.parse(LocalDate.now().format(formatter), formatter);
- MetaResourcesLikeRecord metaResourcesLikeRecord = metaResourcesLikeRecordRepo.findByMetaResourcesNameAndUserIdAndLikeTime(name, userId, likeTime);
- if (Objects.nonNull(metaResourcesLikeRecord)) {
- return MetaRestResult.returnError("该资源今天已经点过赞,不可重复点赞");
- }
- metaResourcesLikeRecord = new MetaResourcesLikeRecord();
- metaResourcesLikeRecord.setMetaResourcesName(name);
- metaResourcesLikeRecord.setUserId(userId);
- metaResourcesLikeRecord.setLikeTime(likeTime);
- metaResourcesLikeRecordRepo.save(metaResourcesLikeRecord);
- metaResources.setLikeNum(metaResources.getLikeNum() + 1);
- metaResourcesRepo.save(metaResources);
- return MetaRestResult.returnSuccess(metaResources.getLikeNum());
- }
- @GetMapping("/getLikeNum/{name}/{userId}")
- public MetaRestResult<MetaResourcesLikeDTO> getLikeNum(@PathVariable String name, @PathVariable Long userId) {
- MetaResources metaResources = metaResourcesRepo.findByNameAndDel(name, false);
- if (Objects.isNull(metaResources)) {
- return MetaRestResult.returnError("当前资源不存在!");
- }
- MetaResourcesLikeDTO metaResourcesLikeDTO = new MetaResourcesLikeDTO();
- metaResourcesLikeDTO.setNum(metaResources.getLikeNum());
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DateTimeUtils.DATE_FORMAT);
- LocalDate likeTime = LocalDate.parse(LocalDate.now().format(formatter), formatter);
- MetaResourcesLikeRecord metaResourcesLikeRecord = metaResourcesLikeRecordRepo.findByMetaResourcesNameAndUserIdAndLikeTime(name, userId, likeTime);
- if (Objects.nonNull(metaResourcesLikeRecord)) {
- metaResourcesLikeDTO.setLike(true);
- return MetaRestResult.returnSuccess(metaResourcesLikeDTO);
- }
- return MetaRestResult.returnSuccess(metaResourcesLikeDTO);
- }
- @GetMapping("/getValue/{type}")
- public MetaRestResult<List<MetaResources>> getValue(@PathVariable MetaResourcesType type) {
- List<MetaResources> metaResources = metaResourcesRepo.findByTypeAndDel(type,false);
- if (Objects.isNull(metaResources)) {
- return MetaRestResult.returnError("当前类型不存在!");
- }
- return MetaRestResult.returnSuccess(metaResources);
- }
- }
|