admin
2018-12-25 4cb15e222cd7d099d533ccbeb7f9a8cd99bf180c
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java
@@ -1,15 +1,11 @@
package com.yeshi.fanli.service.impl.user;
import java.math.BigDecimal;
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 net.sf.json.JSONArray;
import org.hibernate.HibernateException;
import org.hibernate.SQLQuery;
@@ -20,13 +16,12 @@
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.config.ConfigService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.Utils;
import net.sf.json.JSONArray;
@Service
public class ShamUserServiceImpl implements ShamUserService {
@@ -57,7 +52,7 @@
         public List<ShamUser> doInHibernate(Session session)
               throws HibernateException {
            SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_demouser ORDER BY id desc").addEntity(ShamUser.class);
            SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_sham_user").addEntity(ShamUser.class);
            query.setFirstResult(0);
            query.setMaxResults(sum);
            List<ShamUser> list = query.list();
@@ -66,35 +61,7 @@
      });
   }
   
   @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() {
@@ -106,53 +73,7 @@
      });
   }
   @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) {
@@ -190,6 +111,15 @@
      return shamUserMapper.listByDistinctPicUrl(start, count);
   }
   
   @Override
   public int insertBatch(List<ShamUser> list) {
      return shamUserMapper.insertBatch(list);
   }
   @Override
   public int updateBatchSelective(List<ShamUser> list) {
      return shamUserMapper.updateBatchSelective(list);
   }
   
   @Override
   public List<ShamUser> listRandCouponUser(int count, int smallTime, int largeTime) {
@@ -253,7 +183,8 @@
         }
         BigDecimal money = shareMoney.multiply(new BigDecimal(((Integer) listMultiple.get(i)).intValue())).setScale(2, 1);
         shamUser.setMsg("分享了这个商品,累计获得<font color=\"red\">奖金" + money + "</font>");
         // 必须包含 【奖金¥】  这3个符号,  用于前端颜色区分
         shamUser.setMsg("分享了这个商品,累计获得奖金¥" + money);
      }
      return listRand;