修复了一些bug

This commit is contained in:
czx
2019-07-03 22:46:06 +08:00
parent 364a6b7b37
commit f6ddd04217
19 changed files with 59 additions and 52 deletions

View File

@@ -1,7 +1,7 @@
<h1> X-SpringBoot </h1>
![Image text](https://img.shields.io/badge/x--springboot-v2.1-green.svg)
![Image text](https://img.shields.io/badge/springboot-2.1.3RELEASE-green.svg)
![Image text](https://img.shields.io/badge/x--springboot-v2.1.1-green.svg)
![Image text](https://img.shields.io/badge/springboot-2.1.3-green.svg)
![Image text](https://img.shields.io/badge/MyBatis%20Plus-3.1.0-green.svg)
[更新日志](https://github.com/yzcheng90/X-SpringBoot/tree/master/doc/updateLog.md) | [项目地址](https://github.com/yzcheng90)
@@ -134,6 +134,6 @@ X-SpringBoot
- 交流QQ群17470566
- 本人QQ913624256
- 如果喜欢记得star fork 谢谢您的关注 x_springboot会持续维护
- 如果喜欢记得star fork 谢谢您的关注 x-springboot会持续维护

View File

@@ -1,3 +1,6 @@
### v2.1.1###
- 群里及issues中提到的一些bug修复
### v2.1 ###
- 加入代码生成模块
- 加入APP管理模块

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>x-springboot</groupId>
<artifactId>x-springboot</artifactId>
<version>2.1.0</version>
<version>2.1.1</version>
<packaging>jar</packaging>
<description>x-springboot</description>

View File

@@ -193,7 +193,7 @@ public class GenUtils {
}
if (template.contains("Mapper.xml.vm" )) {
return "main" + File.separator + "resources" + File.separator + "mapper" + File.separator + moduleName + File.separator + className + "mapper.xml";
return "main" + File.separator + "resources" + File.separator + "mapper" + File.separator + moduleName + File.separator + className + "Mapper.xml";
}
if (template.contains("list.html.vm" )) {

View File

@@ -1,9 +1,10 @@
package com.suke.czx.modules.oss.cloud;
import com.suke.czx.common.utils.Constant;
import com.suke.czx.common.utils.SpringContextUtils;
import com.suke.czx.modules.sys.service.SysConfigService;
import com.suke.czx.common.utils.ConfigConstant;
import com.suke.czx.common.utils.Constant;
import com.suke.czx.modules.sys.service.SysConfigService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 文件上传Factory
@@ -11,14 +12,12 @@ import com.suke.czx.common.utils.ConfigConstant;
* @email object_czx@163.com
* @date 2017-03-26 10:18
*/
public final class OSSFactory {
private static SysConfigService sysConfigService;
@Component
@AllArgsConstructor
public class OSSFactory {
private SysConfigService sysConfigService;
static {
OSSFactory.sysConfigService = (SysConfigService) SpringContextUtils.getBean("sysConfigService");
}
public static CloudStorageService build(){
public CloudStorageService build(){
//获取云存储配置信息
CloudStorageConfig config = sysConfigService.getConfigObject(ConfigConstant.CLOUD_STORAGE_CONFIG_KEY, CloudStorageConfig.class);

View File

@@ -51,6 +51,7 @@ public class SysOssController extends AbstractController {
private final SysOssService sysOssService;
private final SysConfigService sysConfigService;
private final OSSFactory ossFactory;
private final static String KEY = ConfigConstant.CLOUD_STORAGE_CONFIG_KEY;
@@ -127,7 +128,7 @@ public class SysOssController extends AbstractController {
//上传文件
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
String url = OSSFactory.build().uploadSuffix(file.getBytes(), suffix);
String url = ossFactory.build().uploadSuffix(file.getBytes(), suffix);
//保存文件信息
SysOss ossEntity = new SysOss();
@@ -163,6 +164,7 @@ public class SysOssController extends AbstractController {
ApkVersion apkVersion = ApkVersion
.builder()
.versionCode(Math.toIntExact(apkMeta.getVersionCode()))
.versionName(apkMeta.getVersionName())
.appName(apkMeta.getLabel())
.packageName(apkMeta.getPackageName())
.fileName(file.getOriginalFilename())
@@ -172,7 +174,7 @@ public class SysOssController extends AbstractController {
//上传文件
// String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
// String url = OSSFactory.build().uploadSuffix(file.getBytes(), suffix);
// String url = ossFactory.build().uploadSuffix(file.getBytes(), suffix);
//
// //保存文件信息
// SysOss ossEntity = new SysOss();

View File

@@ -1,16 +1,14 @@
package com.suke.czx.modules.oss.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.suke.czx.modules.oss.mapper.SysOssMapper;
import com.suke.czx.modules.oss.entity.SysOss;
import com.suke.czx.modules.oss.mapper.SysOssMapper;
import com.suke.czx.modules.oss.service.SysOssService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
public class SysOssServiceImpl extends ServiceImpl<SysOssMapper,SysOss> implements SysOssService {

View File

@@ -7,6 +7,7 @@ import com.google.code.kaptcha.Producer;
import com.suke.czx.common.base.AbstractController;
import com.suke.czx.common.utils.Constant;
import com.suke.czx.common.utils.R;
import com.suke.czx.common.utils.ShiroUtils;
import com.suke.czx.modules.sys.entity.SysUser;
import com.suke.czx.modules.sys.service.SysUserService;
import com.suke.czx.modules.sys.service.SysUserTokenService;
@@ -44,6 +45,12 @@ public class SysLoginController extends AbstractController {
private final SysUserService sysUserService;
private final SysUserTokenService sysUserTokenService;
private final RedisTemplate redisTemplate;
private final ShiroUtils shiroUtils;
@RequestMapping("/")
public R hello(){
return R.ok("hello welcome to use x-springboot");
}
/**
* 验证码
@@ -173,6 +180,7 @@ public class SysLoginController extends AbstractController {
@RequestMapping(value = "/sys/logout", method = RequestMethod.POST)
public R logout() {
sysUserTokenService.logout(getUserId());
shiroUtils.getSubject().logout();
return R.ok();
}

View File

@@ -52,9 +52,9 @@ public class SysRoleController extends AbstractController {
queryWrapper
.like("role_name",MapUtil.getStr(params,"key"));
}
IPage<SysRole> sysConfigList = sysRoleService.page(mpPageConvert.<SysRole>pageParamConvert(params),queryWrapper);
IPage<SysRole> sysRoleIPage = sysRoleService.page(mpPageConvert.<SysRole>pageParamConvert(params),queryWrapper);
return R.ok().put("page", mpPageConvert.pageValueConvert(sysConfigList));
return R.ok().put("page", mpPageConvert.pageValueConvert(sysRoleIPage));
}
/**
@@ -63,7 +63,6 @@ public class SysRoleController extends AbstractController {
@RequestMapping("/select")
@RequiresPermissions("sys:role:select")
public R select(){
Map<String, Object> map = new HashMap<>();
List<SysRole> list;
//如果不是超级管理员,则只查询自己所拥有的角色列表
if(getUserId() != Constant.SUPER_ADMIN){
@@ -103,7 +102,7 @@ public class SysRoleController extends AbstractController {
ValidatorUtils.validateEntity(role);
role.setCreateUserId(getUserId());
sysRoleService.save(role);
sysRoleService.saveRoleMenu(role);
return R.ok();
}
@@ -118,7 +117,7 @@ public class SysRoleController extends AbstractController {
ValidatorUtils.validateEntity(role);
role.setCreateUserId(getUserId());
sysRoleService.updateById(role);
sysRoleService.updateRoleMenu(role);
return R.ok();
}

View File

@@ -125,7 +125,7 @@ public class SysUserController extends AbstractController {
ValidatorUtils.validateEntity(user);
user.setCreateUserId(getUserId());
sysUserService.save(user);
sysUserService.saveUserRole(user);
return R.ok();
}
@@ -140,7 +140,7 @@ public class SysUserController extends AbstractController {
ValidatorUtils.validateEntity(user);
user.setCreateUserId(getUserId());
sysUserService.updateById(user);
sysUserService.updateUserRole(user);
return R.ok();
}

View File

@@ -2,9 +2,7 @@ package com.suke.czx.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.suke.czx.modules.sys.entity.SysRoleMenu;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
@@ -15,11 +13,6 @@ import java.util.Map;
* @date 2016年9月18日 上午9:33:46
*/
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
/**
* 根据角色ID获取菜单ID列表
*/
List<Long> queryMenuIdList(Long roleId);
void saveUserMenu(Map<String, Object> map);
}

View File

@@ -22,4 +22,7 @@ public interface SysRoleService extends IService<SysRole> {
void deleteBath(Long[] ids);
void saveRoleMenu(SysRole role);
void updateRoleMenu(SysRole role);
}

View File

@@ -28,4 +28,8 @@ public interface SysUserService extends IService<SysUser> {
* @param newPassword 新密码
*/
int updatePassword(Long userId, String password, String newPassword);
void saveUserRole(SysUser user);
void updateUserRole(SysUser user);
}

View File

@@ -1,11 +1,8 @@
package com.suke.czx.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.suke.czx.modules.sys.mapper.SysLogMapper;
import com.suke.czx.modules.sys.entity.SysLog;
import com.suke.czx.modules.sys.mapper.SysLogMapper;
import com.suke.czx.modules.sys.service.SysLogService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

View File

@@ -1,5 +1,6 @@
package com.suke.czx.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.suke.czx.modules.sys.mapper.SysRoleMenuMapper;
import com.suke.czx.modules.sys.entity.SysRoleMenu;
@@ -8,6 +9,7 @@ import com.suke.czx.modules.sys.service.SysRoleMenuService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -32,7 +34,7 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper,SysRol
@Transactional
public void saveOrUpdate(Long roleId, List<Long> menuIdList) {
//先删除角色与菜单关系
sysRoleMenuMapper.deleteById(roleId);
sysRoleMenuMapper.delete(Wrappers.<SysRoleMenu>query().lambda().eq(SysRoleMenu::getRoleId,roleId));
if(menuIdList.size() == 0){
return ;
@@ -47,7 +49,11 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper,SysRol
@Override
public List<Long> queryMenuIdList(Long roleId) {
return sysRoleMenuMapper.queryMenuIdList(roleId);
return sysRoleMenuMapper
.selectList(Wrappers.<SysRoleMenu>query().lambda().eq(SysRoleMenu::getRoleId,roleId))
.stream()
.map(SysRoleMenu::getMenuId)
.collect(Collectors.toList());
}
}

View File

@@ -36,7 +36,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper,SysRole> imple
@Override
@Transactional
public boolean save(SysRole role) {
public void saveRoleMenu(SysRole role) {
role.setCreateTime(new Date());
sysRoleMapper.insert(role);
@@ -45,11 +45,11 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper,SysRole> imple
//保存角色与菜单关系
sysRoleMenuService.saveOrUpdate(role.getRoleId(), role.getMenuIdList());
return true;
}
@Override
@Transactional
public void update(SysRole role) {
public void updateRoleMenu(SysRole role) {
sysRoleMapper.updateById(role);
//检查权限是否越权

View File

@@ -48,7 +48,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper,SysUser> imple
@Override
@Transactional
public boolean save(SysUser user) {
public void saveUserRole(SysUser user) {
user.setCreateTime(new Date());
//sha256加密
String salt = RandomStringUtils.randomAlphanumeric(20);
@@ -63,11 +63,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper,SysUser> imple
//保存用户与角色关系
saveUserRoleList(user);
return true;
}
@Override
@Transactional
public void update(SysUser user) {
public void updateUserRole(SysUser user) {
if(StringUtils.isBlank(user.getPassword())){
user.setPassword(null);
}else{

View File

@@ -17,9 +17,4 @@
)
</foreach>
</insert>
<select id="queryMenuIdList" resultType="long">
select menu_id from sys_role_menu where role_id = #{value}
</select>
</mapper>

View File

@@ -130,7 +130,7 @@
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
<orderEntry type="library" name="Maven: com.github.axet:kaptcha:0.0.9" level="project" />
<orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235" level="project" />
<orderEntry type="library" name="Maven: com.qiniu:qiniu-java-sdk:7.2.18" level="project" />
<orderEntry type="library" name="Maven: com.qiniu:qiniu-java-sdk:7.2.23" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
<orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:2.5.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.7" level="project" />