| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package com.izouma.nineth.web;
- import com.izouma.nineth.domain.GiftOrder;
- import com.izouma.nineth.domain.User;
- import com.izouma.nineth.dto.GiftOrderDTO;
- import com.izouma.nineth.dto.PageQuery;
- import com.izouma.nineth.exception.BusinessException;
- import com.izouma.nineth.repo.GiftOrderRepo;
- import com.izouma.nineth.repo.UserRepo;
- import com.izouma.nineth.service.GiftOrderService;
- import com.izouma.nineth.utils.excel.ExcelUtils;
- import lombok.AllArgsConstructor;
- import org.springframework.data.domain.Page;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.stream.Collectors;
- @RestController
- @RequestMapping("/giftOrder")
- @AllArgsConstructor
- public class GiftOrderController extends BaseController {
- private GiftOrderService giftOrderService;
- private GiftOrderRepo giftOrderRepo;
- private UserRepo userRepo;
- //@PreAuthorize("hasRole('ADMIN')")
- @PostMapping("/all")
- public Page<GiftOrderDTO> all(@RequestBody PageQuery pageQuery) {
- Page<GiftOrder> all = giftOrderService.all(pageQuery);
- Set<Long> userIds = new HashSet<>();
- all.getContent().forEach(go -> {
- userIds.add(go.getUserId());
- userIds.add(go.getToUserId());
- });
- Map<Long, String> userMap = userRepo.findByIdInAndDelFalse(userIds)
- .stream()
- .collect(Collectors.toMap(User::getId, User::getNickname));
- return all.map(go -> {
- GiftOrderDTO dto = new GiftOrderDTO(go);
- dto.setNickname(userMap.get(go.getUserId()));
- dto.setToNickname(userMap.get(go.getToUserId()));
- dto.setStatus(go.getStatus() == null ? "" :go.getStatus().getDescription());
- dto.setPayMethod(go.getPayMethod() == null ? "" : go.getPayMethod().getDescription());
- return dto;
- });
- }
- @GetMapping("/get/{id}")
- public GiftOrder get(@PathVariable Long id) {
- return giftOrderRepo.findById(id).orElseThrow(new BusinessException("无记录"));
- }
- @PostMapping("/del/{id}")
- public void del(@PathVariable Long id) {
- giftOrderRepo.softDelete(id);
- }
- @PostMapping("/excel")
- @ResponseBody
- public void excel(HttpServletResponse response, @RequestBody PageQuery pageQuery) throws IOException {
- List<GiftOrderDTO> data = all(pageQuery).getContent();
- ExcelUtils.export(response, data);
- }
- }
|