From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java |  952 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 478 insertions(+), 474 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java
index a9a89d3..96bb1a9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java
@@ -1,476 +1,480 @@
-package com.yeshi.fanli.service.impl.user;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-import org.yeshi.utils.tencentcloud.COSManager;
-
-import com.yeshi.fanli.dao.mybatis.UserRankingsMapper;
-import com.yeshi.fanli.dto.money.InviteGetMoney;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.bus.user.UserRankings;
-import com.yeshi.fanli.exception.user.UserRankingsException;
-import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
-import com.yeshi.fanli.service.inter.user.UserRankingsService;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.vo.order.HongBaoV2VO;
-
-@Service
-public class UserRankingsServiceImpl implements UserRankingsService {
-	@Resource
-	private UserRankingsMapper userRankingsMapper;
+package com.yeshi.fanli.service.impl.user;
 
-	@Resource
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+import org.yeshi.utils.tencentcloud.COSManager;
+
+import com.yeshi.fanli.dao.mybatis.UserRankingsMapper;
+import com.yeshi.fanli.dto.money.InviteGetMoney;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserRankings;
+import com.yeshi.fanli.exception.user.UserRankingsException;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
+import com.yeshi.fanli.service.inter.user.UserRankingsService;
+import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.vo.order.HongBaoV2VO;
+
+@Service
+public class UserRankingsServiceImpl implements UserRankingsService {
+	@Resource
+	private UserRankingsMapper userRankingsMapper;
+
+	@Resource
 	private HongBaoV2CountService hongBaoV2CountService;
-
-	@Override
-	public int insertSelective(UserRankings record) throws UserRankingsException {
-		// TODO Auto-generated method stub
-		return userRankingsMapper.insertSelective(record);
-	}
-
-	@Override
-	public int updateByPrimaryKey(UserRankings record) throws UserRankingsException {
-		return userRankingsMapper.updateByPrimaryKey(record);
-	}
-
-	@Override
-	public int updateByPrimaryKeySelective(UserRankings record) throws UserRankingsException {
-		return userRankingsMapper.updateByPrimaryKeySelective(record);
-	}
-
-	@Override
-	public int updateBatchSelective(List<UserRankings> list) throws UserRankingsException {
-		return userRankingsMapper.updateBatchSelective(list);
-	}
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public int deleteBatchById(Long id) throws UserRankingsException {
-		return userRankingsMapper.deleteByPrimaryKey(id);
-	}
-	
-	
-	@Override
-	public void updateClearTradeState() throws UserRankingsException {
-		userRankingsMapper.updateClearTradeState();
-	}
-
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public int deleteBatchByPrimaryKey(List<Long> arrayID) throws UserRankingsException {
-		for (Long id : arrayID) {
-
-			UserRankings userRankings = userRankingsMapper.selectByPrimaryKey(id);
-			String portrait = userRankings.getPortrait();
-			if (!StringUtil.isNullOrEmpty(portrait)) {
-				COSManager.getInstance().deleteFile(portrait);
-			}
-			userRankingsMapper.deleteByPrimaryKey(id);
-		}
-
-		return arrayID.size();
-	}
-
-	@Override
-	public UserRankings selectByPrimaryKey(Long id) throws UserRankingsException {
-		// TODO Auto-generated method stub
-		return userRankingsMapper.selectByPrimaryKey(id);
-	}
-
-	@Override
-	public List<UserRankings> selectByNickName(String nickName) throws UserRankingsException {
-		// TODO Auto-generated method stub
-		return userRankingsMapper.selectByNickName(nickName);
-	}
-
-	@Override
-	public List<UserRankings> selectByShowId(String id) throws UserRankingsException {
-		// TODO Auto-generated method stub
-		return userRankingsMapper.selectByShowId(id);
-	}
-
-	@Override
-	public void insertAndUploadFile(UserRankings record, MultipartFile file) throws Exception {
-		// TODO Auto-generated method stub
-		record.setCreatetime(new Date());
-		userRankingsMapper.insertSelective(record);
-
-		// 涓婁紶鍥剧墖
-		if (file != null) {
-			uploadPicture(file, record);
-		}
-
-	}
-
-	@Override
-	public void uploadPicture(MultipartFile file, UserRankings userRankings) throws Exception {
-
-		/* 淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖 */
-		String portrait = userRankings.getPortrait();
-		if (!StringUtil.isNullOrEmpty(portrait)) {
-			COSManager.getInstance().deleteFile(portrait);
-		}
-
-		String contentType = file.getContentType();
-		String type = contentType.substring(contentType.indexOf("/") + 1);
-
-		// 涓婁紶鏂囦欢鐩稿浣嶇疆
-		String fileUrl = "userRankings/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
-
-		InputStream inputStream = file.getInputStream();
-		String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
-
-		/* 鏇存柊鏁版嵁搴撲俊鎭� */
-		if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
-			userRankings.setPortrait(uploadFilePath);
-			userRankingsMapper.updateByPrimaryKeySelective(userRankings);
-		}
-	}
-
-	@Override
-	public void removePicture(UserRankings userRankings) throws Exception {
-
-		/* 淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖 */
-		String portrait = userRankings.getPortrait();
-		if (!StringUtil.isNullOrEmpty(portrait)) {
-			boolean deleteFile = COSManager.getInstance().deleteFile(portrait);
-			if (deleteFile) {
-				userRankings.setPortrait(null);
-				userRankingsMapper.updateByPrimaryKey(userRankings);
-			}
-		}
-
-	}
-
-	@Override
-	public List<UserRankings> query(long start, int count, String key, Integer tradeState, Integer shareState, Integer sort)
-			throws UserRankingsException {
-		return userRankingsMapper.query(start, count, key, tradeState, shareState, sort);
-	}
-
-	@Override
-	public long queryCount(String key, Integer tradeState, Integer shareState) throws UserRankingsException {
-		return userRankingsMapper.queryCount(key, tradeState, shareState);
-	}
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public void setRewardtBatch(List<Long> idList, Integer type, Double reward, Double startReward, Double endReward) throws Exception {
-
-		for (Long id : idList) {
-
-			UserRankings userRankings = userRankingsMapper.selectByPrimaryKey(id);
-
-			if (userRankings == null) {
-				continue;
-			}
-
-			Double result = 0.00;
-
-			if (reward != null && reward >= 0) {
-				result = reward;
-			} else {
-				if (startReward != null && endReward != null) {
-					// 闅忔満鏉冮噸
-					result = startReward + (Math.random() * ((endReward - startReward) + 1));
-				} else {
-					break;
-				}
-			}
-
-			if (type == 1 || type.equals(1)) {
-				userRankings.setTradeReward(new BigDecimal(result));
-			} else {
-				userRankings.setShareReward(new BigDecimal(result));
-			}
-
-			userRankingsMapper.updateByPrimaryKeySelective(userRankings);
-
-		}
-
-	}
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public void setStateBatch(List<Long> idList, Integer type, Integer state) throws Exception {
-
-		for (Long id : idList) {
-
-			UserRankings userRankings = userRankingsMapper.selectByPrimaryKey(id);
-
-			if (userRankings == null) {
-				continue;
-			}
-
-			if (type == 1 || type.equals(1)) {
-				userRankings.setTradeState(state);
-
-				if (state != null && state.equals(1)) {
-					userRankings.setTradeTime(new Date());
-				}
-			} else {
-				userRankings.setShareState(state);
-
-				if (state != null && state.equals(1)) {
-					userRankings.setShareTime(new Date());
-				}
-			}
-
-			userRankingsMapper.updateByPrimaryKey(userRankings);
-
-		}
-
-	}
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public void uploadFile(File file) throws Exception {
-
-		List<UserRankings> list = new ArrayList<UserRankings>();
-
-		File[] files = file.listFiles();
-
-		for (File filePic : files) {// 閬嶅巻杩欎釜鏁扮粍
-			String name = filePic.getName();
-			System.out.println("name" + name);
-			String prefix = name.substring(name.lastIndexOf(".") + 1);
-			// 涓婁紶鏂囦欢鐩稿浣嶇疆
-			String fileUrl = "userRankings/" + UUID.randomUUID().toString().replace("-", "") + "." + prefix;
-			System.out.println(fileUrl);
-
-			FileInputStream is = new FileInputStream(filePic);
-
-			String uploadFilePath = COSManager.getInstance().uploadFile(is, fileUrl).getUrl();
-
-			/* 鏇存柊鏁版嵁搴撲俊鎭� */
-			if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
-				UserRankings userRankings = new UserRankings();
-				userRankings.setPortrait(uploadFilePath);
-				userRankings.setCreatetime(new Date());
-				list.add(userRankings);
-			}
-
-			is.close();
-		}
-
-		if (list.size() > 0) {
-			userRankingsMapper.insertBatch(list);
-		}
-	}
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public void updateShowID(File file) throws Exception {
-		List<String> listID = new ArrayList<String>();
-
-		BufferedReader br = new BufferedReader(new FileReader(file));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢
-		String s = "";
-		while ((s = br.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛�
-			listID.add(s);
-		}
-		br.close();
-
-		int i = 0;
-		List<UserRankings> list = userRankingsMapper.queryAll();
-		for (UserRankings userRankings : list) {
-
-			String showId = listID.get(i);
-			i++;
-
-			userRankings.setShowId(showId);
-		}
-
-		userRankingsMapper.updateBatchSelective(list);
-
-	}
-
-	@Override
-	@Transactional(rollbackFor=Exception.class)
-	public void batchUpNickName(File file) throws Exception {
-		List<String> listID = new ArrayList<String>();
-
-		BufferedReader br = new BufferedReader(new FileReader(file));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢
-		String s = "";
-		while ((s = br.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛�
-			listID.add(s);
-		}
-		br.close();
-
-		int i = 0;
-		List<UserRankings> list = userRankingsMapper.queryAll();
-		for (UserRankings userRankings : list) {
-
-			String nickName = listID.get(i);
-			i++;
-
-			userRankings.setNickName(nickName);
-		}
-
-		userRankingsMapper.updateBatchSelective(list);
-
-	}
-
-	@Override
-	public List<UserRankings> listQueryByIds(List<Long> ids) throws UserRankingsException {
-		return userRankingsMapper.listQueryByIds(ids);
-	}
-
-	@Override
-	public List<InviteGetMoney> getRank(long start, int count) {
-		
-		List<InviteGetMoney> resultList = new ArrayList<InviteGetMoney>();
-		
-		List<InviteGetMoney> rankingsList = new ArrayList<InviteGetMoney>();
-		
-		try {
-
-			 List<UserRankings> userRankingsList = query(0, count, null, 1, null, 2);
-
-			for (UserRankings userRankings : userRankingsList) {
-
-				InviteGetMoney invite = new InviteGetMoney();
-				String showId = userRankings.getShowId();
-				if (StringUtil.isNullOrEmpty(showId)) {
-					showId = "2***5";
-				}
-				invite.setUid(showId);
-				invite.setName(userRankings.getNickName());
-				// invite.setIcon(userRankings.getPortrait());
-				invite.setPortrait(userRankings.getPortrait());
-				invite.setMoney(userRankings.getTradeReward());
-				invite.setCreateTime(userRankings.getCreatetime());
-				rankingsList.add(invite);
-			}
-
-			Calendar calendar = Calendar.getInstance();
-			calendar.add(Calendar.DATE, -1);
-
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 璁剧疆鏃堕棿鏍煎紡
-			String defaultDate = sdf.format(calendar.getTime()); // 鏍煎紡鍖栧墠涓�澶�
-
-			// 鐪熷疄鐢ㄦ埛
-			List<HongBaoV2VO> listHongBao = hongBaoV2CountService.listShareAndInviteMoney(0, count, defaultDate);
-			if (listHongBao != null && listHongBao.size() > 0) {
-				HongBaoV2VO hongBao = listHongBao.get(0);
-				BigDecimal maxMoney = hongBao.getTotalMoney();
-
-				UserRankings userRankings = userRankingsList.get(userRankingsList.size() - 1);
-				BigDecimal mminMoney = userRankings.getTradeReward();
-
-				// 鐪熷疄鏁版嵁澶т簬鏈�浣庨噾棰�
-				if (maxMoney.compareTo(mminMoney) > 0) {
-					for (HongBaoV2VO hb : listHongBao) {
-						BigDecimal rewardMoney = hb.getTotalMoney();
-
-						// 濂栭噾楂樺埌浣庢帓搴忥紝涓嶆弧瓒崇粨鏉熷惊鐜�
-						if (rewardMoney.compareTo(mminMoney) <= 0) {
-							break;
-						}
-
-						UserInfo userInfo = hb.getUserInfo();
-						if (userInfo != null) {
-
-							InviteGetMoney invite = new InviteGetMoney();
-
-							invite.setName(userInfo.getNickName());
-							// invite.setIcon(userRankings.getPortrait());
-							invite.setPortrait(userInfo.getPortrait());
-							invite.setMoney(rewardMoney);
-							invite.setCreateTime(new Date());
-
-							// 澶勭悊id
-							Long id = userInfo.getId();
-							String uid = id + "";
-							String index = uid.substring(0, 1);
-							String end = uid.substring(uid.length() - 1, uid.length());
-							invite.setUid(index + "***" + end);
-							rankingsList.add(invite);
-
-						}
-
-					}
-				}
-			}
-
-			List<InviteGetMoney> list = listSort(rankingsList);
-			
-			if (list.size() > count) {
-				resultList = list.subList(0, count-1);
-			} else {
-				resultList = list;
-			}
-			
-			for (int i = 0 ;i<resultList.size() ; i++) {
-				long n = i+1;
-				String icon = "";
-				if (n == 1) {
-					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/5e75b65b6eca4c74850a7306d7584663.png";
-				}
-				if (n == 2) {
-					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/442c950dd14a41a8849c0597f643ddd2.png";
-				}
-				if (n == 3) {
-					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/5c9559905f034541888e674b30dbbeb3.png";
-				}
-				if (n == 4) {
-					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/531b640cf73042ac929750e5ff610a20.png";
-				}
-				if (n == 5) {
-					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/2a229650a22c4ce09e3c60e8cddafdd6.png";
-				}
-				resultList.get(i).setIcon(icon);
-				
-				
-				resultList.get(i).setRankIcon("http://ec-1255749512.file.myqcloud.com/resource/rank/rank_icon_3.png");
-				resultList.get(i).setId(n);
-			}
-			
-			
-		} catch (UserRankingsException e) {
-			e.printStackTrace();
-		}
-		
-		return resultList;
-		
-		
-	}
-
-	public List<InviteGetMoney> listSort(List<InviteGetMoney> list) {
-
-		Collections.sort(list, new Comparator<InviteGetMoney>() {
-			public int compare(InviteGetMoney p1, InviteGetMoney p2) {
-
-				// 鎸夌収Person鐨勫勾榫勮繘琛屽崌搴忔帓鍒�
-				if (p1.getMoney().compareTo(p2.getMoney()) < 0) {
-					return 1;
-				}
-
-				if (p1.getMoney().compareTo(p2.getMoney()) == 0) {
-					return 0;
-				}
-				return -1;
-			}
-		});
-
-		return list;
-	}
-}
+
+	@Override
+	public int insertSelective(UserRankings record) throws UserRankingsException {
+		// TODO Auto-generated method stub
+		return userRankingsMapper.insertSelective(record);
+	}
+
+	@Override
+	public int updateByPrimaryKey(UserRankings record) throws UserRankingsException {
+		return userRankingsMapper.updateByPrimaryKey(record);
+	}
+
+	@Override
+	public int updateByPrimaryKeySelective(UserRankings record) throws UserRankingsException {
+		return userRankingsMapper.updateByPrimaryKeySelective(record);
+	}
+
+	@Override
+	public int updateBatchSelective(List<UserRankings> list) throws UserRankingsException {
+		return userRankingsMapper.updateBatchSelective(list);
+	}
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public int deleteBatchById(Long id) throws UserRankingsException {
+		return userRankingsMapper.deleteByPrimaryKey(id);
+	}
+	
+	
+	@Override
+	public void updateClearTradeState() throws UserRankingsException {
+		userRankingsMapper.updateClearTradeState();
+	}
+
+	
+	@Override
+	public void clearShareReward() {
+		userRankingsMapper.clearShareReward();
+	}
+	
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public int deleteBatchByPrimaryKey(List<Long> arrayID) throws UserRankingsException {
+		for (Long id : arrayID) {
+
+			UserRankings userRankings = userRankingsMapper.selectByPrimaryKey(id);
+			String portrait = userRankings.getPortrait();
+			if (!StringUtil.isNullOrEmpty(portrait)) {
+				COSManager.getInstance().deleteFile(portrait);
+			}
+			userRankingsMapper.deleteByPrimaryKey(id);
+		}
+
+		return arrayID.size();
+	}
+
+	@Override
+	public UserRankings selectByPrimaryKey(Long id) throws UserRankingsException {
+		// TODO Auto-generated method stub
+		return userRankingsMapper.selectByPrimaryKey(id);
+	}
+
+	@Override
+	public List<UserRankings> selectByNickName(String nickName) throws UserRankingsException {
+		// TODO Auto-generated method stub
+		return userRankingsMapper.selectByNickName(nickName);
+	}
+
+	@Override
+	public List<UserRankings> selectByShowId(String id) throws UserRankingsException {
+		// TODO Auto-generated method stub
+		return userRankingsMapper.selectByShowId(id);
+	}
+
+	@Override
+	public void insertAndUploadFile(UserRankings record, MultipartFile file) throws Exception {
+		// TODO Auto-generated method stub
+		record.setCreatetime(new Date());
+		userRankingsMapper.insertSelective(record);
+
+		// 涓婁紶鍥剧墖
+		if (file != null) {
+			uploadPicture(file, record);
+		}
+
+	}
+
+	@Override
+	public void uploadPicture(MultipartFile file, UserRankings userRankings) throws Exception {
+
+		/* 淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖 */
+		String portrait = userRankings.getPortrait();
+		if (!StringUtil.isNullOrEmpty(portrait)) {
+			COSManager.getInstance().deleteFile(portrait);
+		}
+
+		String contentType = file.getContentType();
+		String type = contentType.substring(contentType.indexOf("/") + 1);
+
+		// 涓婁紶鏂囦欢鐩稿浣嶇疆
+		String fileUrl = FilePathEnum.userRankings.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
+
+		InputStream inputStream = file.getInputStream();
+		String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
+
+		/* 鏇存柊鏁版嵁搴撲俊鎭� */
+		if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
+			userRankings.setPortrait(uploadFilePath);
+			userRankingsMapper.updateByPrimaryKeySelective(userRankings);
+		}
+	}
+
+	@Override
+	public void removePicture(UserRankings userRankings) throws Exception {
+
+		/* 淇敼鍥剧墖鏃讹紝鍏堝垹闄ゅ凡瀛樺湪鍥剧墖 */
+		String portrait = userRankings.getPortrait();
+		if (!StringUtil.isNullOrEmpty(portrait)) {
+			boolean deleteFile = COSManager.getInstance().deleteFile(portrait);
+			if (deleteFile) {
+				userRankings.setPortrait(null);
+				userRankingsMapper.updateByPrimaryKey(userRankings);
+			}
+		}
+
+	}
+
+	@Override
+	public List<UserRankings> query(long start, int count, String key, Integer tradeState, Integer shareState, Integer sort) {
+		return userRankingsMapper.query(start, count, key, tradeState, shareState, sort);
+	}
+
+	@Override
+	public long queryCount(String key, Integer tradeState, Integer shareState) throws UserRankingsException {
+		return userRankingsMapper.queryCount(key, tradeState, shareState);
+	}
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public void setRewardtBatch(List<Long> idList, Integer type, Double reward, Double startReward, Double endReward) throws Exception {
+
+		for (Long id : idList) {
+
+			UserRankings userRankings = userRankingsMapper.selectByPrimaryKey(id);
+
+			if (userRankings == null) {
+				continue;
+			}
+
+			Double result = 0.00;
+
+			if (reward != null && reward >= 0) {
+				result = reward;
+			} else {
+				if (startReward != null && endReward != null) {
+					// 闅忔満鏉冮噸
+					result = startReward + (Math.random() * ((endReward - startReward) + 1));
+				} else {
+					break;
+				}
+			}
+
+			if (type == 1 || type.equals(1)) {
+				userRankings.setTradeReward(new BigDecimal(result));
+			} else {
+				userRankings.setShareReward(new BigDecimal(result));
+			}
+
+			userRankingsMapper.updateByPrimaryKeySelective(userRankings);
+
+		}
+
+	}
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public void setStateBatch(List<Long> idList, Integer type, Integer state) throws Exception {
+
+		for (Long id : idList) {
+
+			UserRankings userRankings = userRankingsMapper.selectByPrimaryKey(id);
+
+			if (userRankings == null) {
+				continue;
+			}
+
+			if (type == 1 || type.equals(1)) {
+				userRankings.setTradeState(state);
+
+				if (state != null && state.equals(1)) {
+					userRankings.setTradeTime(new Date());
+				}
+			} else {
+				userRankings.setShareState(state);
+
+				if (state != null && state.equals(1)) {
+					userRankings.setShareTime(new Date());
+				}
+			}
+
+			userRankingsMapper.updateByPrimaryKey(userRankings);
+
+		}
+
+	}
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public void uploadFile(File file) throws Exception {
+
+		List<UserRankings> list = new ArrayList<UserRankings>();
+
+		File[] files = file.listFiles();
+
+		for (File filePic : files) {// 閬嶅巻杩欎釜鏁扮粍
+			String name = filePic.getName();
+			System.out.println("name" + name);
+			String prefix = name.substring(name.lastIndexOf(".") + 1);
+			// 涓婁紶鏂囦欢鐩稿浣嶇疆
+			String fileUrl = FilePathEnum.userRankings.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + prefix;
+			System.out.println(fileUrl);
+
+			FileInputStream is = new FileInputStream(filePic);
+
+			String uploadFilePath = COSManager.getInstance().uploadFile(is, fileUrl).getUrl();
+
+			/* 鏇存柊鏁版嵁搴撲俊鎭� */
+			if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
+				UserRankings userRankings = new UserRankings();
+				userRankings.setPortrait(uploadFilePath);
+				userRankings.setCreatetime(new Date());
+				list.add(userRankings);
+			}
+
+			is.close();
+		}
+
+		if (list.size() > 0) {
+			userRankingsMapper.insertBatch(list);
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public void updateShowID(File file) throws Exception {
+		List<String> listID = new ArrayList<String>();
+
+		BufferedReader br = new BufferedReader(new FileReader(file));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢
+		String s = "";
+		while ((s = br.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛�
+			listID.add(s);
+		}
+		br.close();
+
+		int i = 0;
+		List<UserRankings> list = userRankingsMapper.queryAll();
+		for (UserRankings userRankings : list) {
+
+			String showId = listID.get(i);
+			i++;
+
+			userRankings.setShowId(showId);
+		}
+
+		userRankingsMapper.updateBatchSelective(list);
+
+	}
+
+	@Override
+	@Transactional(rollbackFor=Exception.class)
+	public void batchUpNickName(File file) throws Exception {
+		List<String> listID = new ArrayList<String>();
+
+		BufferedReader br = new BufferedReader(new FileReader(file));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢
+		String s = "";
+		while ((s = br.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛�
+			listID.add(s);
+		}
+		br.close();
+
+		int i = 0;
+		List<UserRankings> list = userRankingsMapper.queryAll();
+		for (UserRankings userRankings : list) {
+
+			String nickName = listID.get(i);
+			i++;
+
+			userRankings.setNickName(nickName);
+		}
+
+		userRankingsMapper.updateBatchSelective(list);
+
+	}
+
+	@Override
+	public List<UserRankings> listQueryByIds(List<Long> ids) throws UserRankingsException {
+		return userRankingsMapper.listQueryByIds(ids);
+	}
+	
+
+	@Override
+	public List<UserRankings> getRankList(long start, int count) {
+		return userRankingsMapper.getRankList(start, count);
+	}
+	
+
+	@Override
+	public List<InviteGetMoney> getRank(long start, int count) {
+		
+		List<InviteGetMoney> resultList = new ArrayList<InviteGetMoney>();
+		
+		List<InviteGetMoney> rankingsList = new ArrayList<InviteGetMoney>();
+		
+			 List<UserRankings> userRankingsList = query(0, count, null, 1, null, 2);
+
+			for (UserRankings userRankings : userRankingsList) {
+
+				InviteGetMoney invite = new InviteGetMoney();
+				String showId = userRankings.getShowId();
+				if (StringUtil.isNullOrEmpty(showId)) {
+					showId = "2***5";
+				}
+				invite.setUid(showId);
+				invite.setName(userRankings.getNickName());
+				// invite.setIcon(userRankings.getPortrait());
+				invite.setPortrait(userRankings.getPortrait());
+				invite.setMoney(userRankings.getTradeReward());
+				invite.setCreateTime(userRankings.getCreatetime());
+				rankingsList.add(invite);
+			}
+
+			Calendar calendar = Calendar.getInstance();
+			calendar.add(Calendar.DATE, -1);
+
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 璁剧疆鏃堕棿鏍煎紡
+			String defaultDate = sdf.format(calendar.getTime()); // 鏍煎紡鍖栧墠涓�澶�
+
+			// 鐪熷疄鐢ㄦ埛
+			List<HongBaoV2VO> listHongBao = hongBaoV2CountService.listShareAndInviteMoney(0, count, defaultDate);
+			if (listHongBao != null && listHongBao.size() > 0) {
+				HongBaoV2VO hongBao = listHongBao.get(0);
+				BigDecimal maxMoney = hongBao.getTotalMoney();
+
+				UserRankings userRankings = userRankingsList.get(userRankingsList.size() - 1);
+				BigDecimal mminMoney = userRankings.getTradeReward();
+
+				// 鐪熷疄鏁版嵁澶т簬鏈�浣庨噾棰�
+				if (maxMoney.compareTo(mminMoney) > 0) {
+					for (HongBaoV2VO hb : listHongBao) {
+						BigDecimal rewardMoney = hb.getTotalMoney();
+
+						// 濂栭噾楂樺埌浣庢帓搴忥紝涓嶆弧瓒崇粨鏉熷惊鐜�
+						if (rewardMoney.compareTo(mminMoney) <= 0) {
+							break;
+						}
+
+						UserInfo userInfo = hb.getUserInfo();
+						if (userInfo != null) {
+
+							InviteGetMoney invite = new InviteGetMoney();
+
+							invite.setName(userInfo.getNickName());
+							// invite.setIcon(userRankings.getPortrait());
+							invite.setPortrait(userInfo.getPortrait());
+							invite.setMoney(rewardMoney);
+							invite.setCreateTime(new Date());
+
+							// 澶勭悊id
+							Long id = userInfo.getId();
+							String uid = id + "";
+							String index = uid.substring(0, 1);
+							String end = uid.substring(uid.length() - 1, uid.length());
+							invite.setUid(index + "***" + end);
+							rankingsList.add(invite);
+
+						}
+
+					}
+				}
+			}
+
+			List<InviteGetMoney> list = listSort(rankingsList);
+			
+			if (list.size() > count) {
+				resultList = list.subList(0, count-1);
+			} else {
+				resultList = list;
+			}
+			
+			for (int i = 0 ;i<resultList.size() ; i++) {
+				long n = i+1;
+				String icon = "";
+				if (n == 1) {
+					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/5e75b65b6eca4c74850a7306d7584663.png";
+				}
+				if (n == 2) {
+					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/442c950dd14a41a8849c0597f643ddd2.png";
+				}
+				if (n == 3) {
+					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/5c9559905f034541888e674b30dbbeb3.png";
+				}
+				if (n == 4) {
+					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/531b640cf73042ac929750e5ff610a20.png";
+				}
+				if (n == 5) {
+					icon ="http://buxinimg.oss-cn-qingdao.aliyuncs.com/2a229650a22c4ce09e3c60e8cddafdd6.png";
+				}
+				resultList.get(i).setIcon(icon);
+				
+				
+				resultList.get(i).setRankIcon("http://ec-1255749512.file.myqcloud.com/resource/rank/rank_icon_3.png");
+				resultList.get(i).setId(n);
+			}
+			
+		return resultList;
+	}
+
+	public List<InviteGetMoney> listSort(List<InviteGetMoney> list) {
+
+		Collections.sort(list, new Comparator<InviteGetMoney>() {
+			public int compare(InviteGetMoney p1, InviteGetMoney p2) {
+
+				// 鎸夌収Person鐨勫勾榫勮繘琛屽崌搴忔帓鍒�
+				if (p1.getMoney().compareTo(p2.getMoney()) < 0) {
+					return 1;
+				}
+
+				if (p1.getMoney().compareTo(p2.getMoney()) == 0) {
+					return 0;
+				}
+				return -1;
+			}
+		});
+
+		return list;
+	}
+}

--
Gitblit v1.8.0