/chiwen-admin/admin-server/src/main/java/com/databps/bigdaf/admin/dao/HbaseUserDao.java

https://github.com/datapickaxe/chiwen · Java · 146 lines · 112 code · 29 blank · 5 comment · 12 complexity · 7e8654b3c2f8880d808a375ea5b0a70a MD5 · raw file

  1. package com.databps.bigdaf.admin.dao;
  2. import com.databps.bigdaf.admin.domain.HbaseUser;
  3. import com.databps.bigdaf.admin.domain.HbasePrivliege;
  4. import com.databps.bigdaf.admin.domain.HbaseRole;
  5. import com.databps.bigdaf.admin.domain.HbaseUser;
  6. import com.databps.bigdaf.admin.domain.model.ChiWenPolicy;
  7. import com.databps.bigdaf.core.common.AuditType;
  8. import com.databps.bigdaf.core.mongo.plugin.MongoPage;
  9. import com.databps.bigdaf.core.util.DateUtils;
  10. import com.google.gson.Gson;
  11. import com.google.gson.JsonArray;
  12. import com.google.gson.JsonObject;
  13. import com.google.gson.reflect.TypeToken;
  14. import java.util.List;
  15. import org.apache.commons.collections.CollectionUtils;
  16. import org.apache.commons.lang3.StringUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.data.domain.Sort;
  19. import org.springframework.data.mongodb.core.MongoOperations;
  20. import org.springframework.data.mongodb.core.query.Criteria;
  21. import org.springframework.data.mongodb.core.query.Query;
  22. import org.springframework.data.mongodb.core.query.Update;
  23. import org.springframework.stereotype.Repository;
  24. /**
  25. * @author shibingxin
  26. * @create 2017-08-31 下午1:54
  27. */
  28. @Repository
  29. public class HbaseUserDao {
  30. private final static String COLLECTIO_HBASE_ROLE = "hbase_role";
  31. private final static String COLLECTIO_HBASE_USER = "hbase_user";
  32. private final static String COLLECTIO_HBASE_PRIVILEGE = "hbase_privilege";
  33. private String CMPY_ID= "5968802a01cbaa46738eee3d";
  34. @Autowired
  35. private MongoOperations mongoOperations;
  36. public List<HbaseUser> findAllByName(MongoPage page, String name) {
  37. Query query = new Query();
  38. if (StringUtils.isNotBlank(name)) {
  39. query.addCriteria(Criteria.where("u_name").is(name));
  40. }
  41. Sort sort = new Sort(Sort.Direction.DESC, "create_time");
  42. if (page!=null) {
  43. page.setTotalResults(count(name));
  44. query.with(sort).skip(page.getFirstResult()).limit(page.getMaxResults());
  45. }
  46. List<HbaseUser> HbaseUsers = mongoOperations.find(query, HbaseUser.class, COLLECTIO_HBASE_USER);
  47. return HbaseUsers;
  48. }
  49. public HbaseUser findOneById(String id) {
  50. Query query = new Query();
  51. query.addCriteria(Criteria.where("_id").is(id));
  52. return mongoOperations.findOne(query, HbaseUser.class, COLLECTIO_HBASE_USER);
  53. }
  54. public HbaseUser findOneByName(String name) {
  55. Query query = new Query();
  56. query.addCriteria(Criteria.where("u_name").is(name));
  57. return mongoOperations.findOne(query, HbaseUser.class, COLLECTIO_HBASE_USER);
  58. }
  59. public long count(String name) {
  60. Query query = new Query();
  61. if (StringUtils.isNotBlank(name)) {
  62. query.addCriteria(Criteria.where("u_name").is(name));
  63. }
  64. long count = mongoOperations.count(query, HbaseUser.class, COLLECTIO_HBASE_USER);
  65. return count;
  66. }
  67. public void insert(HbaseUser user) {
  68. Query query = new Query();
  69. query.addCriteria(Criteria.where("name").is(user.getName()));
  70. HbaseUser oldUser = mongoOperations.findOne(query, HbaseUser.class, COLLECTIO_HBASE_USER);
  71. if (oldUser == null) {
  72. //user.setUpdateTime(DateUtils.getNowDateTime());
  73. user.setCmpyId(CMPY_ID);
  74. mongoOperations.insert(user, COLLECTIO_HBASE_USER);
  75. }
  76. }
  77. public void update(HbaseUser user, String id) {
  78. boolean isUpate = false;
  79. Query queryOr = new Query();
  80. queryOr.addCriteria(Criteria.where("_id").is(id));
  81. HbaseUser oldUser = mongoOperations.findOne(queryOr, HbaseUser.class, COLLECTIO_HBASE_USER);
  82. if (oldUser != null) {
  83. if (oldUser.get_id().equals(id)) {
  84. isUpate = true;
  85. } else {
  86. isUpate = false;
  87. }
  88. } else {
  89. isUpate = true;
  90. }
  91. if (isUpate) {
  92. Query query = new Query();
  93. query.addCriteria(Criteria.where("_id").is(id));
  94. Update update = new Update();
  95. update.set("name", user.getName());
  96. update.set("description", user.getDescription());
  97. update.set("update_time", DateUtils.getNowDateTime());
  98. update.set("cmpy_id", CMPY_ID);
  99. if(user.getRoles()!=null){
  100. update.set("roles",user.getRoles());
  101. }else{
  102. update.set("roles",oldUser.getRoles());
  103. }
  104. mongoOperations.updateFirst(query, update, COLLECTIO_HBASE_USER);
  105. }
  106. }
  107. public void deleteUser(String userNm) {
  108. Query query = new Query();
  109. query.addCriteria(Criteria.where("u_name").is(userNm));
  110. mongoOperations.remove(query, COLLECTIO_HBASE_USER);
  111. }
  112. public void deleteById(String id) {
  113. Query query = new Query();
  114. query.addCriteria(Criteria.where("_id").is(id));
  115. mongoOperations.remove(query, COLLECTIO_HBASE_USER);
  116. }
  117. }