From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 10 六月 2020 19:26:26 +0800
Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复
---
fanli/src/main/java/com/yeshi/fanli/util/factory/RedPackDetailFactory.java | 169 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 131 insertions(+), 38 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 90abfed..57b53ce 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,11 +1,13 @@
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;
@@ -14,7 +16,7 @@
public class RedPackDetailFactory {
/**
- * 绾㈠寘鎻愮幇
+ * 绾㈠寘鎻愮幇
*
* @param extract
* @return
@@ -22,10 +24,10 @@
public static RedPackDetail createExchange(RedPackExchange exchange) throws RedPackDetailException {
if (exchange == null)
throw new RedPackDetailException(1, "鎻愮幇璁板綍涓嶈兘涓虹┖");
-
+
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);
@@ -35,9 +37,8 @@
return detail;
}
-
/**
- * 绾㈠寘鎻愮幇閫氳繃
+ * 绾㈠寘鎻愮幇閫氳繃
*
* @param extract
* @return
@@ -45,10 +46,10 @@
public static RedPackDetail updateExchangePass(Long id, RedPackExchange exchange) throws RedPackDetailException {
if (id == null)
throw new RedPackDetailException(1, "鏄庣粏ID涓嶈兘涓虹┖");
-
+
if (exchange == null)
throw new RedPackDetailException(1, "鎻愮幇璁板綍涓嶈兘涓虹┖");
-
+
RedPackDetail detail = new RedPackDetail();
detail.setId(id);
detail.setDisplay(true);
@@ -58,10 +59,9 @@
detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.redExchangePass.name() + ":" + exchange.getId()));
return detail;
}
-
-
+
/**
- * 绾㈠寘鎻愮幇鎷掔粷
+ * 绾㈠寘鎻愮幇鎷掔粷
*
* @param extract
* @return
@@ -69,7 +69,7 @@
public static RedPackDetail createExchangeReject(RedPackExchange exchange) throws RedPackDetailException {
if (exchange == null)
throw new RedPackDetailException(1, "鎻愮幇璁板綍涓嶈兘涓虹┖");
-
+
// 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖�
RedPackDetail detail = new RedPackDetail();
detail.setDisplay(false);
@@ -84,9 +84,54 @@
}
+ /**
+ * 绾㈠寘灏佺
+ *
+ * @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;
+ }
+ /**
* 璧犻�佸ソ鍙嬫槑缁�
+ *
* @param giveRecord
* @return
* @throws RedPackDetailException
@@ -104,30 +149,34 @@
detail.setCreateTime(new Date());
return detail;
}
-
+
/**
* 璧犻�佹垚鍔�
+ *
* @param id
* @param giveRecord
* @return
* @throws RedPackDetailException
*/
- public static RedPackDetail createGiveOthersSucceed(Long id, RedPackGiveRecord giveRecord) throws RedPackDetailException {
+ public static RedPackDetail createGiveOthersSucceed(Long id, RedPackGiveRecord giveRecord)
+ throws RedPackDetailException {
if (giveRecord == null)
throw new RedPackDetailException(1, "璧犻�佽褰曚笉鑳戒负绌�");
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(StringUtil.Md5(RedPackDetailTypeEnum.giveOthersSucceed.name() + ":" + giveRecord.getId()));
+ detail.setIdentifyCode(
+ StringUtil.Md5(RedPackDetailTypeEnum.giveOthersSucceed.name() + ":" + giveRecord.getId()));
detail.setCreateTime(new Date());
return detail;
}
-
-
+
/**
* 璧犻�佸け璐�
+ *
* @param giveRecord
* @return
* @throws RedPackDetailException
@@ -145,10 +194,10 @@
detail.setCreateTime(new Date());
return detail;
}
-
-
+
/**
* 璧犻�佸け璐�
+ *
* @param giveRecord
* @return
* @throws RedPackDetailException
@@ -162,37 +211,63 @@
detail.setMoney(giveRecord.getAmount());
detail.setType(RedPackDetailTypeEnum.giveOthersReceive);
detail.setTitle(RedPackDetailTypeEnum.giveOthersReceive.getDesc());
- detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.giveOthersReceive.name() + ":" + giveRecord.getId()));
+ detail.setIdentifyCode(
+ StringUtil.Md5(RedPackDetailTypeEnum.giveOthersReceive.name() + ":" + giveRecord.getId()));
detail.setCreateTime(new Date());
return detail;
}
-
-
+
/**
- * 鏂颁汉濂栧姳
+ * 鏉挎牀鍟嗗煄浣跨敤
+ *
+ * @param giveRecord
+ * @return
+ * @throws RedPackDetailException
+ */
+ public static RedPackDetail createUseByShopOrder(Long orderId, Long uid, String title, String setName,
+ BigDecimal money) throws RedPackDetailException {
+ if (orderId == null)
+ throw new RedPackDetailException(1, "璁㈠崟ID涓嶈兘涓虹┖");
+ if (uid == null)
+ throw new RedPackDetailException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖");
+ RedPackDetail detail = new RedPackDetail();
+ detail.setDisplay(false);
+ detail.setUid(uid);
+ detail.setMoney(new BigDecimal(0).subtract(money));
+ detail.setType(RedPackDetailTypeEnum.useByShopOrder);
+ detail.setTitle(title);
+ detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.useByShopOrder.name() + "-" + orderId));
+ detail.setCreateTime(new Date());
+ 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
@@ -200,7 +275,7 @@
public static RedPackDetail createInvite(RedPackWinInvite winInvite) throws RedPackDetailException {
if (winInvite == null)
throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖");
-
+
// 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖�
RedPackDetail detail = new RedPackDetail();
detail.setDisplay(true);
@@ -213,9 +288,10 @@
detail.setCreateTime(new Date());
return detail;
}
-
+
/**
* 閫掑濂栧姳 + 濂藉弸瀹屾垚鍒嗕韩璁㈠崟
+ *
* @param winInvite
* @return
* @throws RedPackDetailException
@@ -223,7 +299,7 @@
public static RedPackDetail createIncreaseReward(RedPackWinInvite winInvite) throws RedPackDetailException {
if (winInvite == null)
throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖");
-
+
// 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖�
RedPackDetail detail = new RedPackDetail();
detail.setDisplay(true);
@@ -236,10 +312,10 @@
detail.setCreateTime(new Date());
return detail;
}
-
-
+
/**
* 杩炵画濂栧姳 + 濂藉弸瀹屾垚鍒嗕韩璁㈠崟
+ *
* @param winInvite
* @return
* @throws RedPackDetailException
@@ -247,7 +323,7 @@
public static RedPackDetail createSeriesReward(RedPackWinInvite winInvite) throws RedPackDetailException {
if (winInvite == null)
throw new RedPackDetailException(1, "鑾峰緱璁板綍涓嶈兘涓虹┖");
-
+
// 绾㈠寘鏄庣粏- 閫�鍥炵孩鍖�
RedPackDetail detail = new RedPackDetail();
detail.setDisplay(true);
@@ -260,6 +336,23 @@
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)
+ throw new RedPackDetailException(1, "璁㈠崟ID涓嶈兘涓虹┖");
+ if (uid == null)
+ throw new RedPackDetailException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖");
+ RedPackDetail detail = new RedPackDetail();
+ detail.setDisplay(false);
+ detail.setUid(uid);
+ detail.setMoney(money);
+ detail.setType(RedPackDetailTypeEnum.shopOrderDrawBack);
+ detail.setTitle(title);
+ detail.setIdentifyCode(StringUtil.Md5(RedPackDetailTypeEnum.shopOrderDrawBack.name() + "-" + orderId));
+ detail.setCreateTime(new Date());
+ detail.setDescInfo(setName);
+ return detail;
+ }
}
--
Gitblit v1.8.0