package com.yeshi.fanli.service.impl.user;
|
|
import java.text.DecimalFormat;
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.Comparator;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.apache.ibatis.annotations.Param;
|
import org.hibernate.HibernateException;
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
import org.springframework.orm.hibernate4.HibernateCallback;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.yeshi.fanli.dao.mybatis.user.ShamUserMapper;
|
import com.yeshi.fanli.dao.user.ShamUserDao;
|
import com.yeshi.fanli.entity.bus.user.HongBaoMessage;
|
import com.yeshi.fanli.entity.bus.user.ShamUser;
|
import com.yeshi.fanli.service.inter.user.ShamUserService;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.Utils;
|
|
@Service
|
public class ShamUserServiceImpl implements ShamUserService {
|
|
@Resource
|
private ShamUserDao dao;
|
|
@Resource
|
private ShamUserMapper shamUserMapper;
|
|
|
@Transactional
|
public void addShamUser(ShamUser shamUser) {
|
dao.save(shamUser);
|
}
|
|
public List<ShamUser> getAll() {
|
return dao.list("from ShamUser");
|
}
|
|
|
@SuppressWarnings("unchecked")
|
public List<ShamUser> findShamUserList(int sum){
|
return (List<ShamUser>) dao.excute(new HibernateCallback<List<ShamUser>>() {
|
|
public List<ShamUser> doInHibernate(Session session)
|
throws HibernateException {
|
SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_demouser ORDER BY id desc").addEntity(ShamUser.class);
|
query.setFirstResult(0);
|
query.setMaxResults(sum);
|
List<ShamUser> list = query.list();
|
return list;
|
}
|
});
|
}
|
|
@SuppressWarnings("unchecked")
|
public List<HongBaoMessage> getManyData() {
|
|
return (List<HongBaoMessage>) dao.excute(new HibernateCallback<List<HongBaoMessage>>() {
|
|
public List<HongBaoMessage> doInHibernate(Session session)
|
throws HibernateException {
|
SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_sham_user ORDER BY RAND()").addEntity(ShamUser.class);
|
query.setFirstResult(0);
|
query.setMaxResults(Constant.PAGE_SIZE);
|
List<ShamUser> list = query.list();
|
List<HongBaoMessage> hbmList=new ArrayList<HongBaoMessage>();
|
if(list.size()>0){
|
HongBaoMessage hbm = null;
|
DecimalFormat df = new DecimalFormat("######0.00");
|
for (ShamUser shamUser : list) {
|
hbm=new HongBaoMessage();
|
hbm.setName(shamUser.getName());
|
hbm.setPicUrl(shamUser.getPicUrl());
|
double random = (Math.random()+0.01)*20;
|
String format = df.format(random);
|
hbm.setContent("悄悄领取了"+format+"元红包");
|
hbmList.add(hbm);
|
}
|
}
|
return hbmList;
|
}
|
});
|
}
|
@Transactional
|
public void delete(final long id) {
|
dao.excute(new HibernateCallback() {
|
public Object doInHibernate(Session session)
|
throws HibernateException {
|
session.createQuery(" delete ShamUser su where su.id = ? ").setParameter(0, id).executeUpdate();
|
return null;
|
}
|
});
|
}
|
|
@SuppressWarnings("unchecked")
|
public List<HongBaoMessage> findShamThreeSaleInfo() {
|
|
return (List<HongBaoMessage>) dao.excute(new HibernateCallback<List<HongBaoMessage>>() {
|
|
public List<HongBaoMessage> doInHibernate(Session session)
|
throws HibernateException {
|
SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_sham_user ORDER BY RAND()").addEntity(ShamUser.class);
|
query.setFirstResult(0);
|
query.setMaxResults(5);
|
List<ShamUser> list = query.list();
|
List<HongBaoMessage> hbmList=new ArrayList<HongBaoMessage>();
|
if(list.size()>0){
|
HongBaoMessage hbm = null;
|
DecimalFormat df = new DecimalFormat("######0.00");
|
for (ShamUser shamUser : list) {
|
String name = shamUser.getName();
|
if(name != null){
|
if(name.length() > 2){
|
name = Utils.getStarString(name,1,name.length()-1);
|
}else{
|
name = name.substring(0, 1)+"**"+name.substring(name.length()-1);
|
}
|
}
|
shamUser.setName(name);
|
hbm=new HongBaoMessage();
|
hbm.setName(shamUser.getName());
|
hbm.setPicUrl(shamUser.getPicUrl());
|
double random = (Math.random()+100)*10;
|
String format = df.format(random);
|
hbm.setContent(format+"");
|
hbmList.add(hbm);
|
}
|
}
|
Collections.sort(hbmList, new Comparator<HongBaoMessage>() {
|
public int compare(HongBaoMessage o1, HongBaoMessage o2) {
|
double o1m = Double.parseDouble(o1.getContent());
|
double o2m = Double.parseDouble(o2.getContent());
|
double m=o1m-o2m;
|
return m<0?1:-1;
|
}
|
});
|
return hbmList;
|
}
|
});
|
|
}
|
|
@Override
|
public int deleteByPrimaryKey(Long id) {
|
return shamUserMapper.deleteByPrimaryKey(id);
|
}
|
|
@Override
|
public int insert(ShamUser record) {
|
return shamUserMapper.insert(record);
|
}
|
|
@Override
|
public int insertSelective(ShamUser record) {
|
return shamUserMapper.insertSelective(record);
|
}
|
|
@Override
|
public ShamUser selectByPrimaryKey(Long id) {
|
return shamUserMapper.selectByPrimaryKey(id);
|
}
|
|
@Override
|
public int updateByPrimaryKeySelective(ShamUser record) {
|
return shamUserMapper.updateByPrimaryKeySelective(record);
|
}
|
|
@Override
|
public int updateByPrimaryKey(ShamUser record) {
|
return shamUserMapper.updateByPrimaryKey(record);
|
}
|
|
|
@Override
|
public List<ShamUser> listDistinctPicUrl(long start, int count) {
|
return shamUserMapper.listByDistinctPicUrl(start, count);
|
}
|
|
|
}
|