diff --git a/src/com/w1hd/zzhnc/model/Lotterylog.java b/src/com/w1hd/zzhnc/model/Lotterylog.java index 21b5822..0a2ad8b 100644 --- a/src/com/w1hd/zzhnc/model/Lotterylog.java +++ b/src/com/w1hd/zzhnc/model/Lotterylog.java @@ -21,6 +21,15 @@ public class Lotterylog implements Serializable { private Integer prizeId; private Date createdtime; private Date updatetime; + private String prizeUrl; + + public String getPrizeUrl() { + return prizeUrl; + } + + public void setPrizeUrl(String prizeUrl) { + this.prizeUrl = prizeUrl; + } public Date getUpdatetime() { return updatetime; diff --git a/src/com/w1hd/zzhnc/service/GoodsService.java b/src/com/w1hd/zzhnc/service/GoodsService.java index 82b424f..4cc20be 100644 --- a/src/com/w1hd/zzhnc/service/GoodsService.java +++ b/src/com/w1hd/zzhnc/service/GoodsService.java @@ -79,7 +79,7 @@ public class GoodsService { } c.andEqualTo("deleted", false); - ex.setOrderByClause("share_count desc,page_views desc"); + ex.setOrderByClause("share_count desc,page_views desc,update_time desc"); RowBounds row = new RowBounds((page - 1) * size, size); List list = goodsDao.selectByExampleAndRowBounds(ex, row); int count = goodsDao.selectCountByExample(ex); diff --git a/src/com/w1hd/zzhnc/service/PrizeService.java b/src/com/w1hd/zzhnc/service/PrizeService.java index bbcc761..2757c33 100644 --- a/src/com/w1hd/zzhnc/service/PrizeService.java +++ b/src/com/w1hd/zzhnc/service/PrizeService.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Date; import java.util.List; +import java.util.Map; import org.apache.commons.lang3.RandomUtils; import org.apache.ibatis.session.RowBounds; @@ -16,9 +17,10 @@ import org.testng.util.Strings; import com.w1hd.zzhnc.dao.LotteryLogDao; import com.w1hd.zzhnc.dao.PrizeDao; import com.w1hd.zzhnc.model.Activity; -import com.w1hd.zzhnc.model.Fans; import com.w1hd.zzhnc.model.Lotterylog; import com.w1hd.zzhnc.model.Prize; +import com.w1hd.zzhnc.util.CommonUtil; +import com.w1hd.zzhnc.util.JsonMapper; import com.w1hd.zzhnc.util.PageResults; import com.w1hd.zzhnc.util.RedisUtil; @@ -140,6 +142,13 @@ public class PrizeService { lotterylog.setStatus(3); } else { lotterylog.setStatus(1); + if (mny.doubleValue() > 1.0) { + lotterylog.setStatus(2); + String order = creatOrder(fansId, (int) (mny.doubleValue() * 100)); + System.out.println("抽中一个红包 >" + order); + lotterylog.setPrizeUrl(order); + } + } lotterylog.setTurn(setting.getTurn()); lotteryLogDao.insert(lotterylog); @@ -200,6 +209,7 @@ public class PrizeService { @SuppressWarnings("unchecked") public Integer randomKill(Integer fansId, Integer count) { + if (count == 8) { return 0; } @@ -305,4 +315,35 @@ public class PrizeService { return (Lotterylog) redisTemplate.opsForValue().get(LotteryLogID_ + logId); } + public static String getAuthorizeUrl(String orderId, String activityId, int fansId) { + + String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd06aec668fe359d1&redirect_uri=http://www.w1hd.com/api/wx/wxd06aec668fe359d1/payWxMpUser2/" + + orderId + "/" + activityId + "/nmamtf&response_type=code&scope=snsapi_userinfo&state=" + fansId + + "&component_appid=wx79ad5a35526f26fb&connect_redirect=1#wechat_redirect"; + return url; + } + + public static String creatOrder(Integer fansId, Integer mny) { +// /** 测试的 */ +// String merchatId = "161"; +// String activityId = "1290"; + /** 正式的 */ + String merchatId = "228"; + String activityId = "1444"; + + String sendGet = CommonUtil.sendGet("http://www.w1hd.com/api/wx/createOrder", + "merchantid=" + merchatId + "&wxactivityId=" + activityId + "&mny=" + mny); + + Object fromJsonString = JsonMapper.fromJsonString(sendGet, Map.class); + Map map = (Map) JsonMapper.fromJsonString(sendGet, Map.class); + System.out.println("订单生成请求结果:" + sendGet); + + if (!map.get("code").equals(0) || !map.containsKey("data")) { + return "fail"; + } + + return getAuthorizeUrl(map.get("data").toString(), activityId, fansId); + + } + }