package cn.com.qmth.mps.controller; import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.qmth.boot.api.annotation.Aac; import com.qmth.boot.api.annotation.BOOL; import com.qmth.boot.api.constant.ApiConstant; import com.qmth.boot.core.collection.PageResult; import cn.com.qmth.mps.bean.User; import cn.com.qmth.mps.bean.UserImportMsg; import cn.com.qmth.mps.service.UserService; import cn.com.qmth.mps.util.ResouceUtil; import cn.com.qmth.mps.vo.user.UserDomain; import cn.com.qmth.mps.vo.user.UserQuery; import cn.com.qmth.mps.vo.user.UserVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @RestController @Api(tags = "用户接口") @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/user") @Aac(strict = BOOL.FALSE, auth = BOOL.TRUE) public class UserController extends BaseController { @Autowired private UserService userService; @ApiOperation(value = "新增/修改") @RequestMapping(value = "/save", method = RequestMethod.POST) public void save(UserDomain domain) { userService.saveUser(domain, getAccessUser()); } @PostMapping("import") @ApiOperation(value = "导入") public UserImportMsg importUser(@RequestParam Long schoolId, @RequestParam MultipartFile file) { User user = getAccessUser(); List failRecords = userService.importUser(schoolId,user, file); UserImportMsg msg = new UserImportMsg(); msg.setHasError(CollectionUtils.isNotEmpty(failRecords)); msg.setErrMsg(failRecords); return msg; } @ApiOperation(value = "下载导入模板") @PostMapping("template") public void getImportTemplate() { exportFile("用户导入模板.xlsx", ResouceUtil.getStream("importtemplates/userImport.xlsx")); } @ApiOperation(value = "获取分页") @RequestMapping(value = "/page", method = RequestMethod.POST) public PageResult page(UserQuery query) { return userService.page(query,getAccessUser()); } @ApiOperation(value = "获取信息") @RequestMapping(value = "/info", method = RequestMethod.POST) public UserVo info(@RequestParam Long id) { return userService.info(id); } @ApiOperation(value = "启用/禁用") @RequestMapping(value = "/toggle", method = RequestMethod.POST) public void toggle(@RequestParam List ids, @RequestParam Boolean enable) { userService.toggle(ids,enable); } @ApiOperation(value = "重置用户密码") @PostMapping("reset-passwd") public void resetPass(@RequestParam Long schoolId,@RequestParam List ids) { userService.resetPass(schoolId,ids,getAccessUser()); } @ApiOperation(value = "修改用户密码") @PostMapping("password") public void updatePass(@RequestParam String password) { userService.updatePass(password,getAccessUser()); } }