admin
2018-12-10 01d627f3c67e2bc5c28b2dd5e23983ddcf7a08f3
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.user;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
@@ -8,7 +9,8 @@
import javax.annotation.Resource;
import org.apache.ibatis.annotations.Param;
import net.sf.json.JSONArray;
import org.hibernate.HibernateException;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
@@ -20,8 +22,10 @@
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;
@Service
@@ -32,6 +36,9 @@
   
   @Resource
   private ShamUserMapper shamUserMapper;
   @Resource
   private ConfigService configService;
   
   
   @Transactional
@@ -50,7 +57,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();
@@ -182,6 +189,94 @@
   public List<ShamUser> listDistinctPicUrl(long start, int count) {
      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) {
      List<Integer> listTime = new ArrayList<Integer>();
      while (listTime.size() < count) {
         int time = smallTime + (int) (Math.random() * (largeTime - smallTime + 1));
         if (!listTime.contains(Integer.valueOf(time))) {
            listTime.add(Integer.valueOf(time));
         }
      }
      Collections.sort(listTime);
      List<ShamUser> listRand = shamUserMapper.listRand(count);
      for (int i = 1; i <= count; i++) {
         ShamUser shamUser = (ShamUser) listRand.get(i - 1);
         transformId(shamUser);
         shamUser.setMsg(listTime.get(listTime.size() - i) + "秒前领券购买了这个商品");
      }
      return listRand;
   }
   @Override
   public List<ShamUser> listRandShareUser(int count, BigDecimal shareMoney, int small, int large) {
      List<Integer> listMultiple = new ArrayList<Integer>();
      while (listMultiple.size() < count) {
         int Multiple = small + (int) (Math.random() * (large - small + 1));
         listMultiple.add(Integer.valueOf(Multiple));
      }
      List<String> imgList = new ArrayList<String>();
      String value = configService.get("shareBonusPicture");
      if (!StringUtil.isNullOrEmpty(value)) {
         JSONArray array = JSONArray.fromObject(value);
         if (array != null) {
            for (int n = 0; n < array.size(); n++) {
               imgList.add(array.optString(n));
            }
         }
      }
      List<ShamUser> listRand = shamUserMapper.listRand(count);
      for (int i = 0; i < count; i++) {
         ShamUser shamUser = (ShamUser) listRand.get(i);
         transformId(shamUser);
         if (imgList.size() > 0) {
            int randBonusPic = (int) (Math.random() * imgList.size());
            shamUser.setShareBonusPic((String) imgList.get(randBonusPic));
         }
         BigDecimal money = shareMoney.multiply(new BigDecimal(((Integer) listMultiple.get(i)).intValue())).setScale(2, 1);
         // 必须包含 【奖金¥】  这3个符号,  用于前端颜色区分
         shamUser.setMsg("分享了这个商品,累计获得奖金¥" + money);
      }
      return listRand;
   }
   public void transformId(ShamUser shamUser) {
      String id = shamUser.getId() + "";
      if (id.length() == 1) {
         shamUser.setShowId("2****" + id);
      } else {
         shamUser.setShowId(id.substring(0, 1) + "****" + id.substring(id.length() - 2, id.length() - 1));
      }
   }
}