package com.yeshi.fanli.controller.apph5; import java.io.PrintWriter; import java.util.ArrayList; 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.alibaba.fastjson.JSONArray; import com.yeshi.fanli.entity.bus.user.ShamUser; import com.yeshi.fanli.service.inter.user.ShamUserService; import net.sf.json.JSONObject; /** * 用户 * * @author Administrator * */ @Controller @RequestMapping("api/apph5/v1/user") public class AppH5UserController { @Resource private ShamUserService shamUserService; /** * 获取抽奖广告列表 * * @param callback * @param out */ @RequestMapping(value = "getRadioList") public void getRadioList(String callback, PrintWriter out) { try { // 随机20条数据 List listUser = shamUserService.listRandUser(20); JSONArray array = new JSONArray(); for (ShamUser shamUser : listUser) { JSONObject dataInfo = new JSONObject(); String name = shamUser.getName(); if (name.length() == 1) { name = "Jx****" + name; } else { name = name.substring(0, 1) + "****" + name.substring(name.length() - 2, name.length() - 1); } String prize = generateAward(); if (prize == null) { prize = "抽中一张福利免单券"; } dataInfo.put("pic", shamUser.getPicUrl()); dataInfo.put("content", name + ",抽中" + prize); array.add(dataInfo); } JSONObject data = new JSONObject(); data.put("result_list", array); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败")); e.printStackTrace(); } } /** * 生成奖项 * * @return */ public String generateAward() { RandomGift randomGift1 = new RandomGift(); randomGift1.prize = "抽中华为手机20一台"; randomGift1.probability = 2; RandomGift randomGift2 = new RandomGift(); randomGift2.prize = "现金红包¥188"; randomGift2.probability = 5; RandomGift randomGift3 = new RandomGift(); randomGift3.prize = "现金红包¥88"; randomGift3.probability = 13; RandomGift randomGift4 = new RandomGift(); randomGift4.prize = "一张福利免单券"; randomGift4.probability = 40; RandomGift randomGift5 = new RandomGift(); randomGift5.prize = "一张返利奖励券"; randomGift5.probability = 40; List giftList = new ArrayList(); giftList.add(randomGift1); giftList.add(randomGift2); giftList.add(randomGift3); giftList.add(randomGift4); giftList.add(randomGift5); long result = (1 + Math.round(Math.random() * (99))); int minRange = 0; int maxRange = 0; String prize = null; for (int i = 0; i < giftList.size(); i++) { RandomGift obj2 = giftList.get(i); int probability = obj2.probability; maxRange = maxRange + probability; minRange = 100 - maxRange; if (probability != 0) { if (result > minRange && result <= maxRange) { prize = obj2.prize; break; } } } return prize; } class RandomGift { public String prize;// 奖项 public int probability; // 概率 } }