栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot日记本系统全程直播08:把个人中心完善一下撒~~

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot日记本系统全程直播08:把个人中心完善一下撒~~

前言

大家好,我是兔子呀,今天我继续给大家撸这个SpringBoot日记本系统哈,非常不错的一个项目,学习​javaweb编程必备。

目录

1.完成后的效果

2.后台逻辑

2.1 Controller控制器

2.2 Service服务类

3.前台页面

4.文件上传后台逻辑

本节完成内容:

1. 个人中心页面⭐

2.个人信息的修改⭐

3.SpringBoot文件上传和浏览⭐

1.完成后的效果

字段不多,难点在于图片的上传。

2.后台逻辑

2.1 Controller控制器
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    UserService userService;

    @Autowired
    RedisServiceImpl redisServiceImpl;

    String salt = "diary188";

    ......

    @RequestMapping("update")
    public Result update(@RequestBody User user){
        userService.update(user);
        return Result.success();
    }

    @RequestMapping("get")
    public User get(){
        return userService.getByUserId(StpUtil.getLoginIdAsLong());
    }

}

update方法用于更新用户对象,get方法用来获取当前登录对象的信息。

 2.2 Service服务类
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserMapper userMapper;

    @Autowired
    RedisServiceImpl redisServiceImpl;

    
    @Override
    public User getByUserName(String userName) {
        List users = userMapper.selectList(new QueryWrapper().eq("user_name", userName));
        if(users.size() > 0){
            return users.get(0);
        }
        return null;
    }

    
    @Override
    public void save(User user) {
        userMapper.insert(user);
    }

    @Override
    public User getByUserId(long loginIdAsLong) {
        return userMapper.selectById(loginIdAsLong);
    }

    @Override
    public void update(User user) {
        LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper = lambdaUpdateWrapper.set(User::getNickName, user.getNickName())
                .set(User::getBirthday, user.getBirthday())
                .set(User::getGender, user.getGender())
                .set(User::getSignature, user.getSignature())
                .set(User::getUpdateTime, DateUtil.now());

        if(StrUtil.isNotEmpty(user.getFace())){
            lambdaUpdateWrapper = lambdaUpdateWrapper.set(User::getFace,user.getFace());
        }
        lambdaUpdateWrapper.eq(User::getUid, StpUtil.getLoginIdAsLong());
        userMapper.update(null,lambdaUpdateWrapper);
    }


}

3.前台页面

前台页面主要用的就是layUI的form组件和文件上传组件。

主要代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>



    个人中心
    
    
    
    
    
    




    
        
            
                
            
            
                
                    

4.文件上传后台逻辑

配置一下文件上传的路径和预览URL:

@Configuration
public class MvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler(new String[] { "/upload
            String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));

            if(suffix.equals(".PNG") || suffix.equals(".png") || suffix.equals(".jpg") || suffix.equals(".JPG") ) {

            }else{
                throw new BizException(ExceptionCodeEnum.ERROR.setDesc("非法文件格式!"));
            }

            
            fileName = System.currentTimeMillis() + suffix;
            
            String fileNameForReturn = "/"+ StpUtil.getLoginIdAsLong()  + "/" + fileName;
            
            String saveFilePath = this.appConfig.getFilepath() + "/"+StpUtil.getLoginIdAsLong();
            
            if(!new File(saveFilePath).exists()) {
                new File(saveFilePath).mkdir();
            }
            String saveFileName = saveFilePath + "/" + fileName;

            File dest = new File(saveFileName);
            try {
                
                file.transferTo(dest);
                return new HashMap(){{
                    put("file",fileNameForReturn);
                }} ;
            } catch (IOException e) {
                e.printStackTrace();
                throw new BizException(ExceptionCodeEnum.ERROR.setDesc("系统异常!"));
            }

        }

        return null;
    }

}

搞定!

⭐⭐⭐⭐⭐⭐⭐ 本章完,愿有所收获,一路长虹,祝你也祝我。⭐⭐⭐⭐⭐⭐⭐ 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号