作业概述
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业链接 |
这个作业的目标 | 1、站立式会议 2、项目燃尽图 3、代码/文档签入记录 4、项目程序/模块的最新(运行)截图 5、每日每人总结 |
作业所属团队 | 就吃西兰花?队 |
团队成员 | 李嘉鹏、田小古、李境豪、詹炜昊、黄俊强、陈梓杨 |
会议
会议照片
昨天已完成的工作/今天计划完成的工作
已完成
完善个人主页界面的编写和ui设计
初步设计完成评论功能
测试视频上传和推荐
计划完成
初步设计点赞功能
加快评论功能的实现,完善
测试个人主页界面功能
工作中遇到的困难
-
前端代码模块暂时遇到困难,需学习些新知识
-
项目进度较为缓慢
项目燃尽图
代码/文档签入记录
issue截图
项目程序/模块的最新(运行)截图
最新模块的代码
点击查看代码
public class RedisUtil {
@Resource
private RedisTemplate<Object, Object> redisTemplate;
/**
* 设置过期时间
*
* @param key 键
* @param time 过期时间
* @param timeUnit 时间单位
* @return 成功与否
*/
public boolean expire(String key, long time, TimeUnit timeUnit) {
try {
if (time > 0) {
redisTemplate.expire(key, time, timeUnit);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
return true;
}
/**
* 根据 key 获取过期时间
*
* @param key 键
* @return 时间(秒)
*/
public long getExpire(Object key) {
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
/**
* key是否存在
*
* @param key key
* @return T/F
*/
public boolean hasKey(String key) {
try {
return redisTemplate.hasKey(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
点击查看代码
public class UserDetailServiceImpl implements UserDetailsService {
@Autowired
private UserMapper userMapper;
@Autowired
private MenuMapper menuMapper;
@Resource
private PasswordEncoder passwordEncoder;
@Resource
private RoleMapper roleMapper;
@Resource
private RedisUtil redisUtil;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getUsername, username);
User user = userMapper.selectOne(queryWrapper);
if (user == null) {
throw new BusinessException(ResultConstant.USER_NULL, "用户信息不存在");
}
List<Object> roles = redisUtil.lGet(RedisConstants.ROLE + username);
if (roles==null||roles.size()==0){
roles = roleMapper.selectRoleByUid(user.getId());
redisUtil.lSet(RedisConstants.ROLE + username, roles);
}
redisUtil.delete(RedisConstants.MENU + username);
List<Object> menus=redisUtil.lGet(RedisConstants.MENU + username, 0, -1);
if (menus == null || menus.size() == 0) {
menus = menuMapper.selectMenuByUid(user.getId());
redisUtil.lSet(RedisConstants.MENU + username, menus);
}
List<GrantedAuthority> authorities = AuthorityUtils.commaSeparatedStringToAuthorityList(getAuth(menus));
return new JwtUserDto(user, user.getUsername(), passwordEncoder.encode(user.getPassword()), roles, authorities);
}
public static String getAuth(List<Object> permission) {
String list = permission.toString();
return list.substring(1, list.length() - 1);
}
}
运行结果截图
每日每人总结
成员 | 总结 |
---|---|
李嘉鹏 | 今天又是没有大问题的一天 |
田小古 | 美美完成一个功能 |
陈梓杨 | 发现了几个BUG,并且改掉了,防止软件上线的时候耽误用户体验 |
詹炜昊 | 一杯茶,一台电脑,从早到晚搞代码 |
黄俊强 | 美好的一天从打开电脑开始 |
李境豪 | 代码测试工作 进展20% |