|
@@ -11,18 +11,17 @@ import com.caimei.mapper.products.HomePageMapper;
|
|
import com.caimei.mapper.products.OrganizeProductsMapper;
|
|
import com.caimei.mapper.products.OrganizeProductsMapper;
|
|
import com.caimei.mapper.products.ShoppingMapper;
|
|
import com.caimei.mapper.products.ShoppingMapper;
|
|
import com.caimei.mapper.user.CmMallAddressMapper;
|
|
import com.caimei.mapper.user.CmMallAddressMapper;
|
|
|
|
+import com.caimei.mapper.user.CmMallUserMapper;
|
|
import com.caimei.mapper.user.LoginMapper;
|
|
import com.caimei.mapper.user.LoginMapper;
|
|
import com.caimei.mapper.user.PersonalMapper;
|
|
import com.caimei.mapper.user.PersonalMapper;
|
|
-import com.caimei.mapper.user.CmMallUserMapper;
|
|
|
|
-import com.caimei.entity.CmMallOrganizeProducts;
|
|
|
|
-import com.caimei.entity.CmMallProduct;
|
|
|
|
-import com.caimei.entity.CmMallShop;
|
|
|
|
|
|
+import com.caimei.module.base.entity.vo.DiscernReceiptVo;
|
|
|
|
+import com.caimei.module.base.entity.vo.OrderRelationVo;
|
|
|
|
+import com.caimei.module.pay.dao.PayDao;
|
|
import com.caimei.service.order.OrderService;
|
|
import com.caimei.service.order.OrderService;
|
|
import com.caimei.utils.AppUtils;
|
|
import com.caimei.utils.AppUtils;
|
|
import com.caimei.utils.MathUtil;
|
|
import com.caimei.utils.MathUtil;
|
|
import com.caimei.utils.NoUtils;
|
|
import com.caimei.utils.NoUtils;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
-import com.github.pagehelper.util.StringUtil;
|
|
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -33,6 +32,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -65,6 +65,8 @@ public class OrderServiceImpl implements OrderService {
|
|
private ShoppingMapper shoppingMapper;
|
|
private ShoppingMapper shoppingMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private DetailsMapper detailsMapper;
|
|
private DetailsMapper detailsMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private PayDao payDao;
|
|
|
|
|
|
@Value("${miniprogram.domain}")
|
|
@Value("${miniprogram.domain}")
|
|
private String domain;
|
|
private String domain;
|
|
@@ -94,13 +96,13 @@ public class OrderServiceImpl implements OrderService {
|
|
productsList = orderMapper.findAllCommodity(params);
|
|
productsList = orderMapper.findAllCommodity(params);
|
|
for (CmMallOrganizeProducts products : productsList) {
|
|
for (CmMallOrganizeProducts products : productsList) {
|
|
products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain));
|
|
products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain));
|
|
- if(StringUtils.equals("1",products.getLadderPriceFlag())){//阶梯价格
|
|
|
|
|
|
+ if (StringUtils.equals("1", products.getLadderPriceFlag())) {//阶梯价格
|
|
List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(products.getId());
|
|
List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(products.getId());
|
|
//更加商品购买数量获取商品对应阶梯价格
|
|
//更加商品购买数量获取商品对应阶梯价格
|
|
retailPrice = getLadderPrice(products.getProductCount(), ladderPriceList);
|
|
retailPrice = getLadderPrice(products.getProductCount(), ladderPriceList);
|
|
totalPrice += retailPrice * products.getProductCount();
|
|
totalPrice += retailPrice * products.getProductCount();
|
|
products.setRetailPrice(retailPrice);//重置阶梯价格售价
|
|
products.setRetailPrice(retailPrice);//重置阶梯价格售价
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
totalPrice += products.getRetailPrice() * products.getProductCount();
|
|
totalPrice += products.getRetailPrice() * products.getProductCount();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -109,13 +111,13 @@ public class OrderServiceImpl implements OrderService {
|
|
CmMallOrganizeProducts products = orderMapper.findCommodity(productIDs, cmMallShop.getShopID());
|
|
CmMallOrganizeProducts products = orderMapper.findCommodity(productIDs, cmMallShop.getShopID());
|
|
products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain));
|
|
products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain));
|
|
products.setProductCount(count);
|
|
products.setProductCount(count);
|
|
- if(StringUtils.equals("1",products.getLadderPriceFlag())){//阶梯价格
|
|
|
|
|
|
+ if (StringUtils.equals("1", products.getLadderPriceFlag())) {//阶梯价格
|
|
List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(products.getId());
|
|
List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(products.getId());
|
|
//更加商品购买数量获取商品对应阶梯价格
|
|
//更加商品购买数量获取商品对应阶梯价格
|
|
retailPrice = getLadderPrice(products.getProductCount(), ladderPriceList);
|
|
retailPrice = getLadderPrice(products.getProductCount(), ladderPriceList);
|
|
totalPrice = retailPrice * products.getProductCount();
|
|
totalPrice = retailPrice * products.getProductCount();
|
|
products.setRetailPrice(retailPrice);//重置阶梯价格售价
|
|
products.setRetailPrice(retailPrice);//重置阶梯价格售价
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
totalPrice = products.getRetailPrice() * products.getProductCount();
|
|
totalPrice = products.getRetailPrice() * products.getProductCount();
|
|
}
|
|
}
|
|
productsList.add(products);
|
|
productsList.add(products);
|
|
@@ -245,13 +247,13 @@ public class OrderServiceImpl implements OrderService {
|
|
if (order == null) throw new Exception("该订单已删除");
|
|
if (order == null) throw new Exception("该订单已删除");
|
|
order.setOrderMark("#" + order.getOrderID() + "#");
|
|
order.setOrderMark("#" + order.getOrderID() + "#");
|
|
//111,待付待收待发
|
|
//111,待付待收待发
|
|
- if (order.getStatus().equals(11) && order.getPayStatus().equals("1")) {
|
|
|
|
- order.setStatus(111);
|
|
|
|
|
|
+ if ("11".equals(order.getStatus()) && "1".equals(order.getPayStatus())) {
|
|
|
|
+ order.setStatus("111");
|
|
}
|
|
}
|
|
//判断交易全退情况下,是否发过货,77,交易全退可以查看物流
|
|
//判断交易全退情况下,是否发过货,77,交易全退可以查看物流
|
|
List<CmMallLogisticsBatch> batchList = orderMapper.findLogistics(orderID);
|
|
List<CmMallLogisticsBatch> batchList = orderMapper.findLogistics(orderID);
|
|
- if (order.getStatus().equals(7) && batchList != null && batchList.size() > 0) {
|
|
|
|
- order.setStatus(77);
|
|
|
|
|
|
+ if ("7".equals(order.getStatus()) && batchList != null && batchList.size() > 0) {
|
|
|
|
+ order.setStatus("77");
|
|
}
|
|
}
|
|
//商品信息
|
|
//商品信息
|
|
String[] ShopOrderIDs = {};
|
|
String[] ShopOrderIDs = {};
|
|
@@ -279,18 +281,27 @@ public class OrderServiceImpl implements OrderService {
|
|
receiptAmount += discernReceipt.getAssociateAmount();
|
|
receiptAmount += discernReceipt.getAssociateAmount();
|
|
}
|
|
}
|
|
//支付总金额
|
|
//支付总金额
|
|
- order.setReceiptAmount(receiptAmount);
|
|
|
|
|
|
+ order.setReceiptAmount(BigDecimal.valueOf(receiptAmount));
|
|
}
|
|
}
|
|
//退款记录
|
|
//退款记录
|
|
- List<CmMallReturnedPurchase> returnedPurchaseList = orderMapper.findReturnedPurchase(order.getOrderID());
|
|
|
|
|
|
+ List<CmMallReturnedPurchase> returnedPurchaseList = orderMapper.findReturnedPurchase(order.getOrderID().intValue());
|
|
if (returnedPurchaseList != null && returnedPurchaseList.size() > 0) {
|
|
if (returnedPurchaseList != null && returnedPurchaseList.size() > 0) {
|
|
Double returnedPurchaseFee = 0d;
|
|
Double returnedPurchaseFee = 0d;
|
|
for (CmMallReturnedPurchase returnedPurchase : returnedPurchaseList) {
|
|
for (CmMallReturnedPurchase returnedPurchase : returnedPurchaseList) {
|
|
returnedPurchaseFee += returnedPurchase.getRefundFee();
|
|
returnedPurchaseFee += returnedPurchase.getRefundFee();
|
|
}
|
|
}
|
|
//退款总金额
|
|
//退款总金额
|
|
- order.setReturnedPurchaseFee(returnedPurchaseFee);
|
|
|
|
|
|
+ order.setReturnedPurchaseFee(BigDecimal.valueOf(returnedPurchaseFee));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //判断是否可以走线上支付
|
|
|
|
+ DiscernReceiptVo discernReceipt = orderMapper.findOfflinePayment(orderID);
|
|
|
|
+ if (null == discernReceipt) {
|
|
|
|
+ order.setOnlinePayFlag("0");
|
|
|
|
+ } else {
|
|
|
|
+ order.setOnlinePayFlag("1");
|
|
|
|
+ }
|
|
|
|
+
|
|
//客服热线号码
|
|
//客服热线号码
|
|
String cellPhone = loginMapper.cellPhone(order.getOrganizeID());
|
|
String cellPhone = loginMapper.cellPhone(order.getOrganizeID());
|
|
//分享码
|
|
//分享码
|
|
@@ -432,16 +443,16 @@ public class OrderServiceImpl implements OrderService {
|
|
Double retailPrice = 0d;//售价
|
|
Double retailPrice = 0d;//售价
|
|
// Integer classifyID = cmMallOrganizeProducts.getClassifyID();
|
|
// Integer classifyID = cmMallOrganizeProducts.getClassifyID();
|
|
|
|
|
|
- if(StringUtils.equals("1",cmMallOrganizeProducts.getLadderPriceFlag())){
|
|
|
|
|
|
+ if (StringUtils.equals("1", cmMallOrganizeProducts.getLadderPriceFlag())) {
|
|
List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(productId);
|
|
List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(productId);
|
|
//判断阶梯价格的购买数量校验
|
|
//判断阶梯价格的购买数量校验
|
|
Integer minBuyNumber = getMinBuyNumber(ladderPriceList);
|
|
Integer minBuyNumber = getMinBuyNumber(ladderPriceList);
|
|
- if(productNum < minBuyNumber){
|
|
|
|
|
|
+ if (productNum < minBuyNumber) {
|
|
return cmWxJsonModel.error("-1", "商品购买量低于最小起订量");
|
|
return cmWxJsonModel.error("-1", "商品购买量低于最小起订量");
|
|
}
|
|
}
|
|
//更加商品购买数量获取商品对应阶梯价格
|
|
//更加商品购买数量获取商品对应阶梯价格
|
|
retailPrice = getLadderPrice(productNum, ladderPriceList);
|
|
retailPrice = getLadderPrice(productNum, ladderPriceList);
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
retailPrice = cmMallOrganizeProducts.getRetailPrice();
|
|
retailPrice = cmMallOrganizeProducts.getRetailPrice();
|
|
}
|
|
}
|
|
double productFee = retailPrice * productNum;//单个商品的金额
|
|
double productFee = retailPrice * productNum;//单个商品的金额
|
|
@@ -510,25 +521,25 @@ public class OrderServiceImpl implements OrderService {
|
|
if (isIncludedInstruments) {//包括仪器
|
|
if (isIncludedInstruments) {//包括仪器
|
|
if (isIncludedProduct && null != cmMallFreePostageCard) {//包含商品且有包邮卡
|
|
if (isIncludedProduct && null != cmMallFreePostageCard) {//包含商品且有包邮卡
|
|
cmMallOrder.setFreePostFlag("-2");//免邮标志:-1到付,0包邮,1需要运费,-2仪器到付其它包邮【小程序只存在-1,0,-2】
|
|
cmMallOrder.setFreePostFlag("-2");//免邮标志:-1到付,0包邮,1需要运费,-2仪器到付其它包邮【小程序只存在-1,0,-2】
|
|
- cmMallOrder.setFreight(-2d);
|
|
|
|
|
|
+ cmMallOrder.setFreight(BigDecimal.valueOf(-2));
|
|
} else {//(1包含商品无包邮卡,2不包含商品)
|
|
} else {//(1包含商品无包邮卡,2不包含商品)
|
|
cmMallOrder.setFreePostFlag("-1");
|
|
cmMallOrder.setFreePostFlag("-1");
|
|
- cmMallOrder.setFreight(-1d);
|
|
|
|
|
|
+ cmMallOrder.setFreight(BigDecimal.valueOf(-1));
|
|
}
|
|
}
|
|
} else {//不包括仪器
|
|
} else {//不包括仪器
|
|
if (isIncludedProduct && null != cmMallFreePostageCard) {//无仪器包含商品且有包邮卡
|
|
if (isIncludedProduct && null != cmMallFreePostageCard) {//无仪器包含商品且有包邮卡
|
|
cmMallOrder.setFreePostFlag("0");//免邮标志:-1到付,0包邮,1需要运费,-2仪器到付其它包邮【小程序只存在-1,0,-2】
|
|
cmMallOrder.setFreePostFlag("0");//免邮标志:-1到付,0包邮,1需要运费,-2仪器到付其它包邮【小程序只存在-1,0,-2】
|
|
- cmMallOrder.setFreight(0d);
|
|
|
|
|
|
+ cmMallOrder.setFreight(BigDecimal.valueOf(0));
|
|
} else {//(1无仪器包含商品无包邮卡)
|
|
} else {//(1无仪器包含商品无包邮卡)
|
|
cmMallOrder.setFreePostFlag("-1");
|
|
cmMallOrder.setFreePostFlag("-1");
|
|
- cmMallOrder.setFreight(-1d);
|
|
|
|
|
|
+ cmMallOrder.setFreight(BigDecimal.valueOf(-1));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**统计订单应付总金额*/
|
|
/**统计订单应付总金额*/
|
|
payTotalFee = productTotalFee;
|
|
payTotalFee = productTotalFee;
|
|
BigDecimal bdPayTotalFee = new BigDecimal(payTotalFee);
|
|
BigDecimal bdPayTotalFee = new BigDecimal(payTotalFee);
|
|
- cmMallOrder.setStatus(11);//待收款待发货(设置初始化状态)
|
|
|
|
|
|
+ cmMallOrder.setStatus("11");//待收款待发货(设置初始化状态)
|
|
cmMallOrder.setReceiptStatus("1");//(收款买家)收款状态:1待收款、2部分收款、3已收款(设置初始化状态)
|
|
cmMallOrder.setReceiptStatus("1");//(收款买家)收款状态:1待收款、2部分收款、3已收款(设置初始化状态)
|
|
cmMallOrder.setPayFlag("0");//是否已支付 未支付0 已支付1(设置初始化状态)
|
|
cmMallOrder.setPayFlag("0");//是否已支付 未支付0 已支付1(设置初始化状态)
|
|
|
|
|
|
@@ -548,7 +559,7 @@ public class OrderServiceImpl implements OrderService {
|
|
cmMallUser.setAbleUserMoney(new BigDecimal(0));//余额抵扣用完
|
|
cmMallUser.setAbleUserMoney(new BigDecimal(0));//余额抵扣用完
|
|
cmMallUserMapper.updateUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateAbleUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateAbleUserMoney(cmMallUser);
|
|
- cmMallOrder.setStatus(21);//部收款待发货
|
|
|
|
|
|
+ cmMallOrder.setStatus("21");//部收款待发货
|
|
cmMallOrder.setReceiptStatus("2");
|
|
cmMallOrder.setReceiptStatus("2");
|
|
} else if (payTotalFee < userMoney) {//全部用余额抵扣,无需直接,直接变成支付完成
|
|
} else if (payTotalFee < userMoney) {//全部用余额抵扣,无需直接,直接变成支付完成
|
|
balancePayFee = payTotalFee;
|
|
balancePayFee = payTotalFee;
|
|
@@ -556,7 +567,7 @@ public class OrderServiceImpl implements OrderService {
|
|
cmMallUser.setUserMoney(bdUserMoney.subtract(bdPayTotalFee));
|
|
cmMallUser.setUserMoney(bdUserMoney.subtract(bdPayTotalFee));
|
|
cmMallUserMapper.updateAbleUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateAbleUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateUserMoney(cmMallUser);
|
|
- cmMallOrder.setStatus(31);//已收款待发货
|
|
|
|
|
|
+ cmMallOrder.setStatus("31");//已收款待发货
|
|
cmMallOrder.setReceiptStatus("3");
|
|
cmMallOrder.setReceiptStatus("3");
|
|
cmMallOrder.setPayFlag("1");
|
|
cmMallOrder.setPayFlag("1");
|
|
isPaySuccessFlag = true;
|
|
isPaySuccessFlag = true;
|
|
@@ -566,7 +577,7 @@ public class OrderServiceImpl implements OrderService {
|
|
cmMallUser.setUserMoney(new BigDecimal(0));
|
|
cmMallUser.setUserMoney(new BigDecimal(0));
|
|
cmMallUserMapper.updateAbleUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateAbleUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateUserMoney(cmMallUser);
|
|
cmMallUserMapper.updateUserMoney(cmMallUser);
|
|
- cmMallOrder.setStatus(31);//已收款待发货
|
|
|
|
|
|
+ cmMallOrder.setStatus("31");//已收款待发货
|
|
cmMallOrder.setReceiptStatus("3");
|
|
cmMallOrder.setReceiptStatus("3");
|
|
cmMallOrder.setPayFlag("1");
|
|
cmMallOrder.setPayFlag("1");
|
|
isPaySuccessFlag = true;
|
|
isPaySuccessFlag = true;
|
|
@@ -597,41 +608,41 @@ public class OrderServiceImpl implements OrderService {
|
|
String orderNo = NoUtils.getCmOrderNo("X");
|
|
String orderNo = NoUtils.getCmOrderNo("X");
|
|
cmMallOrder.setOrderNo(orderNo);
|
|
cmMallOrder.setOrderNo(orderNo);
|
|
cmMallOrder.setOrganizeID(organizeID);
|
|
cmMallOrder.setOrganizeID(organizeID);
|
|
- cmMallOrder.setUserID(userId);
|
|
|
|
|
|
+ cmMallOrder.setUserID(userId.longValue());
|
|
cmMallOrder.setBuyUserID(cmOperationID);//操作者的ID(下单人)
|
|
cmMallOrder.setBuyUserID(cmOperationID);//操作者的ID(下单人)
|
|
cmMallOrder.setOrderSubmitType(2);// 2:员工帮会所下单
|
|
cmMallOrder.setOrderSubmitType(2);// 2:员工帮会所下单
|
|
cmMallOrder.setOrderType(1);//订单类型 协销订单0 、普通订单(自主订单)1
|
|
cmMallOrder.setOrderType(1);//订单类型 协销订单0 、普通订单(自主订单)1
|
|
cmMallOrder.setHasActProduct("0");
|
|
cmMallOrder.setHasActProduct("0");
|
|
cmMallOrder.setSendOutStatus("1");//待发货
|
|
cmMallOrder.setSendOutStatus("1");//待发货
|
|
- cmMallOrder.setProductTotalFee(productTotalFee);
|
|
|
|
- cmMallOrder.setOrderTotalFee(productTotalFee);
|
|
|
|
- cmMallOrder.setPayTotalFee(payTotalFee);
|
|
|
|
- cmMallOrder.setPayableAmount(payableAmount.doubleValue());
|
|
|
|
- cmMallOrder.setPreferential(0d);
|
|
|
|
- cmMallOrder.setDiscountFee(0d);//经理折扣
|
|
|
|
|
|
+ cmMallOrder.setProductTotalFee(BigDecimal.valueOf(productTotalFee));
|
|
|
|
+ cmMallOrder.setOrderTotalFee(BigDecimal.valueOf(productTotalFee));
|
|
|
|
+ cmMallOrder.setPayTotalFee(BigDecimal.valueOf(payTotalFee));
|
|
|
|
+ cmMallOrder.setPayableAmount(payableAmount);
|
|
|
|
+ cmMallOrder.setPreferential(BigDecimal.valueOf(0));
|
|
|
|
+ cmMallOrder.setDiscountFee(BigDecimal.valueOf(0));//经理折扣
|
|
cmMallOrder.setSpID(null);
|
|
cmMallOrder.setSpID(null);
|
|
cmMallOrder.setMainSpID(null);
|
|
cmMallOrder.setMainSpID(null);
|
|
- cmMallOrder.setClubID(clubID);
|
|
|
|
|
|
+ cmMallOrder.setClubID(clubID.longValue());
|
|
cmMallOrder.setOrderSource("6");//小程序
|
|
cmMallOrder.setOrderSource("6");//小程序
|
|
cmMallOrder.setConfirmTime(dateStr);
|
|
cmMallOrder.setConfirmTime(dateStr);
|
|
cmMallOrder.setOrderTime(dateStr);
|
|
cmMallOrder.setOrderTime(dateStr);
|
|
cmMallOrder.setProductCount(productCount);
|
|
cmMallOrder.setProductCount(productCount);
|
|
cmMallOrder.setPresentCount(0);
|
|
cmMallOrder.setPresentCount(0);
|
|
cmMallOrder.setConfirmFlag("1");
|
|
cmMallOrder.setConfirmFlag("1");
|
|
- cmMallOrder.setClauseID(1);
|
|
|
|
|
|
+ cmMallOrder.setClauseID(1l);
|
|
cmMallOrder.setClauseContent(null);
|
|
cmMallOrder.setClauseContent(null);
|
|
cmMallOrder.setClauseName(null);
|
|
cmMallOrder.setClauseName(null);
|
|
cmMallOrder.setUpdateDate(dateStr);
|
|
cmMallOrder.setUpdateDate(dateStr);
|
|
cmMallOrder.setDelFlag("0");
|
|
cmMallOrder.setDelFlag("0");
|
|
cmMallOrder.setSplitFlag("0");//0不可拆分
|
|
cmMallOrder.setSplitFlag("0");//0不可拆分
|
|
cmMallOrder.setPostageOrderFlag("0");//0不是邮费订单
|
|
cmMallOrder.setPostageOrderFlag("0");//0不是邮费订单
|
|
- cmMallOrder.setBalancePayFee(balancePayFee);//余额支付金额
|
|
|
|
|
|
+ cmMallOrder.setBalancePayFee(BigDecimal.valueOf(balancePayFee));//余额支付金额
|
|
cmMallOrder.setPayStatus("1");//(付款供应商)付款状态:1待付款、2部分付款、3已付款
|
|
cmMallOrder.setPayStatus("1");//(付款供应商)付款状态:1待付款、2部分付款、3已付款
|
|
cmMallOrder.setOnlinePayFlag("0");//是否能走线上支付 0可以 1不可以 只能线下
|
|
cmMallOrder.setOnlinePayFlag("0");//是否能走线上支付 0可以 1不可以 只能线下
|
|
|
|
|
|
//保存住订单数据
|
|
//保存住订单数据
|
|
orderMapper.insert(cmMallOrder);
|
|
orderMapper.insert(cmMallOrder);
|
|
- Integer orderID = cmMallOrder.getOrderID();
|
|
|
|
|
|
+ Long orderID = cmMallOrder.getOrderID();
|
|
logger.info(">>>>>orderID:" + orderID);
|
|
logger.info(">>>>>orderID:" + orderID);
|
|
|
|
|
|
if (useBalanceFlag) {
|
|
if (useBalanceFlag) {
|
|
@@ -642,14 +653,37 @@ public class OrderServiceImpl implements OrderService {
|
|
cmMallUserBalanceRecord.setBalanceType("1");
|
|
cmMallUserBalanceRecord.setBalanceType("1");
|
|
cmMallUserBalanceRecord.setAddDate(new Date());
|
|
cmMallUserBalanceRecord.setAddDate(new Date());
|
|
cmMallUserBalanceRecord.setAmount(String.valueOf(balancePayFee));
|
|
cmMallUserBalanceRecord.setAmount(String.valueOf(balancePayFee));
|
|
- cmMallUserBalanceRecord.setOrderId(cmMallOrder.getOrderID());
|
|
|
|
|
|
+ cmMallUserBalanceRecord.setOrderId(cmMallOrder.getOrderID().intValue());
|
|
cmMallUserBalanceRecord.setDelFlag("0");
|
|
cmMallUserBalanceRecord.setDelFlag("0");
|
|
cmMallUserMapper.insertUserBalanceRecord(cmMallUserBalanceRecord);
|
|
cmMallUserMapper.insertUserBalanceRecord(cmMallUserBalanceRecord);
|
|
|
|
+
|
|
|
|
+ //添加余额支付记录
|
|
|
|
+ DiscernReceiptVo discernReceipt = new DiscernReceiptVo();
|
|
|
|
+ discernReceipt.setPayWay("3");
|
|
|
|
+ discernReceipt.setPayType("16");
|
|
|
|
+ discernReceipt.setReceiptType("1");
|
|
|
|
+ discernReceipt.setReceiptStatus("3");
|
|
|
|
+ discernReceipt.setReceiptAmount(BigDecimal.valueOf(balancePayFee));
|
|
|
|
+ discernReceipt.setConfirmType("4");
|
|
|
|
+ discernReceipt.setReceiptDate(dateStr);
|
|
|
|
+ discernReceipt.setConfirmDate(dateStr);
|
|
|
|
+ discernReceipt.setReviewDate(dateStr);
|
|
|
|
+ discernReceipt.setUpdateDate(dateStr);
|
|
|
|
+ discernReceipt.setDelFlag("0");
|
|
|
|
+ payDao.insertDiscernReceipt(discernReceipt);
|
|
|
|
+ OrderRelationVo relation = new OrderRelationVo();
|
|
|
|
+ relation.setReceiptID(discernReceipt.getId().intValue());
|
|
|
|
+ relation.setOrderID(cmMallOrder.getOrderID().intValue());
|
|
|
|
+ relation.setAssociateAmount(BigDecimal.valueOf(balancePayFee));
|
|
|
|
+ relation.setRelationType("2");
|
|
|
|
+ relation.setDelFlag("0");
|
|
|
|
+ payDao.insertOrderRelation(relation);
|
|
|
|
+ logger.info(">>>>>>>>>>>>>>>>>>>>>>>保存余额到收款记录," + balancePayFee);
|
|
}
|
|
}
|
|
|
|
|
|
/**保存订单商品*/
|
|
/**保存订单商品*/
|
|
for (CmMallOrderProduct product : orderProductList) {//循环插入数据
|
|
for (CmMallOrderProduct product : orderProductList) {//循环插入数据
|
|
- product.setOrderID(orderID);
|
|
|
|
|
|
+ product.setOrderID(orderID.intValue());
|
|
product.setOrderNo(orderNo);
|
|
product.setOrderNo(orderNo);
|
|
//保存订单商品数据
|
|
//保存订单商品数据
|
|
organizeProductsMapper.insert(product);
|
|
organizeProductsMapper.insert(product);
|
|
@@ -665,7 +699,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
|
|
|
/**统计子订单金额信息*/
|
|
/**统计子订单金额信息*/
|
|
CmMallOrderProduct cmMallOrderProduct = new CmMallOrderProduct();
|
|
CmMallOrderProduct cmMallOrderProduct = new CmMallOrderProduct();
|
|
- cmMallOrderProduct.setOrderID(cmMallOrder.getOrderID());
|
|
|
|
|
|
+ cmMallOrderProduct.setOrderID(cmMallOrder.getOrderID().intValue());
|
|
cmMallOrderProduct.setShopID(shopID);
|
|
cmMallOrderProduct.setShopID(shopID);
|
|
//查询属于该供应商的所有订单商品信息
|
|
//查询属于该供应商的所有订单商品信息
|
|
List<CmMallOrderProduct> cmMallOrderProductList = orderProductMapper.findList(cmMallOrderProduct);
|
|
List<CmMallOrderProduct> cmMallOrderProductList = orderProductMapper.findList(cmMallOrderProduct);
|
|
@@ -693,7 +727,7 @@ public class OrderServiceImpl implements OrderService {
|
|
cmMallShopOrder.setClubID(clubID);
|
|
cmMallShopOrder.setClubID(clubID);
|
|
cmMallShopOrder.setSpID(null);
|
|
cmMallShopOrder.setSpID(null);
|
|
cmMallShopOrder.setMainSpID(null);
|
|
cmMallShopOrder.setMainSpID(null);
|
|
- cmMallShopOrder.setOrderID(orderID);
|
|
|
|
|
|
+ cmMallShopOrder.setOrderID(orderID.intValue());
|
|
cmMallShopOrder.setOrderNo(orderNo);
|
|
cmMallShopOrder.setOrderNo(orderNo);
|
|
cmMallShopOrder.setUserID(userId);
|
|
cmMallShopOrder.setUserID(userId);
|
|
cmMallShopOrder.setNote(note);
|
|
cmMallShopOrder.setNote(note);
|
|
@@ -725,13 +759,13 @@ public class OrderServiceImpl implements OrderService {
|
|
cmMallShopOrder.setNeedPayAmount(needPayAmount.doubleValue());
|
|
cmMallShopOrder.setNeedPayAmount(needPayAmount.doubleValue());
|
|
cmMallShopOrder.setPreferential(preferential.doubleValue());
|
|
cmMallShopOrder.setPreferential(preferential.doubleValue());
|
|
cmMallShopOrder.setShopProductAmount(shopProductAmount);
|
|
cmMallShopOrder.setShopProductAmount(shopProductAmount);
|
|
- cmMallShopOrder.setShopPostFee(0D);//付给供应商运费
|
|
|
|
- cmMallShopOrder.setShopTaxFee(0D);//付给供应商税费
|
|
|
|
- cmMallShopOrder.setPayedShopAmount(0D);//已付款金额
|
|
|
|
- cmMallShopOrder.setShopOtherFee(0D);//付第三方
|
|
|
|
|
|
+ cmMallShopOrder.setShopPostFee(0d);//付给供应商运费
|
|
|
|
+ cmMallShopOrder.setShopTaxFee(0d);//付给供应商税费
|
|
|
|
+ cmMallShopOrder.setPayedShopAmount(0d);//已付款金额
|
|
|
|
+ cmMallShopOrder.setShopOtherFee(0d);//付第三方
|
|
cmMallShopOrder.setSplitFlag("0");
|
|
cmMallShopOrder.setSplitFlag("0");
|
|
|
|
|
|
- List<CmMallShopOrder> cmMallShopOrders1 = cmMallShopOrderMapper.findMaxShopOrderNo(cmMallOrder.getOrderID());
|
|
|
|
|
|
+ List<CmMallShopOrder> cmMallShopOrders1 = cmMallShopOrderMapper.findMaxShopOrderNo(cmMallOrder.getOrderID().intValue());
|
|
String shopOrderNo = ""; //子订单编号
|
|
String shopOrderNo = ""; //子订单编号
|
|
if (!CollectionUtils.isEmpty(cmMallShopOrders1)) {
|
|
if (!CollectionUtils.isEmpty(cmMallShopOrders1)) {
|
|
shopOrderNo = cmMallShopOrders1.get(0).getShopOrderNo();
|
|
shopOrderNo = cmMallShopOrders1.get(0).getShopOrderNo();
|
|
@@ -758,7 +792,7 @@ public class OrderServiceImpl implements OrderService {
|
|
if (null != cmMallAddress) {
|
|
if (null != cmMallAddress) {
|
|
//保存地址信息
|
|
//保存地址信息
|
|
CmMallBpOrderUserInfo cmMallBpOrderUserInfo = new CmMallBpOrderUserInfo();
|
|
CmMallBpOrderUserInfo cmMallBpOrderUserInfo = new CmMallBpOrderUserInfo();
|
|
- cmMallBpOrderUserInfo.setOrderId(orderID);
|
|
|
|
|
|
+ cmMallBpOrderUserInfo.setOrderId(orderID.intValue());
|
|
cmMallBpOrderUserInfo.setClubId(clubID);
|
|
cmMallBpOrderUserInfo.setClubId(clubID);
|
|
cmMallBpOrderUserInfo.setUserId(userId);
|
|
cmMallBpOrderUserInfo.setUserId(userId);
|
|
cmMallBpOrderUserInfo.setName(cmMallUser.getUserName());
|
|
cmMallBpOrderUserInfo.setName(cmMallUser.getUserName());
|
|
@@ -781,7 +815,7 @@ public class OrderServiceImpl implements OrderService {
|
|
CmMallUserInvoiceInfo invoiceInfo = personalMapper.findInvoice(userId);
|
|
CmMallUserInvoiceInfo invoiceInfo = personalMapper.findInvoice(userId);
|
|
if (null != invoiceInfo) {
|
|
if (null != invoiceInfo) {
|
|
CmMallOrderInvoice cmMallOrderInvoice = new CmMallOrderInvoice();
|
|
CmMallOrderInvoice cmMallOrderInvoice = new CmMallOrderInvoice();
|
|
- cmMallOrderInvoice.setOrderId(orderID);
|
|
|
|
|
|
+ cmMallOrderInvoice.setOrderId(orderID.intValue());
|
|
cmMallOrderInvoice.setInvoiceTitle(invoiceInfo.getInvoiceTitle());
|
|
cmMallOrderInvoice.setInvoiceTitle(invoiceInfo.getInvoiceTitle());
|
|
cmMallOrderInvoice.setType("2");//增值税发票
|
|
cmMallOrderInvoice.setType("2");//增值税发票
|
|
cmMallOrderInvoice.setCorporationTaxNum(invoiceInfo.getCorporationTaxNum());
|
|
cmMallOrderInvoice.setCorporationTaxNum(invoiceInfo.getCorporationTaxNum());
|
|
@@ -816,6 +850,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取阶梯价格最小购买数量
|
|
* 获取阶梯价格最小购买数量
|
|
|
|
+ *
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
private Integer getMinBuyNumber(List<CmMallProductLadderPrice> ladderPriceList) {
|
|
private Integer getMinBuyNumber(List<CmMallProductLadderPrice> ladderPriceList) {
|
|
@@ -863,8 +898,8 @@ public class OrderServiceImpl implements OrderService {
|
|
List<CmMallOrder> orderList = orderMapper.findAllOrder(userID, orderState, organizeID);
|
|
List<CmMallOrder> orderList = orderMapper.findAllOrder(userID, orderState, organizeID);
|
|
for (CmMallOrder order : orderList) {
|
|
for (CmMallOrder order : orderList) {
|
|
//111,待付待收待发
|
|
//111,待付待收待发
|
|
- if (order.getStatus().equals(11) && order.getPayStatus().equals("1")) {
|
|
|
|
- order.setStatus(111);
|
|
|
|
|
|
+ if ("11".equals(order.getStatus()) && "1".equals(order.getPayStatus())) {
|
|
|
|
+ order.setStatus("111");
|
|
}
|
|
}
|
|
String[] ShopOrderIDs = {};
|
|
String[] ShopOrderIDs = {};
|
|
if (order.getShopOrderIDs().contains(",")) {
|
|
if (order.getShopOrderIDs().contains(",")) {
|
|
@@ -882,6 +917,13 @@ public class OrderServiceImpl implements OrderService {
|
|
shopOrder.setShopLogo(AppUtils.getImageURL("shopLogo", shopOrder.getShopLogo(), 0, domain));
|
|
shopOrder.setShopLogo(AppUtils.getImageURL("shopLogo", shopOrder.getShopLogo(), 0, domain));
|
|
}
|
|
}
|
|
order.setShopOrderList(shopOrderList);
|
|
order.setShopOrderList(shopOrderList);
|
|
|
|
+ //判断是否可以走线上支付
|
|
|
|
+ DiscernReceiptVo discernReceipt = orderMapper.findOfflinePayment(order.getOrderID().intValue());
|
|
|
|
+ if (null == discernReceipt) {
|
|
|
|
+ order.setOnlinePayFlag("0");
|
|
|
|
+ } else {
|
|
|
|
+ order.setOnlinePayFlag("1");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return orderList;
|
|
return orderList;
|
|
}
|
|
}
|
|
@@ -917,7 +959,7 @@ public class OrderServiceImpl implements OrderService {
|
|
CmWxJsonModel model = CmWxJsonModel.newInstance();
|
|
CmWxJsonModel model = CmWxJsonModel.newInstance();
|
|
CmMallOrder order = orderMapper.findOrder(orderID);
|
|
CmMallOrder order = orderMapper.findOrder(orderID);
|
|
if (order == null) return model.error("订单不存在");
|
|
if (order == null) return model.error("订单不存在");
|
|
- if (!(order.getStatus() == 6)) {
|
|
|
|
|
|
+ if (!("6".equals(order.getStatus()))) {
|
|
return model.error("订单异常");
|
|
return model.error("订单异常");
|
|
}
|
|
}
|
|
//逻辑删除主订单
|
|
//逻辑删除主订单
|
|
@@ -961,26 +1003,30 @@ public class OrderServiceImpl implements OrderService {
|
|
@Override
|
|
@Override
|
|
public void cancelOrder(Integer orderID) throws Exception {
|
|
public void cancelOrder(Integer orderID) throws Exception {
|
|
CmMallOrder order = orderMapper.findOrder(orderID);
|
|
CmMallOrder order = orderMapper.findOrder(orderID);
|
|
- if (order == null) throw new Exception("订单不存在");
|
|
|
|
- if (!(order.getStatus() == 11)) {
|
|
|
|
|
|
+ if (order == null) {
|
|
|
|
+ throw new Exception("订单不存在");
|
|
|
|
+ }
|
|
|
|
+ if (!("11".equals(order.getStatus()))) {
|
|
throw new Exception("订单异常");
|
|
throw new Exception("订单异常");
|
|
}
|
|
}
|
|
- order.setStatus(6);
|
|
|
|
|
|
+ order.setStatus("6");
|
|
orderMapper.update(order);
|
|
orderMapper.update(order);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void affirmCargo(Integer orderID) throws Exception {
|
|
public void affirmCargo(Integer orderID) throws Exception {
|
|
CmMallOrder order = orderMapper.findOrder(orderID);
|
|
CmMallOrder order = orderMapper.findOrder(orderID);
|
|
- if (order == null) throw new Exception("订单不存在");
|
|
|
|
- if (order.getStatus() == 33 && order.getPayStatus().equals("3")) {
|
|
|
|
|
|
+ if (order == null) {
|
|
|
|
+ throw new Exception("订单不存在");
|
|
|
|
+ }
|
|
|
|
+ if ("33".equals(order.getStatus()) && "3".equals(order.getPayStatus())) {
|
|
//已付款供应商,订单完成
|
|
//已付款供应商,订单完成
|
|
- order.setStatus(5);
|
|
|
|
|
|
+ order.setStatus("5");
|
|
orderMapper.update(order);
|
|
orderMapper.update(order);
|
|
orderMapper.updateLogisticsBatch(orderID);
|
|
orderMapper.updateLogisticsBatch(orderID);
|
|
- } else if (order.getStatus() == 33) {
|
|
|
|
|
|
+ } else if ("33".equals(order.getStatus())) {
|
|
//交易完成
|
|
//交易完成
|
|
- order.setStatus(4);
|
|
|
|
|
|
+ order.setStatus("4");
|
|
orderMapper.update(order);
|
|
orderMapper.update(order);
|
|
orderMapper.updateLogisticsBatch(orderID);
|
|
orderMapper.updateLogisticsBatch(orderID);
|
|
} else {
|
|
} else {
|