mirror of
https://github.com/yzcheng90/X-SpringBoot
synced 2025-11-10 01:25:57 +08:00
修复了一些bug
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<h1> X-SpringBoot </h1>
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
[更新日志](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会持续维护
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
### v2.1.1###
|
||||
- 群里及issues中提到的一些bug修复
|
||||
|
||||
### v2.1 ###
|
||||
- 加入代码生成模块
|
||||
- 加入APP管理模块
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -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>
|
||||
|
||||
|
||||
@@ -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" )) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -22,4 +22,7 @@ public interface SysRoleService extends IService<SysRole> {
|
||||
|
||||
void deleteBath(Long[] ids);
|
||||
|
||||
void saveRoleMenu(SysRole role);
|
||||
void updateRoleMenu(SysRole role);
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
//检查权限是否越权
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -17,9 +17,4 @@
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="queryMenuIdList" resultType="long">
|
||||
select menu_id from sys_role_menu where role_id = #{value}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -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" />
|
||||
|
||||
Reference in New Issue
Block a user