Advertisement
ballchaichana

useruidDAO

Nov 15th, 2018
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.56 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.    
  34.     public void updateAttrEmail(UserUidDB updateData) {
  35.         DAO.begin();
  36.         try {
  37.             UserUidDB db = DAO.getEntityManager().find(UserUidDB.class, updateData.getUserId());
  38.            
  39.             //== do update ==
  40.             //db.setProfileKey(updateData.getProfileKey());
  41.             //db.setProfileKeyPIN(updateData.getProfileKeyPIN());
  42.             db.setOneEmail(updateData.getOneEmail());
  43.            
  44.             DAO.getEntityManager().merge(db);
  45.             DAO.getTransaction().commit();
  46.         }catch (Exception e) {
  47.             if (DAO.getTransaction().isActive()) {
  48.                 DAO.getTransaction().rollback();
  49.             }
  50.             logger.error("Update user profile failed for "+updateData.getOneEmail(),e);
  51.         }
  52.        
  53.     }
  54.  
  55.     public void updateAttrType(UserUidDB updateData) {
  56.         DAO.begin();
  57.         try {
  58.             UserUidDB db = DAO.getEntityManager().find(UserUidDB.class, updateData.getUserId());
  59.            
  60.             //== do update ==
  61.             //db.setProfileKey(updateData.getProfileKey());
  62.             //db.setProfileKeyPIN(updateData.getProfileKeyPIN());
  63.             db.setType(updateData.getType());
  64.            
  65.             DAO.getEntityManager().merge(db);
  66.             DAO.getTransaction().commit();
  67.         }catch (Exception e) {
  68.             if (DAO.getTransaction().isActive()) {
  69.                 DAO.getTransaction().rollback();
  70.             }
  71.             logger.error("Update user profile failed for "+updateData.getType(),e);
  72.         }
  73.        
  74.     }
  75.    
  76.     public List<UserUidDB> adminFind(int start, int limitEnd) {
  77.          List<UserUidDB> user = null;
  78.         try {
  79.             DAO.begin();
  80.             user = (List<UserUidDB>) DAO.getEntityManager()
  81.                     .createNamedQuery("findUser")
  82.                     .setMaxResults(limitEnd)
  83.                     .setFirstResult(start)
  84.                     .getResultList();
  85.         } catch (Exception e) {
  86.             logger.error("Invalid user loading with type id = ", e);
  87.         } finally {
  88.             DAO.close();
  89.         }
  90.         return  user;
  91.     }
  92.    
  93.     public UserUidDB findUsername(String username) {
  94.         UserUidDB user = null;
  95.         try {
  96.             DAO.begin();
  97.             user = (UserUidDB) DAO.getEntityManager()
  98.                     .createNamedQuery("findByUsername")
  99.                     .setParameter("userName", username).getSingleResult();
  100.         } catch (Exception e) {
  101.             logger.error("Invalid user loading with name "+username , e);
  102.         } finally {
  103.             DAO.close();
  104.         }
  105.         return user;
  106.     }
  107.    
  108.     public UserUidDB findOneId(String oneId) {
  109.         UserUidDB user = null;
  110.         try {
  111.             DAO.begin();
  112.             user = (UserUidDB) DAO.getEntityManager()
  113.                     .createNamedQuery("findOneId")
  114.                     .setParameter("oneId", oneId).getSingleResult();
  115.         } catch (Exception e) {
  116.             logger.error("Invalid user loading with ID "+oneId , e);
  117.         } finally {
  118.             DAO.close();
  119.         }
  120.         return user;
  121.     }
  122.    
  123.     public static UserUidDB findUserByOneId ( String oneId) {
  124.  
  125.         try {  
  126.             return new UserUidDAO().findOneId(oneId);
  127.         } catch ( Exception e ) {
  128.             e.printStackTrace();
  129.         }
  130.         return null;
  131.     }
  132.    
  133.     public UserUidDB findEmailOnechat(String email) {
  134.         UserUidDB user = null;
  135.         try {
  136.             DAO.begin();
  137.             user = (UserUidDB) DAO.getEntityManager()
  138.                     .createNamedQuery("findUserOnechat")
  139.                     .setParameter("oneEmail", email).getSingleResult();
  140.         } catch (Exception e) {
  141.             logger.error("Invalid user loading with ID "+email , e);
  142.         } finally {
  143.             DAO.close();
  144.         }
  145.         return user;
  146.     }
  147.    
  148.     public static UserUidDB findUserByeEmail( String email) {
  149.  
  150.         try {  
  151.             return new UserUidDAO().findEmailOnechat(email);
  152.         } catch ( Exception e ) {
  153.             e.printStackTrace();
  154.         }
  155.         return null;
  156.     }
  157.    
  158.    
  159.     public UserUidDB findAdmin(String userName) {
  160.         UserUidDB user = null;
  161.         try {
  162.             DAO.begin();
  163.             user = (UserUidDB) DAO.getEntityManager()
  164.                     .createNamedQuery("findAdmin")
  165.                     .setParameter("userName", userName).getSingleResult();
  166.         } catch (Exception e) {
  167.             logger.error("Invalid user loading with ID "+ userName , e);
  168.         } finally {
  169.             DAO.close();
  170.         }
  171.         return user;
  172.     }
  173.    
  174.     public static UserUidDB findAdminByUser (String userName) {
  175.  
  176.         try {  
  177.             return new UserUidDAO().findAdmin(userName);
  178.         } catch ( Exception e ) {
  179.             e.printStackTrace();
  180.         }
  181.         return null;
  182.     }
  183.    
  184.  
  185.    
  186.    
  187.    
  188.     public static String generateUserAccessToken ( String username ) {
  189.         try {
  190.             String accessToken = Base64.toBase64String(CryptoUtil.encryptData((SALT+username).getBytes()));
  191.             return accessToken;
  192.         }catch (Exception e) {
  193.             e.printStackTrace();
  194.         }
  195.         return null;
  196.     }
  197.    
  198.     public static UserUidDB findUserByAccessToken ( String accessToken ) {
  199. //      int userId = -1;
  200.         try {
  201.             String plainText = new String (CryptoUtil.decryptData(Base64.decode(accessToken)));
  202.             plainText = plainText.replaceAll(SALT, "").trim();
  203. //          userId = Integer.parseInt(plainText);
  204.            
  205.             return new UserUidDAO().findUsername(plainText);
  206.         } catch ( Exception e ) {
  207.             e.printStackTrace();
  208.         }
  209.         return null;
  210.     }
  211.    
  212.    
  213.     public void updateTimeLogin(UserUidDB updateData) {
  214.         DAO.begin();
  215.         try {
  216.             UserUidDB db = DAO.getEntityManager().find(UserUidDB.class, updateData.getUserId());
  217.            
  218.             //== do update ==
  219.             db.setLastLogin(updateData.getLastLogin());
  220.             DAO.getEntityManager().merge(db);
  221.             DAO.getTransaction().commit();
  222.         }catch (Exception e) {
  223.             if (DAO.getTransaction().isActive()) {
  224.                 DAO.getTransaction().rollback();
  225.             }
  226.             logger.error("Update last login failed for "+updateData.getUserName(),e);
  227.         }
  228.        
  229.     }
  230.    
  231.     public List<UserUidDB> findUserLimt100(String type_id , int start ,int end) {
  232.          List<UserUidDB> user = null;
  233.         try {
  234.             DAO.begin();
  235.             user = (List<UserUidDB>) DAO.getEntityManager()
  236.                     .createNamedQuery("findUser100")
  237.                     .setParameter("type", type_id)
  238.                     .setFirstResult(start)
  239.                     .setMaxResults(end)
  240.                     .getResultList();
  241.         } catch (Exception e) {
  242.             logger.error("Invalid user loading with type id = "+type_id , e);
  243.         } finally {
  244.             DAO.close();
  245.         }
  246.         return  user;
  247.     }
  248. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement