/**
|
* 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++;
|
}
|
}
|
|
|
}
|