userserviceimpl.java

来自「移动彩信管理平台」· Java 代码 · 共 425 行

JAVA
425
字号
/**
 * 
 */
package com.my7g.zj.mobile.mms.business.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.acegisecurity.providers.encoding.Md5PasswordEncoder;
import org.hibernate.Query;
import org.hibernate.Session;

import com.my7g.zj.mobile.mms.business.IUserService;
import com.my7g.zj.mobile.mms.mapping.TbMmsCpCustomerService;
import com.my7g.zj.mobile.mms.mapping.TbMmsCpManager;
import com.my7g.zj.mobile.mms.mapping.TbMmsCpOperator;
import com.my7g.zj.mobile.mms.mapping.TbMmsCpProvider;
import com.my7g.zj.mobile.mms.mapping.TbMmsCpUser;
import com.my7g.zj.mobile.mms.mapping.TbMmsType;
import com.my7g.zj.mobile.mms.sys.BasicDao;
import com.my7g.zj.mobile.mms.sys.DaoSupport;
import com.my7g.zj.mobile.mms.util.DividePageBean;
import com.my7g.zj.mobile.mms.util.PageBean;

/**
 * 
 * @author liuhb
 * 
 */
public class UserServiceImpl extends BasicDao implements IUserService {

	private Md5PasswordEncoder md5 = new Md5PasswordEncoder();
	private DividePageBean dividePageBean;
	private DaoSupport daoSupportPlatform = null;

	public void setDaoSupportPlatform(DaoSupport daoSupportPlatform) {
		this.daoSupportPlatform = daoSupportPlatform;
	}

	/**
	 * 查询所有栏目
	 */
	public List<TbMmsType> findAllTypeIndex() {
		String hql = "from TbMmsType t where t.sortDeep=3 order by t.sortOrder";
		List list = daoSupportPlatform.find(hql);
		// List list = this.daoSupport.find(hql);
		return list;
	}

	public TbMmsType findTypeIndex(String typeIndex) {
		String hql = "from TbMmsType t where t.sortDeep=3 and t.sortIndex='"
				+ typeIndex + "'";
		List list = this.daoSupport.find(hql);
		if (list.size() != 0)
			return (TbMmsType) list.get(0);
		return null;
	}

	/**
	 * 分页
	 * 
	 * @param dividePageBean
	 */
	public void setDividePageBean(DividePageBean dividePageBean) {
		this.dividePageBean = dividePageBean;
		System.out.println(dividePageBean);
	}

	/**
	 * 检测用户
	 */
	public int checkName(String name) {
		String sql = "from TbMmsCpUser u where u.userPassport = '" + name + "'";
		// TbMmsCpUser cpUser = new TbMmsCpUser();
		// cpUser = (TbMmsCpUser)
		// this.getSession().createQuery(sql).uniqueResult();
		List list = daoSupport.find(sql);
		return list.size();
	}

	/**
	 * 检测单位名
	 */
	public int checkUserCompany(String userCompany) {
		String sql = "from TbMmsCpUser u where u.userCompany = '" + userCompany
				+ "'";
		List list = daoSupport.find(sql);
		return list.size();
	}

	/**
	 * 注册 管理平台统一用户/运营商管理员/平台管理员/客服管理员/内容提供商
	 */
	public void saveUser(Object arg0, Map map) {
		Integer userId = (Integer) this.daoSupport.save(arg0);
		String userType = (String) map.get("userType");
		String username = (String) map.get("username");
		if (userType.equals("1")) {
			TbMmsCpOperator cpOperator = new TbMmsCpOperator();
			cpOperator.setUserId(userId);
			cpOperator.setAddress((String) map.get("address"));
			cpOperator.setUserName(username);
			this.saveOrUpdate(cpOperator);
		} else if (userType.equals("2")) {
			TbMmsCpManager cpManager = new TbMmsCpManager();
			cpManager.setUserId(userId);
			cpManager.setUserName(username);
			this.saveOrUpdate(cpManager);
		} else if (userType.equals("3")) {
			TbMmsCpCustomerService cpCustomerService = new TbMmsCpCustomerService();
			cpCustomerService.setUserId(userId);
			cpCustomerService.setUserName(username);
			this.saveOrUpdate(cpCustomerService);
		} else if (userType.equals("4")) {
			TbMmsCpProvider p = new TbMmsCpProvider();
			p.setUserId(userId);
			p.setUserName(username);
			p.setTypeIndex((String) map.get("typeIndex"));
			this.saveOrUpdate(p);
		}
	}

	/**
	 * 得到所有用户
	 */
	public PageBean findAllCpUser(Map<String, String> map, int page,
			int rowPerPage, String href) {
		int groupId;
		String company;
		short auditState;
		short isUse;
		String name;
		String usetable = "";
		if (map.get("groupId") != null && !map.get("groupId").equals("")) {
			groupId = Integer.parseInt(map.get("groupId"));
			switch (groupId) {
			case 1:
				usetable = "TbMmsCpOperator";
				break;
			case 2:
				usetable = "TbMmsCpManager";
				break;
			case 3:
				usetable = "TbMmsCpCustomerService";
				break;
			case 4:
				usetable = "TbMmsCpProvider";
				break;
			}
		}
		String hql = "select u.userId,t.userName,u.userCompany,u.isUse,u.userGroup,u.auditState,t.id from TbMmsCpUser u,"
				+ usetable + " t" + " where u.userId=t.userId ";
		if (map.get("company") != null && !map.get("company").equals("")) {
			company = map.get("company");
			hql += "and u.userCompany like '%" + company + "%'";
		}
		if (map.get("auditState") != null && !map.get("auditState").equals("")) {
			auditState = Short.parseShort(map.get("auditState"));
			hql += "and u.auditState=" + auditState + " and  u.auditState!=2";
		}
		if (map.get("isUse") != null && !map.get("isUse").equals("")) {
			String use = map.get("isUse");
			// 查询出可用或者不可用
			if (use.equals("1") || use.equals("0")) {
				isUse = Short.parseShort(use);
				hql += "and u.isUse=" + isUse;
				// 待审批用户
			} else if (use.equals("2")) {
				isUse = Short.parseShort(use);
				hql += "and u.isUse=1 and u.auditState=0";
			}
			// 查询全部
			else if (use.equals("3")) {
				hql += "";
			}
		}

		if (map.get("userName") != null && !map.get("userName").equals("")) {
			name = map.get("userName");
			hql += "and t.userName like '%" + name + "%'";
		}
		// List list = this.getSession().createQuery(hql).list();
		dividePageBean.setwaitPage(String.valueOf(page), rowPerPage);
		List cpList = null;
		PageBean bean = null;
		// 总记录数
		System.out.println(hql);
		// Long countResult = this.getResultCount("select count(*) from
		// ("+hql+") tbl");
		// dividePageBean.setPageInfo(countResult.intValue());
		List list1 = this.find(hql);
		cpList = this.find(hql, rowPerPage, (page - 1) * rowPerPage);
		dividePageBean.setPageInfo(list1.size());
		String pageHref = dividePageBean.gethrefPage(href, "pagesel", "page");
		bean = new PageBean(pageHref, cpList);
		return bean;
	}

	/**
	 * 
	 * 根据id得到具体用户信息
	 */
	public Object findCpUserById(Integer userId, Integer groupId) {
		String usetable = null;
		List list = null;
		Object o = null;
		if (groupId != null) {
			switch (groupId) {
			case 1:
				usetable = "TbMmsCpOperator";
				// list = new ArrayList<TbMmsCpOperator>();
				o = new TbMmsCpOperator();
				break;
			case 2:
				usetable = "TbMmsCpManager";
				// list = new ArrayList<TbMmsCpManager>();
				o = new TbMmsCpManager();
				break;
			case 3:
				usetable = "TbMmsCpCustomerService";
				// list = new ArrayList<TbMmsCpCustomerService>();
				o = new TbMmsCpCustomerService();
				break;
			case 4:
				usetable = "TbMmsCpProvider";
				// list = new ArrayList<TbMmsCpProvider>();
				o = new TbMmsCpProvider();
				break;
			}
		}
		String hql = " from " + usetable + " t where t.userId=" + userId;
		list = this.daoSupport.find(hql);
		for (int i = 0; i < list.size(); i++) {
			o = list.get(i);
		}
		return o;
	}

	/**
	 * 用户审核通过(0-->1)
	 */
	public void auditCpUser(Object o, Integer userId) {
		TbMmsCpUser cpUser = (TbMmsCpUser) this.daoSupport.get(
				TbMmsCpUser.class, userId);
		// 改变主表标志位
		cpUser.setAuditState((short) 1);
		this.daoSupport.update(cpUser);
		// 更新子表
		this.daoSupport.update(o);
	}

	/**
	 * 重置密码
	 */
	public void updateCpPassword(Integer userId) {
		TbMmsCpUser cpUser = (TbMmsCpUser) this.daoSupport.get(
				TbMmsCpUser.class, userId);
		cpUser.setUserPassword(md5.encodePassword("000000", null));
		System.out.println("userIdis------------>" + userId);
		this.daoSupport.update(cpUser);
	}

	/**
	 * 用户审核未通过(0-->2)
	 */
	public void auditFailCpUser(Integer userId) {
		TbMmsCpUser cpUser = (TbMmsCpUser) this.daoSupport.get(
				TbMmsCpUser.class, userId);
		cpUser.setAuditState((short) 2);
		this.daoSupport.update(cpUser);
	}

	// wbb*********************
	public TbMmsCpUser findUser(String loginName, String password) {
		String hql = "from TbMmsCpUser t where t.userPassport=:_loginName and t.userPassword=:_password";
		Session session = null;
		Object obj = null;
		try {
			session = this.getSession();
			Query query = session.createQuery(hql);
			query.setString("_loginName", loginName);
			query.setString("_password", password);
			obj = query.uniqueResult();
		} catch (Exception e) {
			e.printStackTrace();
			if (session != null) {
				session.close();
			}
		} finally {
			if (session != null) {
				session.close();
			}
		}

		return (TbMmsCpUser) obj;
	}

	public Map findUser(int useGroup, int useId) {
		String hql = null;
		String usetable = null;
		Map map = new HashMap();
		switch (useGroup) {
		case 1:
			usetable = "TbMmsCpOperator";
			break;
		case 2:
			usetable = "TbMmsCpManager";
			break;
		case 3:
			usetable = "TbMmsCpCustomerService";
			break;
		case 4:
			usetable = "TbMmsCpProvider";
			break;
		}
		hql = "from " + usetable + " t" + " where t.userId=" + useId;
		Session session = null;
		try {
			session = this.getSession();
			Query query = session.createQuery(hql);
			Object o = query.uniqueResult();
			Object user = this.get(TbMmsCpUser.class, useId);
			map.put("customer", o);
			map.put("cpUser", user);
		} catch (Exception e) {
			e.printStackTrace();
			if (session != null) {
				session.close();
			}
		} finally {
			if (session != null) {
				session.close();
			}
		}
		return map;
	}

	public void updateUser(Map map) {
		Integer useGroup = (Integer) map.get("useGroup");
		Integer useId = (Integer) map.get("useId");
		Map useMap = this.findUser(useGroup, useId);
		TbMmsCpUser cpUser = (TbMmsCpUser) useMap.get("cpUser");
		cpUser.setAuditState((short) 0);
		this.saveOrUpdate(cpUser);
		if (useGroup == 1) {
			TbMmsCpOperator user = (TbMmsCpOperator) useMap.get("customer");
			user.setModUserName((String) map.get("userName"));
			user.setModJob((String) map.get("job"));
			user.setModTel((String) map.get("tel"));
			user.setModFax((String) map.get("fax"));
			user.setModMobile((Long) map.get("mobile"));
			user.setModEmail((String) map.get("email"));
			user.setModAddress((String) map.get("address"));
			user.setModPost((Integer) map.get("post"));
			user.setModElseAddress((String) map.get("elseAddress"));
			this.saveOrUpdate(user);
			return;
		}
		if (useGroup == 2) {
			TbMmsCpManager user = (TbMmsCpManager) useMap.get("customer");
			user.setModUserName((String) map.get("userName"));
			user.setModJob((String) map.get("job"));
			user.setModTel((String) map.get("tel"));
			user.setModFax((String) map.get("fax"));
			user.setModMobile((Long) map.get("mobile"));
			user.setModEmail((String) map.get("email"));
			user.setModAddress((String) map.get("address"));
			user.setModPost((Integer) map.get("post"));
			user.setModElseAddress((String) map.get("elseAddress"));
			this.saveOrUpdate(user);
			return;
		}
		if (useGroup == 3) {
			TbMmsCpCustomerService user = (TbMmsCpCustomerService) useMap
					.get("customer");
			user.setModUserName((String) map.get("userName"));
			user.setModJob((String) map.get("job"));
			user.setModTel((String) map.get("tel"));
			user.setModFax((String) map.get("fax"));
			user.setModMobile((Long) map.get("mobile"));
			user.setModEmail((String) map.get("email"));
			user.setModAddress((String) map.get("address"));
			user.setModPost((Integer) map.get("post"));
			this.saveOrUpdate(user);
			user.setModElseAddress((String) map.get("elseAddress"));
			return;
		}
		if (useGroup == 4) {
			TbMmsCpProvider provider = (TbMmsCpProvider) useMap.get("customer");
			provider.setModEntName((String) map.get("entName"));
			provider.setModEntEname((String) map.get("entEname"));
			provider.setModEntDesc((String) map.get("entDesc"));
			provider.setModEntAddress((String) map.get("entAddress"));
			provider.setModEntTaxcode((String) map.get("entTaxcode"));
			provider.setModEntBalancetype((String) map.get("entBalancetype"));
			provider.setModBank((String) map.get("bank"));
			provider.setModBankPassport((String) map.get("bankPassport"));
			provider.setModPrincipalName((String) map.get("principalName"));
			provider.setModPrincipalTel((String) map.get("principalTel"));
			provider.setModPresidentTel((String) map.get("presidentTel"));
			provider.setModBusinessName((String) map.get("businessName"));
			provider.setModBusinessJob((String) map.get("businessJob"));
			provider.setModBusinessTel((String) map.get("businessTel"));
			provider.setModBusinessFax((String) map.get("businessFax"));
			provider.setModBusinessMobile((Long) map.get("businessMobile"));
			provider.setModBusinessEmail((String) map.get("businessEmail"));
			provider.setModBusinessAddress((String) map.get("businessEmail"));
			provider.setModBusinessPost((Integer) map.get("businessPost"));
			provider.setModBusinessElseAddress((String) map
					.get("businessElseAddress"));
			this.saveOrUpdate(provider);
			return;
		}
	}

	public TbMmsCpUser findUser(Integer id) {
		return (TbMmsCpUser) this.get(TbMmsCpUser.class, id);
	}

	public void updateUser(TbMmsCpUser user) {
		this.saveOrUpdate(user);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?