From 7e6a42fdddef2cc7981d736a138c719aba53563c Mon Sep 17 00:00:00 2001
From: JiangYouYao <ak473600000>
Date: Fri, 11 Mar 2022 18:12:04 +0800
Subject: [PATCH] 重构:充值卡
---
zq-erp/src/main/java/com/matrix/system/hive/dto/MoneyCardChangeDto.java | 65 +++++++
zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java | 16 +
zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | 7
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 7
zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java | 69 +++++++
zq-erp/src/main/java/com/matrix/system/hive/dto/GoodsSealLimitDto.java | 2
zq-erp/src/main/java/com/matrix/core/tools/ParamCheckUtil.java | 3
zq-erp/src/main/java/com/matrix/system/enums/BooleanEnum.java | 63 +++++++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 138 ++++++---------
zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-md-list.html | 10
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceHelper.java | 73 ++++++++
zq-erp/src/main/java/com/matrix/system/hive/action/ShoppingGoodsController.java | 1
zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java | 4
zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java | 17 -
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 2
zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html | 10
zq-erp/src/main/java/com/matrix/system/hive/dto/SysOrderItemDto.java | 7
17 files changed, 372 insertions(+), 122 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java b/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
index d4bb932..3c93147 100644
--- a/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
+++ b/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
@@ -8,12 +8,16 @@
@Data
public class VerificationResult {
+ /**
+ * 审核结果
+ */
private boolean judgeResult;
private String msg;
private Object info;
+
private VerificationResult(){
}
diff --git a/zq-erp/src/main/java/com/matrix/core/tools/ParamCheckUtil.java b/zq-erp/src/main/java/com/matrix/core/tools/ParamCheckUtil.java
index 49768e8..0d55dba 100644
--- a/zq-erp/src/main/java/com/matrix/core/tools/ParamCheckUtil.java
+++ b/zq-erp/src/main/java/com/matrix/core/tools/ParamCheckUtil.java
@@ -1,8 +1,5 @@
package com.matrix.core.tools;
-import com.matrix.system.hive.dto.OrderItemDto;
-
-import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
diff --git a/zq-erp/src/main/java/com/matrix/system/enums/BooleanEnum.java b/zq-erp/src/main/java/com/matrix/system/enums/BooleanEnum.java
new file mode 100644
index 0000000..4adb5d3
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/enums/BooleanEnum.java
@@ -0,0 +1,63 @@
+package com.matrix.system.enums;
+
+import com.google.common.collect.Lists;
+import com.matrix.core.enums.EnumApiShowAble;
+import com.matrix.core.enums.EnumsShowVo;
+import com.matrix.core.exception.GlobleException;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 是否枚举
+ * @author jyy
+ */
+public enum BooleanEnum implements EnumApiShowAble {
+
+ TRUE(1, "是"),
+ FALSE(2, "否"),
+ DEFAULT(3, ""),
+ ;
+
+ private Integer value;
+
+ private String displayName;
+
+ BooleanEnum(Integer value, String displayName) {
+ this.value = value;
+ this.displayName = displayName;
+ }
+
+ public static String getByValue(Integer value) {
+ for (int i = 0; i < values().length; i++) {
+ if (value.equals(values()[i].getValue())) {
+ return values()[i].displayName;
+ }
+ }
+ throw new GlobleException("无效枚举值");
+ }
+
+ @Override
+ public String getEnumCode() {
+ return "booleanEnum";
+ }
+
+ @Override
+ public List<EnumsShowVo> getEnumsShowVos() {
+ return Lists.newArrayList(values()).stream().map(item ->
+ EnumsShowVo.builder()
+ .displayName(item.getDisplayName())
+ .value(item.value)
+ .build()
+ ).collect(Collectors.toList());
+ }
+
+ public Integer getValue() {
+ return value;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ShoppingGoodsController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ShoppingGoodsController.java
index e2c5007..2118f7a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ShoppingGoodsController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ShoppingGoodsController.java
@@ -190,7 +190,6 @@
}
}
shoppingGoods.setIsDel(ShoppingGoods.NORMAL);
- shoppingGoods.setStaus(Dictionary.BUSINESS_STATE_UP);
List<ShoppingGoods> dataList = shoppingGoodsService.findInPage(shoppingGoods, pageVo);
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, shoppingGoodsService.findTotal(shoppingGoods));
return result;
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dto/GoodsSealLimitDto.java b/zq-erp/src/main/java/com/matrix/system/hive/dto/GoodsSealLimitDto.java
index 1926c1d..c066038 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dto/GoodsSealLimitDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dto/GoodsSealLimitDto.java
@@ -20,6 +20,6 @@
/**
* 销售明细
*/
- private List<OrderItemDto> orderItemDtoList;
+ private List<SysOrderItemDto> sysOrderItemDtoList;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dto/MoneyCardChangeDto.java b/zq-erp/src/main/java/com/matrix/system/hive/dto/MoneyCardChangeDto.java
new file mode 100644
index 0000000..b99ae5a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dto/MoneyCardChangeDto.java
@@ -0,0 +1,65 @@
+/**
+ * projectName: zq-erp
+ * fileName: MoneyCardChangeDto.java
+ * packageName: com.matrix.system.hive.dto
+ * date: 2022-03-11 10:24
+ * copyright(c) 2022 http://www.hydee.cn/ Inc. All rights reserved.
+ */
+package com.matrix.system.hive.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @version: V1.0
+ * @author: JiangYouYao
+ * @className: MoneyCardChangeDto
+ * @packageName: com.matrix.system.hive.dto
+ * @description: 储值卡余额变更DTO
+ * @data: 2022-03-11 10:24
+ **/
+@Data
+public class MoneyCardChangeDto {
+
+
+ /**
+ * 储值卡id
+ */
+ private Long carUseId;
+ /**
+ * 订单id
+ */
+ private Long orderId;
+ /**
+ * 订单编号
+ */
+ private String orderNo;
+ /**
+ * 操作类型
+ */
+ private String type;
+ /**
+ * 赠送金额扣减
+ */
+ private Double giftMoney;
+ /**
+ * 本金扣减
+ */
+ private Double realMoney;
+ /**
+ * 扣减次数
+ */
+ private Double count;
+ /**
+ * 操作人
+ */
+ private Long updateUser;
+
+ /**
+ * 支付的商品id
+ */
+ private List<Long> goodsIds;
+
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dto/OrderItemDto.java b/zq-erp/src/main/java/com/matrix/system/hive/dto/SysOrderItemDto.java
similarity index 81%
rename from zq-erp/src/main/java/com/matrix/system/hive/dto/OrderItemDto.java
rename to zq-erp/src/main/java/com/matrix/system/hive/dto/SysOrderItemDto.java
index bc927fa..2f57177 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dto/OrderItemDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dto/SysOrderItemDto.java
@@ -1,16 +1,15 @@
package com.matrix.system.hive.dto;
-import lombok.Builder;
import lombok.Data;
import lombok.ToString;
/**
* 订单明细DTO
+ * @author jyy
*/
-@Data
@ToString
-@Builder
-public class OrderItemDto {
+@Data
+public class SysOrderItemDto {
/**
* 商城 商品id
*/
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java
index c677c7b..c367c08 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java
@@ -1,17 +1,27 @@
package com.matrix.system.hive.service;
-import java.util.List;
-
-
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.hive.bean.MoneyCardUse;
+import com.matrix.system.hive.dto.MoneyCardChangeDto;
import com.matrix.system.hive.plugin.util.BaseServices;
+
+import java.util.List;
/**
* @date 2016-09-17 10:17
*/
public interface MoneyCardUseService extends BaseServices<MoneyCardUse> {
+
+ /**
+ * 修改储值卡余额
+ */
+ void changeMoneyCard(List<MoneyCardChangeDto> moneyCardChangeDtoList);
+
+
+
+
+
/**
* 新增MoneyCardUse
*/
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
index cd93e2d..a31f4d0 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
@@ -22,6 +22,13 @@
*/
public interface SysVipInfoService extends BaseServices<SysVipInfo>{
+ /**
+ * 更新用户成交状态
+ * @param vipId
+ * @param isDeal
+ */
+ void updateDealStatus(Long vipId, int isDeal);
+
public MoneyCardUse addVipDefaultCard(Long vipId);
/**
* 新增SysVipInfo
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java
index 5eb09f1..2b6ba2e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java
@@ -3,13 +3,12 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.pojo.VerificationResult;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.constance.Dictionary;
-import com.matrix.system.hive.bean.MoneyCardUse;
-import com.matrix.system.hive.bean.MoneyCardUseFreeze;
-import com.matrix.system.hive.bean.SysOrderItem;
-import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
+import com.matrix.system.hive.dto.MoneyCardChangeDto;
import com.matrix.system.hive.service.MoneyCardUseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -41,9 +40,71 @@
@Autowired
private SysVipLevelDao viplevelDao;
+ @Autowired
+ ShoppingGoodsDao shoppingGoodsDao;
+
+ @Autowired
+ MoneyCardAssembleDao moneyCardAssembleDao;
+
+ @Override
+ public void changeMoneyCard(List<MoneyCardChangeDto> moneyCardChangeDtoList) {
+
+ // 判断商品是否在充值卡的限制购买,判断分类
+ moneyCardChangeDtoList.forEach(cardUse->{
+ VerificationResult verificationResult = checkIsBangding(cardUse, cardUse.getGoodsIds());
+ if (!verificationResult.isJudgeResult()) {
+ throw new GlobleException(verificationResult.getMsg());
+ }
+ });
+
+ moneyCardChangeDtoList.get().forEach(item -> {
+ if (!isInBangding(moneyCardUse, item.getGoodsId())) {
+ throw new GlobleException(shoppingGoodsDao.selectById(item.getGoodsId()).getName() + "不在" + moneyCardUse.getCardName() + "优惠中");
+ }
+ });
+ }
+ private VerificationResult checkIsBangding(MoneyCardChangeDto moneyCardUse, List<Long> goodsIds) {
+ // 如果是一卡通则肯定在绑定范围内
+
+ if (moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_YES_Y)) {
+ return true;
+ } else {
+ // 不是一卡通,
+ // 判断卡是否可应用于所有产品
+ ShoppingGoods cardGoods = shoppingGoodsDao.selectById(moneyCardUse.getGoodsId());
+ if (cardGoods != null) {
+ if (Dictionary.FLAG_YES.equals(cardGoods.getCarIsAll())) {
+ return true;
+ }
+ }
+
+ // 比较分类
+ MoneyCardAssemble moneyCardAssemble = new MoneyCardAssemble();
+ moneyCardAssemble.setCardId(moneyCardUse.getGoodsId());
+ List<MoneyCardAssemble> cardAssembleList = moneyCardAssembleDao.selectByModel(moneyCardAssemble);
+ ShoppingGoods yhGoods = shoppingGoodsDao.selectById(goodsId);
+ boolean flag = false;
+ for (MoneyCardAssemble cardAssemble : cardAssembleList) {
+ // 比较类型
+ if (cardAssemble.getType().equals(Dictionary.CZK_ASSEMBLE_FL)) {
+ if (yhGoods.getCateId().equals(cardAssemble.getCateId())) {
+ flag = true;
+ break;
+ }
+ } else {
+ // 比较绑定
+ if (yhGoods.getId().equals(cardAssemble.getGoodsId())) {
+ flag = true;
+ break;
+ }
+ }
+ }
+ return flag;
+ }
+ }
@Override
public int add(MoneyCardUse moneyCardUse) {
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
index 7c8ddf9..639beac 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
@@ -18,7 +18,7 @@
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.dto.GoodsSealLimitDto;
-import com.matrix.system.hive.dto.OrderItemDto;
+import com.matrix.system.hive.dto.SysOrderItemDto;
import com.matrix.system.hive.service.ShoppingGoodsService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -64,17 +64,17 @@
//校验参数不能为空
checkGoodsSelLimtParam(goodsSealLimitDto);
- goodsSealLimitDto.getOrderItemDtoList().forEach(item -> {
+ goodsSealLimitDto.getSysOrderItemDtoList().forEach(item -> {
ShoppingGoods shopGoods = shoppingGoodsDao.selectById(item.getGoodsId());
//最大销售次数检测
Integer maxNum = shopGoods.getCarMaxSaleCount();
if (maxNum != null && maxNum != 0) {
Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId(), null);
- if ((buyNum + item.getCount()) == maxNum) {
+ if (buyNum.equals(maxNum)) {
if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) {
shopGoods.setStaus(Dictionary.BUSINESS_STATE_DOWN);
shoppingGoodsDao.update(shopGoods);
- LogUtil.info("{}商品达到最大销售数量自动下架",shopGoods.getName());
+ LogUtil.info("商品达到最大销售数量自动下架:{}", shopGoods.getName());
}
} else if ((buyNum + item.getCount()) > maxNum) {
throw new GlobleException(shopGoods.getName() + "已超过最大销售数量");
@@ -92,17 +92,14 @@
}
-
-
-
private void checkGoodsSelLimtParam(GoodsSealLimitDto goodsSealLimitDto) {
ParamCheckUtil.requireNonNulls(goodsSealLimitDto,
goodsSealLimitDto.getVipId(),
- goodsSealLimitDto.getOrderItemDtoList());
+ goodsSealLimitDto.getSysOrderItemDtoList());
- ParamCheckUtil.requireListElementNonNull(goodsSealLimitDto.getOrderItemDtoList(),
- Arrays.asList(OrderItemDto::getCount, OrderItemDto::getGoodsId));
+ ParamCheckUtil.requireListElementNonNull(goodsSealLimitDto.getSysOrderItemDtoList(),
+ Arrays.asList(SysOrderItemDto::getCount, SysOrderItemDto::getGoodsId));
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceHelper.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceHelper.java
new file mode 100644
index 0000000..3eb4294
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceHelper.java
@@ -0,0 +1,73 @@
+/**
+ * projectName: zq-erp
+ * fileName: SysOrderServiceHelper.java
+ * packageName: com.matrix.system.hive.service.imp
+ * date: 2022-03-11 9:33
+ * copyright(c) 2022 http://www.hydee.cn/ Inc. All rights reserved.
+ */
+package com.matrix.system.hive.service.imp;
+
+import com.matrix.system.hive.bean.ShoppingGoods;
+import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.hive.bean.SysOrderFlow;
+import com.matrix.system.hive.dao.ShoppingGoodsDao;
+import com.matrix.system.hive.dao.SysOrderFlowDao;
+import com.matrix.system.hive.service.CodeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @version: V1.0
+ * @author: JiangYouYao
+ * @className: SysOrderServiceHelper
+ * @packageName: com.matrix.system.hive.service.imp
+ * @description: 订单服务助手
+ * @data: 2022-03-11 9:33
+ **/
+@Component
+public class SysOrderServiceHelper {
+
+
+ @Autowired
+ private CodeService codeService;
+
+
+ @Autowired
+ ShoppingGoodsDao shoppingGoodsDao;
+
+ @Autowired
+ private SysOrderFlowDao sysOrderFlowDao;
+
+ /**
+ * 创建支付流水
+ *
+ * @author:姜友瑶
+ */
+ public void addOrderFlow(SysOrder sourceOrder) {
+ //处理支付流水
+ int flowCount = 1;
+ for (SysOrderFlow flow : sourceOrder.getFlows()) {
+ flow.setFlowNo(codeService.getFlowCode() + "-" + flowCount);
+ flow.setVipId(sourceOrder.getVipId());
+ flow.setShopId(sourceOrder.getShopId());
+ flow.setCompanyId(sourceOrder.getCompanyId());
+ //支付内容摘要设置
+ Long goodsId = sourceOrder.getItems().get(0).getGoodsId();
+ ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId);
+ flow.setFlowContent(goods.getName() + "等" + sourceOrder.getItems().size() + "件产品");
+ // 若是退款,则取负数
+ if (SysOrder.ORDER_TYPE_REFUND == sourceOrder.getOrderType()) {
+ flow.setFlowType(SysOrderFlow.FLOW_TYPE_REFUND);
+ flow.setAmount(flow.getAmount().negate());
+ flow.setOrderId(sourceOrder.getOldOrderId());
+ } else {
+ flow.setFlowType(SysOrderFlow.FLOW_TYPE_BUY);
+ flow.setOrderId(sourceOrder.getId());
+ }
+ sysOrderFlowDao.insert(flow);
+ flowCount++;
+ }
+ }
+
+
+}
\ No newline at end of file
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 2619287..ce7fac0 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
@@ -24,12 +24,13 @@
import com.matrix.system.common.dao.SysUsersDao;
import com.matrix.system.common.service.OperationLogService;
import com.matrix.system.constance.Dictionary;
+import com.matrix.system.enums.BooleanEnum;
import com.matrix.system.enums.OperationButtonEnum;
import com.matrix.system.enums.OperationFunctionEnum;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.dto.GoodsSealLimitDto;
-import com.matrix.system.hive.dto.OrderItemDto;
+import com.matrix.system.hive.dto.SysOrderItemDto;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.plugin.util.MoneyUtil;
import com.matrix.system.hive.pojo.CzXkVo;
@@ -135,6 +136,14 @@
@Autowired
private OperationLogService operationLogService;
+
+ @Autowired
+ private SysVipInfoService sysVipInfoService;
+
+ @Autowired
+ private SysOrderServiceHelper sysOrderServiceHelper;
+
+
@Override
@@ -517,27 +526,17 @@
@Transactional(rollbackFor = Exception.class)
public void updateReceiptMoney(SysOrder pageOrder) throws GlobleException {
- if (!Dictionary.ORDER_STATU_DFK.equals(pageOrder.getStatu())) {
- throw new GlobleException("该订单已经收过款,请刷新页面再试!");
- }
-
-
+ //校验订单是否满足收款条件
checkOrder(pageOrder);
-
- // 更新收款时间
+ // 更新订单主表信息
updateOrderInfo(pageOrder);
- // 获取用户信息
- SysVipInfo vipInfo = sysVipInfoDao.selectById(pageOrder.getVipId());
- if (SysVipInfo.UNDEAL_VIP == vipInfo.getIsDeal()) {
- //非成交客户下单更新客户为成交客户
- vipInfo.setIsDeal(SysVipInfo.DEAL_VIP);
- sysVipInfoDao.update(vipInfo);
- }
+ // 设置用户为成交客户
+ sysVipInfoService.updateDealStatus(pageOrder.getVipId(), BooleanEnum.TRUE.getValue());
//添加支付流水
- addOrderFlow(pageOrder);
+ sysOrderServiceHelper.addOrderFlow(pageOrder);
// 设置会员充值卡使用情况
addMoneyCardUse(pageOrder);
@@ -556,10 +555,26 @@
//设置会员积分
addVipScore(pageOrder);
-
-
+ //保存订单收款日志
+ saveOrderSkLog(pageOrder);
}
+
+
+ /**
+ * 保存订单收款日志
+ * @param pageOrder
+ */
+ private void saveOrderSkLog(SysOrder pageOrder) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ operationLogService.saveOperation(pageOrder.getCompanyId(), pageOrder.getShopId(), user.getSuId(),
+ OperationFunctionEnum.ORDER,
+ OperationButtonEnum.ORDER_SK,
+ pageOrder.getId(),
+ pageOrder.getOrderNo(),
+ pageOrder.getVipId());
+ }
+
/**
* 付款后更新订单信息
@@ -586,7 +601,14 @@
pageOrder.setCardPay(cardPayAmount.doubleValue());
pageOrder.setCashPay(cashPayAmount.doubleValue());
- //欠款金额在流水处理中处理了
+
+ for (SysOrderFlow flow : pageOrder.getFlows()) {
+ //欠款处理
+ if (SysOrderFlow.PAY_METHOD_ARREARS.equals(flow.getPayMethod())) {
+ pageOrder.setStatu(Dictionary.ORDER_STATU_QK);
+ pageOrder.setArrears(flow.getAmount().doubleValue());
+ }
+ }
double sum = flows.stream().mapToDouble(item -> item.getAmount().doubleValue()).sum();
@@ -597,22 +619,24 @@
sysOrderDao.update(pageOrder);
- //保存单据日志
- operationLogService.saveOperation(pageOrder.getCompanyId(), pageOrder.getShopId(), user.getSuId(),
- OperationFunctionEnum.ORDER,
- OperationButtonEnum.ORDER_SK,
- pageOrder.getId(),
- pageOrder.getOrderNo(),
- pageOrder.getVipId());
+
}
private void checkOrder(SysOrder pageOrder) {
- //检查交易限制调整 jyytodo 测试一下
+
+ SysOrder checkOrder = sysOrderDao.selectById(pageOrder.getId());
+
+ //状态校验
+ if (!Dictionary.ORDER_STATU_DFK.equals(checkOrder.getStatu())) {
+ throw new GlobleException("该订单已经收过款,请刷新页面再试!");
+ }
+
+ //检查交易限制调整
GoodsSealLimitDto goodsSealLimitDto = new GoodsSealLimitDto();
goodsSealLimitDto.setVipId(pageOrder.getVipId());
- goodsSealLimitDto.setOrderItemDtoList(Lists.newArrayList());
+ goodsSealLimitDto.setSysOrderItemDtoList(Lists.newArrayList());
pageOrder.getItems().forEach(e->{
- goodsSealLimitDto.getOrderItemDtoList().add(BeanUtil.copyProperties(e, OrderItemDto.class));
+ goodsSealLimitDto.getSysOrderItemDtoList().add(BeanUtil.copyProperties(e, SysOrderItemDto.class));
});
shoppingGoodsService.checkGoodsSealLimit(goodsSealLimitDto);
@@ -811,59 +835,7 @@
}
}
- /**
- * 创建支付流水
- *
- * @author:姜友瑶
- */
- private void addOrderFlow(SysOrder sourceOrder) {
-
- //处理支付流水
- int flowCount = 1;
- for (SysOrderFlow flow : sourceOrder.getFlows()) {
- //支付内容摘要设置
- Long goodsId = sourceOrder.getItems().get(0).getGoodsId();
- ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId);
- flow.setFlowContent(goods.getName() + "等" + sourceOrder.getItems().size() + "件产品");
- // 若是退款,则取负数
- if (SysOrder.ORDER_TYPE_REFUND == sourceOrder.getOrderType()) {
- flow.setFlowType(SysOrderFlow.FLOW_TYPE_REFUND);
- flow.setAmount(flow.getAmount().negate());
- flow.setOrderId(sourceOrder.getOldOrderId());
- } else {
- flow.setFlowType(SysOrderFlow.FLOW_TYPE_BUY);
- flow.setOrderId(sourceOrder.getId());
- }
-
- //欠款处理
- if (SysOrderFlow.PAY_METHOD_ARREARS.equals(flow.getPayMethod())) {
- sourceOrder.setStatu(Dictionary.ORDER_STATU_QK);
- sourceOrder.setArrears(flow.getAmount().doubleValue());
- sysOrderDao.update(sourceOrder);
- }
-
- //统计储值卡支付
- if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) {
- if (flow.getCardId() != null) {
- MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId());
- //修改储值卡余额
- cardPaySk(moneyCardUse, sourceOrder, flow);
- } else {
- throw new GlobleException("无效的储值卡支付方式");
- }
- }
-
- flow.setFlowNo(codeService.getFlowCode() + "-" + flowCount);
- flow.setVipId(sourceOrder.getVipId());
- flow.setShopId(sourceOrder.getShopId());
- flow.setCompanyId(sourceOrder.getCompanyId());
- sysOrderFlowDao.insert(flow);
- flowCount++;
- }
-
-
- }
/**
@@ -1572,7 +1544,7 @@
order.setFlows(czVo.getFlows());
- addOrderFlow(order);
+ sysOrderServiceHelper.addOrderFlow(order);
// 添加员工业绩
achieveNewService.addAchaeveByOrder(order);
@@ -1666,7 +1638,7 @@
// 添加订单收款流水
- addOrderFlow(sysOrder);
+ sysOrderServiceHelper.addOrderFlow(sysOrder);
//退款退套餐退项目
refundProjUse(sysOrder);
//删除积分
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index 0515e39..9cdcdb4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -82,6 +82,13 @@
@Autowired
private SysOrderDao sysOrderDao;
+ @Override
+ public void updateDealStatus(Long vipId, int isDeal) {
+ SysVipInfo vipInfo = new SysVipInfo();
+ vipInfo.setIsDeal(isDeal);
+ vipInfo.setIsDeal(SysVipInfo.DEAL_VIP);
+ sysVipInfoDao.update(vipInfo);
+ }
/**
* 新增会员储值卡
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
index 42b4adc..06992bf 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -3,7 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.matrix.system.hive.dao.ShoppingGoodsDao">
- <cache readOnly="true"></cache>
+
<resultMap type="ShoppingGoods" id="ShoppingGoodsMap">
<id property="id" column="id" />
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-md-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-md-list.html
index 77b6bba..8211c7b 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-md-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-md-list.html
@@ -54,12 +54,10 @@
</div>
<div class="form-group mr-20">
<label for="staus">状态</label>
- <select class="form-control autoFull" name="staus" nullmsg="状态不能为空" dataType="*" id="staus"
- data-filed="name"
- data-value="name"
- th:data-url="@{/admin/dataDictionary/showDataDictionary}"
- data-param="{type:'项目状态'}">
- <option value=''>请选择项目状态</option>
+ <select class="form-control " name="staus" nullmsg="状态不能为空" dataType="*" id="staus">
+ <option value=''>全部</option>
+ <option value='上架' selected ="selected ">上架</option>
+ <option value=''>下架</option>
</select>
</div>
<div class="form-group mr-20">
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html
index a9e5af4..3e3b309 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html
@@ -55,12 +55,10 @@
</div>
<div class="form-group mr-20">
<label for="staus">状态</label>
- <select class="form-control autoFull" name="staus" nullmsg="状态不能为空" dataType="*" id="staus"
- data-filed="name"
- data-value="name"
- th:data-url="@{/admin/dataDictionary/showDataDictionary}"
- data-param="{type:'项目状态'}">
- <option value=''>请选择项目状态</option>
+ <select class="form-control " name="staus" nullmsg="状态不能为空" dataType="*" id="staus">
+ <option value=''>全部</option>
+ <option value='上架' selected ="selected ">上架</option>
+ <option value=''>下架</option>
</select>
</div>
<div class="form-group mr-20">
--
Gitblit v1.9.1