| | |
| | | package com.yeshi.fanli.controller.apph5;
|
| | |
|
| | | import java.io.PrintWriter;
|
| | | import java.math.BigDecimal;
|
| | | import java.text.DecimalFormat;
|
| | | import java.text.SimpleDateFormat;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Calendar;
|
| | | import java.util.Collections;
|
| | | import java.util.Comparator;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | import org.springframework.stereotype.Controller;
|
| | | import org.springframework.web.bind.annotation.RequestMapping;
|
| | |
|
| | | import com.google.gson.Gson;
|
| | | import com.google.gson.GsonBuilder;
|
| | | import com.yeshi.fanli.entity.bus.user.HongBao;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.UserRankings;
|
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
|
| | | import com.yeshi.fanli.service.inter.user.UserRankingsService;
|
| | | import com.yeshi.fanli.util.annotation.RequestNoSignValidate;
|
| | |
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
|
| | | @Controller
|
| | | @RequestMapping("api/apph5/v1/rewardRank")
|
| | | public class AppH5UserRankingsController {
|
| | |
|
| | | @Resource
|
| | | private UserRankingsService userRankingsService;
|
| | |
|
| | | @Resource
|
| | | private HongBaoService hongBaoService;
|
| | |
|
| | | /**
|
| | | * 返利券排行榜
|
| | | * @param callback
|
| | | * @param out
|
| | | */
|
| | | @RequestNoSignValidate()
|
| | | @RequestMapping(value = "getRank")
|
| | | public void getRank(String callback, PrintWriter out) {
|
| | |
|
| | | try {
|
| | | |
| | | List<UserRankings> userRankingsList = userRankingsService.query(0, 50, null, 1, null, 2);
|
| | | |
| | | if (userRankingsList == null || userRankingsList.size() == 0) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(2, "暂无相关数据")));
|
| | | return;
|
| | | }
|
| | | |
| | | DecimalFormat format = new DecimalFormat("0.00");
|
| | | |
| | | List<RankInfo> rankingsList = new ArrayList<RankInfo>();
|
| | | for (UserRankings userRankings: userRankingsList) {
|
| | | |
| | | RankInfo rankInfo = new RankInfo();
|
| | | rankInfo.nickName = userRankings.getNickName();
|
| | | rankInfo.portrait = userRankings.getPortrait();
|
| | | rankInfo.showId = userRankings.getShowId();
|
| | | |
| | | rankInfo.reward = format.format(userRankings.getTradeReward());
|
| | | |
| | | rankingsList.add(rankInfo);
|
| | | }
|
| | |
|
| | | Calendar calendar = Calendar.getInstance();
|
| | | calendar.add(Calendar.DATE,-1);
|
| | | |
| | | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
|
| | | String defaultDate = sdf.format(calendar.getTime()); //格式化前一天
|
| | |
|
| | | // 真实用户
|
| | | List<HongBao> listHongBao = hongBaoService.listShareAndInviteMoney(0, 50, defaultDate);
|
| | | if (listHongBao != null && listHongBao.size() > 0) {
|
| | | HongBao hongBao = listHongBao.get(0);
|
| | | BigDecimal maxMoney = hongBao.getShareAndInviteMoney();
|
| | | |
| | | UserRankings userRankings = userRankingsList.get(userRankingsList.size()-1);
|
| | | BigDecimal mminMoney = userRankings.getTradeReward();
|
| | | |
| | | // 真实数据大于最低金额
|
| | | if (maxMoney.compareTo(mminMoney) > 0 ) {
|
| | | for (HongBao hb: listHongBao) {
|
| | | BigDecimal rewardMoney = hb.getShareAndInviteMoney();
|
| | | |
| | | // 奖金高到低排序,不满足结束循环
|
| | | if (rewardMoney.compareTo(mminMoney) <= 0 ) {
|
| | | break;
|
| | | }
|
| | | |
| | | UserInfo userInfo = hb.getUserInfo();
|
| | | if (userInfo != null) {
|
| | | |
| | | RankInfo rankInfo = new RankInfo();
|
| | | |
| | | rankInfo.reward = format.format(rewardMoney);
|
| | | rankInfo.nickName = userInfo.getNickName();
|
| | | rankInfo.portrait = userInfo.getPortrait();
|
| | | rankInfo.showId = userRankings.getShowId();
|
| | | |
| | | // 处理id
|
| | | Long id = userInfo.getId();
|
| | | String uid = id + "";
|
| | | String index = uid.substring(0, 1);
|
| | | String end = uid.substring(uid.length()-1, uid.length());
|
| | | rankInfo.showId = index+ "****" + end;
|
| | | rankingsList.add(rankInfo);
|
| | | |
| | | }
|
| | | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | List<RankInfo> resultList = null;
|
| | | List<RankInfo> listSort = listSort(rankingsList);
|
| | | if (listSort.size() > 50) {
|
| | | resultList = listSort.subList(0, 50);
|
| | | } else {
|
| | | resultList = listSort;
|
| | | }
|
| | | |
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder();
|
| | | gsonBuilder.serializeNulls();
|
| | | Gson gson = gsonBuilder.create();
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("result_list", gson.toJson(resultList));
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 自购排行榜
|
| | | * @param callback
|
| | | * @param out
|
| | | */
|
| | | @RequestNoSignValidate()
|
| | | @RequestMapping(value = "getTrade")
|
| | | public void getTrade(String callback, PrintWriter out) {
|
| | |
|
| | | try {
|
| | | |
| | | List<UserRankings> userRankingsList = userRankingsService.query(0, 30, null, 1, null, 2);
|
| | | |
| | | if (userRankingsList == null || userRankingsList.size() == 0) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("暂无相关数据")));
|
| | | return;
|
| | | }
|
| | | |
| | | DecimalFormat format = new DecimalFormat("0.00");
|
| | | |
| | | List<RankInfo> rankingsList = new ArrayList<RankInfo>();
|
| | | for (UserRankings userRankings: userRankingsList) {
|
| | | |
| | | RankInfo rankInfo = new RankInfo();
|
| | | rankInfo.nickName = userRankings.getNickName();
|
| | | rankInfo.portrait = userRankings.getPortrait();
|
| | | rankInfo.showId = userRankings.getShowId();
|
| | | |
| | | rankInfo.reward = format.format(userRankings.getTradeReward());
|
| | | |
| | | rankingsList.add(rankInfo);
|
| | | }
|
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder();
|
| | | gsonBuilder.serializeNulls();
|
| | | Gson gson = gsonBuilder.create();
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("result_list", gson.toJson(rankingsList));
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 分享排行榜
|
| | | * @param callback
|
| | | * @param out
|
| | | */
|
| | | @RequestNoSignValidate()
|
| | | @RequestMapping(value = "getShare")
|
| | | public void getShare(String callback, PrintWriter out) {
|
| | |
|
| | | try {
|
| | | |
| | | List<UserRankings> userRankingsList = userRankingsService.query(0, 30, null, null, 1, 4);
|
| | | |
| | | if (userRankingsList == null || userRankingsList.size() == 0) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("暂无相关数据")));
|
| | | return;
|
| | | }
|
| | | |
| | | DecimalFormat format = new DecimalFormat("0.00");
|
| | | |
| | | List<RankInfo> rankingsList = new ArrayList<RankInfo>();
|
| | | for (UserRankings userRankings: userRankingsList) {
|
| | | |
| | | RankInfo rankInfo = new RankInfo();
|
| | | rankInfo.nickName = userRankings.getNickName();
|
| | | rankInfo.portrait = userRankings.getPortrait();
|
| | | rankInfo.showId = userRankings.getShowId();
|
| | | rankInfo.reward = format.format(userRankings.getShareReward());
|
| | | rankingsList.add(rankInfo);
|
| | | }
|
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder();
|
| | | gsonBuilder.serializeNulls();
|
| | | Gson gson = gsonBuilder.create();
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("result_list", gson.toJson(rankingsList));
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | public List<RankInfo> listSort (List<RankInfo> list) {
|
| | |
|
| | | Collections.sort(list, new Comparator<RankInfo>(){
|
| | | public int compare(RankInfo p1, RankInfo p2) {
|
| | | |
| | | //按照Person的年龄进行升序排列
|
| | | if(p1.reward.compareTo(p2.reward) < 0){
|
| | | return 1;
|
| | | }
|
| | | |
| | | if(p1.reward.compareTo(p2.reward) == 0){
|
| | | return 0;
|
| | | }
|
| | | return -1;
|
| | | }
|
| | | });
|
| | | |
| | | return list;
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | class RankInfo {
|
| | | public String nickName;// 昵称
|
| | | public String portrait; // 头像
|
| | | public String showId; // 展示id
|
| | | public String reward;// 奖金
|
| | | }
|
| | | package com.yeshi.fanli.controller.apph5; |
| | | |
| | | import java.io.PrintWriter; |
| | | import java.math.BigDecimal; |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.yeshi.utils.JsonUtil; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.yeshi.fanli.entity.bus.user.UserInfo; |
| | | import com.yeshi.fanli.entity.bus.user.UserRankings; |
| | | import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; |
| | | import com.yeshi.fanli.service.inter.user.UserRankingsService; |
| | | import com.yeshi.fanli.vo.order.HongBaoV2VO; |
| | | |
| | | import net.sf.json.JSONObject; |
| | | |
| | | @Controller |
| | | @RequestMapping("api/apph5/v1/rewardRank") |
| | | public class AppH5UserRankingsController { |
| | | |
| | | @Resource |
| | | private UserRankingsService userRankingsService; |
| | | |
| | | @Resource |
| | | private HongBaoV2CountService hongBaoV2CountService; |
| | | /** |
| | | * 板栗快省排行榜 |
| | | * @param callback |
| | | * @param out |
| | | */ |
| | | //@RequestNoSignValidate() |
| | | @RequestMapping(value = "getRank") |
| | | public void getRank(String callback, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<UserRankings> userRankingsList = userRankingsService.query(0, 50, null, 1, null, 2); |
| | | |
| | | if (userRankingsList == null || userRankingsList.size() == 0) { |
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(2, "暂无相关数据"))); |
| | | return; |
| | | } |
| | | |
| | | DecimalFormat format = new DecimalFormat("0.00"); |
| | | |
| | | List<RankInfo> rankingsList = new ArrayList<RankInfo>(); |
| | | for (UserRankings userRankings: userRankingsList) { |
| | | |
| | | RankInfo rankInfo = new RankInfo(); |
| | | rankInfo.nickName = userRankings.getNickName(); |
| | | rankInfo.portrait = userRankings.getPortrait(); |
| | | rankInfo.showId = userRankings.getShowId(); |
| | | |
| | | rankInfo.reward = format.format(userRankings.getTradeReward()); |
| | | |
| | | rankingsList.add(rankInfo); |
| | | } |
| | | |
| | | 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, 50, 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) { |
| | | |
| | | RankInfo rankInfo = new RankInfo(); |
| | | |
| | | rankInfo.reward = format.format(rewardMoney); |
| | | rankInfo.nickName = userInfo.getNickName(); |
| | | rankInfo.portrait = userInfo.getPortrait(); |
| | | rankInfo.showId = userRankings.getShowId(); |
| | | |
| | | // 处理id |
| | | Long id = userInfo.getId(); |
| | | String uid = id + ""; |
| | | String index = uid.substring(0, 1); |
| | | String end = uid.substring(uid.length()-1, uid.length()); |
| | | rankInfo.showId = index+ "****" + end; |
| | | rankingsList.add(rankInfo); |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<RankInfo> resultList = null; |
| | | List<RankInfo> listSort = listSort(rankingsList); |
| | | if (listSort.size() > 50) { |
| | | resultList = listSort.subList(0, 50); |
| | | } else { |
| | | resultList = listSort; |
| | | } |
| | | |
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder(); |
| | | gsonBuilder.serializeNulls(); |
| | | Gson gson = gsonBuilder.create(); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("result_list", gson.toJson(resultList)); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 自购排行榜 |
| | | * @param callback |
| | | * @param out |
| | | */ |
| | | //@RequestNoSignValidate() |
| | | @RequestMapping(value = "getTrade") |
| | | public void getTrade(String callback, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<UserRankings> userRankingsList = userRankingsService.query(0, 30, null, 1, null, 2); |
| | | |
| | | if (userRankingsList == null || userRankingsList.size() == 0) { |
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("暂无相关数据"))); |
| | | return; |
| | | } |
| | | |
| | | DecimalFormat format = new DecimalFormat("0.00"); |
| | | |
| | | List<RankInfo> rankingsList = new ArrayList<RankInfo>(); |
| | | for (UserRankings userRankings: userRankingsList) { |
| | | |
| | | RankInfo rankInfo = new RankInfo(); |
| | | rankInfo.nickName = userRankings.getNickName(); |
| | | rankInfo.portrait = userRankings.getPortrait(); |
| | | rankInfo.showId = userRankings.getShowId(); |
| | | |
| | | rankInfo.reward = format.format(userRankings.getTradeReward()); |
| | | |
| | | rankingsList.add(rankInfo); |
| | | } |
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder(); |
| | | gsonBuilder.serializeNulls(); |
| | | Gson gson = gsonBuilder.create(); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("result_list", gson.toJson(rankingsList)); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 分享排行榜 |
| | | * @param callback |
| | | * @param out |
| | | */ |
| | | //@RequestNoSignValidate() |
| | | @RequestMapping(value = "getShare") |
| | | public void getShare(String callback, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<UserRankings> userRankingsList = userRankingsService.query(0, 30, null, null, 1, 4); |
| | | |
| | | if (userRankingsList == null || userRankingsList.size() == 0) { |
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("暂无相关数据"))); |
| | | return; |
| | | } |
| | | |
| | | DecimalFormat format = new DecimalFormat("0.00"); |
| | | |
| | | List<RankInfo> rankingsList = new ArrayList<RankInfo>(); |
| | | for (UserRankings userRankings: userRankingsList) { |
| | | |
| | | RankInfo rankInfo = new RankInfo(); |
| | | rankInfo.nickName = userRankings.getNickName(); |
| | | rankInfo.portrait = userRankings.getPortrait(); |
| | | rankInfo.showId = userRankings.getShowId(); |
| | | rankInfo.reward = format.format(userRankings.getShareReward()); |
| | | rankingsList.add(rankInfo); |
| | | } |
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder(); |
| | | gsonBuilder.serializeNulls(); |
| | | Gson gson = gsonBuilder.create(); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("result_list", gson.toJson(rankingsList)); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | public List<RankInfo> listSort (List<RankInfo> list) { |
| | | |
| | | Collections.sort(list, new Comparator<RankInfo>(){ |
| | | public int compare(RankInfo p1, RankInfo p2) { |
| | | |
| | | //按照Person的年龄进行升序排列 |
| | | if(p1.reward.compareTo(p2.reward) < 0){ |
| | | return 1; |
| | | } |
| | | |
| | | if(p1.reward.compareTo(p2.reward) == 0){ |
| | | return 0; |
| | | } |
| | | return -1; |
| | | } |
| | | }); |
| | | |
| | | return list; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | class RankInfo { |
| | | public String nickName;// 昵称 |
| | | public String portrait; // 头像 |
| | | public String showId; // 展示id |
| | | public String reward;// 奖金 |
| | | } |