From 4cb15e222cd7d099d533ccbeb7f9a8cd99bf180c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 十二月 2018 16:35:18 +0800 Subject: [PATCH] 替换原来老的资金详情 --- fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java | 82 +++++++++++++++++++++++++++++++++-------- 1 files changed, 66 insertions(+), 16 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java index 4e482e4..3b98bc4 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java @@ -10,7 +10,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import org.apache.ibatis.annotations.Param; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.SQLQuery; @@ -33,6 +32,7 @@ import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper; import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.dao.mybatis.hongbao.HongBaoMapper; +import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper; import com.yeshi.fanli.dao.mybatis.order.OrderItemMapper; import com.yeshi.fanli.dao.mybatis.order.OrderMapper; import com.yeshi.fanli.entity.admin.OrderAdmin; @@ -47,8 +47,10 @@ import com.yeshi.fanli.entity.bus.user.ThreeSaleGift; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.common.Config; +import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.taobao.OrderVital; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; +import com.yeshi.fanli.exception.money.UserMoneyDetailException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.SystemConfigService; @@ -59,7 +61,6 @@ import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.order.OrderItemServcie; import com.yeshi.fanli.service.inter.order.OrderService; -import com.yeshi.fanli.service.inter.push.PushService; import com.yeshi.fanli.service.inter.user.AccountDetailsService; import com.yeshi.fanli.service.inter.user.AccountMessageService; import com.yeshi.fanli.service.inter.user.MoneyRecordService; @@ -75,6 +76,7 @@ import com.yeshi.fanli.util.factory.AccountDetailsFactory; import com.yeshi.fanli.util.factory.AccountMessageFactory; import com.yeshi.fanli.util.factory.HongBaoFactory; +import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import com.yeshi.fanli.util.push.XiaoMiPushUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @@ -164,6 +166,9 @@ @Resource private UserNotificationService userNotificationService; + + @Resource + private UserMoneyDetailMapper userMoneyDetailMapper; private static final String NEW_USER_HONGBAO = "new_user_hongbao"; @@ -441,6 +446,18 @@ AccountDetails ac = AccountDetailsFactory.create("+" + money, AccountDetailsFactory.XINREN, null, null, form); accountDetailsMapper.insertSelective(ac); + // 鏂扮増璧勯噾鏄庣粏 + try { + UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createNewerHongBao(hongBao); + userMoneyDetail.setId(ac.getId()); + userMoneyDetailMapper.insert(userMoneyDetail); + } catch (UserMoneyDetailException e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } userInfoMapper.addHongBaoByUid(form.getId(), new BigDecimal(money)); userNotificationService.newerHongBao(form.getId(), new BigDecimal(money)); @@ -870,8 +887,8 @@ @Transactional public void updateHongBao(HongBao hongBao, TaoBaoOrder taoBaoOrder) { - BigDecimal rate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue()) - .divide(new BigDecimal(100)); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); + BigDecimal rate = proportion.divide(new BigDecimal(100)); // 鏇存柊绾㈠寘椤� HongBao updateHongBao = new HongBao(); updateHongBao.setId(hongBao.getId()); @@ -910,7 +927,7 @@ }); } } else if ("璁㈠崟缁撶畻".equals(taoBaoOrder.getOrderState())) {// 鏇存柊棰勪及鑾峰彇鏃堕棿 - BigDecimal money = MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), rate); + BigDecimal money = MoneyBigDecimalUtil.mul(taoBaoOrder.geteIncome(), rate); // 璁剧疆棰勮棰嗗彇鏃堕棿 long settlementTime = TimeUtil.convertDateToTemp2(taoBaoOrder.getSettlementTime().trim()); // 棰勮棰嗗彇鏃堕棿 @@ -940,7 +957,8 @@ hongBaoMapper.updateByPrimaryKeySelective(updateChildHongBao); }); - BigDecimal estimate = taoBaoOrder.getEstimate(); + BigDecimal estimate = taoBaoOrder.geteIncome(); + updateHongBao.setPayMoney(taoBaoOrder.getSettlement()); updateHongBao.setMoney(MoneyBigDecimalUtil.mul(estimate, rate)); } @@ -980,14 +998,22 @@ public void addHongBao(Order order, TaoBaoOrder taoBaoOrder, Long orderItemId) { OrderItem orderItem = orderItemMapper.selectByPrimaryKey(orderItemId); // 璁㈠崟杩斿埄姣斾緥 - BigDecimal baseRate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue()) - .divide(new BigDecimal(100)); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); + BigDecimal baseRate = proportion.divide(new BigDecimal(100)); // 鍒涘缓绾㈠寘 JSONObject data = new JSONObject(); - HongBao hongBao = HongBaoFactory.createHongBao(MoneyBigDecimalUtil.mul(baseRate, taoBaoOrder.getEstimate()), - data.toString(), order.getId(), null, order.getUserInfo(), 1, taoBaoOrder.getPayment(), - taoBaoOrder.getAuctionId()); + HongBao hongBao = null; + if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻")) + // 璁㈠崟缁撶畻搴旇鍙栫粨绠楅噾棰濅笌棰勪及鏀跺叆 + hongBao = HongBaoFactory.createHongBao(MoneyBigDecimalUtil.mul(baseRate, taoBaoOrder.geteIncome()), + data.toString(), order.getId(), null, order.getUserInfo(), 1, taoBaoOrder.getSettlement(), + taoBaoOrder.getAuctionId()); + else + hongBao = HongBaoFactory.createHongBao(MoneyBigDecimalUtil.mul(baseRate, taoBaoOrder.getEstimate()), + data.toString(), order.getId(), null, order.getUserInfo(), 1, taoBaoOrder.getPayment(), + taoBaoOrder.getAuctionId()); + hongBao.setOrderId(taoBaoOrder.getOrderId()); hongBao.setOrderItemId(orderItem.getId()); hongBao.setPreGettime(0L); @@ -1001,6 +1027,10 @@ if (boss != null) { hongBao.setHasChild(true); } + + // 濡傛灉澶辨晥灏卞垽瀹氬凡缁忓け鏁� + if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟澶辨晥")) + hongBao.setState(HongBao.STATE_SHIXIAO); hongBaoMapper.insertSelective(hongBao); // 閫氱煡鐢ㄦ埛璁㈠崟琚粺璁� @@ -1024,7 +1054,19 @@ else rate = new BigDecimal(hbm.getValue()).divide(new BigDecimal(100)); if (rate.compareTo(new BigDecimal(0)) > 0) { - HongBao hongBao2 = HongBaoFactory.createHongBao( + HongBao hongBao2 = null; + if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻")) { + // 璁㈠崟缁撶畻搴旇鍙栫粨绠楅噾棰濅笌棰勪及鏀跺叆 + hongBao2 = HongBaoFactory.createHongBao( + MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.geteIncome(), baseRate)), + null, hongBao, boss, Constant.ONESALE); + } else { + hongBao2 = HongBaoFactory.createHongBao( + MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)), + null, hongBao, boss, Constant.ONESALE); + } + + HongBaoFactory.createHongBao( MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)), null, hongBao, boss, Constant.ONESALE); // 璁剧疆璁㈠崟鍙� @@ -1050,10 +1092,18 @@ else rate = new BigDecimal(hbm.getValue()).divide(new BigDecimal(100)); if (rate.compareTo(new BigDecimal(0)) > 0) { - - HongBao hongBao3 = HongBaoFactory.createHongBao( - MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)), - null, hongBao, boss2, Constant.TWOSALE); + // 璁㈠崟缁撶畻搴旇鍙栫粨绠楅噾棰濅笌棰勪及鏀跺叆 + HongBao hongBao3 = null; + if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻")) + hongBao3 = HongBaoFactory.createHongBao( + MoneyBigDecimalUtil.mul(rate, + MoneyBigDecimalUtil.mul(taoBaoOrder.geteIncome(), baseRate)), + null, hongBao, boss2, Constant.TWOSALE); + else + hongBao3 = HongBaoFactory.createHongBao( + MoneyBigDecimalUtil.mul(rate, + MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)), + null, hongBao, boss2, Constant.TWOSALE); // 璁剧疆杩斿埄璁㈠崟鍙� hongBao3.setOrderId(taoBaoOrder.getOrderId()); hongBaoMapper.insertSelective(hongBao3); -- Gitblit v1.8.0