|
|
@@ -89,7 +89,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
private final double DEFAULT_BROKERAGE_PROPORTION = 0; //佣金比例
|
|
|
private final double DEFAULT_COMMODITY_DISCOUNT = 1; //折扣比例
|
|
|
private final String DEFAULT_COMMODITY_MODE = "NO_MODE"; //暂无规格
|
|
|
- private final String DEFAULT_CREATER = "PLATFORM";//平台方
|
|
|
+
|
|
|
/*
|
|
|
* -------------------------------------------------- APP管理端 --------------------------------------------------------
|
|
|
*/
|
|
|
@@ -132,7 +132,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
BigDecimal discountFirstPayment = commodityFirstPayment.multiply(new BigDecimal(DEFAULT_COMMODITY_DISCOUNT));
|
|
|
TOrder tOrder = new TOrder();
|
|
|
tOrder.setOrderNo(orderNo);
|
|
|
- tOrder.setCreater(DEFAULT_CREATER);
|
|
|
+ tOrder.setCreater(DEFAULT_ADMIN_ID);
|
|
|
tOrder.setCreateTime(DateUtils.parseDate(createTime, AFTConstants.YYYYMMDDHHMMSS));
|
|
|
if(commodityType == CommodityType.DEMAND.getTypeCode()){
|
|
|
tOrder.setBuyerId(StringUtils.isBlank(bo.getSellerId()) ? DEFAULT_PLATFORM_ID : bo.getSellerId());
|
|
|
@@ -1490,7 +1490,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
|
|
|
private String getSalesmanIdByUid(String uid){
|
|
|
User u = userMapper.selectByPrimaryKey(uid);
|
|
|
- if(StringUtils.isBlank(u.getAid())){
|
|
|
+ if(u!=null&&StringUtils.isBlank(u.getAid())){
|
|
|
return u.getAid();
|
|
|
}else{
|
|
|
return DEFAULT_ADMIN_ID;
|
|
|
@@ -1533,4 +1533,68 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
tOrder.setUpdateTime(new Date());
|
|
|
return tOrderMapper.updateByPrimaryKeySelective(tOrder);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * PC端添加意向
|
|
|
+ * 只能购买一份
|
|
|
+ * 后期规则:自营服务订单 、需求订单、其他订单不能同时加入购物车
|
|
|
+ * @throws ParseException
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int addPurpose(String orderNo, String commodityId, String commodityMode, Integer commodityQuantity,Integer commodityType,
|
|
|
+ String createTime,String remarks) throws ParseException {
|
|
|
+ CommodityDetailBo bo = tOrderMapper.selectCommodityDetail(commodityId,commodityType);
|
|
|
+ BigDecimal commodityPrice = StringUtils.isBlank(bo.getCommodityPrice()) ? DEFAULT_COMMODITY_PRICE
|
|
|
+ : new BigDecimal(Double.valueOf(bo.getCommodityPrice()));
|
|
|
+ BigDecimal commodityFirstPayment = StringUtils.isBlank(bo.getCommodityFirstPayment()) ? DEFAULT_FIRST_PAYMENT
|
|
|
+ : new BigDecimal(Double.valueOf(bo.getCommodityFirstPayment()));
|
|
|
+ BigDecimal discountPrice = commodityPrice.multiply(new BigDecimal(DEFAULT_COMMODITY_DISCOUNT));
|
|
|
+ BigDecimal discountFirstPayment = commodityFirstPayment.multiply(new BigDecimal(DEFAULT_COMMODITY_DISCOUNT));
|
|
|
+ TOrder tOrder = new TOrder();
|
|
|
+ tOrder.setOrderNo(orderNo);
|
|
|
+ tOrder.setCreater(DEFAULT_ADMIN_ID);
|
|
|
+ tOrder.setCreateTime(DateUtils.parseDate(createTime, AFTConstants.YYYYMMDDHHMMSS));
|
|
|
+ if(commodityType == CommodityType.DEMAND.getTypeCode()){
|
|
|
+ tOrder.setBuyerId(StringUtils.isBlank(bo.getSellerId()) ? DEFAULT_PLATFORM_ID : bo.getSellerId());
|
|
|
+ tOrder.setSellerId(TokenManager.getUserId());
|
|
|
+ }else{
|
|
|
+ tOrder.setBuyerId(TokenManager.getUserId());
|
|
|
+ //tOrder.setBuyerId("123");
|
|
|
+ tOrder.setSellerId(StringUtils.isBlank(bo.getSellerId()) ? DEFAULT_PLATFORM_ID : bo.getSellerId());
|
|
|
+ }
|
|
|
+ tOrder.setOrderType(commodityType);
|
|
|
+ tOrder.setBrokerageAmount(discountPrice.multiply(new BigDecimal(DEFAULT_BROKERAGE_PROPORTION)));
|
|
|
+ tOrder.setOrderAmount(commodityPrice);
|
|
|
+ tOrder.setFirstPayment(commodityFirstPayment);
|
|
|
+ tOrder.setSignTotalAmount(discountPrice);
|
|
|
+ tOrder.setSignFirstPayment(discountFirstPayment);
|
|
|
+ tOrder.setSignBrokerageAmount(discountPrice.multiply(new BigDecimal(DEFAULT_BROKERAGE_PROPORTION)));
|
|
|
+ tOrder.setSignWithdrawAmount(discountPrice.subtract(discountPrice.multiply(new BigDecimal(DEFAULT_BROKERAGE_PROPORTION))));
|
|
|
+ tOrder.setDeleteSign(DeleteStatus.UNDELETE.getCode());
|
|
|
+ tOrder.setOrderChannel(OrderChannel.PORTAL.getCode());
|
|
|
+ tOrder.setApproval(ApprovalState.NORMAL.getCode());
|
|
|
+
|
|
|
+ tOrder.setSalesmanId(getSalesmanIdByUid(TokenManager.getAdminId()));
|
|
|
+
|
|
|
+ tOrder.setOrderRemarks(remarks);
|
|
|
+ tOrder.setContractType(bo.getCommodityClassify());
|
|
|
+ setOrderState(OrderAction.ADD_INTENTION, new BigDecimal(0), tOrder, false);
|
|
|
+
|
|
|
+ TOrderDetail tOrderDetail = new TOrderDetail();
|
|
|
+ tOrderDetail.setId(UUID.randomUUID().toString());
|
|
|
+ tOrderDetail.setOrderNo(orderNo);
|
|
|
+ tOrderDetail.setCommodityId(commodityId);
|
|
|
+ tOrderDetail.setCommodityName(bo.getCommodityName());
|
|
|
+ tOrderDetail.setCommodityMode(StringUtils.isBlank(commodityMode)?DEFAULT_COMMODITY_MODE: commodityMode);
|
|
|
+ tOrderDetail.setCommodityType(commodityType);
|
|
|
+ tOrderDetail.setCommodityQuantity(commodityQuantity);
|
|
|
+ tOrderDetail.setCommodityPrice(commodityPrice);
|
|
|
+ tOrderDetail.setCommodityFirstPayment(commodityFirstPayment);
|
|
|
+ tOrderDetail.setDiscountPrice(discountPrice);
|
|
|
+ tOrderDetail.setDiscountFirstPayment(discountFirstPayment);
|
|
|
+ tOrderDetail.setCreateTime(DateUtils.parseDate(createTime, AFTConstants.YYYYMMDDHHMMSS));
|
|
|
+ tOrderDetailMapper.insert(tOrderDetail);
|
|
|
+ tOrderMapper.insert(tOrder);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
}
|