Survey/src/main/java/com/example/survey/dao/impl/RoleDaoImpl.java
Pope b51c453bba 2021-3-5
添加了log4j2日志
添加了第二版接口
2021-03-05 08:44:42 +08:00

75 lines
2.3 KiB
Java

package com.example.survey.dao.impl;
import com.example.survey.dao.RoleDao;
import com.example.survey.entity.Role;
import com.example.survey.entity.User;
import com.example.survey.enumeration.AuthEnum;
import com.example.survey.exception.RoleException;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Set;
/**
* @author Pope
*/
@Log4j2
@Repository
public class RoleDaoImpl implements RoleDao {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public boolean insertRole(Role role) {
try {
mongoTemplate.save(role);
} catch (Exception e) {
log.error("权限插入失败");
log.error(e.getMessage());
throw new RoleException("已存在权限");
}
return true;
}
@Override
public Role selectRole(String name) {
Query query = new Query(Criteria.where("name").is(name));
return mongoTemplate.findOne(query, Role.class);
}
@Override
public void deleteRole(String name) {
Query query = new Query(Criteria.where("name").is(name));
mongoTemplate.remove(query, Role.class);
}
@Override
public List<Role> listLimitRole(String name, int offset, int limit) {
Criteria criteria = new Criteria();
if (name != null) {
criteria.and("name").regex(name);
}
Query query = new Query(criteria).skip(offset).limit(limit);
return mongoTemplate.find(query, Role.class);
}
@Override
public void updateRole(String roleName, Set<AuthEnum> authEnumSet) {
Query query = new Query(Criteria.where("name").is(roleName));
Role role = mongoTemplate.findOne(query, Role.class);
if(role == null){
throw new RoleException("角色不存在");
}
role.setAuthoritySet(authEnumSet);
mongoTemplate.save(role);
}
}