首页 > 其他分享 >2023-12-15

2023-12-15

时间:2023-12-15 18:05:13浏览次数:30  
标签:12 return RequestMapping userMapper 15 AjaxResult 2023 import public

package com.example.backendmanage.controller;

import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.server.HttpServerResponse;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.backendmanage.common.AjaxResult;
import com.example.backendmanage.info.User;
import com.example.backendmanage.mapper.UserMapper;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserMapper userMapper;

    @RequestMapping("/login")
    public AjaxResult login(@RequestBody User user){
        if (user == null|| StrUtil.isBlank(user.getUsername())||StrUtil.isBlank(user.getPassword())) {
            return AjaxResult.fail(-1,"参数为空");
        }
        User findUser=userMapper.login(user.getUsername());
        if (user.getPassword().equals(findUser.getPassword())){
            return AjaxResult.success(1);
        }else {
            return AjaxResult.fail(-1,"密码错误");
        }

    }

    @RequestMapping("/findAllUser")
    public AjaxResult findAllUser(){
        return AjaxResult.success(userMapper.findAll());
    }

    @RequestMapping("/addUser")
    public AjaxResult addUser(@RequestBody User user){
        userMapper.addUser(user);
        return AjaxResult.success(1);
    }
    @RequestMapping("/page")
    public AjaxResult findPage(@RequestParam Integer pageIndex,@RequestParam Integer pageSize){
        Integer pageNum=(pageIndex-1)*pageSize;
        List<User> findUser=userMapper.pageFind(pageNum,pageSize);
        int total=userMapper.findAll().size();
        HashMap<String,Object> res=new HashMap<>();
        res.put("total",total);
        res.put("findUser",findUser);
        return AjaxResult.success(res);
    }
    @RequestMapping("/search")
    public AjaxResult search(@RequestParam(defaultValue = "") String username,
                             @RequestParam(defaultValue = "") String email,
                             @RequestParam(defaultValue = "") String address){
        System.out.println(username+"   email->"+email+"   address->"+address);
        List<User> users= userMapper.search(username,email,address);
        if (users.size()>0)System.out.println(users.get(0));
        HashMap<String,Object> hashMap=new HashMap<>();
        hashMap.put("findUser",users);
        hashMap.put("total",users.size());
        return AjaxResult.success(hashMap);
    }
    @RequestMapping("/updateUser")
    public AjaxResult updateUser(@RequestBody User user){
        return AjaxResult.success(userMapper.UpdateUser(user));
    }
    @RequestMapping("/delUser")
    public AjaxResult delUser(@RequestParam Integer id){
        System.out.println(id);
        return AjaxResult.success(userMapper.delUser(id));
    }
    @RequestMapping("/DelUsers")
    public AjaxResult DelUsers(@RequestParam("ids") List<Integer> ids){
        for (Integer id :
                ids) {
            userMapper.delUser(id);
        }
        return AjaxResult.success(1);
    }
    @RequestMapping("/export")
    public void export(HttpServletResponse response){
        try {
            List<User> list=userMapper.findAll();
            ExcelWriter excelWriter= ExcelUtil.getWriter(true);
            excelWriter.write(list,true);
            //response为HttpServletResponse对象
            response.setContentType("application/vnd.ms-excel;charset=utf-8");
            //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
            String filename= null;
            filename = URLEncoder.encode("用户信息","UTF-8");
            response.setHeader("Content-Disposition","attachment;filename="+filename+".xls");
            ServletOutputStream out = response.getOutputStream();
            excelWriter.flush(out, true);
            // 关闭writer,释放内存
            excelWriter.close();
            //此处记得关闭输出Servlet流
            IoUtil.close(out);
        } catch (Exception e){
            e.printStackTrace();
        }
    }
    @RequestMapping("/import")
    public Boolean imports(MultipartFile file){
        try {
            InputStream inputStream=file.getInputStream();
            ExcelReader excelReader=ExcelUtil.getReader(inputStream);
            List<User> list=excelReader.readAll(User.class);
            for (User u :
                    list) {
                userMapper.addUser(u);
            }
            System.out.println(list);
            return true;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }
}

 

标签:12,return,RequestMapping,userMapper,15,AjaxResult,2023,import,public
From: https://www.cnblogs.com/wllovelmbforever/p/17903899.html

相关文章

  • macOS Monterey 12.7.2 (21G1974) Boot ISO 原版可引导镜像下载
    macOSMonterey12.7.2(21G1974)BootISO原版可引导镜像本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。macOSMonterey12.7.x如无特殊说明,皆为安......
  • 文心一言 VS 讯飞星火 VS chatgpt (157)-- 算法导论12.3 4题
    四、用go语言,删除操作可交换吗?可交换的含义是,先删除x再删除y留下的结果树与先除y再删除x留下的结果树完全一样。如果是,说明为什么?否则,给出一个反例。文心一言:在Go语言中,删除操作是不可交换的。这意味着先删除节点x再删除节点y与先删除节点y再删除节点x留下的......
  • 12.15---python文件读取
    withopen('pi_digits.txt')asfile:contents=file.read()print(contents.strip())要想访问文件内容需要先打开它才能访问,函数open()接受一个参数:要打开文件的名称。在当前执行文件的目录中查找文件名。代码中,open('E:/python/文件和异常/pi_digits.txt')返回一个表示......
  • RV1126 快速启动
    一、硬件信息RV1126/RV1109系列芯⽚内置硬件解压缩模块--decom,可以极⼤得提升系统启动速度RV1126/RV1109内置⼀个MCU,MCU在SoC上电后就会快速启动,迅速初始化Camera和ISP,然后尽可能快得保存前⼏帧图像。RV1126支持快速启动的存储介质存储介质类型读取速度......
  • 红帽认证RHCE9.0版本2023年12月的红帽9.0RHCE9版本RHCSA考试题⽬+考试答案,本人已过,全
     translatorAfrikaansAlbanian-shqipeArabic-‎‫العربية‬‎Armenian-ՀայերէնAzerbaijani-azərbaycancaBasque-euskaraBelarusian-беларускаяBengali-বাংলাBulgarian-българскиCatalan-catalàChi......
  • 2023-12-15
    一、公司需求:一个设备接入平台。这里使用开源的thingspanel。二、平台部署:购买Linux服务器,使用Docker容器从官网拉取源码一键部署。三、Docker部署前端程序:1.下载官网Front-end程序源码,VScode安装npm编译生成dist目录。2.用WinSCP工具通过scp上传dist文件到Linux服务器。3......
  • 美洽获评2023中国软件技术最佳AIGC应用奖,助力智能客服创新发展
    12月15日,由中国科学院软件研究所、中科软科技股份有限公司联合主办的“2023中国软件技术大会”在北京举行。作为软件领域的年度盛事,“中国软件技术大会”已经成功举办20届。本次大会以“大模型驱动下的软件变革”为主题,聚焦于生成式AI等前沿技术对软件行业的影响。古人云:“穷则变,变......
  • 2023.12.15日报
    今天主要是实现了一个简单的问卷页面,这个页面做来很艰难,因为存在各种各样的依赖版本不兼容的问题另外,还有引用的路径问题,我一开始确实没想到,仅仅因为一个图标引入存在问题就导致整个页面空白这让我对vue有了新的认识,放张图在下边 在左侧可以通过拖动实现添加不同种类的题目,在......
  • 【2023-12-15】理解包容
    11:00负担越重,我们的生命越贴近大地,它就越真切实在。                                                 ——米兰·昆德拉今天下午奶奶要回老家,得提前下班去接手二宝。......
  • owasp-top10 2023 详解
    经典的TOP10漏洞 A1注入漏洞在2013、2017的版本中都是第一名,可见此漏洞的引入是多么的容易,同时也证明此漏洞的危害有多么严重。攻击方式利用应用程序弱点,通过恶意字符将恶意代码写入数据库,获取敏感数据或进一步在服务器执行命令。漏洞原因未审计的数据输入框使用网址直接传......