Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.silverlake.ifb.service;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.ResourceBundle;
- import java.util.Set;
- import org.dozer.DozerBeanMapper;
- import org.dozer.DozerBeanMapperSingletonWrapper;
- import org.dozer.Mapper;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.core.GrantedAuthority;
- import org.springframework.security.core.authority.SimpleGrantedAuthority;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import com.silverlake.ifb.bean.DeviceBean;
- import com.silverlake.ifb.bean.DeviceDetailBean;
- import com.silverlake.ifb.bean.DeviceSearchBean;
- import com.silverlake.ifb.bean.MerchantDetailsBean;
- import com.silverlake.ifb.bean.MerchantProfileBean;
- import com.silverlake.ifb.bean.MerchantStoreBean;
- import com.silverlake.ifb.bean.MposLoginBean;
- import com.silverlake.ifb.bean.MposUserBean;
- import com.silverlake.ifb.bean.MposUserDetailBean;
- import com.silverlake.ifb.bean.MposUserResBean;
- import com.silverlake.ifb.bean.MposUserSearchBean;
- import com.silverlake.ifb.bean.OrganisationBean;
- import com.silverlake.ifb.bean.OrganisationSearchBean;
- import com.silverlake.ifb.constant.DateTimeConstant;
- import com.silverlake.ifb.constant.WalletConstant;
- import com.silverlake.ifb.dao.MerchantProfileDAO;
- import com.silverlake.ifb.dao.MerchantStoreDAO;
- import com.silverlake.ifb.dao.OrganisationDAO;
- import com.silverlake.ifb.dao.ProfileEntityDAO;
- import com.silverlake.ifb.dao.SecurityPolicyDAO;
- import com.silverlake.ifb.dao.StateDAO;
- import com.silverlake.ifb.dao.TerminalDAO;
- import com.silverlake.ifb.dao.TerminalUserDAO;
- import com.silverlake.ifb.dao.TerminalUserPwdDAO;
- import com.silverlake.ifb.dao.TerminalUserStoreDAO;
- import com.silverlake.ifb.dao.UserAccessRoleDAO;
- import com.silverlake.ifb.dao.UserProfileDAO;
- import com.silverlake.ifb.dao.UserRoleDAO;
- import com.silverlake.ifb.dao.UserRoleFunctionDAO;
- import com.silverlake.ifb.entity.CommonStateI18n;
- import com.silverlake.ifb.entity.MLEBUserRoleFunctionEntity;
- import com.silverlake.ifb.entity.MerchantProfile;
- import com.silverlake.ifb.entity.MerchantStore;
- import com.silverlake.ifb.entity.MerchantStoreI18n;
- import com.silverlake.ifb.entity.OrganisationEntity;
- import com.silverlake.ifb.entity.ProfileEntity;
- import com.silverlake.ifb.entity.SecurityPolicyEntity;
- import com.silverlake.ifb.entity.SystemPolicyEntity;
- import com.silverlake.ifb.entity.Terminal;
- import com.silverlake.ifb.entity.TerminalUser;
- import com.silverlake.ifb.entity.TerminalUserPwd;
- import com.silverlake.ifb.entity.TerminalUserStore;
- import com.silverlake.ifb.entity.UserAccessRole;
- import com.silverlake.ifb.entity.UserProfileEntity;
- import com.silverlake.ifb.entity.UserRoleEntity;
- import com.silverlake.ifb.entity.WalletConfig;
- import com.silverlake.ifb.security.TerminalUserBean;
- import com.silverlake.ifb.util.EntitySupport;
- import com.silverlake.ifb.util.HMacShaEncoder;
- import com.silverlake.ifb.util.Logger;
- import com.silverlake.micb.core.bean.UserBean;
- import com.silverlake.micb.core.util.UniqueUtil;
- @Service("terminalService")
- @Transactional
- public class TerminalServiceImpl implements TerminalService {
- private static final ResourceBundle config = ResourceBundle.getBundle("Config");
- private static Logger logger = Logger.getLogger(TerminalServiceImpl.class);
- @Autowired
- DozerBeanMapper mapper;
- @Autowired
- CommonService commonService;
- @Autowired
- ProfileEntityDAO profileEntityDAO;
- @Autowired
- UserProfileDAO userProfileDAO;
- @Autowired
- TerminalUserDAO terminalUserDAO;
- @Autowired
- TerminalDAO terminalDAO;
- @Autowired
- TerminalUserPwdDAO terminalUserPwdDAO;
- @Autowired
- TerminalUserStoreDAO terminalUserStoreDAO;
- @Autowired
- MerchantProfileDAO merchantProfileDAO;
- @Autowired
- MerchantStoreDAO merchantStoreDAO;
- @Autowired
- OrganisationDAO organisationDAO;
- @Autowired
- SecurityPolicyDAO securityPolicyDAO;
- @Autowired
- UserAccessRoleDAO userAccessRoleDAO;
- @Autowired
- UserRoleDAO userRoleDAO;
- @Autowired
- StateDAO stateDAO;
- @Autowired
- UserRoleFunctionDAO userRoleFunctionDAO;
- private SimpleDateFormat defaultDateFormat = new SimpleDateFormat(DateTimeConstant.DEFAULT_DATE_FORMAT + " " + DateTimeConstant.DEFAULT_TIME_FORMAT);
- @Override
- public int getMposUserListCount(MposUserSearchBean searchBean) {
- return terminalUserStoreDAO.getCountBySearchParam(searchBean);
- }
- @Override
- public List<MposUserBean> getMposUserList(MposUserSearchBean searchBean) {
- ProfileEntity commonProfile = profileEntityDAO.getCommonProfile();
- String languageCode = "EN";
- if(commonProfile != null && commonProfile.getLanguageCode() != null){
- languageCode = commonProfile.getLanguageCode();
- }
- List<MposUserBean> resultList = new ArrayList<MposUserBean>();
- List<TerminalUserStore> terminalUserStoreList = terminalUserStoreDAO.getBySearchParam(searchBean);
- if(terminalUserStoreList.size() > 0){
- for(TerminalUserStore terminalUserStore : terminalUserStoreList){
- MposUserBean mposUserBean = new MposUserBean();
- mposUserBean.setMposUserId(terminalUserStore.getTerminalUser().getTerminalUserId());
- mposUserBean.setUserId(terminalUserStore.getTerminalUser().getUserId());
- mposUserBean.setStatus(String.valueOf(terminalUserStore.getTerminalUser().getStatus()));
- mposUserBean.setMerchantName(terminalUserStore.getMerchantStore().getMerchantProfile().getMerchantName());
- mposUserBean.setStoreName(terminalUserStore.getMerchantStore().getStoreName(languageCode));
- resultList.add(mposUserBean);
- }
- }
- return resultList;
- }
- @Override
- public MposUserDetailBean getMposUser(String userId){
- ProfileEntity commonProfile = profileEntityDAO.getCommonProfile();
- String languageCode = "EN";
- if(commonProfile != null && commonProfile.getLanguageCode() != null){
- languageCode = commonProfile.getLanguageCode();
- }
- MposUserDetailBean responseBean = new MposUserDetailBean();
- TerminalUser terminalUser = terminalUserDAO.getByTerminalUserId(Integer.valueOf(userId));
- if(terminalUser != null){
- responseBean.setMposUserId(terminalUser.getTerminalUserId());
- responseBean.setStatus(String.valueOf(terminalUser.getStatus()));
- responseBean.setUserId(terminalUser.getUserId());
- responseBean.setRemark(terminalUser.getRemark());
- responseBean.setCreateBy(terminalUser.getCreateBy());
- if(terminalUser.getCreateDt() != null){
- responseBean.setCreateDt(defaultDateFormat.format(terminalUser.getCreateDt()));
- }
- responseBean.setModifyBy(terminalUser.getModifyBy());
- if(terminalUser.getModifyDt() != null){
- responseBean.setModifyDt(defaultDateFormat.format(terminalUser.getModifyDt()));
- }
- responseBean.setApproveBy(terminalUser.getApproveBy());
- if(terminalUser.getApproveDt() != null){
- responseBean.setApproveDt(defaultDateFormat.format(terminalUser.getApproveDt()));
- }
- if(terminalUser.getTerminalUserStoreList().size() > 0){
- List<MerchantDetailsBean> storeBeanList = new ArrayList<MerchantDetailsBean>();
- responseBean.setOrgName(terminalUser.getTerminalUserStoreList().toArray(new TerminalUserStore[terminalUser.getTerminalUserStoreList().size()])[0].getMerchantStore().getMerchantProfile().getOrganisation().getOrgName());
- responseBean.setOrgCode(terminalUser.getTerminalUserStoreList().toArray(new TerminalUserStore[terminalUser.getTerminalUserStoreList().size()])[0].getMerchantStore().getMerchantProfile().getOrganisation().getOrgCode());
- responseBean.setMerchantName(terminalUser.getTerminalUserStoreList().toArray(new TerminalUserStore[terminalUser.getTerminalUserStoreList().size()])[0].getMerchantStore().getMerchantProfile().getMerchantName());
- responseBean.setOrgId(terminalUser.getTerminalUserStoreList().toArray(new TerminalUserStore[terminalUser.getTerminalUserStoreList().size()])[0].getMerchantStore().getMerchantProfile().getOrganisation().getOrgId());
- for(TerminalUserStore userStore : terminalUser.getTerminalUserStoreList()){
- MerchantDetailsBean merchantDetailsBean = new MerchantDetailsBean();
- merchantDetailsBean.setMerchantId(userStore.getMerchantStore().getMerchantProfile().getMerchantId());
- merchantDetailsBean.setMerchantName(userStore.getMerchantStore().getMerchantProfile().getMerchantName());
- merchantDetailsBean.setStoreId(userStore.getMerchantStore().getStoreId());
- merchantDetailsBean.setStoreName(userStore.getMerchantStore().getStoreName(languageCode));
- storeBeanList.add(merchantDetailsBean);
- }
- responseBean.setMerchantList(storeBeanList);
- }
- return responseBean;
- }
- else{
- return null;
- }
- }
- @Override
- public MposUserResBean saveUpdateMposUser(MposUserDetailBean requestBean, boolean isUpdate) {
- MposUserResBean responseBean = new MposUserResBean();
- WalletConfig walletConfig = commonService.getWalletConfig(false);
- SystemPolicyEntity systemPolicy = securityPolicyDAO.getSystemPolicyForWallet();
- Integer passwordMinLength = null;
- Integer passwordMaxLength = null;
- Character passwordFormat = null;
- Character passwordContainChar = null;
- if(systemPolicy == null) {
- SecurityPolicyEntity securityPolicy = securityPolicyDAO.retrieveSecurityPolicyByStatus().get(0);
- passwordMinLength = securityPolicy.getPasswordMinLength();
- passwordMaxLength = securityPolicy.getPasswordMaxLength();
- passwordFormat = securityPolicy.getPasswordFormat();
- passwordContainChar = securityPolicy.getPasswordContainChar();
- }else {
- passwordMinLength = systemPolicy.getPasswordMinLength();
- passwordMaxLength = systemPolicy.getPasswordMaxLength();
- passwordFormat = systemPolicy.getPasswordFormat();
- passwordContainChar = systemPolicy.getPasswordContainChar();
- }
- if(isUpdate){
- TerminalUser existingTerminalUser = terminalUserDAO.getByTerminalUserId(requestBean.getMposUserId());
- if(existingTerminalUser != null){
- TerminalUser parentTerminalUser = terminalUserDAO.getByLinkId(existingTerminalUser.getTerminalUserId());
- List<TerminalUser> previousTerminalUserList = terminalUserDAO.getPreviousTerminalUser(requestBean.getUserId());
- existingTerminalUser = EntitySupport.modify(existingTerminalUser, requestBean.getLoggedinUser());
- if(requestBean.getStatus() != null && requestBean.getStatus().charAt(0) == WalletConstant.STS_TERMINAL_USER_APPROVED){
- existingTerminalUser.setStatus(WalletConstant.STS_TERMINAL_USER_APPROVED);
- existingTerminalUser.setApproveBy(requestBean.getLoggedinUser());
- existingTerminalUser.setApproveDt(Calendar.getInstance().getTime());
- existingTerminalUser.setRemark(requestBean.getRemark());
- terminalUserDAO.update(existingTerminalUser);
- if(previousTerminalUserList != null && previousTerminalUserList.size() > 0){
- TerminalUserPwd terminalUserPwd = terminalUserPwdDAO.getByTerminalUserId(requestBean.getUserId());
- String generatedPassword = UniqueUtil.generateRandomPassword((passwordMinLength + passwordMaxLength) / 2, passwordFormat, passwordContainChar);
- if(terminalUserPwd.getPwd() == null) {
- HMacShaEncoder hMacShaEncoder = new HMacShaEncoder(
- WalletConstant.DEFAULT_ENCRYPTION_STRENGTH, true);
- String hashedPwd = hMacShaEncoder.encodePassword(generatedPassword, existingTerminalUser.getUserId());
- terminalUserPwd.setPwd(hashedPwd);
- terminalUserPwd.setPwdForceChg(WalletConstant.TERMINAL_FORCE_CHANGE_PWD);
- terminalUserPwd.setStatus(WalletConstant.STS_ACTIVE);
- }
- terminalUserPwd.setTerminalUser(existingTerminalUser);
- terminalUserPwdDAO.update(terminalUserPwd);
- for(int i = 0; i < previousTerminalUserList.size(); i++) {
- if(previousTerminalUserList.get(i).getStatus().equals(WalletConstant.STS_TERMINAL_USER_APPROVED)){
- TerminalUser activeTerminalUser = previousTerminalUserList.get(i);
- if(activeTerminalUser.getTerminalList().size() > 0){
- for(Terminal terminal : activeTerminalUser.getTerminalList()){
- terminal.setTerminalUser(existingTerminalUser);
- }
- }
- }
- previousTerminalUserList.get(i).setStatus(WalletConstant.STS_DELETE);;
- terminalUserDAO.update(previousTerminalUserList.get(i));
- }
- }
- String generatedPassword = UniqueUtil.generateRandomPassword((passwordMinLength + passwordMaxLength) / 2, passwordFormat, passwordContainChar);
- if(previousTerminalUserList == null || previousTerminalUserList.size() < 1) {
- logger.info("generatedPassword" + generatedPassword);
- logger.info(" * * * * * * * * * * * * * *" + generatedPassword + "********************");
- HMacShaEncoder hMacShaEncoder = new HMacShaEncoder(
- WalletConstant.DEFAULT_ENCRYPTION_STRENGTH, true);
- String hashedPwd = hMacShaEncoder.encodePassword(generatedPassword, existingTerminalUser.getUserId());
- TerminalUserPwd userPwd = existingTerminalUser.getTerminalUserPwd();
- userPwd.setPwd(hashedPwd);
- userPwd.setPwdForceChg(WalletConstant.TERMINAL_FORCE_CHANGE_PWD);
- userPwd.setStatus(WalletConstant.STS_ACTIVE);
- terminalUserPwdDAO.save(userPwd);
- }
- responseBean.setSendEmail(true);
- responseBean.setUserId(existingTerminalUser.getUserId());
- responseBean.setUserEmail(existingTerminalUser.getUserProfileEntity().getEmail());
- responseBean.setUserPwd(generatedPassword);
- responseBean.setMposUserId(existingTerminalUser.getTerminalUserId());
- return responseBean;
- }
- else if(requestBean.getStatus() != null && requestBean.getStatus().charAt(0) == WalletConstant.STS_TERMINAL_USER_REJECTED){
- existingTerminalUser.setStatus(WalletConstant.STS_TERMINAL_USER_REJECTED);
- if(parentTerminalUser != null){
- parentTerminalUser.setLinkId(null);
- terminalUserDAO.update(parentTerminalUser);
- existingTerminalUser.setStatus(WalletConstant.STS_DELETE);
- responseBean.setMposUserId(parentTerminalUser.getTerminalUserId());
- }else {
- responseBean.setMposUserId(existingTerminalUser.getTerminalUserId());
- }
- existingTerminalUser.setRemark(requestBean.getRemark());
- terminalUserDAO.update(existingTerminalUser);
- return responseBean;
- }
- else{
- existingTerminalUser.setRemark(requestBean.getRemark());
- if(requestBean.getStoreId() != null){
- TerminalUser newTerminalUser = EntitySupport.create(new TerminalUser(), requestBean.getLoggedinUser());
- newTerminalUser.setUserId(existingTerminalUser.getUserId());
- newTerminalUser.setUserProfileEntity(existingTerminalUser.getUserProfileEntity());
- newTerminalUser.setRemark(requestBean.getRemark());
- // TerminalUserPwd userPwd = existingTerminalUser.getTerminalUserPwd();
- if(walletConfig.getTerminalUserApproval() == WalletConstant.TERMINAL_USER_APPROVAL_REQUIRED){
- newTerminalUser.setStatus(WalletConstant.STS_TERMINAL_USER_PENDING);
- terminalUserDAO.save(newTerminalUser);
- }
- else{
- newTerminalUser.setStatus(WalletConstant.STS_TERMINAL_USER_APPROVED);
- terminalUserDAO.save(newTerminalUser);
- if(previousTerminalUserList != null && previousTerminalUserList.size() > 0){
- TerminalUserPwd terminalUserPwd = terminalUserPwdDAO.getByTerminalUserId(requestBean.getUserId());
- if(terminalUserPwd.getPwd() == null) {
- String generatedPassword = UniqueUtil.generateRandomPassword((passwordMinLength + passwordMaxLength) / 2, passwordFormat, passwordContainChar);
- HMacShaEncoder hMacShaEncoder = new HMacShaEncoder(
- WalletConstant.DEFAULT_ENCRYPTION_STRENGTH, true);
- String hashedPwd = hMacShaEncoder.encodePassword(generatedPassword, existingTerminalUser.getUserId());
- terminalUserPwd.setPwd(hashedPwd);
- terminalUserPwd.setPwdForceChg(WalletConstant.TERMINAL_FORCE_CHANGE_PWD);
- terminalUserPwd.setStatus(WalletConstant.STS_ACTIVE);
- responseBean.setSendEmail(true);
- responseBean.setUserId(existingTerminalUser.getUserId());
- responseBean.setUserEmail(existingTerminalUser.getUserProfileEntity().getEmail());
- responseBean.setUserPwd(hashedPwd);
- }
- terminalUserPwd.setTerminalUser(newTerminalUser);
- terminalUserPwdDAO.update(terminalUserPwd);
- for(int i = 0; i < previousTerminalUserList.size(); i++) {
- if(previousTerminalUserList.get(i).getStatus().equals(WalletConstant.STS_TERMINAL_USER_APPROVED)){
- TerminalUser activeTerminalUser = previousTerminalUserList.get(i);
- if(activeTerminalUser.getTerminalList().size() > 0){
- for(Terminal terminal : activeTerminalUser.getTerminalList()){
- terminal.setTerminalUser(newTerminalUser);
- }
- }
- }
- previousTerminalUserList.get(i).setStatus(WalletConstant.STS_DELETE);;
- terminalUserDAO.update(previousTerminalUserList.get(i));
- }
- }
- // if(existingTerminalUser.getStatus() == WalletConstant.STS_TERMINAL_USER_PENDING && existingTerminalUser.getTerminalUserPwd().getPwd() != null){
- //
- // String generatedPassword = UniqueUtil.generateRandomPassword((passwordMinLength + passwordMaxLength) / 2, passwordFormat, passwordContainChar);
- //
- // HMacShaEncoder hMacShaEncoder = new HMacShaEncoder(
- // WalletConstant.DEFAULT_ENCRYPTION_STRENGTH, true);
- // String hashedPwd = hMacShaEncoder.encodePassword(generatedPassword, existingTerminalUser.getUserId());
- //
- // userPwd.setPwd(generatedPassword);
- // userPwd.setTerminalUser(newTerminalUser);
- //
- // terminalUserPwdDAO.save(userPwd);
- //
- // responseBean.setSendEmail(true);
- // responseBean.setUserId(existingTerminalUser.getUserId());
- // responseBean.setUserEmail(existingTerminalUser.getUserProfileEntity().getEmail());
- // responseBean.setUserPwd(hashedPwd);
- //
- // }
- }
- if(requestBean.getStoreId() != null) {
- for(String storeId : requestBean.getStoreId().split(",")) {
- MerchantStore merchantStore = merchantStoreDAO.findByStoreId(Integer.valueOf(storeId));
- TerminalUserStore newTerminalUserStore = EntitySupport.create(new TerminalUserStore(), requestBean.getLoggedinUser());
- newTerminalUserStore.setTerminalUser(newTerminalUser);
- newTerminalUserStore.setMerchantStore(merchantStore);
- terminalUserStoreDAO.save(newTerminalUserStore);
- }
- }
- // for(Integer storeId : requestBean.getStoreIdList()){
- //
- // MerchantStore merchantStore = merchantStoreDAO.findByStoreId(storeId);
- //
- // TerminalUserStore newTerminalUserStore = EntitySupport.create(new TerminalUserStore(), requestBean.getLoggedinUser());
- //
- // newTerminalUserStore.setTerminalUser(newTerminalUser);
- // newTerminalUserStore.setMerchantStore(merchantStore);
- //
- // terminalUserStoreDAO.save(newTerminalUserStore);
- //
- // }
- existingTerminalUser.setLinkId(newTerminalUser.getTerminalUserId());
- if(walletConfig.getTerminalUserApproval() != WalletConstant.TERMINAL_USER_APPROVAL_REQUIRED){
- existingTerminalUser.setLinkId(null);
- existingTerminalUser.setStatus(WalletConstant.STS_DELETE);
- }
- responseBean.setMposUserId(newTerminalUser.getTerminalUserId());
- return responseBean;
- }
- terminalUserDAO.update(existingTerminalUser);
- responseBean.setMposUserId(existingTerminalUser.getTerminalUserId());
- return responseBean;
- }
- }
- }
- else{
- UserProfileEntity userProfile = userProfileDAO.findById(requestBean.getUserId());
- if(userProfile != null){
- TerminalUser newTerminalUser = EntitySupport.create(new TerminalUser(), requestBean.getLoggedinUser());
- newTerminalUser.setUserId(requestBean.getUserId());
- newTerminalUser.setUserProfileEntity(userProfile);
- TerminalUserPwd newUserPwd = EntitySupport.create(new TerminalUserPwd(), requestBean.getLoggedinUser());
- newUserPwd.setTerminalUser(newTerminalUser);
- if(walletConfig.getTerminalUserApproval() == WalletConstant.TERMINAL_USER_APPROVAL_REQUIRED){
- newTerminalUser.setStatus(WalletConstant.STS_TERMINAL_USER_PENDING);
- terminalUserDAO.save(newTerminalUser);
- newUserPwd.setStatus(WalletConstant.STS_DEACTIVATED);
- terminalUserPwdDAO.save(newUserPwd);
- }
- else{
- newTerminalUser.setStatus(WalletConstant.STS_TERMINAL_USER_APPROVED);
- terminalUserDAO.save(newTerminalUser);
- String generatedPassword = UniqueUtil.generateRandomPassword((passwordMinLength + passwordMaxLength) / 2, passwordFormat, passwordContainChar);
- HMacShaEncoder hMacShaEncoder = new HMacShaEncoder(
- WalletConstant.DEFAULT_ENCRYPTION_STRENGTH, true);
- String hashedPwd = hMacShaEncoder.encodePassword(generatedPassword, requestBean.getUserId());
- newUserPwd.setPwd(hashedPwd);
- newUserPwd.setPwdForceChg(WalletConstant.TERMINAL_FORCE_CHANGE_PWD);
- newUserPwd.setStatus(WalletConstant.STS_ACTIVE);
- terminalUserPwdDAO.save(newUserPwd);
- responseBean.setSendEmail(true);
- responseBean.setUserId(newTerminalUser.getUserId());
- responseBean.setUserEmail(newTerminalUser.getUserProfileEntity().getEmail());
- responseBean.setUserPwd(generatedPassword);
- }
- // if(requestBean.getStoreIdList() != null && requestBean.getStoreIdList().size() > 0){
- //
- // for(Integer storeId : requestBean.getStoreIdList()){
- //
- // MerchantStore merchantStore = merchantStoreDAO.findByStoreId(storeId);
- //
- // TerminalUserStore newTerminalUserStore = EntitySupport.create(new TerminalUserStore(), requestBean.getLoggedinUser());
- //
- // newTerminalUserStore.setTerminalUser(newTerminalUser);
- // newTerminalUserStore.setMerchantStore(merchantStore);
- //
- // terminalUserStoreDAO.save(newTerminalUserStore);
- //
- // }
- //
- // }
- if(requestBean.getStoreId() != null) {
- for(String storeId : requestBean.getStoreId().split(",")) {
- MerchantStore merchantStore = merchantStoreDAO.findByStoreId(Integer.valueOf(storeId));
- TerminalUserStore newTerminalUserStore = EntitySupport.create(new TerminalUserStore(), requestBean.getLoggedinUser());
- newTerminalUserStore.setTerminalUser(newTerminalUser);
- newTerminalUserStore.setMerchantStore(merchantStore);
- terminalUserStoreDAO.save(newTerminalUserStore);
- }
- }
- responseBean.setMposUserId(newTerminalUser.getTerminalUserId());
- return responseBean;
- }
- else{
- responseBean.setMposUserId(WalletConstant.ERR_MLEB_USER_NOT_EXIST);
- return responseBean;
- }
- }
- responseBean.setMposUserId(0);
- return responseBean;
- }
- public Integer validateUser(MposUserDetailBean requestBean, boolean update){
- if(update){
- TerminalUser selfTerminalUser = terminalUserDAO.getByTerminalUserId(requestBean.getMposUserId());
- if(selfTerminalUser != null){
- TerminalUser existingTerminalUser = terminalUserDAO.getByUserId(requestBean.getUserId());
- if(existingTerminalUser != null && selfTerminalUser.getTerminalUserId().compareTo(existingTerminalUser.getTerminalUserId()) != 0){
- return WalletConstant.ERR_MPOS_USER_DUPLICATE;
- }
- }
- }
- else{
- UserProfileEntity userProfile = userProfileDAO.findByActiveId(requestBean.getUserId());
- if(userProfile != null){
- TerminalUser existingTerminalUser = terminalUserDAO.getByUserId(requestBean.getUserId());
- if(existingTerminalUser != null){
- return WalletConstant.ERR_MPOS_USER_DUPLICATE;
- }
- }
- else{
- return WalletConstant.ERR_MLEB_USER_NOT_EXIST;
- }
- }
- return 0;
- }
- public int getTotalOrgCountBySearch(OrganisationSearchBean organisationSearchBean) {
- return organisationDAO.getTotalCountBySearch(organisationSearchBean);
- }
- public List<OrganisationBean> findAllOrgBySearch(OrganisationSearchBean organisationProfileSearchBean) {
- List<OrganisationEntity> resultList = organisationDAO.findAllBySearch(organisationProfileSearchBean);
- List<OrganisationBean> responseList = new ArrayList<OrganisationBean>();
- if (resultList != null && resultList.size() > 0) {
- Mapper mapper = DozerBeanMapperSingletonWrapper.getInstance();
- for (OrganisationEntity organisationProfileEntity : resultList) {
- OrganisationBean organisationProfileBean = new OrganisationBean();
- organisationProfileBean.setOrgCode(organisationProfileEntity.getOrgCode());
- mapper.map(organisationProfileEntity, organisationProfileBean);
- if (organisationProfileEntity.getBusinessConstitutionEntity() != null) {
- organisationProfileBean.setConstitutionName(organisationProfileEntity.getBusinessConstitutionEntity().getConstitutionName());
- }
- if(organisationProfileEntity.getRegAddrStateEntity() != null){
- String stateName = getStatesByStateIdAndLanguage(organisationProfileEntity.getRegAddrStateId(), WalletConstant.DEFAULT_LOCALE);
- organisationProfileBean.setRegAddrState(stateName);
- }
- if(organisationProfileEntity.getCrspdAddrStateEntity() != null){
- String stateName = getStatesByStateIdAndLanguage(organisationProfileEntity.getCrspdAddrStateId(), WalletConstant.DEFAULT_LOCALE);
- organisationProfileBean.setCrspdAddrState(stateName);
- }
- if (organisationProfileEntity.getCountryEntity() != null) {
- organisationProfileBean.setCountryName(organisationProfileEntity.getCountryEntity().getCountryName());
- }
- if (organisationProfileEntity.getRegAddrCountryEntity() != null) {
- organisationProfileBean.setRegAddrCountry(organisationProfileEntity.getRegAddrCountryEntity().getCountryName());
- }
- if (organisationProfileEntity.getCrspdAddrCountryEntity() != null) {
- organisationProfileBean.setCrspdAddrCountry(organisationProfileEntity.getCrspdAddrCountryEntity().getCountryName());
- }
- responseList.add(organisationProfileBean);
- }
- }
- return responseList;
- }
- @Override
- public OrganisationBean isOrganisationNameAndCodeExist(String orgCode, String orgName) {
- OrganisationBean bean = null;
- OrganisationEntity organisationEntity = organisationDAO.isOrganisationNameAndCodeExist(orgCode, orgName);
- if (organisationEntity != null) {
- bean = new OrganisationBean();
- Mapper mapper = DozerBeanMapperSingletonWrapper.getInstance();
- mapper.map(organisationEntity, bean);
- if (organisationEntity.getBusinessConstitutionEntity() != null) {
- bean.setConstitutionName(organisationEntity.getBusinessConstitutionEntity().getConstitutionName());
- }
- if (organisationEntity.getCountryEntity() != null) {
- bean.setCountryName(organisationEntity.getCountryEntity().getCountryName());
- }
- if (organisationEntity.getRegAddrCountryEntity() != null) {
- bean.setRegAddrCountry(organisationEntity.getRegAddrCountryEntity().getCountryName());
- }
- if (organisationEntity.getCrspdAddrCountryEntity() != null) {
- bean.setCrspdAddrCountry(organisationEntity.getCrspdAddrCountryEntity().getCountryName());
- }
- }
- return bean;
- }
- public String getStatesByStateIdAndLanguage(int StateId, String localeCode) {
- String stateName = "";
- List<CommonStateI18n> regAddrStateName = stateDAO.getStatesByStateIdAndLanguage(StateId, localeCode);
- if(regAddrStateName!=null && regAddrStateName.size()>0)
- stateName = regAddrStateName.get(0).getStateName();
- return stateName;
- }
- @Override
- public List<DeviceBean> getDeviceList(DeviceSearchBean searchBean) {
- // TODO Auto-generated method stub
- List<DeviceBean> deviceList = new ArrayList<DeviceBean>();
- List<Terminal> terminalList = new ArrayList<Terminal>();
- terminalList = terminalDAO.getBySearchParam(searchBean);
- if(terminalList != null && terminalList.size() > 0) {
- for(Terminal terminal : terminalList) {
- DeviceBean newDeviceBean = new DeviceBean();
- newDeviceBean.setDeviceId(terminal.getDeviceId());
- newDeviceBean.setUserId(terminal.getTerminalUser().getUserId());
- newDeviceBean.setBindingDate(defaultDateFormat.format(terminal.getCreateDt()));
- newDeviceBean.setStatus(String.valueOf(terminal.getStatus()));
- newDeviceBean.setTerminalId(terminal.getTerminalId());
- deviceList.add(newDeviceBean);
- }
- }
- return deviceList;
- }
- @Override
- public int getDeviceListCount(DeviceSearchBean searchBean) {
- // TODO Auto-generated method stub
- return terminalDAO.getCountBySearchParam(searchBean);
- }
- @Override
- public List<MerchantProfileBean> getMerchantList(String orgName){
- List<MerchantProfile> merchantProfileList = merchantProfileDAO.getByOrgName(orgName);
- List<MerchantProfileBean> resultList = new ArrayList<MerchantProfileBean>();
- if(merchantProfileList.size() > 0){
- for(MerchantProfile merchantProfile : merchantProfileList){
- MerchantProfileBean merchantProfileBean = new MerchantProfileBean();
- merchantProfileBean.setMerchantId(merchantProfile.getMerchantId());
- merchantProfileBean.setMerchantName(merchantProfile.getMerchantName());
- resultList.add(merchantProfileBean);
- }
- }
- return resultList;
- }
- public List<MerchantStoreBean> getStoreList(String merchantId){
- ProfileEntity commonProfile = profileEntityDAO.getCommonProfile();
- String languageCode = "EN";
- if(commonProfile != null && commonProfile.getLanguageCode() != null){
- languageCode = commonProfile.getLanguageCode();
- }
- List<MerchantStoreI18n> merchantStoreList = merchantStoreDAO.findStoreByMerchantId(null, Integer.valueOf(merchantId), languageCode);
- List<MerchantStoreBean> resultList = new ArrayList<MerchantStoreBean>();
- if(merchantStoreList.size() > 0){
- for(MerchantStoreI18n merchantStoreI18n : merchantStoreList){
- MerchantStoreBean merchantStoreBean = new MerchantStoreBean();
- merchantStoreBean.setStoreId(merchantStoreI18n.getMerchantStore().getStoreId());
- merchantStoreBean.setStoreName(merchantStoreI18n.getStoreName());
- resultList.add(merchantStoreBean);
- }
- }
- return resultList;
- }
- public Map<String, List<MerchantStoreBean>> getTreeList(Integer orgId){
- // List<MerchantProfile> merchantProfileList = merchantProfileDAO.getByOrgId(orgId);
- ProfileEntity commonProfile = profileEntityDAO.getCommonProfile();
- String languageCode = "EN";
- if(commonProfile != null && commonProfile.getLanguageCode() != null){
- languageCode = commonProfile.getLanguageCode();
- }
- Map<String, List<MerchantStoreBean>> map = new LinkedHashMap<String, List<MerchantStoreBean>>();
- //
- // if(merchantProfileList.size() > 0){
- //
- // Map<Integer, MerchantProfile> profileMap = new HashMap<Integer, MerchantProfile>();
- // List<Integer> merchantIdList = new ArrayList<Integer>();
- //
- // for(MerchantProfile merchantProfile : merchantProfileList){
- //
- // profileMap.put(merchantProfile.getMerchantId(), merchantProfile);
- // merchantIdList.add(merchantProfile.getMerchantId());
- //
- // }
- List<MerchantStore> merchantStoreList = merchantStoreDAO.getStoreListByOrgId(orgId);
- if(merchantStoreList.size() > 0) {
- for(MerchantStore merchantStore : merchantStoreList) {
- MerchantStoreBean bean = new MerchantStoreBean();
- bean.setStoreId(merchantStore.getStoreId());
- bean.setStoreName(merchantStore.getStoreName(languageCode));
- if(!map.containsKey(merchantStore.getMerchantProfile().getMerchantName())) {
- List<MerchantStoreBean> list = new ArrayList<MerchantStoreBean>();
- list.add(bean);
- map.put(merchantStore.getMerchantProfile().getMerchantName(), list);
- }else {
- map.get(merchantStore.getMerchantProfile().getMerchantName()).add(bean);
- }
- }
- }
- return map;
- }
- @Override
- public DeviceDetailBean getDeviceDetail(String deviceId) {
- // TODO Auto-generated method stub
- Terminal terminal = terminalDAO.getByTerminalId(Integer.valueOf(deviceId));
- DeviceDetailBean bean = new DeviceDetailBean();
- if(terminal != null) {
- bean.setApproveBy(terminal.getApproveBy());
- bean.setCreateBy(terminal.getCreateBy());
- bean.setModifyBy(terminal.getModifyBy());
- if(terminal.getApproveDt() != null) {
- bean.setApproveDt(defaultDateFormat.format(terminal.getApproveDt()));
- }
- if(terminal.getCreateDt() != null) {
- bean.setCreateDt(defaultDateFormat.format(terminal.getCreateDt()));
- }
- if(terminal.getModifyDt() != null) {
- bean.setModifyDt(defaultDateFormat.format(terminal.getModifyDt()));
- }
- bean.setDeviceId(terminal.getDeviceId());
- if(terminal.getRemark() != null) {
- bean.setRemark(terminal.getRemark());
- }else {
- bean.setRemark("-");
- }
- bean.setTerminalId(terminal.getTerminalId());
- if(terminal.getStatus() != null) {
- bean.setStatus(terminal.getStatus());
- }else {
- bean.setStatus(("-").charAt(0));
- }
- if(terminal.getTerminalUser() != null) {
- bean.setUserId(terminal.getTerminalUser().getUserId());
- }
- }
- return bean;
- }
- @Override
- public Boolean deleteDevice(String deviceId, String username) {
- // TODO Auto-generated method stub
- Terminal terminal = terminalDAO.getByTerminalId(Integer.valueOf(deviceId));
- if(terminal == null) {
- return false;
- }
- terminal = EntitySupport.modify(terminal, username);
- terminal.setStatus(WalletConstant.STS_DEVICE_DELETED);
- terminalDAO.update(terminal);
- return true;
- }
- @Override
- public Integer approveAndRejectDevice(DeviceDetailBean detailBean) {
- // TODO Auto-generated method stub
- Terminal terminal = terminalDAO.getByTerminalId(detailBean.getTerminalId());
- if(terminal == null) {
- return null;
- }
- terminal = EntitySupport.modify(terminal, detailBean.getLoginUser());
- if(detailBean.getRemark() != null) {
- terminal.setRemark(detailBean.getRemark());
- }
- if(detailBean.getStatus() != null)
- {
- terminal.setStatus(detailBean.getStatus());
- if(detailBean.getStatus().equals(WalletConstant.STS_DEVICE_APPROVED)) {
- terminal.setApproveBy(detailBean.getLoginUser());
- terminal.setApproveDt(Calendar.getInstance().getTime());
- }
- }
- terminalDAO.update(terminal);
- return terminal.getTerminalId();
- }
- @Override
- public TerminalUserBean terminalLogin(MposLoginBean mposLoginBean){
- logger.info("step 1");
- TerminalUserBean responseBean = new TerminalUserBean();
- logger.info("user name : " + mposLoginBean.getUsername());
- logger.info("password : " + mposLoginBean.getPassword());
- TerminalUser terminalUser = terminalUserDAO.getByUserId(mposLoginBean.getUsername());
- HMacShaEncoder hMacShaEncoder = new HMacShaEncoder(WalletConstant.DEFAULT_ENCRYPTION_STRENGTH, true);
- if(terminalUser != null){
- logger.info("step 2");
- logger.info("teminal list size : " + terminalUser.getTerminalList().size());
- if(terminalUser.getTerminalList() != null && terminalUser.getTerminalList().size() > 0){
- List<Terminal> deviceList = new ArrayList<Terminal>(terminalUser.getTerminalList());
- logger.info("device list size : " + deviceList.size());
- for(Terminal terminal : deviceList){
- logger.info("step 4");
- if(terminal.getDeviceId().equals(mposLoginBean.getDeviceId()) && terminal.getStatus().equals(WalletConstant.STS_DEVICE_APPROVED)){
- logger.info("device bound");
- responseBean.setDeviceBound(true);
- break;
- }
- }
- }
- TerminalUserPwd terminalUserPwd = terminalUser.getTerminalUserPwd();
- responseBean.setUserId(terminalUser.getUserId());
- if(terminalUserPwd.getPwd() != null){
- logger.info("step 3");
- if(hMacShaEncoder.isPasswordValid(terminalUserPwd.getPwd(), mposLoginBean.getPassword(), mposLoginBean.getUsername())){
- // if(terminalUserPwd.getPwd().equals(mposLoginBean.getPassword())){
- logger.info("step 4");
- responseBean.setPassword(terminalUserPwd.getPwd());
- Set<String> userRoleSet = new HashSet<String>();
- Collection<GrantedAuthority> roles = null;
- List<UserAccessRole> userAccessRoleList = userAccessRoleDAO.findByUserId(mposLoginBean.getUsername());
- if(userAccessRoleList!=null && userAccessRoleList.size()>0){
- logger.info("step 5");
- roles = new HashSet<GrantedAuthority>();
- for(UserAccessRole userAccessRole:userAccessRoleList)
- {
- SimpleGrantedAuthority grantedAuthority = new SimpleGrantedAuthority("ROLE_" + userAccessRole.getUserRole().getRoleName());
- roles.add(grantedAuthority);
- }
- }
- if(roles!=null)
- {
- logger.info("step 6");
- for(GrantedAuthority role:roles)
- {
- String userRole = role.toString().substring(5, role.toString().length());
- userRoleSet.add(userRole);
- }
- Set<GrantedAuthority> roleList = new HashSet<GrantedAuthority>(roles);
- responseBean.setRoleList(roleList);
- List<MLEBUserRoleFunctionEntity> userRoleFunctionList = userRoleFunctionDAO.findByUserRoleList(userRoleSet);
- Set<String> functionList = new HashSet<String>();
- if(userRoleFunctionList != null && userRoleFunctionList.size() > 0){
- logger.info("step 7");
- for (MLEBUserRoleFunctionEntity userRoleFunction : userRoleFunctionList) {
- functionList.add(userRoleFunction.getMlebFunction().getMlebFunctionId());
- }
- }
- logger.info("Function List: "+functionList);
- responseBean.setFunctionList(functionList);
- }
- }
- else{
- logger.info("step 8");
- responseBean.setResponseCode(WalletConstant.ERR_TERMINAL_LOGIN_INVALID_PWD);
- return responseBean;
- }
- }
- if(terminalUserPwd.getPwdForceChg() == WalletConstant.TERMINAL_FORCE_CHANGE_PWD){
- logger.info("step 9");
- responseBean.setForceChange(true);
- }
- else{
- logger.info("step 10");
- responseBean.setForceChange(false);
- }
- }
- else{
- logger.info("step 11");
- responseBean.setResponseCode(WalletConstant.ERR_TERMINAL_LOGIN_INVALID_ID);
- }
- logger.info("step 12");
- return responseBean;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement