From cf955aaa918244fdf1f2fd8367e01d2535f0c108 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 09 Jan 2021 16:08:07 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   95 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 78 insertions(+), 17 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index b0bf857..b64d15a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -6,6 +6,11 @@
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.OrderListDto;
+import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
+import com.matrix.system.app.vo.OrderDetailItemVo;
+import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.dao.SysUsersDao;
@@ -22,6 +27,7 @@
 import com.matrix.system.hive.pojo.ShoppingCarItemsVo;
 import com.matrix.system.hive.service.AchieveNewService;
 import com.matrix.system.hive.service.CodeService;
+import com.matrix.system.hive.service.ShoppingGoodsService;
 import com.matrix.system.hive.service.SysOrderService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -79,7 +85,13 @@
     private AchieveNewService achieveNewService;
 
     @Autowired
+    private AchieveNewDao achieveNewDao;
+
+    @Autowired
     private WarehouseDao warehouseDao;
+
+    @Autowired
+    private ShoppingGoodsService shoppingGoodsService;
 
     @Override
     public int add(SysOrder sysOrder) {
@@ -201,6 +213,7 @@
         sysOrder.setCardPay(cardMoney);
         sysOrder.setCashPay(xjMoney);
         sysOrder.setStatu(Dictionary.ORDER_STATU_DFK);
+        sysOrder.setStaffId(user.getSuId());
         sysOrder.setCompanyId(user.getCompanyId());
 
         sysOrder.setPayTime(new Date());
@@ -351,7 +364,7 @@
             throw new GlobleException("没用选择购买产品");
         }
         // 获取会员信息,判断等级 获取相应家居折扣
-        SysVipInfo info = (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER);
+        SysVipInfo info = sysVipInfoDao.selectById(car.getVipId());
 
         //获取折扣-----
         Double zk = zk = 1.0;
@@ -371,6 +384,7 @@
         order.setStatu(Dictionary.ORDER_STATU_DFK);
         order.setCardPay(0.00);
         order.setCashPay(0.00);
+        order.setCompanyId(user.getCompanyId());
         order.setBeatuyId(car.getBeatuyId() + "");
         // 根据美疗师id查询美疗师姓名
         if (car.getBeatuyId() != null) {
@@ -625,6 +639,10 @@
             moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y);
             moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX);
         }
+
+        ShoppingGoods shoppingGoods = shoppingGoodsService.findById(moneyCardUse.getGoodsId());
+        Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime());
+        moneyCardUse.setFailTime(invalidTime);
         // 更新充值卡信息
         moneyCardUseDao.update(moneyCardUse);
     }
@@ -732,14 +750,17 @@
                     moneyCardUse.setLastCount(moneyCar.getCarUseCount());
                 }
                 moneyCardUse.setVipId(sourceOrder.getVipId());
-                if (moneyCar.getValidity() == null || moneyCar.getValidity() == 0) {
-                    // 设置失效时间
-                    Calendar cal = Calendar.getInstance();
-                    cal.set(2200, 1, 1);
-                    moneyCardUse.setFailTime(cal.getTime());
-                } else {
-                    moneyCardUse.setFailTime(DateUtil.nextNDate(new Date(), 30 * moneyCar.getValidity()));
-                }
+//                if (moneyCar.getValidity() == null || moneyCar.getValidity() == 0) {
+//                    // 设置失效时间
+//                    Calendar cal = Calendar.getInstance();
+//                    cal.set(2200, 1, 1);
+//                    moneyCardUse.setFailTime(cal.getTime());
+//                } else {
+//                    moneyCardUse.setFailTime(DateUtil.nextNDate(new Date(), 30 * moneyCar.getValidity()));
+//                }
+                Date invalidTime = shoppingGoodsService.calInvalidTime(sysOrderItem.getShoppingGoods(), 1, null);
+                moneyCardUse.setFailTime(invalidTime);
+
                 moneyCardUseDao.insert(moneyCardUse);
             }
         }
@@ -954,7 +975,6 @@
 
     }
 
-
     public void addZongheCarUse(SysOrder order, SysOrderItem sysOrderItem) {
 
 
@@ -1046,16 +1066,16 @@
         taocanProjUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
         taocanProjUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC);
         taocanProjUse.setIsCourse(taocanShoppingGoods.getIsCourse());
+        taocanProjUse.setIsInfinite(taocanShoppingGoods.getIsInfinite());
         // 赠送和打折后金额为0的都视为赠送项目
         if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
             taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_GM);
         } else {
             taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
         }
-        // TODO 设置失效时间
-        Calendar cal = Calendar.getInstance();
-        cal.set(2200, 1, 1);
-        taocanProjUse.setFailTime(cal.getTime());
+        // 失效时间
+        Date invalidTime = shoppingGoodsService.calInvalidTime(taocanShoppingGoods, 1, null);
+        taocanProjUse.setFailTime(invalidTime);
         sysProjUseDao.insert(taocanProjUse);
         //计划次数
         int surplusCount=0;
@@ -1105,9 +1125,8 @@
             puse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
         }
         // 设置失效时间
-        Calendar cal = Calendar.getInstance();
-        cal.set(2300, 1, 1);
-        puse.setFailTime(cal.getTime());
+        Date invalidTime = shoppingGoodsService.calInvalidTime(sysOrderItem.getShoppingGoods(), 1, null);
+        puse.setFailTime(invalidTime);
         sysProjUseDao.insert(puse);
     }
 
@@ -1198,6 +1217,48 @@
     }
 
 
+    @Override
+    public SysOrder findSysOrderTjByVipId(Long vipId) {
+        return sysOrderDao.selectVipOrderInfoTotal(vipId);
+    }
 
+    @Override
+    public List<OrderDetailVo> findApiOrderListInPage(OrderListDto orderListDto, PaginationVO pageVo) {
+        return sysOrderDao.selectApiOrderListInPage(orderListDto, pageVo);
+    }
 
+    @Override
+    public int findApiOrderListTotal(OrderListDto orderListDto) {
+        return sysOrderDao.selectApiOrderListTotal(orderListDto);
+    }
+
+    @Override
+    public OrderDetailVo findApiOrderDetailByOrderId(Long orderId) {
+        OrderDetailVo orderDetail = sysOrderDao.selectApiOrderDetailById(orderId);
+
+        if (orderDetail == null) {
+            throw new GlobleException("该订单不存在");
+        }
+
+        List<OrderDetailItemVo> items = orderItemDao.selectApiOrderDetailItemsByOrderId(orderId);
+        if (CollectionUtils.isNotEmpty(items)) {
+            for (OrderDetailItemVo item : items) {
+                List<OrderDetailAchieveItemVo> achieveItems = achieveNewDao.selectApiOrderItemAchieve(item.getId());
+                item.setAchieves(achieveItems);
+            }
+        }
+
+        orderDetail.setItems(items);
+        return orderDetail;
+    }
+
+    @Override
+    public List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder) {
+        return sysOrderDao.selectShopAchieveRanking(sysOrder);
+    }
+
+    @Override
+    public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
+        return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder);
+    }
 }

--
Gitblit v1.9.1