package com.salesmanager.shop.store.controller.order.facade;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import javax.inject.Inject;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;
import com.salesmanager.core.business.constants.Constants;
import com.salesmanager.core.business.exception.ConversionException;
import com.salesmanager.core.business.exception.ServiceException;
import com.salesmanager.core.business.services.catalog.pricing.PricingService;
import com.salesmanager.core.business.services.catalog.product.ProductService;
import com.salesmanager.core.business.services.catalog.product.attribute.ProductAttributeService;
import com.salesmanager.core.business.services.catalog.product.file.DigitalProductService;
import com.salesmanager.core.business.services.order.OrderService;
import com.salesmanager.core.business.services.payments.PaymentService;
import com.salesmanager.core.business.services.payments.TransactionService;
import com.salesmanager.core.business.services.reference.country.CountryService;
import com.salesmanager.core.business.services.reference.zone.ZoneService;
import com.salesmanager.core.business.services.shipping.ShippingQuoteService;
import com.salesmanager.core.business.services.shipping.ShippingService;
import com.salesmanager.core.business.services.shoppingcart.ShoppingCartService;
import com.salesmanager.core.business.utils.CoreConfiguration;
import com.salesmanager.core.business.utils.CreditCardUtils;
import com.salesmanager.core.business.utils.ProductPriceUtils;
import com.salesmanager.core.model.catalog.product.Product;
import com.salesmanager.core.model.catalog.product.availability.ProductAvailability;
import com.salesmanager.core.model.common.Billing;
import com.salesmanager.core.model.common.Delivery;
import com.salesmanager.core.model.customer.Customer;
import com.salesmanager.core.model.merchant.MerchantStore;
import com.salesmanager.core.model.order.Order;
import com.salesmanager.core.model.order.OrderCriteria;
import com.salesmanager.core.model.order.OrderList;
import com.salesmanager.core.model.order.OrderSummary;
import com.salesmanager.core.model.order.OrderTotalSummary;
import com.salesmanager.core.model.order.attributes.OrderAttribute;
import com.salesmanager.core.model.order.orderproduct.OrderProduct;
import com.salesmanager.core.model.order.orderstatus.OrderStatus;
import com.salesmanager.core.model.order.orderstatus.OrderStatusHistory;
import com.salesmanager.core.model.order.payment.CreditCard;
import com.salesmanager.core.model.payments.CreditCardPayment;
import com.salesmanager.core.model.payments.CreditCardType;
import com.salesmanager.core.model.payments.Payment;
import com.salesmanager.core.model.payments.PaymentType;
import com.salesmanager.core.model.payments.Transaction;
import com.salesmanager.core.model.payments.TransactionType;
import com.salesmanager.core.model.reference.country.Country;
import com.salesmanager.core.model.reference.language.Language;
import com.salesmanager.core.model.shipping.ShippingProduct;
import com.salesmanager.core.model.shipping.ShippingQuote;
import com.salesmanager.core.model.shipping.ShippingSummary;
import com.salesmanager.core.model.shoppingcart.ShoppingCart;
import com.salesmanager.core.model.shoppingcart.ShoppingCartItem;
import com.salesmanager.shop.model.customer.PersistableCustomer;
import com.salesmanager.shop.model.customer.ReadableCustomer;
import com.salesmanager.shop.model.customer.address.Address;
import com.salesmanager.shop.model.order.OrderEntity;
import com.salesmanager.shop.model.order.PersistableOrderProduct;
import com.salesmanager.shop.model.order.ReadableOrderProduct;
import com.salesmanager.shop.model.order.ShopOrder;
import com.salesmanager.shop.model.order.history.PersistableOrderStatusHistory;
import com.salesmanager.shop.model.order.history.ReadableOrderStatusHistory;
import com.salesmanager.shop.model.order.total.OrderTotal;
import com.salesmanager.shop.model.order.transaction.ReadableTransaction;
import com.salesmanager.shop.populator.customer.CustomerPopulator;
import com.salesmanager.shop.populator.customer.PersistableCustomerPopulator;
import com.salesmanager.shop.populator.order.OrderProductPopulator;
import com.salesmanager.shop.populator.order.PersistableOrderApiPopulator;
import com.salesmanager.shop.populator.order.ReadableOrderPopulator;
import com.salesmanager.shop.populator.order.ReadableOrderProductPopulator;
import com.salesmanager.shop.populator.order.ShoppingCartItemPopulator;
import com.salesmanager.shop.populator.order.transaction.PersistablePaymentPopulator;
import com.salesmanager.shop.populator.order.transaction.ReadableTransactionPopulator;
import com.salesmanager.shop.store.api.exception.ResourceNotFoundException;
import com.salesmanager.shop.store.api.exception.ServiceRuntimeException;
import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
import com.salesmanager.shop.store.controller.shoppingCart.facade.ShoppingCartFacade;
import com.salesmanager.shop.utils.DateUtil;
import com.salesmanager.shop.utils.EmailTemplatesUtils;
import com.salesmanager.shop.utils.ImageFilePath;
import com.salesmanager.shop.utils.LabelUtils;
import com.salesmanager.shop.utils.LocaleUtils;
@Service("orderFacade")
public class OrderFacadeImpl implements OrderFacade {
private static final Logger LOGGER = LoggerFactory.getLogger(OrderFacadeImpl.class);
@Inject
private OrderService orderService;
@Inject
private ProductService productService;
@Inject
private ProductAttributeService productAttributeService;
@Inject
private ShoppingCartService shoppingCartService;
@Inject
private DigitalProductService digitalProductService;
@Inject
private ShippingService shippingService;
@Inject
private CustomerFacade customerFacade;
@Inject
private PricingService pricingService;
@Inject
private ShoppingCartFacade shoppingCartFacade;
@Inject
private ShippingQuoteService shippingQuoteService;
@Inject
private CoreConfiguration coreConfiguration;
@Inject
private PaymentService paymentService;
@Inject
private CountryService countryService;
@Inject
private ZoneService zoneService;
@Autowired
private PersistableOrderApiPopulator persistableOrderApiPopulator;
@Autowired
private ReadableOrderPopulator readableOrderPopulator;
@Autowired
private CustomerPopulator customerPopulator;
@Autowired
private TransactionService transactionService;
@Inject
private EmailTemplatesUtils emailTemplatesUtils;
@Inject
private LabelUtils messages;
@Autowired
private ProductPriceUtils productPriceUtils;
@Inject
@Qualifier("img")
private ImageFilePath imageUtils;
@Override
public ShopOrder initializeOrder(MerchantStore store, Customer customer, ShoppingCart shoppingCart,
Language language) throws Exception {
// assert not null shopping cart items
ShopOrder order = new ShopOrder();
OrderStatus orderStatus = OrderStatus.ORDERED;
order.setOrderStatus(orderStatus);
if (customer == null) {
customer = this.initEmptyCustomer(store);
}
PersistableCustomer
没有合适的资源?快使用搜索试试~ 我知道了~
Shopizer java e-commerce software.zip
共1342个文件
java:1210个
properties:43个
ftl:20个
需积分: 1 0 下载量 19 浏览量
2024-02-28
21:25:15
上传
评论
收藏 36.27MB ZIP 举报
温馨提示
Shopizer java e-commerce software.zip
资源推荐
资源详情
资源评论
收起资源包目录
Shopizer java e-commerce software.zip (1342个子文件)
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
StoreRepository.dat 7.28MB
DownlaodRepository.dat 388KB
FilesRepository.dat 162B
SALESMANAGER.h2.db 1.73MB
SALESMANAGER.trace.db 488B
Dockerfile 203B
.dockerignore 0B
ShippingDecision.drl 767B
PriceByDistance2.drl 709B
PriceByDistance.drl 538B
PromoCoupon.drl 414B
email_template_marketing.ftl 19KB
email_template_checkout.ftl 8KB
email_template_customer_confirm_emil.ftl 7KB
email_template_user_confirm_emil.ftl 7KB
email_template_customer.ftl 7KB
email_template_password_reset_customer.ftl 7KB
email_template_contact.ftl 7KB
email_template_password_reset_request_customer.ftl 7KB
email_template_checkout_download.ftl 7KB
email_template_order_status.ftl 7KB
email_template_password_reset_request_user.ftl 7KB
email_template_notification.ftl 7KB
email_template_new_user.ftl 2KB
email_template_sentinvoice.ftl 2KB
email_template_password_reset_user.ftl 2KB
email_template_new_review.ftl 2KB
email_template_new_store.ftl 2KB
email_template_user_password_link.ftl 1KB
email_template_lowstock.ftl 1KB
email_template_outofstock.ftl 1KB
.gitignore 476B
.gitignore 70B
.gitignore 49B
.gitignore 9B
.gitignore 9B
favicon.ico 5KB
OrderFacadeImpl.java 61KB
ShoppingCartFacadeImpl.java 40KB
CustomerFacadeImpl.java 40KB
ProductRepositoryImpl.java 39KB
ContentFacadeImpl.java 33KB
ShippingServiceImpl.java 32KB
UserFacadeImpl.java 30KB
PayPalExpressCheckoutPayment.java 29KB
ReadableProductPopulator.java 28KB
ReadableProductMapper.java 26KB
OrderServiceImpl.java 25KB
PaymentServiceImpl.java 25KB
BeanStreamPayment.java 25KB
EmailTemplatesUtils.java 24KB
USPSShippingQuote.java 23KB
ProductTest.java 23KB
UPSShippingQuote.java 22KB
Stripe3Payment.java 21KB
ProductPriceUtils.java 21KB
ContentApi.java 21KB
CategoryFacadeImpl.java 20KB
StripePayment.java 20KB
ProductApi.java 19KB
InvoiceTest.java 19KB
ProductOptionFacadeImpl.java 19KB
StoreFacadeImpl.java 19KB
OrderApi.java 18KB
ContentServiceImpl.java 18KB
ProductAttributeOptionApi.java 17KB
BraintreePayment.java 17KB
ShoppingCartServiceImpl.java 16KB
InitializationDatabaseImpl.java 16KB
SearchServiceImpl.java 16KB
CategoryManagementAPIIntegrationTest.java 16KB
MerchantStoreApi.java 15KB
ProductCommonFacadeImpl.java 15KB
CmsStaticContentFileManagerImpl.java 14KB
CmsStaticContentFileManagerImpl.java 14KB
ProductManagementAPIIntegrationTest.java 14KB
OrderTest.java 14KB
TaxFacadeImpl.java 14KB
ProductNextGenTest.java 14KB
ShippingFacadeImpl.java 13KB
ShoppingCartApi.java 13KB
OrderPaymentApi.java 13KB
ShippingConfigurationApi.java 13KB
Product.java 13KB
MultipleEntryPointsSecurityConfig.java 13KB
ProductServiceImpl.java 13KB
CmsImageFileManagerImpl.java 12KB
CategoryServiceImpl.java 12KB
ProductFileManagerImpl.java 12KB
ReadableShoppingCartMapper.java 12KB
UserApi.java 12KB
DefaultPackagingImpl.java 12KB
ODSInvoiceModule.java 12KB
SchemaConstant.java 11KB
共 1342 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
日刷百题
- 粉丝: 5571
- 资源: 951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功