|
@@ -5,6 +5,7 @@ import com.caimei.entity.*;
|
|
import com.caimei.mapper.order.CmShopOrderMapper;
|
|
import com.caimei.mapper.order.CmShopOrderMapper;
|
|
import com.caimei.mapper.order.OrderMapper;
|
|
import com.caimei.mapper.order.OrderMapper;
|
|
import com.caimei.mapper.order.OrderProductMapper;
|
|
import com.caimei.mapper.order.OrderProductMapper;
|
|
|
|
+import com.caimei.mapper.products.HomePageMapper;
|
|
import com.caimei.mapper.products.OrganizeProductsMapper;
|
|
import com.caimei.mapper.products.OrganizeProductsMapper;
|
|
import com.caimei.mapper.user.LoginMapper;
|
|
import com.caimei.mapper.user.LoginMapper;
|
|
import com.caimei.mapper.user.PersonalMapper;
|
|
import com.caimei.mapper.user.PersonalMapper;
|
|
@@ -13,6 +14,7 @@ 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 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;
|
|
@@ -45,6 +47,8 @@ public class OrderServiceImpl implements OrderService {
|
|
private OrderProductMapper orderProductMapper;
|
|
private OrderProductMapper orderProductMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private CmShopOrderMapper cmShopOrderMapper;
|
|
private CmShopOrderMapper cmShopOrderMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private HomePageMapper homePageMapper;
|
|
|
|
|
|
@Value("${miniprogram.domain}")
|
|
@Value("${miniprogram.domain}")
|
|
private String domain;
|
|
private String domain;
|
|
@@ -262,7 +266,7 @@ public class OrderServiceImpl implements OrderService {
|
|
if (null == shopId) return wxJsonModel.error("-1", "供应商数据异常");
|
|
if (null == shopId) return wxJsonModel.error("-1", "供应商数据异常");
|
|
if (null == productInfo) return wxJsonModel.error("-1", "订单商品数据异常");
|
|
if (null == productInfo) return wxJsonModel.error("-1", "订单商品数据异常");
|
|
// shopIDs.add(shopId);
|
|
// shopIDs.add(shopId);
|
|
- shopIDs.put(shopId,note);
|
|
|
|
|
|
+ shopIDs.put(shopId, note);
|
|
|
|
|
|
//获取子订单商品信息
|
|
//获取子订单商品信息
|
|
List<Map<String, Object>> productInfoList = (List<Map<String, Object>>) productInfo;
|
|
List<Map<String, Object>> productInfoList = (List<Map<String, Object>>) productInfo;
|
|
@@ -455,9 +459,9 @@ public class OrderServiceImpl implements OrderService {
|
|
//保存住订单数据
|
|
//保存住订单数据
|
|
orderMapper.insert(cmOrder);
|
|
orderMapper.insert(cmOrder);
|
|
Integer orderID = cmOrder.getOrderID();
|
|
Integer orderID = cmOrder.getOrderID();
|
|
- logger.info(">>>>>orderID:"+orderID);
|
|
|
|
|
|
+ logger.info(">>>>>orderID:" + orderID);
|
|
|
|
|
|
- if(useBalanceFlag){
|
|
|
|
|
|
+ if (useBalanceFlag) {
|
|
/**添加余额收支记录*/
|
|
/**添加余额收支记录*/
|
|
CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
|
|
CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
|
|
cmUserBalanceRecord.setUserId(userId);
|
|
cmUserBalanceRecord.setUserId(userId);
|
|
@@ -471,12 +475,11 @@ public class OrderServiceImpl implements OrderService {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
/**保存子订单后更新主订单信息*/
|
|
/**保存子订单后更新主订单信息*/
|
|
cmOrder.setShopOrderIDs("");//子订单ID:1000,1002
|
|
cmOrder.setShopOrderIDs("");//子订单ID:1000,1002
|
|
|
|
|
|
/**保存订单商品*/
|
|
/**保存订单商品*/
|
|
- for(CmOrderProduct product:orderProductList){//循环插入数据
|
|
|
|
|
|
+ for (CmOrderProduct product : orderProductList) {//循环插入数据
|
|
product.setOrderID(orderID);
|
|
product.setOrderID(orderID);
|
|
product.setOrderNo(orderNo);
|
|
product.setOrderNo(orderNo);
|
|
//保存订单商品数据
|
|
//保存订单商品数据
|
|
@@ -597,16 +600,16 @@ public class OrderServiceImpl implements OrderService {
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- Map<String,String> info = new HashMap<>();
|
|
|
|
|
|
+ Map<String, String> info = new HashMap<>();
|
|
info.put("orderID", String.valueOf(cmOrder.getOrderID()));
|
|
info.put("orderID", String.valueOf(cmOrder.getOrderID()));
|
|
info.put("orderNo", String.valueOf(cmOrder.getOrderNo()));
|
|
info.put("orderNo", String.valueOf(cmOrder.getOrderNo()));
|
|
- info.put("orderMark", "#"+String.valueOf(cmOrder.getOrderID())+"#");
|
|
|
|
|
|
+ info.put("orderMark", "#" + String.valueOf(cmOrder.getOrderID()) + "#");
|
|
info.put("payTotalFee", String.valueOf(cmOrder.getPayTotalFee()));//应付订单金额
|
|
info.put("payTotalFee", String.valueOf(cmOrder.getPayTotalFee()));//应付订单金额
|
|
info.put("payableAmount", String.valueOf(cmOrder.getPayableAmount()));//真实需要付款金额
|
|
info.put("payableAmount", String.valueOf(cmOrder.getPayableAmount()));//真实需要付款金额
|
|
- if(isPaySuccessFlag){//余额抵扣成功
|
|
|
|
- return wxJsonModel.success("1",info,"提交成功且已支付");//1提交成功[且支付完成]
|
|
|
|
- }else{
|
|
|
|
- return wxJsonModel.success("2",info,"提交成功但未支付");
|
|
|
|
|
|
+ if (isPaySuccessFlag) {//余额抵扣成功
|
|
|
|
+ return wxJsonModel.success("1", info, "提交成功且已支付");//1提交成功[且支付完成]
|
|
|
|
+ } else {
|
|
|
|
+ return wxJsonModel.success("2", info, "提交成功但未支付");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -667,11 +670,94 @@ public class OrderServiceImpl implements OrderService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CmOrganizeProducts> oftenPurchase(Integer userID, Integer organizeID) {
|
|
|
|
|
|
+ public Map<String, Object> oftenPurchase(Integer userID, Integer organizeID, Integer index, Integer pageSize) {
|
|
|
|
+ Map<String, Object> map = new HashMap();
|
|
|
|
+ if (index == null) index = 1;
|
|
|
|
+ if (pageSize == null) pageSize = 10;
|
|
|
|
+ PageHelper.startPage(index, pageSize);
|
|
|
|
+ //商品分页数据
|
|
List<CmOrganizeProducts> organizeProductsList = orderMapper.oftenPurchase(userID, organizeID);
|
|
List<CmOrganizeProducts> organizeProductsList = orderMapper.oftenPurchase(userID, organizeID);
|
|
for (CmOrganizeProducts organizeProducts : organizeProductsList) {
|
|
for (CmOrganizeProducts organizeProducts : organizeProductsList) {
|
|
organizeProducts.setMainImage(AppUtils.getImageURL("product", organizeProducts.getMainImage(), 0, domain));
|
|
organizeProducts.setMainImage(AppUtils.getImageURL("product", organizeProducts.getMainImage(), 0, domain));
|
|
}
|
|
}
|
|
- return organizeProductsList;
|
|
|
|
|
|
+ Page<CmOrganizeProducts> page = new Page<>(organizeProductsList);
|
|
|
|
+ //购物车数量
|
|
|
|
+ Integer count = homePageMapper.cartQuantity(userID);
|
|
|
|
+ if (count == null) count = 0;
|
|
|
|
+ map.put("page", page);
|
|
|
|
+ map.put("count", count);
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public WxJsonModel deleteOrder(Integer orderID) {
|
|
|
|
+ WxJsonModel model = WxJsonModel.newInstance();
|
|
|
|
+ CmOrder order = orderMapper.findOrder(orderID);
|
|
|
|
+ if (order == null) return model.error("订单不存在");
|
|
|
|
+ if (!(order.getStatus() == 6)) {
|
|
|
|
+ return model.error("订单异常");
|
|
|
|
+ }
|
|
|
|
+ //逻辑删除主订单
|
|
|
|
+ order.setDelFlag("1");
|
|
|
|
+ order.setNote("用户发起删除订单");
|
|
|
|
+ orderMapper.update(order);
|
|
|
|
+ //逻辑删除子订单
|
|
|
|
+ String[] ShopOrderIDs = {};
|
|
|
|
+ if (order.getShopOrderIDs().contains(",")) {
|
|
|
|
+ ShopOrderIDs = order.getShopOrderIDs().split(",");
|
|
|
|
+ } else {
|
|
|
|
+ ShopOrderIDs = new String[]{order.getShopOrderIDs()};
|
|
|
|
+ }
|
|
|
|
+ for (String shopOrderID : ShopOrderIDs) {
|
|
|
|
+ CmShopOrder shopOrder = cmShopOrderMapper.get(Integer.valueOf(shopOrderID));
|
|
|
|
+ shopOrder.setDelFlag("1");
|
|
|
|
+ cmShopOrderMapper.update(shopOrder);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //逻辑删除收款记录
|
|
|
|
+ List<CmDiscernReceipt> discernReceipt = orderMapper.findDiscernReceipt(orderID);
|
|
|
|
+ if (discernReceipt != null && discernReceipt.size() > 0) {
|
|
|
|
+ orderMapper.deleteReceiptOrderRelation(orderID);
|
|
|
|
+ for (CmDiscernReceipt receipt : discernReceipt) {
|
|
|
|
+ orderMapper.deleteDiscernReceipt(receipt.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //逻辑删除付款记录
|
|
|
|
+ for (String shopOrderID : ShopOrderIDs) {
|
|
|
|
+ List<CmPayShopRecord> payShopRecordList = orderMapper.findPayShopRecord(Integer.valueOf(shopOrderID));
|
|
|
|
+ if (payShopRecordList != null && payShopRecordList.size() > 0) {
|
|
|
|
+ orderMapper.deletePayShopRecord(Integer.valueOf(shopOrderID));
|
|
|
|
+ for (CmPayShopRecord payShopRecord : payShopRecordList) {
|
|
|
|
+ orderMapper.updatePayShop(payShopRecord.getPayShopID());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return model.success("删除订单成功", "");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void cancelOrder(Integer orderID) throws Exception {
|
|
|
|
+ CmOrder order = orderMapper.findOrder(orderID);
|
|
|
|
+ if (order == null) throw new Exception("订单不存在");
|
|
|
|
+ if (!(order.getStatus() == 11)) {
|
|
|
|
+ throw new Exception("订单异常");
|
|
|
|
+ }
|
|
|
|
+ order.setStatus(6);
|
|
|
|
+ orderMapper.update(order);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void affirmCargo(Integer orderID) throws Exception {
|
|
|
|
+ CmOrder order = orderMapper.findOrder(orderID);
|
|
|
|
+ if (order == null) throw new Exception("订单不存在");
|
|
|
|
+ if (order.getStatus() == 13) {
|
|
|
|
+ orderMapper.updateLogisticsBatch(orderID);
|
|
|
|
+ } else if (order.getStatus() == 33) {
|
|
|
|
+ order.setStatus(4);
|
|
|
|
+ orderMapper.update(order);
|
|
|
|
+ orderMapper.updateLogisticsBatch(orderID);
|
|
|
|
+ } else {
|
|
|
|
+ throw new Exception("订单异常");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|