From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java | 263 +++++++++++++++++----------------------------------- 1 files changed, 86 insertions(+), 177 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 d1d763f..3ebda64 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,15 +4,15 @@ 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; @@ -24,7 +24,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)) @@ -38,54 +38,15 @@ UserMoneyDetail detail = new UserMoneyDetail(); detail.setCreateTime(new Date()); - detail.setIdentifyCode( - StringUtil.Md5(UserMoneyDetailTypeEnum.fanli.name() + "-" + uid + "-" + orderType + "-" + orderId+"-"+hbId)); + 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)); - 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 +62,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, int invalidCount, BigDecimal money, Date time) throws UserMoneyDetailException { if (money == null) throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); @@ -116,7 +77,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()); @@ -127,6 +88,7 @@ detail.setDescInfo(String.format("鏈夋晥璁㈠崟:%s绗� 缁存潈璁㈠崟:%s绗� 澶辨晥璁㈠崟:%s绗�", validCount, weiQuanCount, invalidCount)); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(orderType); return detail; } @@ -142,7 +104,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, int invalidCount, BigDecimal money, Date time) throws UserMoneyDetailException { if (money == null) throw new UserMoneyDetailException(1, "杩斿埄閲戦涓虹┖"); @@ -157,7 +119,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()); @@ -169,46 +131,7 @@ detail.setDescInfo(String.format("鏈夋晥璁㈠崟:%s绗� 缁存潈璁㈠崟:%s绗� 澶辨晥璁㈠崟:%s绗�", validCount, weiQuanCount, invalidCount)); 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 +171,7 @@ detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId()); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO); return detail; } @@ -287,6 +211,7 @@ detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId()); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO); return detail; } @@ -326,6 +251,7 @@ detail.setDescInfo("璁㈠崟鍙凤細" + drawBack.getOrderId()); detail.setUpdateTime(new Date()); detail.setUserInfo(new UserInfo(uid)); + detail.setOrderType(Constant.SOURCE_TYPE_TAOBAO); return detail; } @@ -408,6 +334,7 @@ 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()); @@ -487,105 +414,87 @@ } /** - * 鑰佺増鏈殑鏂颁汉绾㈠寘閫�娆� + * 杩斿埄濂栧姳 * - * @param hb + * @param orderId + * @param money + * @param user * @return * @throws UserMoneyDetailException */ - public static UserMoneyDetail createOldNewerHongBaoDeduct(AccountDetails accountDetails) + public static UserMoneyDetail createOrderReward(String orderId,int orderType, BigDecimal money, UserInfo user) 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) + if (StringUtil.isNullOrEmpty(orderId)) + throw new UserMoneyDetailException(1, "璁㈠崟鍙蜂笉鑳戒负绌�"); + if (user == null) throw new UserMoneyDetailException(1, "UID涓嶈兘涓虹┖"); - if (accountDetails.getMoney() == null) + if (money == 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.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(accountDetails.getUserInfo()); - detail.setId(accountDetails.getId()); + 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; } -- Gitblit v1.8.0