package com.doumee.api.business; import com.doumee.api.BaseController; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.model.Card; import com.doumee.dao.web.dto.AddCardDTO; import com.doumee.dao.web.dto.CardDTO; import com.doumee.dao.web.dto.QueryCardDTO; import com.doumee.service.business.CardService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import lombok.Data; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @author 江蹄蹄 * @date 2023/04/13 11:22 */ @Api(tags = "充值卡信息表") @RestController @RequestMapping("/business/card") public class CardController extends BaseController { @Autowired private CardService cardService; @PreventRepeat @ApiOperation("新建") @PostMapping("/create") // @RequiresPermissions("business:card:create") public ApiResponse create(@Valid @RequestBody AddCardDTO card) { return ApiResponse.success(cardService.create(card)); } @ApiOperation("根据ID删除") @GetMapping("/delete/{id}") @RequiresPermissions("business:card:delete") public ApiResponse deleteById(@PathVariable Integer id) { cardService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("business:card:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } cardService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据ID修改") @PostMapping("/updateById") @RequiresPermissions("business:card:update") public ApiResponse updateById(@RequestBody AddCardDTO card) { cardService.updateById(card); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") // @RequiresPermissions("business:card:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(cardService.findPage(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") // @RequiresPermissions("business:card:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) { Utils.MP.blankToNull(pageWrap.getModel()); // if (Constants.equalsInteger(pageWrap.getModel().getExportType(),Constants.ZERO)){ // List records = cardService.findPage(pageWrap).getRecords(); // if (CollectionUtils.isEmpty(records)){ // return; // } // List collect = records.stream().map(s -> { // CardPassword card = new CardPassword(); // card.setCode(s.getCode()); // card.setPassword(s.getPassword()); // return card; // }).collect(Collectors.toList()); // ExcelExporter.build(CardPassword.class).export(collect, "卡号卡密信息表", response); // }else if (Constants.equalsInteger(pageWrap.getModel().getExportType(),Constants.ONE)){ List records = cardService.findPage(pageWrap).getRecords(); if (CollectionUtils.isEmpty(records)){ return; } ExcelExporter.build(CardDTO.class).export(records, "充值卡信息表", response); // } } @ApiOperation("根据ID查询") @GetMapping("/{id}") @RequiresPermissions("business:card:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(cardService.findById(id)); } // @Data // public static class CardPassword{ // // @ApiModelProperty(value = "卡号") // @ExcelColumn(name="卡号",width = 18) // private String code; // // @ApiModelProperty(value = "卡密") // @ExcelColumn(name="卡密",width = 18) // private String password; // } }