| | |
| | | package com.yeshi.fanli.service.impl.user;
|
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.text.DecimalFormat;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Collections;
|
| | |
| | |
|
| | | 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;
|
| | |
| | | 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
|
| | |
| | |
|
| | | @Resource
|
| | | private ShamUserMapper shamUserMapper;
|
| | | |
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | |
|
| | | @Transactional
|
| | |
| | | public List<ShamUser> listDistinctPicUrl(long start, int count) {
|
| | | return shamUserMapper.listByDistinctPicUrl(start, count);
|
| | | }
|
| | | |
| | | |
| | | @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);
|
| | | shamUser.setMsg("分享了这个商品,累计获得<font color=\"red\">奖金" + money + "</font>");
|
| | | }
|
| | |
|
| | | 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));
|
| | | }
|
| | | }
|
| | |
|
| | | }
|