提交 5843f645 编写于 作者: X xiongchun

用户授权代码优化

上级 b88a2bc4
......@@ -24,6 +24,7 @@ import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -86,6 +87,7 @@ public class UserServiceImpl implements UserService {
public PageResult<UserOut> list(UserPageIn userPageIn) {
Page<UserEntity> page = PagingUtil.createPage(userPageIn);
LambdaQueryWrapper<UserEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.select(UserEntity.class, info -> !info.getColumn().equals("password"));
lambdaQueryWrapper.eq(ObjectUtil.isNotEmpty(userPageIn.getDeptId()), UserEntity::getDeptId, userPageIn.getDeptId());
String keyword = userPageIn.getName();
if (ObjectUtil.isNotEmpty(keyword)){
......@@ -119,6 +121,7 @@ public class UserServiceImpl implements UserService {
}
userIn.setAvatar(this.randomAvatar());
userIn.setGmtCreated(DateUtil.date());
userIn.setPassword(SecureUtil.sha256(userIn.getPassword()));
userMapper.insert(userIn);
userManager.creatUserRole(userIn.getId(), userIn.getRoleIds());
}
......
package com.pulanit.pangu.admin.system;
import cn.hutool.core.lang.Console;
import cn.hutool.crypto.SecureUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
//@SpringBootTest
public class TempTest {
@Test
public void test1(){
String coded = SecureUtil.sha256("123456");
Console.log(coded);
}
}
......@@ -99,100 +99,96 @@ logging.level.com.gitee.pulanos.pangu.showcases.crud.dao=debug
### 新增
```jsx
public int aInsert() {
log.info("插入数据...");
UserEntity userEntity = new UserEntity();
userEntity.setName("XC").setAge(18).setUserType("1");
int row = userMapper.insert(userEntity);
log.info("成功插入{}条数据。{}", row, userEntity);
return row;
}
UserEntity userEntity = new UserEntity();
userEntity.setName("XC").setAge(18).setUserType("1");
int row = userMapper.insert(userEntity);
log.info("成功插入{}条数据。{}", row, userEntity);
```
### 修改
```jsx
public void aUpdate() {
log.info("更新数据...");
//方式1
userMapper.updateById(new UserEntity().setId(1L).setName("XC2"));
//方式2
LambdaUpdateWrapper<UserEntity> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.set(UserEntity::getAge, 100);
updateWrapper.eq(UserEntity::getId, 2L);
userMapper.update(null, updateWrapper);
//方式2简写
userMapper.update(null, Wrappers.<UserEntity>lambdaUpdate().set(UserEntity::getName, "XC2").eq(UserEntity::getId, 3L));
//方式3
UserEntity userEntity = new UserEntity();
userEntity.setName("XC2");
userMapper.update(userEntity, Wrappers.<UserEntity>lambdaUpdate().eq(UserEntity::getId, 4L));
}
//方式1
userMapper.updateById(new UserEntity().setId(1L).setName("XC2"));
//方式2
LambdaUpdateWrapper<UserEntity> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.set(UserEntity::getAge, 100);
updateWrapper.eq(UserEntity::getId, 2L);
userMapper.update(null, updateWrapper);
//方式2简写
userMapper.update(null, Wrappers.<UserEntity>lambdaUpdate().set(UserEntity::getName, "XC2").eq(UserEntity::getId, 3L));
//方式3
UserEntity userEntity = new UserEntity();
userEntity.setName("XC2");
userMapper.update(userEntity, Wrappers.<UserEntity>lambdaUpdate().eq(UserEntity::getId, 4L));
```
### 删除
```jsx
public void aDelete() {
log.info("删除数据...");
//方式1
userMapper.deleteById(1000L);
//方式2
userMapper.deleteBatchIds(Arrays.asList(1000L, 1001L));
//方式3
userMapper.delete(Wrappers.<UserEntity>lambdaQuery().ge(UserEntity::getAge, 150));
//方式4
userMapper.deleteById(new UserEntity().setId(2000L));
}
//方式1
userMapper.deleteById(1000L);
//方式2
userMapper.deleteBatchIds(Arrays.asList(1000L, 1001L));
//方式3
userMapper.delete(Wrappers.<UserEntity>lambdaQuery().ge(UserEntity::getAge, 150));
//方式4
userMapper.deleteById(new UserEntity().setId(2000L));
```
### 简单查询
```jsx
public void aSelect() {
log.info("查询数据...");
//方式1
UserEntity userEntity = userMapper.selectById(1L);
//方式2
UserEntity userEntity1 = userMapper.selectOne(Wrappers.<UserEntity>lambdaQuery().eq(UserEntity::getId, 1L));
//方式3
List<UserEntity> userEntities = userMapper.selectBatchIds(Arrays.asList(1L, 2L));
//方式4
Integer age = 100;
LambdaQueryWrapper<UserEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
//动态组合查询条件的简便写法
lambdaQueryWrapper.between(ObjectUtil.isNotEmpty(age), UserEntity::getAge, 1, age);
lambdaQueryWrapper.eq(UserEntity::getUserType, "1");
lambdaQueryWrapper.orderByDesc(UserEntity::getId);
List<UserEntity> userEntities1 = userMapper.selectList(lambdaQueryWrapper);
//方式5
QueryWrapper queryWrapper = Wrappers.query();
queryWrapper.select("id").ge("age", 10).orderByDesc("age");
List<Long> ids = (List)userMapper.selectObjs(queryWrapper);
//或
LambdaQueryWrapper<UserRoleEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.select(UserRoleEntity::getRoleId).eq(UserRoleEntity::getUserId, userId);
roleIds = (List)userRoleMapper.selectObjs(lambdaQueryWrapper);
//方式6
List<Map<String, Object>> userMaps = userMapper.selectMaps(Wrappers.<UserEntity>lambdaQuery().eq(UserEntity::getUserType, "1"));
//方式7 count 查询
Long cnt = userMapper.selectCount(Wrappers.<UserEntity>lambdaQuery().le(UserEntity::getGmtCreate, DateUtil.date()));
//方式8 group 查询
QueryWrapper<UserEntity> queryWrapper1 = Wrappers.query();
queryWrapper1.select("age, count(id) as cnt").groupBy("age");
List<Map<String, Object>> mapList = userMapper.selectMaps(queryWrapper1);
//方式9 or 查询
if (ObjectUtil.isNotEmpty(keyword)){
lambdaQueryWrapper.and(w -> w.like( UserEntity::getName, keyword).or().like(UserEntity::getUserName, keyword));
}
//方式1
UserEntity userEntity = userMapper.selectById(1L);
//方式2
UserEntity userEntity1 = userMapper.selectOne(Wrappers.<UserEntity>lambdaQuery().eq(UserEntity::getId, 1L));
//方式3 (需要注意对传入 ID 集合为非空判断,否则生成的 SQL in() 语法将报错)
if(CollUtil.isNotEmpty(userIds)){
userEntities = userMapper.selectBatchIds(userIds);
}
//方式4
LambdaQueryWrapper<UserEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
//动态组合查询条件的简便写法
lambdaQueryWrapper.between(ObjectUtil.isNotEmpty(age), UserEntity::getAge, 1, age);
lambdaQueryWrapper.eq(UserEntity::getUserType, "1");
lambdaQueryWrapper.orderByDesc(UserEntity::getId);
List<UserEntity> userEntities1 = userMapper.selectList(lambdaQueryWrapper);
//方式5
LambdaQueryWrapper<UserRoleEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(UserRoleEntity::getUserId, userId).orderByDesc(UserRoleEntity::getRoleId);
List<UserRoleEntity> userRoleEntities = userRoleMapper.selectList(lambdaQueryWrapper);
List<Long> roleIds = userRoleEntities.stream().map(UserRoleEntity::getRoleId).collect(Collectors.toList());
//方式6
List<Map<String, Object>> userMaps = userMapper.selectMaps(Wrappers.<UserEntity>lambdaQuery().eq(UserEntity::getUserType, "1"));
//方式7 count 查询
Long cnt = userMapper.selectCount(Wrappers.<UserEntity>lambdaQuery().le(UserEntity::getGmtCreate, DateUtil.date()));
//方式8 group 查询
QueryWrapper<UserEntity> queryWrapper1 = Wrappers.query();
queryWrapper1.select("age, count(id) as cnt").groupBy("age");
List<Map<String, Object>> mapList = userMapper.selectMaps(queryWrapper1);
//方式9 or 查询
if (ObjectUtil.isNotEmpty(keyword)){
lambdaQueryWrapper.and(w -> w.like( UserEntity::getName, keyword).or().like(UserEntity::getUserName, keyword));
}
//方式10 指定查询字段
LambdaQueryWrapper<UserEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.select(UserEntity::getId, UserEntity::getUserName);
lambdaQueryWrapper.eq(...);
//方式11 排除查询字段
lambdaQueryWrapper.select(UserEntity.class, info -> !info.getColumn().equals("password") && !info.getColumn().equals("password2"));
```
### 分页查询
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册