|
@@ -78,6 +78,8 @@ public class WebsitSalesLogic {
|
|
WorkerGoodsRelaService workerGoodsRelaService;
|
|
WorkerGoodsRelaService workerGoodsRelaService;
|
|
@Resource
|
|
@Resource
|
|
WorkerGoodsService workerGoodsService;
|
|
WorkerGoodsService workerGoodsService;
|
|
|
|
+ @Resource
|
|
|
|
+ WebsitStockService websitStockService;
|
|
|
|
|
|
public IPage<SalesOrderBean> buyList(String flag, Integer pageNum, Integer pageSize, HttpServletRequest request) {
|
|
public IPage<SalesOrderBean> buyList(String flag, Integer pageNum, Integer pageSize, HttpServletRequest request) {
|
|
CurrentCompanyWechat wechat = commonLogic.getCurrentCompanyWechat(request);
|
|
CurrentCompanyWechat wechat = commonLogic.getCurrentCompanyWechat(request);
|
|
@@ -407,6 +409,18 @@ public class WebsitSalesLogic {
|
|
|
|
|
|
List<WebsitShoppingCartList> shoppingCartLists = this.queryShoppingCart(wechat.getUserId(), websitId, goodsType);
|
|
List<WebsitShoppingCartList> shoppingCartLists = this.queryShoppingCart(wechat.getUserId(), websitId, goodsType);
|
|
|
|
|
|
|
|
+ final List<WebsitStock> websitStockList = websitStockService.lambdaQuery()
|
|
|
|
+ .eq(WebsitStock::getCompanyWechatId, wechat.getCompanyWechatId())
|
|
|
|
+ .eq(WebsitStock::getWebsitId, websitId)
|
|
|
|
+ .eq(WebsitStock::getGoodsType, WebsitGoodsTypeEnum.M.toString())
|
|
|
|
+ .in(WebsitStock::getGoodsId, shoppingCartLists.stream()
|
|
|
|
+ .map(WebsitShoppingCartList::getGoodsId)
|
|
|
|
+ .collect(Collectors.toList()))
|
|
|
|
+ .list();
|
|
|
|
+
|
|
|
|
+ final Map<String, WebsitStock> stockMap = websitStockList.stream()
|
|
|
|
+ .collect(Collectors.toMap(WebsitStock::getGoodsId, Function.identity()));
|
|
|
|
+
|
|
//订单
|
|
//订单
|
|
WebsitSales sales = new WebsitSales();
|
|
WebsitSales sales = new WebsitSales();
|
|
|
|
|
|
@@ -430,6 +444,14 @@ public class WebsitSalesLogic {
|
|
String salesId = commonLogic.generateNo("X" + goodsType, "SalesOrder" + goodsType, 15);
|
|
String salesId = commonLogic.generateNo("X" + goodsType, "SalesOrder" + goodsType, 15);
|
|
//新增订单详情
|
|
//新增订单详情
|
|
for (WebsitShoppingCartList bean : shoppingCartLists) {
|
|
for (WebsitShoppingCartList bean : shoppingCartLists) {
|
|
|
|
+ final WebsitStock stock = stockMap.get(bean.getGoodsId());
|
|
|
|
+ if (Objects.isNull(stock)) {
|
|
|
|
+ throw new RemoteServiceException(bean.getGoodsName() + "库存数量为0");
|
|
|
|
+ }
|
|
|
|
+ if (bean.getSalesQty().compareTo(stock.getQty()) > 0) {
|
|
|
|
+ throw new RemoteServiceException(bean.getGoodsName() + "销售数量不能大于库存数量" + stock.getQty());
|
|
|
|
+ }
|
|
|
|
+
|
|
WebsitSalesItem detail = new WebsitSalesItem();
|
|
WebsitSalesItem detail = new WebsitSalesItem();
|
|
detail.setSalesId(salesId);
|
|
detail.setSalesId(salesId);
|
|
detail.setCompanyWechatId(bean.getCompanyWechatId());
|
|
detail.setCompanyWechatId(bean.getCompanyWechatId());
|