diff --git a/README.md b/README.md
index 7423055..2f4f5ac 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
X-SpringBoot
-
-
+
+

[更新日志](https://github.com/yzcheng90/X-SpringBoot/tree/master/doc/updateLog.md) | [项目地址](https://github.com/yzcheng90)
@@ -134,6 +134,6 @@ X-SpringBoot
- 交流QQ群:17470566
- 本人QQ:913624256
-- 如果喜欢,记得star fork 谢谢您的关注 x_springboot会持续维护
+- 如果喜欢,记得star fork 谢谢您的关注 x-springboot会持续维护
diff --git a/doc/updateLog.md b/doc/updateLog.md
index 96cbdb0..50ee70b 100644
--- a/doc/updateLog.md
+++ b/doc/updateLog.md
@@ -1,3 +1,6 @@
+### v2.1.1###
+- 群里及issues中提到的一些bug修复
+
### v2.1 ###
- 加入代码生成模块
- 加入APP管理模块
diff --git a/pom.xml b/pom.xml
index 3e62045..7087b65 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
x-springboot
x-springboot
- 2.1.0
+ 2.1.1
jar
x-springboot
diff --git a/src/main/java/com/suke/czx/common/utils/GenUtils.java b/src/main/java/com/suke/czx/common/utils/GenUtils.java
index bb435db..84c60ef 100644
--- a/src/main/java/com/suke/czx/common/utils/GenUtils.java
+++ b/src/main/java/com/suke/czx/common/utils/GenUtils.java
@@ -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" )) {
diff --git a/src/main/java/com/suke/czx/modules/oss/cloud/OSSFactory.java b/src/main/java/com/suke/czx/modules/oss/cloud/OSSFactory.java
index 9d7cee5..2f10cf5 100644
--- a/src/main/java/com/suke/czx/modules/oss/cloud/OSSFactory.java
+++ b/src/main/java/com/suke/czx/modules/oss/cloud/OSSFactory.java
@@ -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);
diff --git a/src/main/java/com/suke/czx/modules/oss/controller/SysOssController.java b/src/main/java/com/suke/czx/modules/oss/controller/SysOssController.java
index 1be79c7..0448739 100644
--- a/src/main/java/com/suke/czx/modules/oss/controller/SysOssController.java
+++ b/src/main/java/com/suke/czx/modules/oss/controller/SysOssController.java
@@ -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();
diff --git a/src/main/java/com/suke/czx/modules/oss/service/impl/SysOssServiceImpl.java b/src/main/java/com/suke/czx/modules/oss/service/impl/SysOssServiceImpl.java
index 7c574a3..f3e9807 100644
--- a/src/main/java/com/suke/czx/modules/oss/service/impl/SysOssServiceImpl.java
+++ b/src/main/java/com/suke/czx/modules/oss/service/impl/SysOssServiceImpl.java
@@ -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 implements SysOssService {
diff --git a/src/main/java/com/suke/czx/modules/sys/controller/SysLoginController.java b/src/main/java/com/suke/czx/modules/sys/controller/SysLoginController.java
index 639fae0..069054e 100644
--- a/src/main/java/com/suke/czx/modules/sys/controller/SysLoginController.java
+++ b/src/main/java/com/suke/czx/modules/sys/controller/SysLoginController.java
@@ -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();
}
diff --git a/src/main/java/com/suke/czx/modules/sys/controller/SysRoleController.java b/src/main/java/com/suke/czx/modules/sys/controller/SysRoleController.java
index 7e64cf3..9783cb4 100644
--- a/src/main/java/com/suke/czx/modules/sys/controller/SysRoleController.java
+++ b/src/main/java/com/suke/czx/modules/sys/controller/SysRoleController.java
@@ -52,9 +52,9 @@ public class SysRoleController extends AbstractController {
queryWrapper
.like("role_name",MapUtil.getStr(params,"key"));
}
- IPage sysConfigList = sysRoleService.page(mpPageConvert.pageParamConvert(params),queryWrapper);
+ IPage sysRoleIPage = sysRoleService.page(mpPageConvert.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 map = new HashMap<>();
List 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();
}
diff --git a/src/main/java/com/suke/czx/modules/sys/controller/SysUserController.java b/src/main/java/com/suke/czx/modules/sys/controller/SysUserController.java
index d99e3b7..e807b27 100644
--- a/src/main/java/com/suke/czx/modules/sys/controller/SysUserController.java
+++ b/src/main/java/com/suke/czx/modules/sys/controller/SysUserController.java
@@ -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();
}
diff --git a/src/main/java/com/suke/czx/modules/sys/mapper/SysRoleMenuMapper.java b/src/main/java/com/suke/czx/modules/sys/mapper/SysRoleMenuMapper.java
index 2e51337..2899b83 100644
--- a/src/main/java/com/suke/czx/modules/sys/mapper/SysRoleMenuMapper.java
+++ b/src/main/java/com/suke/czx/modules/sys/mapper/SysRoleMenuMapper.java
@@ -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 {
-
- /**
- * 根据角色ID,获取菜单ID列表
- */
- List queryMenuIdList(Long roleId);
void saveUserMenu(Map map);
}
diff --git a/src/main/java/com/suke/czx/modules/sys/service/SysRoleService.java b/src/main/java/com/suke/czx/modules/sys/service/SysRoleService.java
index 9c416d5..2f5e60d 100644
--- a/src/main/java/com/suke/czx/modules/sys/service/SysRoleService.java
+++ b/src/main/java/com/suke/czx/modules/sys/service/SysRoleService.java
@@ -22,4 +22,7 @@ public interface SysRoleService extends IService {
void deleteBath(Long[] ids);
+ void saveRoleMenu(SysRole role);
+ void updateRoleMenu(SysRole role);
+
}
diff --git a/src/main/java/com/suke/czx/modules/sys/service/SysUserService.java b/src/main/java/com/suke/czx/modules/sys/service/SysUserService.java
index 1edaebf..cae6828 100644
--- a/src/main/java/com/suke/czx/modules/sys/service/SysUserService.java
+++ b/src/main/java/com/suke/czx/modules/sys/service/SysUserService.java
@@ -28,4 +28,8 @@ public interface SysUserService extends IService {
* @param newPassword 新密码
*/
int updatePassword(Long userId, String password, String newPassword);
+
+ void saveUserRole(SysUser user);
+ void updateUserRole(SysUser user);
+
}
diff --git a/src/main/java/com/suke/czx/modules/sys/service/impl/SysLogServiceImpl.java b/src/main/java/com/suke/czx/modules/sys/service/impl/SysLogServiceImpl.java
index f555c65..57df416 100644
--- a/src/main/java/com/suke/czx/modules/sys/service/impl/SysLogServiceImpl.java
+++ b/src/main/java/com/suke/czx/modules/sys/service/impl/SysLogServiceImpl.java
@@ -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;
diff --git a/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleMenuServiceImpl.java b/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleMenuServiceImpl.java
index 2329d507..1e71e42 100644
--- a/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleMenuServiceImpl.java
+++ b/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleMenuServiceImpl.java
@@ -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 menuIdList) {
//先删除角色与菜单关系
- sysRoleMenuMapper.deleteById(roleId);
+ sysRoleMenuMapper.delete(Wrappers.query().lambda().eq(SysRoleMenu::getRoleId,roleId));
if(menuIdList.size() == 0){
return ;
@@ -47,7 +49,11 @@ public class SysRoleMenuServiceImpl extends ServiceImpl queryMenuIdList(Long roleId) {
- return sysRoleMenuMapper.queryMenuIdList(roleId);
+ return sysRoleMenuMapper
+ .selectList(Wrappers.query().lambda().eq(SysRoleMenu::getRoleId,roleId))
+ .stream()
+ .map(SysRoleMenu::getMenuId)
+ .collect(Collectors.toList());
}
}
diff --git a/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleServiceImpl.java b/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleServiceImpl.java
index 962597f..ae5e979 100644
--- a/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleServiceImpl.java
+++ b/src/main/java/com/suke/czx/modules/sys/service/impl/SysRoleServiceImpl.java
@@ -36,7 +36,7 @@ public class SysRoleServiceImpl extends ServiceImpl 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 imple
//保存角色与菜单关系
sysRoleMenuService.saveOrUpdate(role.getRoleId(), role.getMenuIdList());
- return true;
}
+ @Override
@Transactional
- public void update(SysRole role) {
+ public void updateRoleMenu(SysRole role) {
sysRoleMapper.updateById(role);
//检查权限是否越权
diff --git a/src/main/java/com/suke/czx/modules/sys/service/impl/SysUserServiceImpl.java b/src/main/java/com/suke/czx/modules/sys/service/impl/SysUserServiceImpl.java
index 47d0550..6a5b28e 100644
--- a/src/main/java/com/suke/czx/modules/sys/service/impl/SysUserServiceImpl.java
+++ b/src/main/java/com/suke/czx/modules/sys/service/impl/SysUserServiceImpl.java
@@ -48,7 +48,7 @@ public class SysUserServiceImpl extends ServiceImpl 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 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{
diff --git a/src/main/resources/mapper/sys/SysRoleMenuMapper.xml b/src/main/resources/mapper/sys/SysRoleMenuMapper.xml
index caba127..a14a9f6 100644
--- a/src/main/resources/mapper/sys/SysRoleMenuMapper.xml
+++ b/src/main/resources/mapper/sys/SysRoleMenuMapper.xml
@@ -17,9 +17,4 @@
)
-
-
-
\ No newline at end of file
diff --git a/x-springboot.iml b/x-springboot.iml
index 9e39593..25fa421 100644
--- a/x-springboot.iml
+++ b/x-springboot.iml
@@ -130,7 +130,7 @@
-
+