package com.linghu.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.handler.SheetWriteHandler; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.linghu.listener.PlatformExcelListener; import com.linghu.listener.UserExcelListener; import com.linghu.model.common.ResponseResult; import com.linghu.model.entity.Platform; import com.linghu.model.entity.Sectionalization; import com.linghu.model.entity.User; import com.linghu.model.excel.ExcelDataWithRow; import com.linghu.model.excel.PlatformExcel; import com.linghu.model.excel.UserExcel; import com.linghu.model.vo.UserPageVO; import com.linghu.service.SectionalizationService; import com.linghu.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.usermodel.DataValidation; import org.apache.poi.ss.usermodel.DataValidationConstraint; import org.apache.poi.ss.usermodel.DataValidationHelper; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.util.CellRangeAddressList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.regex.Pattern; import java.util.stream.Collectors; @RestController @RequestMapping("/user") @Api(value = "账号相关接口", tags = "设置-账号管理") public class UserController { @Autowired private UserService userService; /** * 新增用户 */ @PostMapping @ApiOperation(value = "添加") public ResponseResult add(@RequestBody User user) { return userService.addUser(user); } /** * 修改用户 */ @PutMapping @ApiOperation(value = "修改") public ResponseResult edit(@RequestBody User user) { return userService.editUser(user); } /** * 删除用户 */ @DeleteMapping("/{user_id}") @ApiOperation(value = "删除") public ResponseResult delete(@PathVariable("user_id") Integer user_id) { userService.removeById(user_id); return ResponseResult.success(); } /** * 分页查询 */ @GetMapping @ApiOperation(value = "分页") public ResponseResult> page(@RequestParam(value = "pageSize", required = false, defaultValue = "10")Integer pageSize, @RequestParam(value = "pageNum", required = false,defaultValue = "1")Integer pageNum, @RequestParam(value = "sectionalization_id",required = false)Integer sectionalization_id, @RequestParam(value = "status" ,required = false)String status) { Page page = new Page<>(pageNum, pageSize); return ResponseResult.success( userService.getPage(page,sectionalization_id,status)); } /** * 下载模板 */ @GetMapping("/downloadTemplate") @ApiOperation("下载模板") public ResponseEntity downloadTemplate() throws IOException { return userService.downloadUser(); } /** * 导入文件 */ @PostMapping("/importUserExcel") @ApiOperation("导入用户数据") public ResponseResult importUserExcel(@RequestParam("file") MultipartFile file) { return userService.importUser(file); } }