From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java |  265 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 235 insertions(+), 30 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 d4c24bc..50ee543 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
@@ -42,12 +42,47 @@
 		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.setTitle(UserMoneyDetailTypeEnum.fanliNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.fanliNew);
+		detail.setDescInfo(Constant.getSourceName(orderType) + "锛�" + 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;
 	}
 
@@ -63,8 +98,8 @@
 	 * @return
 	 * @throws UserMoneyDetailException
 	 */
-	public static UserMoneyDetail createShare(Long uid, int orderType, int validCount, int weiQuanCount,
-			BigDecimal money, Date time) throws UserMoneyDetailException {
+	public static UserMoneyDetail createShare(Long uid, int orderType, BigDecimal money, Date time)
+			throws UserMoneyDetailException {
 		if (money == null)
 			throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖");
 
@@ -78,15 +113,16 @@
 		ca.setTime(time);
 		ca.add(Calendar.MONTH, -1);
 
-		String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy.M");
+		String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy骞碝鏈�");
 
 		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绗�", validCount, weiQuanCount));
+		detail.setTitle(UserMoneyDetailTypeEnum.shareNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.shareNew);
+		detail.setDescInfo(Constant.getSourceName(orderType) + "锛�" + timeF);
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(new UserInfo(uid));
 		detail.setOrderType(orderType);
@@ -124,7 +160,8 @@
 
 		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);
@@ -165,11 +202,11 @@
 		detail.setIdentifyCode(StringUtil
 				.Md5(UserMoneyDetailTypeEnum.fanliWeiQuan.name() + "-" + uid + "-" + drawBack.getOrderItemId()));
 		detail.setMoney(new BigDecimal("0").subtract(money));
-		detail.setTitle(UserMoneyDetailTypeEnum.fanliWeiQuan.getDesc());
-		detail.setSubTitle("璁㈠崟缁存潈");
-		detail.setType(UserMoneyDetailTypeEnum.fanliWeiQuan);
+		detail.setTitle(UserMoneyDetailTypeEnum.fanliWeiQuanNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.fanliWeiQuanNew);
 		detail.setSourceIdentifyId(drawBack.getId());
-		detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId());
+		detail.setDescInfo(
+				Constant.getSourceName(Constant.SOURCE_TYPE_TAOBAO) + "锛�" + drawBack.getOrderId() + "-閮ㄥ垎鍟嗗搧鍞悗");
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(new UserInfo(uid));
 		detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO);
@@ -206,10 +243,10 @@
 				.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("璁㈠崟鍙凤細" + UserUtil.filterOrderId(drawBack.getOrderId()));
+		detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId());
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(new UserInfo(uid));
 		detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO);
@@ -246,7 +283,7 @@
 				.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("璁㈠崟鍙凤細" + UserUtil.filterOrderId(drawBack.getOrderId()));
@@ -262,7 +299,7 @@
 	 * @param extract
 	 * @return
 	 */
-	public static UserMoneyDetail createExtract(Extract extract) throws UserMoneyDetailException {
+	public static UserMoneyDetail createExtract(Extract extract, String alipayNo) throws UserMoneyDetailException {
 		if (extract == null)
 			throw new UserMoneyDetailException(1, "鎻愮幇璁板綍涓嶈兘涓虹┖");
 		if (extract.getId() == null)
@@ -272,15 +309,20 @@
 		if (extract.getUserInfo() == null || extract.getUserInfo().getId() == null)
 			throw new UserMoneyDetailException(1, "鎻愮幇鐢ㄦ埛涓嶈兘涓虹┖");
 
+		if (alipayNo != null && alipayNo.length() > 10)
+			alipayNo = "*" + alipayNo.substring(alipayNo.length() - 10, alipayNo.length());
+
 		UserMoneyDetail detail = new UserMoneyDetail();
 		detail.setCreateTime(new Date());
 		detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.extract.name() + ":" + extract.getId()));
 		detail.setMoney(new BigDecimal("0").subtract(extract.getMoney()));
 		detail.setSourceIdentifyId(extract.getId());
-		detail.setTitle(UserMoneyDetailTypeEnum.extract.getDesc());
-		detail.setType(UserMoneyDetailTypeEnum.extract);
+		detail.setTitle(UserMoneyDetailTypeEnum.extractNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.extractNew);
 		detail.setUpdateTime(new Date());
+		detail.setDescInfo("鏀粯瀹濊鍗曞彿锛�" + alipayNo);
 		detail.setUserInfo(extract.getUserInfo());
+		detail.setShow(false);
 		return detail;
 	}
 
@@ -306,10 +348,44 @@
 		detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.extractVerify.name() + ":" + aa.getId()));
 		detail.setMoney(new BigDecimal("0").subtract(money));
 		detail.setSourceIdentifyId(aa.getId());
-		detail.setTitle(UserMoneyDetailTypeEnum.extractVerify.getDesc());
-		detail.setType(UserMoneyDetailTypeEnum.extractVerify);
+		detail.setTitle(UserMoneyDetailTypeEnum.extractVerifyNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.extractVerifyNew);
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(new UserInfo(aa.getUid()));
+		detail.setDescInfo(String.format("鏀粯瀹濓細%s -濮撳悕-%s", UserUtil.filterAlipayAccount(aa.getAccount()),
+				UserUtil.filterAlipayName(aa.getName())));
+		return detail;
+	}
+
+	/**
+	 * 绯荤粺鎵i櫎
+	 * @Title: createSystemTakeOff
+	 * @Description: 
+	 * @param uid
+	 * @param money
+	 * @param desc
+	 * @return
+	 * @throws UserMoneyDetailException 
+	 * UserMoneyDetail 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static UserMoneyDetail createSystemTakeOff(Long uid, BigDecimal money, String desc)
+			throws UserMoneyDetailException {
+		if (uid == 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(uid + "-" + UserMoneyDetailTypeEnum.systemTakeOff.name() + System.currentTimeMillis()));
+		detail.setMoney(new BigDecimal("0").subtract(money));
+		detail.setTitle(UserMoneyDetailTypeEnum.systemTakeOff.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.systemTakeOff);
+		detail.setUpdateTime(new Date());
+		detail.setUserInfo(new UserInfo(uid));
+		detail.setDescInfo(desc);
 		return detail;
 	}
 
@@ -340,6 +416,7 @@
 		detail.setType(UserMoneyDetailTypeEnum.extractReject);
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(extract.getUserInfo());
+		detail.setShow(false);// 闅愯棌鎻愮幇澶辫触璁板綍
 		return detail;
 	}
 
@@ -423,8 +500,8 @@
 	 * @return
 	 * @throws UserMoneyDetailException
 	 */
-	public static UserMoneyDetail createOrderReward(String orderId, int orderType, BigDecimal money, UserInfo user)
-			throws UserMoneyDetailException {
+	public static UserMoneyDetail createOrderReward(String orderId, int orderType, BigDecimal money,
+			BigDecimal originalMoney, UserInfo user) throws UserMoneyDetailException {
 		if (StringUtil.isNullOrEmpty(orderId))
 			throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂笉鑳戒负绌�");
 		if (user == null)
@@ -436,12 +513,12 @@
 		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.setTitle(UserMoneyDetailTypeEnum.orderRewardNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.orderRewardNew);
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(user);
 		detail.setOrderType(orderType);
-		detail.setDescInfo("璁㈠崟鍙�:" + orderId);
+		detail.setDescInfo(Constant.getSourceName(orderType) + ":" + orderId + "-鍘熻繑鍒╋細" + originalMoney);
 		return detail;
 	}
 
@@ -489,8 +566,8 @@
 		detail.setIdentifyCode(StringUtil.Md5(
 				UserMoneyDetailTypeEnum.systemEqualize.name() + "-" + System.currentTimeMillis() + "-" + user.getId()));
 		detail.setMoney(money);
-		detail.setTitle(UserMoneyDetailTypeEnum.systemEqualize.getDesc());
-		detail.setType(UserMoneyDetailTypeEnum.systemEqualize);
+		detail.setTitle(UserMoneyDetailTypeEnum.systemEqualizeNew.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.systemEqualizeNew);
 		detail.setUpdateTime(new Date());
 		detail.setUserInfo(user);
 		if (!StringUtil.isNullOrEmpty(desc)) {
@@ -518,4 +595,132 @@
 		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;
+	}
+
+	/**
+	 * 鍥㈤槦鏀剁泭
+	 * @Title: createTeamReward
+	 * @Description: 
+	 * @param uid
+	 * @param money
+	 * @param time
+	 * @return
+	 * @throws UserMoneyDetailException 
+	 * UserMoneyDetail 杩斿洖绫诲瀷
+	 * @throws
+	 */
+
+	public static UserMoneyDetail createTeamReward(Long uid, 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骞碝鏈�");
+
+		UserMoneyDetail detail = new UserMoneyDetail();
+		detail.setCreateTime(new Date());
+		detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.teamReward.name() + "-" + uid + "-" + timeF));
+		detail.setMoney(money);
+		detail.setTitle(UserMoneyDetailTypeEnum.teamReward.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.teamReward);
+		detail.setDescInfo(timeF);
+		detail.setUpdateTime(new Date());
+		detail.setUserInfo(new UserInfo(uid));
+		return detail;
+	}
+	
+	
+	/**
+	 * 鍥㈤槦鍒嗙孩
+	 * @Title: createTeamDividents
+	 * @Description: 
+	 * @param uid
+	 * @param money
+	 * @param time
+	 * @return
+	 * @throws UserMoneyDetailException 
+	 * UserMoneyDetail 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static UserMoneyDetail createTeamDividents(Long uid, 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骞碝鏈�");
+
+		UserMoneyDetail detail = new UserMoneyDetail();
+		detail.setCreateTime(new Date());
+		detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.teamDividents.name() + "-" + uid + "-" + timeF));
+		detail.setMoney(money);
+		detail.setTitle(UserMoneyDetailTypeEnum.teamDividents.getDesc());
+		detail.setType(UserMoneyDetailTypeEnum.teamDividents);
+		detail.setDescInfo(timeF);
+		detail.setUpdateTime(new Date());
+		detail.setUserInfo(new UserInfo(uid));
+		return detail;
+	}
+
 }

--
Gitblit v1.8.0