From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java | 267 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 250 insertions(+), 17 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java index f55bda5..009cf13 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java @@ -4,16 +4,18 @@ import java.util.Calendar; import java.util.Date; +import com.yeshi.fanli.dto.HongBao; import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory; import com.yeshi.fanli.entity.bus.user.Extract; -import com.yeshi.fanli.entity.bus.user.HongBao; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; import com.yeshi.fanli.exception.money.UserMoneyDetailException; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.account.UserUtil; public class UserMoneyDetailFactory { @@ -23,10 +25,12 @@ * @param hongBaoList * @return */ - public static UserMoneyDetail createFanLi(Long uid, String orderId, BigDecimal money) + public static UserMoneyDetail createFanLi(Long uid, String orderId, int orderType, String hbIds, BigDecimal money) throws UserMoneyDetailException { + if (StringUtil.isNullOrEmpty(orderId)) throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂负绌�"); + if (money == null) throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); @@ -35,13 +39,50 @@ UserMoneyDetail detail = new UserMoneyDetail(); detail.setCreateTime(new Date()); - detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.fanli.name() + ":" + orderId)); + detail.setIdentifyCode(StringUtil + .Md5(UserMoneyDetailTypeEnum.fanli.name() + "-" + uid + "-" + orderType + "-" + orderId + "-" + hbIds)); detail.setMoney(money); detail.setTitle(UserMoneyDetailTypeEnum.fanli.getDesc()); detail.setType(UserMoneyDetailTypeEnum.fanli); detail.setDescInfo("璁㈠崟鍙凤細" + orderId); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(orderType); + return detail; + } + + /** + * 楗夸簡涔堣繑鍒� + * + * @param uid + * @param orderId + * @param hbId + * @param money + * @return + * @throws UserMoneyDetailException + */ + public static UserMoneyDetail createElmeFanLi(Long uid, String orderId, Long hbId, BigDecimal money) + throws UserMoneyDetailException { + + if (StringUtil.isNullOrEmpty(orderId)) + throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂负绌�"); + + if (money == null) + throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); + + if (uid == null) + throw new UserMoneyDetailException(1, "UID涓虹┖"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.elmeFanli.name() + "-" + hbId)); + detail.setMoney(money); + detail.setTitle(UserMoneyDetailTypeEnum.elmeFanli.getDesc()); + detail.setType(UserMoneyDetailTypeEnum.elmeFanli); + detail.setDescInfo("璁㈠崟鍙凤細" + orderId); + detail.setUpdateTime(new Date()); + detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_ELME); return detail; } @@ -57,7 +98,7 @@ * @return * @throws UserMoneyDetailException */ - public static UserMoneyDetail createShare(Long uid, int validCount, int weiQuanCount, int invalidCount, + public static UserMoneyDetail createShare(Long uid, int orderType, int validCount, int weiQuanCount, BigDecimal money, Date time) throws UserMoneyDetailException { if (money == null) throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); @@ -72,17 +113,19 @@ ca.setTime(time); ca.add(Calendar.MONTH, -1); - String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy骞碝M鏈�"); + String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy.M"); UserMoneyDetail detail = new UserMoneyDetail(); detail.setCreateTime(new Date()); - detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.share.name() + "-" + uid + "-" + timeF)); + detail.setIdentifyCode( + StringUtil.Md5(UserMoneyDetailTypeEnum.share.name() + "-" + orderType + "-" + uid + "-" + timeF)); detail.setMoney(money); detail.setTitle(timeF + UserMoneyDetailTypeEnum.share.getDesc()); detail.setType(UserMoneyDetailTypeEnum.share); - detail.setDescInfo(String.format("鏈夋晥璁㈠崟:%s绗� 缁存潈璁㈠崟:%s绗� 澶辨晥璁㈠崟:%s绗�", validCount, weiQuanCount, invalidCount)); + detail.setDescInfo(String.format("鏈夋晥璁㈠崟:%s绗� 缁存潈璁㈠崟:%s绗�", validCount, weiQuanCount)); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(orderType); return detail; } @@ -98,7 +141,7 @@ * @return * @throws UserMoneyDetailException */ - public static UserMoneyDetail createInvite(Long uid, int validCount, int weiQuanCount, int invalidCount, + public static UserMoneyDetail createInvite(Long uid, int orderType, int validCount, int weiQuanCount, BigDecimal money, Date time) throws UserMoneyDetailException { if (money == null) throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); @@ -113,17 +156,20 @@ ca.setTime(time); ca.add(Calendar.MONTH, -1); - String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy骞碝M鏈�"); + String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy.M"); UserMoneyDetail detail = new UserMoneyDetail(); detail.setCreateTime(new Date()); - detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.invite.name() + "-" + uid + "-" + timeF)); + detail.setIdentifyCode( + StringUtil.Md5(UserMoneyDetailTypeEnum.invite.name() + "-" + orderType + "-" + uid + "-" + timeF)); detail.setMoney(money); detail.setTitle(timeF + UserMoneyDetailTypeEnum.invite.getDesc()); detail.setType(UserMoneyDetailTypeEnum.invite); - detail.setDescInfo(String.format("鏈夋晥璁㈠崟:%s绗� 缁存潈璁㈠崟:%s绗� 澶辨晥璁㈠崟:%s绗�", validCount, weiQuanCount, invalidCount)); + if (validCount != 0 || weiQuanCount != 0) + detail.setDescInfo(String.format("鏈夋晥璁㈠崟:%s绗� 缁存潈璁㈠崟:%s绗�", validCount, weiQuanCount)); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(orderType); return detail; } @@ -157,12 +203,13 @@ .Md5(UserMoneyDetailTypeEnum.fanliWeiQuan.name() + "-" + uid + "-" + drawBack.getOrderItemId())); detail.setMoney(new BigDecimal("0").subtract(money)); detail.setTitle(UserMoneyDetailTypeEnum.fanliWeiQuan.getDesc()); - detail.setSubTitle("璁㈠崟缁存潈"); + detail.setSubTitle("璁㈠崟鍞悗"); detail.setType(UserMoneyDetailTypeEnum.fanliWeiQuan); detail.setSourceIdentifyId(drawBack.getId()); detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId()); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO); return detail; } @@ -196,12 +243,13 @@ .Md5(UserMoneyDetailTypeEnum.shareWeiQuan.name() + "-" + uid + "-" + drawBack.getOrderItemId())); detail.setMoney(new BigDecimal("0").subtract(money)); detail.setTitle(UserMoneyDetailTypeEnum.shareWeiQuan.getDesc()); - detail.setSubTitle("璁㈠崟缁存潈"); + detail.setSubTitle("璁㈠崟鍞悗"); detail.setType(UserMoneyDetailTypeEnum.shareWeiQuan); detail.setSourceIdentifyId(drawBack.getId()); - detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId()); + detail.setDescInfo("璁㈠崟鍙凤細" + UserUtil.filterOrderId(drawBack.getOrderId())); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO); return detail; } @@ -235,12 +283,13 @@ .Md5(UserMoneyDetailTypeEnum.inviteWeiQuan.name() + "-" + uid + "-" + drawBack.getOrderItemId())); detail.setMoney(new BigDecimal("0").subtract(money)); detail.setTitle(UserMoneyDetailTypeEnum.inviteWeiQuan.getDesc()); - detail.setSubTitle("璁㈠崟缁存潈"); + detail.setSubTitle("璁㈠崟鍞悗"); detail.setType(UserMoneyDetailTypeEnum.inviteWeiQuan); detail.setSourceIdentifyId(drawBack.getId()); - detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId()); + detail.setDescInfo("璁㈠崟鍙凤細" + UserUtil.filterOrderId(drawBack.getOrderId())); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO); return detail; } @@ -269,6 +318,7 @@ detail.setType(UserMoneyDetailTypeEnum.extract); detail.setUpdateTime(new Date()); detail.setUserInfo(extract.getUserInfo()); + detail.setShow(false); return detail; } @@ -323,10 +373,12 @@ detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.extractReject.name() + ":" + extract.getId())); detail.setMoney(extract.getMoney()); detail.setSourceIdentifyId(extract.getId()); + detail.setSubTitle("鍘熻矾閫�鍥�"); detail.setTitle(UserMoneyDetailTypeEnum.extractReject.getDesc()); detail.setType(UserMoneyDetailTypeEnum.extractReject); detail.setUpdateTime(new Date()); detail.setUserInfo(extract.getUserInfo()); + detail.setShow(false);// 闅愯棌鎻愮幇澶辫触璁板綍 return detail; } @@ -346,12 +398,33 @@ UserMoneyDetail detail = new UserMoneyDetail(); detail.setCreateTime(new Date()); - detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.hongbao.name() + ":" + hb.getId())); + detail.setIdentifyCode( + StringUtil.Md5(UserMoneyDetailTypeEnum.hongbao.name() + "-" + subTitle + "-" + hb.getId())); detail.setMoney(hb.getMoney()); detail.setSourceIdentifyId(hb.getId()); detail.setTitle(UserMoneyDetailTypeEnum.hongbao.getDesc()); detail.setSubTitle(subTitle); detail.setType(UserMoneyDetailTypeEnum.hongbao); + detail.setUpdateTime(new Date()); + detail.setUserInfo(hb.getUserInfo()); + return detail; + } + + private static UserMoneyDetail createHongBaoDeduct(HongBao hb, String subTitle) throws UserMoneyDetailException { + if (hb == null) + throw new UserMoneyDetailException(1, "绾㈠寘涓嶈兘涓虹┖"); + if (hb.getUserInfo() == null) + throw new UserMoneyDetailException(1, "鐢ㄦ埛涓嶈兘涓虹┖"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.hongbaoDeduct.name() + "-" + subTitle + "-" + + hb.getBeizhu() + "-" + hb.getId())); + detail.setMoney(hb.getMoney()); + detail.setSourceIdentifyId(hb.getId()); + detail.setTitle(UserMoneyDetailTypeEnum.hongbaoDeduct.getDesc()); + detail.setSubTitle(subTitle); + detail.setType(UserMoneyDetailTypeEnum.hongbaoDeduct); detail.setUpdateTime(new Date()); detail.setUserInfo(hb.getUserInfo()); return detail; @@ -368,4 +441,164 @@ return createHongBao(hb, "鏂颁汉绾㈠寘"); } + /** + * 鏂颁汉绾㈠寘鎵i櫎 + * + * @param hb + * @return + * @throws UserMoneyDetailException + */ + + public static UserMoneyDetail createNewerHongBaoDeduct(HongBao hb) throws UserMoneyDetailException { + return createHongBaoDeduct(hb, "鏂颁汉绾㈠寘鎵i櫎"); + } + + /** + * 杩斿埄濂栧姳 + * + * @param orderId + * @param money + * @param user + * @return + * @throws UserMoneyDetailException + */ + public static UserMoneyDetail createOrderReward(String orderId, int orderType, BigDecimal money, UserInfo user) + throws UserMoneyDetailException { + if (StringUtil.isNullOrEmpty(orderId)) + throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂笉鑳戒负绌�"); + if (user == null) + throw new UserMoneyDetailException(1, "UID涓嶈兘涓虹┖"); + if (money == null) + throw new UserMoneyDetailException(1, "閲戦涓嶈兘涓虹┖"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.hongbao.name() + "-" + "鑰佺増鏈�" + "-" + orderId)); + detail.setMoney(money); + detail.setTitle(UserMoneyDetailTypeEnum.orderReward.getDesc()); + detail.setType(UserMoneyDetailTypeEnum.orderReward); + detail.setUpdateTime(new Date()); + detail.setUserInfo(user); + detail.setOrderType(orderType); + detail.setDescInfo("璁㈠崟鍙�:" + orderId); + return detail; + } + + /** + * 璁㈠崟閲嶅缁熻閫�娆� + * + * @param orderId + * @param money + * @param user + * @return + * @throws UserMoneyDetailException + */ + public static UserMoneyDetail createRepeatStatistic(String orderId, int orderType, BigDecimal money, UserInfo user) + throws UserMoneyDetailException { + if (StringUtil.isNullOrEmpty(orderId)) + throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂笉鑳戒负绌�"); + if (user == null) + throw new UserMoneyDetailException(1, "UID涓嶈兘涓虹┖"); + if (money == null) + throw new UserMoneyDetailException(1, "閲戦涓嶈兘涓虹┖"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode( + StringUtil.Md5(UserMoneyDetailTypeEnum.repeatStatistic.name() + "-" + orderId + "-" + user.getId())); + detail.setMoney(money); + detail.setTitle(UserMoneyDetailTypeEnum.repeatStatistic.getDesc()); + detail.setType(UserMoneyDetailTypeEnum.repeatStatistic); + detail.setUpdateTime(new Date()); + detail.setUserInfo(user); + detail.setDescInfo("璁㈠崟鍙�:" + orderId); + detail.setOrderType(orderType); + return detail; + } + + public static UserMoneyDetail createSystemEqualize(String desc, BigDecimal money, UserInfo user) + throws UserMoneyDetailException { + if (user == null) + throw new UserMoneyDetailException(1, "UID涓嶈兘涓虹┖"); + if (money == null) + throw new UserMoneyDetailException(1, "閲戦涓嶈兘涓虹┖"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode(StringUtil.Md5( + UserMoneyDetailTypeEnum.systemEqualize.name() + "-" + System.currentTimeMillis() + "-" + user.getId())); + detail.setMoney(money); + detail.setTitle(UserMoneyDetailTypeEnum.systemEqualize.getDesc()); + detail.setType(UserMoneyDetailTypeEnum.systemEqualize); + detail.setUpdateTime(new Date()); + detail.setUserInfo(user); + if (!StringUtil.isNullOrEmpty(desc)) { + detail.setDescInfo(desc); + } + return detail; + } + + public static UserMoneyDetail createScoreConvert(BigDecimal money, UserInfo user) throws UserMoneyDetailException { + if (user == null) + throw new UserMoneyDetailException(1, "UID涓嶈兘涓虹┖"); + if (money == null) + throw new UserMoneyDetailException(1, "閲戦涓嶈兘涓虹┖"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode(StringUtil.Md5( + UserMoneyDetailTypeEnum.scoreConvert.name() + "-" + System.currentTimeMillis() + "-" + user.getId())); + detail.setMoney(money); + detail.setTitle(UserMoneyDetailTypeEnum.scoreConvert.getDesc()); + detail.setType(UserMoneyDetailTypeEnum.scoreConvert); + detail.setUpdateTime(new Date()); + detail.setUserInfo(user); + + return detail; + } + + /** + * 閭�璇峰閲戝埌璐� + * + * @param uid + * @param validCount + * @param weiQuanCount + * @param invalidCount + * @param money + * @param time + * @return + * @throws UserMoneyDetailException + */ + public static UserMoneyDetail createInviteSubsidy(Long uid, int orderType, BigDecimal money, Date time) + throws UserMoneyDetailException { + if (money == null) + throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); + + if (uid == null) + throw new UserMoneyDetailException(1, "UID涓虹┖"); + + if (time == null) + throw new UserMoneyDetailException(1, "鍙戠敓鏃堕棿涓虹┖"); + + Calendar ca = Calendar.getInstance(); + ca.setTime(time); + ca.add(Calendar.MONTH, -1); + + String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy.M"); + + UserMoneyDetail detail = new UserMoneyDetail(); + detail.setCreateTime(new Date()); + detail.setIdentifyCode( + StringUtil.Md5(UserMoneyDetailTypeEnum.subsidy.name() + "-" + orderType + "-" + uid + "-" + timeF)); + detail.setMoney(money); + detail.setTitle( + timeF + UserMoneyDetailTypeEnum.subsidy.getDesc() + "銆�" + Constant.getSourceName(orderType) + "銆�"); + detail.setType(UserMoneyDetailTypeEnum.subsidy); + detail.setDescInfo("閭�璇疯鍗曡ˉ璐�"); + detail.setUpdateTime(new Date()); + detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(orderType); + return detail; + } + } -- Gitblit v1.8.0