From ec60e757d358636dcac1589c44a66f3e276fe58c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 29 六月 2020 14:41:42 +0800 Subject: [PATCH] 拉新 --- fanli/src/main/java/com/yeshi/fanli/util/factory/RedPackDetailFactory.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 96 insertions(+), 22 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/RedPackDetailFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/RedPackDetailFactory.java index 29291de..2a8a23a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/RedPackDetailFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/RedPackDetailFactory.java @@ -1,15 +1,18 @@ package com.yeshi.fanli.util.factory; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Date; import com.yeshi.fanli.entity.redpack.RedPackDetail; import com.yeshi.fanli.entity.redpack.RedPackDetail.RedPackDetailTypeEnum; import com.yeshi.fanli.entity.redpack.RedPackExchange; +import com.yeshi.fanli.entity.redpack.RedPackForbidRecord; import com.yeshi.fanli.entity.redpack.RedPackGiveRecord; import com.yeshi.fanli.entity.redpack.RedPackWinInvite; import com.yeshi.fanli.exception.redpack.RedPackDetailException; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; public class RedPackDetailFactory { @@ -25,7 +28,7 @@ RedPackDetail detail = new RedPackDetail(); detail.setDisplay(false); - detail.setDescInfo( "绛夊緟浜哄伐瀹℃牳"); + detail.setDescInfo("绛夊緟浜哄伐瀹℃牳"); detail.setUid(exchange.getUid()); detail.setMoney(new BigDecimal("-" + exchange.getMoney())); detail.setType(RedPackDetailTypeEnum.redExchange); @@ -80,7 +83,53 @@ detail.setCreateTime(new Date()); return detail; } + + + /** + * 绾㈠寘灏佺 + * + * @param extract + * @return + */ + public static RedPackDetail createForbid(RedPackForbidRecord record) throws RedPackDetailException { + if (record == null) + throw new RedPackDetailException(1, "鎻愮幇璁板綍涓嶈兘涓虹┖"); + RedPackDetail detail = new RedPackDetail(); + detail.setDisplay(true); + detail.setUid(record.getUid()); + detail.setDescInfo(record.getReason()); + detail.setMoney(new BigDecimal("-" + record.getMoney())); + detail.setType(RedPackDetailTypeEnum.forbid); + detail.setTitle(RedPackDetailTypeEnum.forbid.getDesc()); + detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.forbid.name() + ":" + record.getId())); + detail.setCreateTime(new Date()); + return detail; + } + + + /** + * 绾㈠寘鎵i櫎 + * + * @param extract + * @return + */ + public static RedPackDetail createDeduct(RedPackForbidRecord record) throws RedPackDetailException { + if (record == null) + throw new RedPackDetailException(1, "鎻愮幇璁板綍涓嶈兘涓虹┖"); + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + RedPackDetail detail = new RedPackDetail(); + detail.setDisplay(true); + detail.setUid(record.getUid()); + detail.setDescInfo(record.getReason()); + detail.setMoney(new BigDecimal("-" + record.getMoney())); + detail.setType(RedPackDetailTypeEnum.deduct); + detail.setTitle(RedPackDetailTypeEnum.deduct.getDesc()); + detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.deduct.name() + ":" + record.getUid() + format.format(new Date()))); + detail.setCreateTime(new Date()); + return detail; + } /** * 璧犻�佸ソ鍙嬫槑缁� * @@ -117,6 +166,7 @@ RedPackDetail detail = new RedPackDetail(); detail.setId(id); detail.setDisplay(true); + detail.setRemark("棰嗗彇浜篒D:" + giveRecord.getReceiveUid()); detail.setType(RedPackDetailTypeEnum.giveOthersSucceed); detail.setTitle(RedPackDetailTypeEnum.giveOthersSucceed.getDesc()); detail.setIdentifyCode( @@ -169,6 +219,7 @@ } /** + * 鏉挎牀鍟嗗煄浣跨敤 * * @param giveRecord * @return @@ -183,7 +234,7 @@ RedPackDetail detail = new RedPackDetail(); detail.setDisplay(false); detail.setUid(uid); - detail.setMoney(money); + detail.setMoney(new BigDecimal(0).subtract(money)); detail.setType(RedPackDetailTypeEnum.useByShopOrder); detail.setTitle(title); detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.useByShopOrder.name() + "-" + orderId)); @@ -191,33 +242,33 @@ detail.setDescInfo(setName); return detail; } - - + /** - * 鏂颁汉濂栧姳 + * 鏂颁汉濂栧姳 + * * @param winInvite * @return * @throws RedPackDetailException */ - public static RedPackDetail createNewUserReward(RedPackWinInvite winInvite) throws RedPackDetailException { - if (winInvite == null) + public static RedPackDetail createNewUserReward(Long uid, Integer num, BigDecimal money) throws RedPackDetailException { + if (uid == null || num == null || money == null) throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖"); - - // 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖� + // 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖� RedPackDetail detail = new RedPackDetail(); detail.setDisplay(true); - detail.setUid(winInvite.getUid()); - detail.setMoney(winInvite.getMoney()); - detail.setDescInfo("瀹屾垚棣栫瑪璁㈠崟"); + detail.setUid(uid); + detail.setMoney(money); + detail.setDescInfo("绛惧埌绾㈠寘"); detail.setTitle(RedPackDetailTypeEnum.newUserReward.getDesc()); detail.setType(RedPackDetailTypeEnum.newUserReward); - detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.newUserReward.name() + ":" + winInvite.getId())); + detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.newUserReward.name() + ":" + uid +"_" + num)); detail.setCreateTime(new Date()); return detail; } - + /** * 绔嬪緱鐜伴噾 + * * @param winInvite * @return * @throws RedPackDetailException @@ -225,7 +276,7 @@ public static RedPackDetail createInvite(RedPackWinInvite winInvite) throws RedPackDetailException { if (winInvite == null) throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖"); - + // 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖� RedPackDetail detail = new RedPackDetail(); detail.setDisplay(true); @@ -238,9 +289,10 @@ detail.setCreateTime(new Date()); return detail; } - + /** * 閫掑濂栧姳 + 濂藉弸瀹屾垚鍒嗕韩璁㈠崟 + * * @param winInvite * @return * @throws RedPackDetailException @@ -248,7 +300,7 @@ public static RedPackDetail createIncreaseReward(RedPackWinInvite winInvite) throws RedPackDetailException { if (winInvite == null) throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖"); - + // 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖� RedPackDetail detail = new RedPackDetail(); detail.setDisplay(true); @@ -261,10 +313,10 @@ detail.setCreateTime(new Date()); return detail; } - - + /** * 杩炵画濂栧姳 + 濂藉弸瀹屾垚鍒嗕韩璁㈠崟 + * * @param winInvite * @return * @throws RedPackDetailException @@ -272,7 +324,7 @@ public static RedPackDetail createSeriesReward(RedPackWinInvite winInvite) throws RedPackDetailException { if (winInvite == null) throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖"); - + // 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖� RedPackDetail detail = new RedPackDetail(); detail.setDisplay(true); @@ -285,8 +337,7 @@ detail.setCreateTime(new Date()); return detail; } - - + public static RedPackDetail createShopOrderDrawBack(Long orderId, Long uid, String title, String setName, BigDecimal money) throws RedPackDetailException { if (orderId == null) @@ -305,4 +356,27 @@ return detail; } + /** + * + * @param uid + * @param money + * @param date + * @return + * @throws RedPackDetailException + */ + public static RedPackDetail createByMonth(Long uid, BigDecimal money, Date date) throws RedPackDetailException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + String time = sdf.format(date); + + String title = sdf.format(date) + "閭�璇风孩鍖�"; + RedPackDetail detail = new RedPackDetail(); + detail.setDisplay(true); + detail.setUid(uid); + detail.setMoney(money); + detail.setTitle(title); + detail.setType(RedPackDetailTypeEnum.redMonthly); + detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.redMonthly.name() + ":" + time)); + detail.setCreateTime(new Date()); + return detail; + } } -- Gitblit v1.8.0