From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 104 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 e5a87b9..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,20 +1,24 @@ package com.yeshi.fanli.service.impl.order; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + import javax.annotation.Resource; 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.vo.order.HongBaoCountVO; @Service public class HongBaoOrderServiceImpl implements HongBaoOrderService { - + @Resource private HongBaoOrderMapper hongBaoOrderMapper; - @Override public int insert(HongBaoOrder record) { @@ -46,4 +50,101 @@ return hongBaoOrderMapper.selectByPrimaryKey(id); } + @Override + public List<HongBaoOrder> listFanLiOrder(Long uid, int page, int pageSize) { + return hongBaoOrderMapper.listFanLiOrder(uid, (page - 1) * pageSize, pageSize); + } + + @Override + public long countFanLiOrder(Long uid) { + Long count = hongBaoOrderMapper.countFanLiOrder(uid); + return count == null ? 0 : count; + } + + @Override + 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