From fe279c5bfcd5f3018f0f2aa7ac539a3b14afb550 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 28 九月 2019 12:04:43 +0800
Subject: [PATCH] IOS推送设备记录修改,设备消息并发问题修改
---
fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java | 297 +++++++++++++++++++----------------------------------------
1 files changed, 97 insertions(+), 200 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 3c34806..d4c24bc 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,17 +4,18 @@
import java.util.Calendar;
import java.util.Date;
-import com.yeshi.fanli.entity.bus.user.AccountDetails;
+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 {
@@ -24,7 +25,7 @@
* @param hongBaoList
* @return
*/
- public static UserMoneyDetail createFanLi(Long uid, String orderId, int orderType, Long hbId, BigDecimal money)
+ public static UserMoneyDetail createFanLi(Long uid, String orderId, int orderType, String hbIds, BigDecimal money)
throws UserMoneyDetailException {
if (StringUtil.isNullOrEmpty(orderId))
@@ -39,53 +40,14 @@
UserMoneyDetail detail = new UserMoneyDetail();
detail.setCreateTime(new Date());
detail.setIdentifyCode(StringUtil
- .Md5(UserMoneyDetailTypeEnum.fanli.name() + "-" + uid + "-" + orderType + "-" + orderId + "-" + hbId));
+ .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));
- return detail;
- }
-
- /**
- * 鍘熸湁杩斿埄鏁版嵁鍚屾
- *
- * @param uid
- * @param orderId
- * @param orderType
- * @param money
- * @return
- * @throws UserMoneyDetailException
- */
- public static UserMoneyDetail createOldFanLi(Long uid, AccountDetails accountDetails, BigDecimal money)
- throws UserMoneyDetailException {
- int orderType = 1;
- String orderId = null;
- if (accountDetails.getOrderItem() == null)
- orderId = accountDetails.getId() + "";
- else
- orderId = accountDetails.getId() + "-" + accountDetails.getOrderItem().getOrderId();
-
- if (money == null)
- throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖");
-
- if (uid == null)
- throw new UserMoneyDetailException(1, "UID涓虹┖");
-
- UserMoneyDetail detail = new UserMoneyDetail();
- detail.setCreateTime(
- new Date(TimeUtil.convertToTimeTemp(accountDetails.getCreateTime(), "yyyy-MM-dd HH:mm:ss")));
- detail.setIdentifyCode(
- StringUtil.Md5(UserMoneyDetailTypeEnum.fanli.name() + "-" + uid + "-" + orderType + "-" + orderId));
- detail.setMoney(money);
- detail.setTitle(UserMoneyDetailTypeEnum.fanli.getDesc());
- detail.setType(UserMoneyDetailTypeEnum.fanli);
- if (accountDetails.getOrderItem() != null)
- detail.setDescInfo("璁㈠崟鍙凤細" + accountDetails.getOrderItem().getOrderId());
- detail.setUpdateTime(new Date());
- detail.setUserInfo(new UserInfo(uid));
+ detail.setOrderType(orderType);
return detail;
}
@@ -101,7 +63,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, "杩斿埄閲戦涓虹┖");
@@ -116,7 +78,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());
@@ -124,9 +86,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;
}
@@ -142,7 +105,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, "杩斿埄閲戦涓虹┖");
@@ -157,7 +120,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());
@@ -165,50 +128,11 @@
detail.setMoney(money);
detail.setTitle(timeF + UserMoneyDetailTypeEnum.invite.getDesc());
detail.setType(UserMoneyDetailTypeEnum.invite);
- if (validCount != 0 || weiQuanCount != 0 || invalidCount != 0)
- 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));
- return detail;
- }
-
- /**
- * 鑰佺増鏈殑鍒嗕韩鍜岄個璇疯禋鍒拌处璁板綍
- *
- * @param uid
- * @param money
- * @param time
- * @return
- * @throws UserMoneyDetailException
- */
- public static UserMoneyDetail createShareAndInvite(AccountDetails accountDetail) throws UserMoneyDetailException {
- if (accountDetail.getMoney() == null)
- throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖");
-
- if (accountDetail.getUserInfo() == null)
- throw new UserMoneyDetailException(1, "UID涓虹┖");
-
- if (accountDetail.getCreateTime() == null)
- throw new UserMoneyDetailException(1, "鍙戠敓鏃堕棿涓虹┖");
-
- Date time = new Date(TimeUtil.convertToTimeTemp(accountDetail.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
-
- 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(TimeUtil.convertToTimeTemp(accountDetail.getCreateTime(), "yyyy-MM-dd HH:mm:ss")));
- detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.inviteAndShare.name() + "-"
- + accountDetail.getUserInfo().getId() + "-" + accountDetail.getId()));
- detail.setMoney(new BigDecimal(accountDetail.getMoney()));
- detail.setTitle(timeF + UserMoneyDetailTypeEnum.inviteAndShare.getDesc());
- detail.setType(UserMoneyDetailTypeEnum.inviteAndShare);
- detail.setUpdateTime(new Date());
- detail.setUserInfo(accountDetail.getUserInfo());
+ detail.setOrderType(orderType);
return detail;
}
@@ -248,6 +172,7 @@
detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId());
detail.setUpdateTime(new Date());
detail.setUserInfo(new UserInfo(uid));
+ detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO);
return detail;
}
@@ -284,9 +209,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;
}
@@ -323,9 +249,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;
}
@@ -488,109 +415,6 @@
}
/**
- * 鑰佺増鏈殑鏂颁汉绾㈠寘閫�娆�
- *
- * @param hb
- * @return
- * @throws UserMoneyDetailException
- */
- public static UserMoneyDetail createOldNewerHongBaoDeduct(AccountDetails accountDetails)
- throws UserMoneyDetailException {
- HongBao hb = new HongBao();
- hb.setId(accountDetails.getId());
- hb.setBeizhu("鑰佺増鏈�");
- hb.setMoney(new BigDecimal(accountDetails.getMoney()));
- hb.setUserInfo(accountDetails.getUserInfo());
- UserMoneyDetail userMoneyDetail = createHongBaoDeduct(hb, "鏂颁汉绾㈠寘鎵i櫎");
- userMoneyDetail.setId(accountDetails.getId());
- return userMoneyDetail;
- }
-
- /**
- * 鑰佺増鏈敭鍚庤鍗曟墸娆�
- *
- * @param accountDetails
- * @return
- * @throws UserMoneyDetailException
- */
- public static UserMoneyDetail createOldWeiQuan(AccountDetails accountDetails) throws UserMoneyDetailException {
- if (accountDetails == null)
- throw new UserMoneyDetailException(1, "璇︽儏涓嶈兘涓虹┖");
- if (accountDetails.getUserInfo() == null)
- throw new UserMoneyDetailException(1, "鐢ㄦ埛涓嶈兘涓虹┖");
-
- UserMoneyDetail detail = new UserMoneyDetail();
- detail.setCreateTime(new Date());
- detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.weiQuan.name() + "-" + accountDetails.getId()));
- detail.setMoney(new BigDecimal(accountDetails.getMoney()));
- detail.setTitle(UserMoneyDetailTypeEnum.weiQuan.getDesc());
- detail.setType(UserMoneyDetailTypeEnum.weiQuan);
- detail.setUpdateTime(new Date());
- detail.setUserInfo(accountDetails.getUserInfo());
- detail.setId(accountDetails.getId());
- return detail;
- }
-
- /**
- * 鏂颁汉绾㈠寘
- *
- * @param accountDetails
- * @return
- * @throws UserMoneyDetailException
- */
-
- public static UserMoneyDetail createOldNewerHongBao(AccountDetails accountDetails) throws UserMoneyDetailException {
-
- if (accountDetails == null)
- throw new UserMoneyDetailException(1, "璇︽儏涓嶈兘涓虹┖");
- if (accountDetails.getUserInfo() == null)
- throw new UserMoneyDetailException(1, "鐢ㄦ埛涓嶈兘涓虹┖");
-
- UserMoneyDetail detail = new UserMoneyDetail();
- detail.setCreateTime(new Date());
- detail.setIdentifyCode(StringUtil
- .Md5(UserMoneyDetailTypeEnum.hongbao.name() + "-" + "鑰佺増鏈柊浜虹孩鍖�" + "-" + accountDetails.getId()));
- detail.setMoney(new BigDecimal(accountDetails.getMoney()));
- detail.setTitle(UserMoneyDetailTypeEnum.hongbao.getDesc());
- detail.setSubTitle("鏂颁汉绾㈠寘");
- detail.setType(UserMoneyDetailTypeEnum.hongbao);
- detail.setUpdateTime(new Date());
- detail.setUserInfo(accountDetails.getUserInfo());
- detail.setId(accountDetails.getId());
- return detail;
- }
-
- /**
- * 鑰佺増鏈彁鐜拌处鍙烽獙璇�
- *
- * @param accountDetails
- * @return
- * @throws UserMoneyDetailException
- */
- public static UserMoneyDetail createOldExtractAccountValid(AccountDetails accountDetails)
- throws UserMoneyDetailException {
-
- if (accountDetails == null)
- throw new UserMoneyDetailException(1, "楠岃瘉璁板綍涓嶈兘涓虹┖");
- if (accountDetails.getUserInfo() == null)
- throw new UserMoneyDetailException(1, "UID涓嶈兘涓虹┖");
- if (accountDetails.getMoney() == null)
- throw new UserMoneyDetailException(1, "閲戦涓嶈兘涓虹┖");
-
- UserMoneyDetail detail = new UserMoneyDetail();
- detail.setCreateTime(new Date());
- detail.setIdentifyCode(StringUtil
- .Md5(UserMoneyDetailTypeEnum.extractVerify.name() + "-" + "鑰佺増鏈�" + "-" + accountDetails.getId()));
- detail.setMoney(new BigDecimal(accountDetails.getMoney()));
- detail.setTitle(UserMoneyDetailTypeEnum.extractVerify.getDesc());
- detail.setType(UserMoneyDetailTypeEnum.extractVerify);
- detail.setUpdateTime(new Date());
- detail.setUserInfo(accountDetails.getUserInfo());
- detail.setId(accountDetails.getId());
- return detail;
- }
-
- /**
* 杩斿埄濂栧姳
*
* @param orderId
@@ -599,7 +423,7 @@
* @return
* @throws UserMoneyDetailException
*/
- public static UserMoneyDetail createOrderReward(String orderId, BigDecimal money, UserInfo user)
+ public static UserMoneyDetail createOrderReward(String orderId, int orderType, BigDecimal money, UserInfo user)
throws UserMoneyDetailException {
if (StringUtil.isNullOrEmpty(orderId))
throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂笉鑳戒负绌�");
@@ -612,12 +436,85 @@
detail.setCreateTime(new Date());
detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.hongbao.name() + "-" + "鑰佺増鏈�" + "-" + orderId));
detail.setMoney(money);
- detail.setTitle(UserMoneyDetailTypeEnum.hongbao.getDesc());
- detail.setSubTitle("杩斿埄濂栧姳");
- detail.setType(UserMoneyDetailTypeEnum.hongbao);
+ 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;
}
--
Gitblit v1.8.0