From d32f3a1e73dfc21588c62ed6ef6ec331760f9b94 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 07 十一月 2019 18:19:14 +0800
Subject: [PATCH] 商城后台审核
---
fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java | 255 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 243 insertions(+), 12 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..82be1f4 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,7 +113,7 @@
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());
@@ -80,9 +121,10 @@
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 +140,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,7 +155,7 @@
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());
@@ -121,9 +163,11 @@
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;
}
@@ -163,6 +207,7 @@
detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId());
detail.setUpdateTime(new Date());
detail.setUserInfo(new UserInfo(uid));
+ detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO);
return detail;
}
@@ -199,9 +244,10 @@
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;
}
@@ -238,9 +284,10 @@
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 +316,7 @@
detail.setType(UserMoneyDetailTypeEnum.extract);
detail.setUpdateTime(new Date());
detail.setUserInfo(extract.getUserInfo());
+ detail.setShow(false);
return detail;
}
@@ -323,10 +371,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 +396,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 +439,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