From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 87 insertions(+), 3 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java index b7485ba..0e08e06 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java @@ -1,5 +1,7 @@ package com.yeshi.fanli.service.impl.order; +import java.math.BigDecimal; +import java.util.Date; import java.util.List; import javax.annotation.Resource; @@ -7,9 +9,10 @@ import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; -import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.vo.order.HongBaoCountVO; @Service public class HongBaoOrderServiceImpl implements HongBaoOrderService { @@ -59,8 +62,89 @@ } @Override - public long countByOrderNoAndHongBaoType(String orderNo, int type) { - return hongBaoOrderMapper.countByOrderNoAndHongBaoType(orderNo, type, Constant.SOURCE_TYPE_TAOBAO); + public long countByOrderNoAndHongBaoType(String orderNo, int hongBaotype, int sourceType) { + return hongBaoOrderMapper.countByOrderNoAndHongBaoType(orderNo, hongBaotype, sourceType); } + @Override + public HongBaoOrder selectDetailByCommonOrderId(Long commonOrderId) { + return hongBaoOrderMapper.selectByCommonOrderId(commonOrderId); + } + + @Override + public HongBaoOrder selectDetailByHongBaoId(Long hongBaoId) { + return hongBaoOrderMapper.selectByHongBaoId(hongBaoId); + } + + @Override + public List<HongBaoOrder> listByOrderIdAndSourceType(String orderId, int sourceType) { + return hongBaoOrderMapper.listByOrderIdAndSourceType(orderId, sourceType); + } + + @Override + public List<HongBaoOrder> listDetailByOrderIdAndSourceType(String orderId, int sourceType) { + return hongBaoOrderMapper.listDetailByOrderIdAndSourceType(orderId, sourceType); + } + + + @Override + public List<HongBaoOrder> listDetailByOrderIdAndSourceTypeAndUid(String orderId, int sourceType, Long uid) { + return hongBaoOrderMapper.listDetailByOrderIdAndSourceTypeAndUid(orderId, sourceType,uid); + } + + + @Override + public HongBaoCountVO getHongBaoCountVO(List<HongBaoOrder> list) { + HongBaoCountVO countVO = new HongBaoCountVO(); + if (list == null || list.size() == 0) { + countVO.setTotalMoney(new BigDecimal(0)); + countVO.setValidMoney(new BigDecimal(0)); + countVO.setCurrentState(HongBaoV2.STATE_SHIXIAO); + } else { + int type = 0; + int invalid = 0; + int arrivalAccount = 0; + BigDecimal totalMoney = new BigDecimal(0); + BigDecimal validMoney = new BigDecimal(0); + Date accountTime = null; + for (HongBaoOrder hongBaoOrder: list) { + HongBaoV2 hongBao = hongBaoOrder.getHongBaoV2(); + totalMoney = totalMoney.add(hongBao.getMoney()); + + Integer state = hongBao.getState(); + if (state != HongBaoV2.STATE_SHIXIAO) { + validMoney = validMoney.add(hongBao.getMoney()); + } + if (state == HongBaoV2.STATE_SHIXIAO) { + invalid ++; + } else if (state == HongBaoV2.STATE_YILINGQU) { + arrivalAccount ++; + } + + // 鍒拌处鏃堕棿 + Date getTime = hongBao.getGetTime(); + if (getTime != null && (accountTime == null || accountTime.getTime() < getTime.getTime())) { + accountTime = getTime; + } + + if (type == 0) { + type = hongBao.getType(); + } + } + countVO.setTotalMoney(totalMoney); + countVO.setValidMoney(validMoney); + countVO.setCurrentState(HongBaoV2.STATE_SHIXIAO); + + if (invalid == list.size()) { + countVO.setCurrentState(HongBaoV2.STATE_SHIXIAO); + } else if (arrivalAccount > 0) { + countVO.setCurrentState(HongBaoV2.STATE_YILINGQU); + } else { + countVO.setCurrentState(HongBaoV2.STATE_BUKELINGQU); + } + } + return countVO; + } + + } -- Gitblit v1.8.0