Browse Source

求购模块-商城现货-立即购买

liusw 8 years ago
parent
commit
7293eb9e16

+ 10 - 1
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -83,6 +83,7 @@ import com.uas.platform.b2c.trade.order.service.PurchaseService;
 import com.uas.platform.b2c.trade.order.status.OrderStatus;
 import com.uas.platform.b2c.trade.order.status.OrderStatus;
 import com.uas.platform.b2c.trade.order.type.ResultMapType;
 import com.uas.platform.b2c.trade.order.type.ResultMapType;
 import com.uas.platform.b2c.trade.presale.dao.TradeBasicPropertiesDao;
 import com.uas.platform.b2c.trade.presale.dao.TradeBasicPropertiesDao;
+import com.uas.platform.b2c.trade.seek.service.SeekPurchaseService;
 import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.util.Preconditions;
 import com.uas.platform.b2c.trade.util.Preconditions;
@@ -221,6 +222,9 @@ public class OrderServiceImpl implements OrderService {
     @Autowired
     @Autowired
     private BillSubmitService billSubmitService;
     private BillSubmitService billSubmitService;
 
 
+    @Autowired
+    private SeekPurchaseService seekPurchaseService;
+
     /**
     /**
      * 保存订单信息
      * 保存订单信息
      *
      *
@@ -776,6 +780,7 @@ public class OrderServiceImpl implements OrderService {
         newOrder.setCreattime(new Date());
         newOrder.setCreattime(new Date());
 
 
         List<Order> orders = new ArrayList<>();
         List<Order> orders = new ArrayList<>();
+        Long spId = order.getSpId();
         for (String storeid : listMap.keySet()) {
         for (String storeid : listMap.keySet()) {
             Order or = new Order();
             Order or = new Order();
             BeanUtils.copyProperties(newOrder, or);
             BeanUtils.copyProperties(newOrder, or);
@@ -798,7 +803,10 @@ public class OrderServiceImpl implements OrderService {
                 transationPrice = NumberUtil.add(transationPrice, orderDetail1.getTransationPrice());
                 transationPrice = NumberUtil.add(transationPrice, orderDetail1.getTransationPrice());
                 uuids.add(orderDetail1.getUuid());
                 uuids.add(orderDetail1.getUuid());
                 qty = NumberUtil.add(qty, orderDetail1.getNumber());
                 qty = NumberUtil.add(qty, orderDetail1.getNumber());
-
+                // 调用修改求购信息
+                if (spId != null) {
+                    seekPurchaseService.confirmSeekPurchase(spId, orderDetail1.getNumber());
+                }
                 newOrderDetails.add(orderDetail1);
                 newOrderDetails.add(orderDetail1);
             }
             }
             /**
             /**
@@ -850,6 +858,7 @@ public class OrderServiceImpl implements OrderService {
             updateOrderBill(or);
             updateOrderBill(or);
             or.setOrderid(createNumberService.generateOrderNumber(EncodingRulesConstant.ORDER, "trade$order", 8));
             or.setOrderid(createNumberService.generateOrderNumber(EncodingRulesConstant.ORDER, "trade$order", 8));
             or.setSendstatus(Status.NOT_UPLOAD.value());// 将订单设置为未下载状态,以便erp下载
             or.setSendstatus(Status.NOT_UPLOAD.value());// 将订单设置为未下载状态,以便erp下载
+
             orders.add(or);
             orders.add(or);
         }
         }
         List<Order> orderList = orderDao.save(orders);
         List<Order> orderList = orderDao.save(orders);

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/seek/controller/SeekPurchaseController.java

@@ -90,7 +90,7 @@ public class SeekPurchaseController {
      * @return 更新后的求购信息
      * @return 更新后的求购信息
      */
      */
     @RequestMapping(value = "/updateSeekPurchaseStatus", method = RequestMethod.PUT)
     @RequestMapping(value = "/updateSeekPurchaseStatus", method = RequestMethod.PUT)
-    public SeekPurchase updateSeekPurchaseStatus(Long spId, Long ofId, Integer purchaseQuantity) {
+    public SeekPurchase updateSeekPurchaseStatus(Long spId, Long ofId, Double purchaseQuantity) {
         logger.log("求购", "采纳报价,求购id:" + spId + ",报价id为" + ofId);
         logger.log("求购", "采纳报价,求购id:" + spId + ",报价id为" + ofId);
         return seekPurchaseService.updateSeekPurchaseStatus(spId, ofId, purchaseQuantity);
         return seekPurchaseService.updateSeekPurchaseStatus(spId, ofId, purchaseQuantity);
     }
     }

+ 3 - 3
src/main/java/com/uas/platform/b2c/trade/seek/model/SeekPurchase.java

@@ -141,7 +141,7 @@ public class SeekPurchase {
      * 已购数量
      * 已购数量
      */
      */
     @Column(name = "sp_boughtAmount")
     @Column(name = "sp_boughtAmount")
-    private Integer boughtAmount;
+    private Double boughtAmount;
 
 
     /**
     /**
      * 剩余时间
      * 剩余时间
@@ -294,11 +294,11 @@ public class SeekPurchase {
         this.releaseDate = releaseDate;
         this.releaseDate = releaseDate;
     }
     }
 
 
-    public Integer getBoughtAmount() {
+    public Double getBoughtAmount() {
         return boughtAmount;
         return boughtAmount;
     }
     }
 
 
-    public void setBoughtAmount(Integer boughtAmount) {
+    public void setBoughtAmount(Double boughtAmount) {
         this.boughtAmount = boughtAmount;
         this.boughtAmount = boughtAmount;
     }
     }
 
 

+ 3 - 4
src/main/java/com/uas/platform/b2c/trade/seek/service/SeekPurchaseService.java

@@ -46,7 +46,7 @@ public interface SeekPurchaseService {
      * @param ofId
      * @param ofId
      * @return
      * @return
      */
      */
-    SeekPurchase updateSeekPurchaseStatus(Long spId, Long ofId, Integer purchaseQuantity);
+    SeekPurchase updateSeekPurchaseStatus(Long spId, Long ofId, Double purchaseQuantity);
 
 
 
 
     /**
     /**
@@ -75,7 +75,6 @@ public interface SeekPurchaseService {
      * 确认付款后 更新求购信息
      * 确认付款后 更新求购信息
      * @param spId
      * @param spId
      * @param purchaseQuantity
      * @param purchaseQuantity
-     * @return
-     */
-    SeekPurchase confirmSeekPurchase(Long spId, Integer purchaseQuantity);
+     * @return     */
+    SeekPurchase confirmSeekPurchase(Long spId, Double purchaseQuantity);
 }
 }

+ 7 - 3
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseServiceImpl.java

@@ -77,6 +77,10 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
             LogicalExpression logicalExpression = PredicateUtils.or(simpleExpressions);
             LogicalExpression logicalExpression = PredicateUtils.or(simpleExpressions);
             pageInfo.expression(logicalExpression);
             pageInfo.expression(logicalExpression);
         }
         }
+        if (pageInfo.getSort() == null) {
+            pageInfo.sorting("releaseDate", Direction.DESC);
+        }
+
         pageInfo.expression(PredicateUtils.gt("deadline", new Date(), false));
         pageInfo.expression(PredicateUtils.gt("deadline", new Date(), false));
         Page<SeekPurchase> pageSeeks = seekPurchasedao.findAll(new Specification<SeekPurchase>() {
         Page<SeekPurchase> pageSeeks = seekPurchasedao.findAll(new Specification<SeekPurchase>() {
             public Predicate toPredicate(Root<SeekPurchase> root, CriteriaQuery<?> query,
             public Predicate toPredicate(Root<SeekPurchase> root, CriteriaQuery<?> query,
@@ -148,7 +152,7 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
     }
     }
 
 
     @Override
     @Override
-    public SeekPurchase updateSeekPurchaseStatus(Long spId, Long ofId, Integer purchaseQuantity) {
+    public SeekPurchase updateSeekPurchaseStatus(Long spId, Long ofId, Double purchaseQuantity) {
         // 修改求购表的报价状态
         // 修改求购表的报价状态
         SeekPurchase seekPurchase = seekPurchasedao.findOne(spId);
         SeekPurchase seekPurchase = seekPurchasedao.findOne(spId);
         seekPurchase.setStatus(Status.ACCEPTED.getValue());
         seekPurchase.setStatus(Status.ACCEPTED.getValue());
@@ -222,11 +226,11 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
     }
     }
 
 
     @Override
     @Override
-    public SeekPurchase confirmSeekPurchase(Long spId, Integer purchaseQuantity) {
+    public SeekPurchase confirmSeekPurchase(Long spId, Double purchaseQuantity) {
         SeekPurchase seekPurchase = seekPurchasedao.findOne(spId);
         SeekPurchase seekPurchase = seekPurchasedao.findOne(spId);
         // 求购数量
         // 求购数量
         Integer amount = seekPurchase.getAmount();
         Integer amount = seekPurchase.getAmount();
-        Integer boughtAmount = seekPurchase.getBoughtAmount() + purchaseQuantity;
+        Double boughtAmount = seekPurchase.getBoughtAmount() + purchaseQuantity;
         if (boughtAmount >= amount) {
         if (boughtAmount >= amount) {
             seekPurchase.setDeadline(new Date(System.currentTimeMillis()));
             seekPurchase.setDeadline(new Date(System.currentTimeMillis()));
         }
         }