From d58a5eecbbf9db6a9469801273e537a55bc8e794 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 07 Jan 2021 21:24:58 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 170 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 117 insertions(+), 53 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 23c1e7e..00031d1 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;
@@ -80,10 +85,16 @@
private AchieveNewService achieveNewService;
@Autowired
+ private AchieveNewDao achieveNewDao;
+
+ @Autowired
private WarehouseDao warehouseDao;
@Autowired
private ShoppingGoodsService shoppingGoodsService;
+
+ @Autowired
+ private SysOrderFlowDao sysOrderFlowDao;
@Override
public int add(SysOrder sysOrder) {
@@ -172,10 +183,10 @@
// 如果支付方式是非现金则记录现金支付金额
if (!item.getPayMethod().equals(PayMethodEnum.VIP_CARD.getCode())) {
xjMoney = MoneyUtil.add(xjMoney, item.getPayMoney());
- item.setCashPay(item.getPayMoney());
+// item.setCashPay(item.getPayMoney());
} else {
cardMoney = MoneyUtil.add(cardMoney, item.getPayMoney());
- item.setCardPay(item.getPayMoney());
+// item.setCardPay(item.getPayMoney());
}
@@ -183,28 +194,30 @@
// 订单欠款减去支付金额 设置实际欠款
Double itemZkTotal = MoneyUtil.mul(item.getZkPrice(), Double.valueOf(item.getCount()));
zkTotal=MoneyUtil.add(zkTotal, itemZkTotal);
- item.setArrears(MoneyUtil.sub(itemZkTotal, item.getPayMoney()));
+// item.setArrears(MoneyUtil.sub(itemZkTotal, item.getPayMoney()));
// 如果存在欠款,将条目状态设置为欠款
- if (item.getArrears() > 0) {
- item.setStatus(Dictionary.ORDER_STATU_QK);
- } else if (item.getArrears() < 0) {
- item.setPayMoney(item.getZkPrice());
- item.setStatus(Dictionary.ORDER_STATU_DFK);
- } else {
- item.setStatus(Dictionary.ORDER_STATU_DFK);
- }
+// if (item.getArrears() > 0) {
+// item.setStatus(Dictionary.ORDER_STATU_QK);
+// } else if (item.getArrears() < 0) {
+// item.setPayMoney(item.getZkPrice());
+// item.setStatus(Dictionary.ORDER_STATU_DFK);
+// } else {
+// item.setStatus(Dictionary.ORDER_STATU_DFK);
+// }
+ item.setStatus(Dictionary.ORDER_STATU_DFK);
}
double arrears;
SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
// 如果是收款,收款可以改变订单价格,所以需要求和出 订单折后价来计算本次欠款
arrears = MoneyUtil.sub(zkTotal, MoneyUtil.add(cardMoney, xjMoney));
sysOrder.setZkTotal(zkTotal);
- sysOrder.setArrears(arrears);
- sysOrder.setCardPay(cardMoney);
- sysOrder.setCashPay(xjMoney);
+// sysOrder.setArrears(arrears);
+// sysOrder.setCardPay(cardMoney);
+// sysOrder.setCashPay(xjMoney);
sysOrder.setStatu(Dictionary.ORDER_STATU_DFK);
+ sysOrder.setStaffId(user.getSuId());
sysOrder.setCompanyId(user.getCompanyId());
sysOrder.setPayTime(new Date());
@@ -355,7 +368,7 @@
throw new GlobleException("没用选择购买产品");
}
// 获取会员信息,判断等级 获取相应家居折扣
- SysVipInfo info = (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER);
+ SysVipInfo info = sysVipInfoDao.selectById(car.getVipId());
//获取折扣-----
Double zk = zk = 1.0;
@@ -375,6 +388,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) {
@@ -489,40 +503,43 @@
*/
private void changeOrderStatu(SysOrder sourceOrder) {
- boolean haQk=false;
+ for (SysOrderFlow flow : sourceOrder.getFlows()) {
+ // 若使用储值卡付款
+ if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) {
- for(SysOrderItem sysOrderItem:sourceOrder.getItems()){
-
- if(!sysOrderItem.getStatus().equals(Dictionary.ORDER_STATU_QK)){
- SysOrderItem updateItem=new SysOrderItem();
- updateItem.setId(sysOrderItem.getId());
- updateItem.setStatus(Dictionary.ORDER_STATU_YFK);
-
- if (sysOrderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY_CARD ) ) {
-
- if(sysOrderItem.getPayMethodDetail()!=null){
- // 查询要支付的充值卡
- MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(sysOrderItem.getPayMethodDetail()));
- // 扣除付款卡金额并添加流水
- cardPaySk(moneyCardUse, sourceOrder, sysOrderItem);
- }else{
- throw new GlobleException("请选择支付的会员卡");
- }
-
-
- }
- orderItemDao.update(updateItem);
- }else {
- haQk=true;
}
}
- //更新收款状态
- if(haQk){
- sourceOrder.setStatu(Dictionary.ORDER_STATU_QK);
- }else{
- sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK);
- }
+// boolean haQk=false;
+//
+// for(SysOrderItem sysOrderItem:sourceOrder.getItems()){
+//
+// if(!sysOrderItem.getStatus().equals(Dictionary.ORDER_STATU_QK)){
+// SysOrderItem updateItem=new SysOrderItem();
+// updateItem.setId(sysOrderItem.getId());
+// updateItem.setStatus(Dictionary.ORDER_STATU_YFK);
+//
+// if (sysOrderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY_CARD ) ) {
+//
+// if(sysOrderItem.getPayMethodDetail()!=null){
+// // 查询要支付的充值卡
+// MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(sysOrderItem.getPayMethodDetail()));
+// // 扣除付款卡金额并添加流水
+// cardPaySk(moneyCardUse, sourceOrder, sysOrderItem);
+// }else{
+// throw new GlobleException("请选择支付的会员卡");
+// }
+//
+//
+// }
+// orderItemDao.update(updateItem);
+// }else {
+// haQk=true;
+// }
+// }
+
+ // 更新收款状态
+ sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK);
sysOrderDao.update(sourceOrder);
@@ -629,6 +646,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);
}
@@ -736,14 +757,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);
}
}
@@ -1204,4 +1228,44 @@
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