Advertisement
ballchaichana

useruidDAO

Nov 9th, 2018
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.90 KB | None | 0 0
  1. package th.in.oneauthen.object.DAO;
  2.  
  3. import java.util.List;
  4.  
  5. import org.apache.log4j.Logger;
  6. import org.bouncycastle.util.encoders.Base64;
  7.  
  8. import th.athichitsakul.dao.impl.StandardDAOImpl;
  9. import th.in.oneauthen.object.DocumentDB;
  10. import th.in.oneauthen.object.SignatureProfileDB;
  11. import th.in.oneauthen.object.UserUidDB;
  12. import th.in.oneauthen.util.CryptoUtil;
  13. import th.in.oneauthen.util.SystemLogger;
  14.  
  15. public class UserUidDAO extends StandardDAOImpl<UserUidDB> {
  16.     public static final String SALT = "AccTkn-";
  17.     private Logger logger = SystemLogger.generateSystemLogger(UserUidDAO.class);
  18.    
  19.     /**
  20.      *  Introduce DAO in superclass that this UserDAOImpl going to use MySQL-PU persistance-unit configuration.
  21.      */
  22.     public UserUidDAO() {
  23.         super("esigning");
  24.     }
  25.  
  26.     /**
  27.      * Instead of using method find, that can search any object by their primary key.
  28.      * This method made this UserDAO can be search by username which is an another unique parameter.
  29.      *
  30.      * @param username
  31.      * @return User instance of specify username
  32.      */
  33.     public UserUidDB findUsername(String username) {
  34.         UserUidDB user = null;
  35.         try {
  36.             DAO.begin();
  37.             user = (UserUidDB) DAO.getEntityManager()
  38.                     .createNamedQuery("findByUsername")
  39.                     .setParameter("userName", username).getSingleResult();
  40.         } catch (Exception e) {
  41.             logger.error("Invalid user loading with name "+username , e);
  42.         } finally {
  43.             DAO.close();
  44.         }
  45.         return user;
  46.     }
  47.    
  48.     public UserUidDB findOneId(String oneId) {
  49.         UserUidDB user = null;
  50.         try {
  51.             DAO.begin();
  52.             user = (UserUidDB) DAO.getEntityManager()
  53.                     .createNamedQuery("findOneId")
  54.                     .setParameter("oneId", oneId).getSingleResult();
  55.         } catch (Exception e) {
  56.             logger.error("Invalid user loading with ID "+oneId , e);
  57.         } finally {
  58.             DAO.close();
  59.         }
  60.         return user;
  61.     }
  62.    
  63.     public static UserUidDB findUserByOneId ( String oneId) {
  64.  
  65.         try {  
  66.             return new UserUidDAO().findOneId(oneId);
  67.         } catch ( Exception e ) {
  68.             e.printStackTrace();
  69.         }
  70.         return null;
  71.     }
  72.    
  73.     public UserUidDB findEmailOnechat(String email) {
  74.         UserUidDB user = null;
  75.         try {
  76.             DAO.begin();
  77.             user = (UserUidDB) DAO.getEntityManager()
  78.                     .createNamedQuery("findUserOnechat")
  79.                     .setParameter("oneEmail", email).getSingleResult();
  80.         } catch (Exception e) {
  81.             logger.error("Invalid user loading with ID "+email , e);
  82.         } finally {
  83.             DAO.close();
  84.         }
  85.         return user;
  86.     }
  87.    
  88.     public static UserUidDB findUserByeEmail( String email) {
  89.  
  90.         try {  
  91.             return new UserUidDAO().findEmailOnechat(email);
  92.         } catch ( Exception e ) {
  93.             e.printStackTrace();
  94.         }
  95.         return null;
  96.     }
  97.    
  98.    
  99.     public UserUidDB findAdmin(String userName) {
  100.         UserUidDB user = null;
  101.         try {
  102.             DAO.begin();
  103.             user = (UserUidDB) DAO.getEntityManager()
  104.                     .createNamedQuery("findAdmin")
  105.                     .setParameter("userName", userName).getSingleResult();
  106.         } catch (Exception e) {
  107.             logger.error("Invalid user loading with ID "+ userName , e);
  108.         } finally {
  109.             DAO.close();
  110.         }
  111.         return user;
  112.     }
  113.    
  114.     public static UserUidDB findAdminByUser (String userName) {
  115.  
  116.         try {  
  117.             return new UserUidDAO().findAdmin(userName);
  118.         } catch ( Exception e ) {
  119.             e.printStackTrace();
  120.         }
  121.         return null;
  122.     }
  123.    
  124.  
  125.    
  126.    
  127.    
  128.     public static String generateUserAccessToken ( String username ) {
  129.         try {
  130.             String accessToken = Base64.toBase64String(CryptoUtil.encryptData((SALT+username).getBytes()));
  131.             return accessToken;
  132.         }catch (Exception e) {
  133.             e.printStackTrace();
  134.         }
  135.         return null;
  136.     }
  137.    
  138.     public static UserUidDB findUserByAccessToken ( String accessToken ) {
  139. //      int userId = -1;
  140.         try {
  141.             String plainText = new String (CryptoUtil.decryptData(Base64.decode(accessToken)));
  142.             plainText = plainText.replaceAll(SALT, "").trim();
  143. //          userId = Integer.parseInt(plainText);
  144.            
  145.             return new UserUidDAO().findUsername(plainText);
  146.         } catch ( Exception e ) {
  147.             e.printStackTrace();
  148.         }
  149.         return null;
  150.     }
  151.    
  152.    
  153.     public void updateTimeLogin(UserUidDB updateData) {
  154.         DAO.begin();
  155.         try {
  156.             UserUidDB db = DAO.getEntityManager().find(UserUidDB.class, updateData.getUserId());
  157.            
  158.             //== do update ==
  159.             db.setLastLogin(updateData.getLastLogin());
  160.             DAO.getEntityManager().merge(db);
  161.             DAO.getTransaction().commit();
  162.         }catch (Exception e) {
  163.             if (DAO.getTransaction().isActive()) {
  164.                 DAO.getTransaction().rollback();
  165.             }
  166.             logger.error("Update last login failed for "+updateData.getUserName(),e);
  167.         }
  168.        
  169.     }
  170.    
  171.     public List<UserUidDB> findUserLimt100(String type_id , int start ,int end) {
  172.          List<UserUidDB> user = null;
  173.         try {
  174.             DAO.begin();
  175.             user = (List<UserUidDB>) DAO.getEntityManager()
  176.                     .createNamedQuery("findUser100")
  177.                     .setParameter("type", type_id)
  178.                     .setFirstResult(start)
  179.                     .setMaxResults(end)
  180.                     .getResultList();
  181.         } catch (Exception e) {
  182.             logger.error("Invalid user loading with type id = "+type_id , e);
  183.         } finally {
  184.             DAO.close();
  185.         }
  186.         return  user;
  187.     }
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement