package com.yeshi.fanli.service.impl.config; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate4.HibernateCallback; import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.config.InviteGetMoneyDao; import com.yeshi.fanli.dao.mybatis.share.ShareMapper; import com.yeshi.fanli.dao.user.SpreadImgDao; import com.yeshi.fanli.entity.admin.InviteGetMoney; import com.yeshi.fanli.entity.bus.invite.SpreadImg; import com.yeshi.fanli.service.inter.config.InviteGetMoneyService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; @Service public class InviteGetMoneyServiceImpl implements InviteGetMoneyService { @Resource private InviteGetMoneyDao inviteGetMoneyDao; @Resource private ShareMapper shareMapper; @Resource private SpreadImgDao spreadImgDao; @Override public Integer getCount() { Long count = inviteGetMoneyDao.getCount("SELECT COUNT(1) FROM InviteGetMoney igm WHERE 1 = 1"); return count.intValue(); } @Override public List inviteGetMoneyList(int index, String key) { int start = index * Constant.PAGE_SIZE; return inviteGetMoneyDao.list("from InviteGetMoney igm where igm.name like ? order by igm.money desc", start, Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%" }); } @Override public void deleteInviteGetMoney(long id) { inviteGetMoneyDao.excute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query query = session.createQuery("delete from InviteGetMoney igm where igm.id = ?"); query.setParameter(0, id); query.executeUpdate(); return null; } }); } @Override public void updateInviteGetMoney(InviteGetMoney inviteGetMoney) { InviteGetMoney find = inviteGetMoneyDao.find(InviteGetMoney.class, inviteGetMoney.getId()); if (find == null) { return; } find.setIcon(inviteGetMoney.getIcon()); find.setName(inviteGetMoney.getName()); find.setPortrait(inviteGetMoney.getPortrait()); find.setMoney(inviteGetMoney.getMoney()); inviteGetMoneyDao.update(find); } @Override public InviteGetMoney getInviteGetMoney(long id) { return inviteGetMoneyDao.find(InviteGetMoney.class, id); } @Override public int myFirstTeamCount(String uid) { return shareMapper.myFirstTeamCount(uid); } @Override public int mySecondTeamCount(String uid) { return shareMapper.mySecondTeamCount(uid); } @Override public BigDecimal getMoneyToday(String uid) { return shareMapper.getMoneyToday(uid); } @Override public BigDecimal getMoneyMonth(String uid) { return shareMapper.getMoneyMonth(uid); } @Override public Integer spreadImgCount() { return shareMapper.spreadImgCount(); } @Override public List spreadImgList(int index, String key) { int start = index * Constant.PAGE_SIZE; return spreadImgDao.list("from SpreadImg si where si.url like ? order by si.createtime desc", start, Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%" }); } @Override public void deleteInviteFriendImg(long id) { spreadImgDao.excute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query query = session.createQuery("delete from SpreadImg si where si.id = ?"); query.setParameter(0, id); query.executeUpdate(); return null; } }); } @Override public SpreadImg getInviteSpreadImg(long id) { return spreadImgDao.find(SpreadImg.class, id); } @Override public void updateInviteSpreadImg(SpreadImg spreadImg) { SpreadImg find = spreadImgDao.find(SpreadImg.class, spreadImg.getId()); if (find == null) { return; } find.setUrl(spreadImg.getUrl()); spreadImgDao.update(find); } @Override public void addInviteFriendImg(SpreadImg spreadImg, String url) { spreadImg.setCreatetime(new Date()); spreadImg.setUrl(url); spreadImgDao.save(spreadImg); } @Override public void updateInviteRank(BigDecimal bigDecimalMoney) { shareMapper.updateInviteRank(bigDecimalMoney); } @Override public List systemSpreadImgList() { return shareMapper.systemSpreadImgList(); } @Override public List getSpreadImg(Long uid) { return null; } @Override public BigDecimal getMoneyLastMonth(String uid) { BigDecimal money = shareMapper.getMoneyLastMonth(uid); if (money == null) return new BigDecimal(0); else return money; } @Override public String getActivityRules(String key) { return shareMapper.getActivityRules(key); } @Override public void editActivityRules(String value, String key) { shareMapper.editActivityRules(value, key); } @Override public List listQuery(int start, int pageSize, String key) { if (StringUtil.isNullOrEmpty(key)) { return spreadImgDao.list("from SpreadImg si order by si.createtime desc", start, pageSize, new Serializable[] {}); } else { return spreadImgDao.list("from SpreadImg si where si.url like ? order by si.createtime desc", start, pageSize, new Serializable[] { "%" + key + "%" }); } } @Override public long countQuery(String key) { if (StringUtil.isNullOrEmpty(key)) { return spreadImgDao.getCount("SELECT COUNT(id) FROM SpreadImg"); } else { return spreadImgDao.getCount("SELECT COUNT(id) FROM SpreadImg where url like ? ", new Serializable[] { "%" + key + "%" }); } } }