|
@@ -2,6 +2,7 @@ package com.caimei365.order.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.caimei365.order.components.OrderCommonService;
|
|
|
import com.caimei365.order.components.OssService;
|
|
|
import com.caimei365.order.components.WeChatService;
|
|
|
import com.caimei365.order.mapper.*;
|
|
@@ -36,6 +37,7 @@ import java.io.FileInputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.alibaba.fastjson.JSON.parseArray;
|
|
|
|
|
@@ -57,6 +59,8 @@ public class ShipServiceImpl implements ShipService {
|
|
|
@Resource
|
|
|
private AddressMapper addressMapper;
|
|
|
@Resource
|
|
|
+ private OrderCommonService orderCommonService;
|
|
|
+ @Resource
|
|
|
private OrderCommonMapper orderCommonMapper;
|
|
|
@Resource
|
|
|
private OrderClubMapper orderClubMapper;
|
|
@@ -82,14 +86,20 @@ public class ShipServiceImpl implements ShipService {
|
|
|
* @param pageSize 每页数量
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseJson<PageInfo<ShopOrderVo>> getShopOrderList(Integer shopId, Integer sendOutStatus, Integer payStatus, String shopOrderNo, String receiver, int pageNum, int pageSize) {
|
|
|
+ public ResponseJson<PageInfo<ShopOrderVo>> getShopOrderList(Integer shopId, Integer sendOutStatus, Integer payStatus, String shopOrderNo, String receiver, Integer organizeId, int pageNum, int pageSize) {
|
|
|
// 分页请求数据
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
- List<ShopOrderVo> shopOrderList = shipMapper.getShopOrderList(shopId, sendOutStatus, payStatus, shopOrderNo, receiver);
|
|
|
+ List<ShopOrderVo> shopOrderList = shipMapper.getShopOrderList(shopId, sendOutStatus, payStatus, shopOrderNo, receiver, organizeId);
|
|
|
shopOrderList.forEach(shopOrder -> {
|
|
|
if (null != shopOrder) {
|
|
|
setShopOrderInfo(shopOrder);
|
|
|
}
|
|
|
+ // 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
|
|
|
+ if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
|
|
|
+ shopOrder.setCheckFlag(2);
|
|
|
+ } else {
|
|
|
+ shopOrder.setCheckFlag(1);
|
|
|
+ }
|
|
|
});
|
|
|
PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
|
|
|
return ResponseJson.success(pageInfo);
|
|
@@ -182,6 +192,12 @@ public class ShipServiceImpl implements ShipService {
|
|
|
return ResponseJson.error("子订单异常,shopOrderId:" + shopOrderId, null);
|
|
|
}
|
|
|
setShopOrderInfo(shopOrder);
|
|
|
+ // 联合丽格 [待付款]或者线下支付[部分付款] 的子订单 状态
|
|
|
+ if ((4 != shopOrder.getStatus() && 5 != shopOrder.getStatus()) && (1 == shopOrder.getReceiptStatus() || (2 == shopOrder.getReceiptStatus() && 2 == shopOrder.getOnlinePay()))) {
|
|
|
+ shopOrder.setCheckFlag(2);
|
|
|
+ } else {
|
|
|
+ shopOrder.setCheckFlag(1);
|
|
|
+ }
|
|
|
Map<String, Object> map = new HashMap<>(2);
|
|
|
map.put("shopOrder", shopOrder);
|
|
|
// 结算记录
|
|
@@ -233,11 +249,13 @@ public class ShipServiceImpl implements ShipService {
|
|
|
|
|
|
|
|
|
private void setShopOrderInfo(ShopOrderVo shopOrder) {
|
|
|
+ // 设置订单状态
|
|
|
+ orderCommonService.setShopOrderStatus(shopOrder);
|
|
|
// 收货地址
|
|
|
OrderUserinfoVo userInfo = addressMapper.getOrderUserinfo(shopOrder.getOrderId());
|
|
|
shopOrder.setUserInfo(userInfo);
|
|
|
// (收款买家)收款状态:1待收款、2部分收款、3已收款
|
|
|
- Integer receiptStatus = shipMapper.getOrderReceiptStatus(shopOrder.getOrderId());
|
|
|
+ Integer receiptStatus = shipMapper.getShopOrderReceiptStatus(shopOrder.getShopOrderId());
|
|
|
//(收款买家)收款状态:1待收款、2部分收款、3已收款
|
|
|
shopOrder.setReceiptStatus(receiptStatus);
|
|
|
// 供应商名称
|
|
@@ -264,6 +282,25 @@ public class ShipServiceImpl implements ShipService {
|
|
|
orderProduct.setActualCancelNum(actualCancelNum);
|
|
|
}
|
|
|
});
|
|
|
+ // 发票信息
|
|
|
+ InvoicePo orderInvoice = orderClubMapper.getOrderInvoice(shopOrder.getOrderId());
|
|
|
+ shopOrder.setInvoice(orderInvoice);
|
|
|
+ // 线下支付凭证
|
|
|
+ List<VoucherPo> voucher = orderClubMapper.getVoucher(shopOrder.getShopOrderId());
|
|
|
+ // 支付凭证图片
|
|
|
+ if (null != voucher) {
|
|
|
+ List<Integer> ids = voucher.stream().map(VoucherPo::getId).collect(Collectors.toList());
|
|
|
+ List<VoucherImageDto> voucherImage = orderClubMapper.getVoucherImage(ids);
|
|
|
+ voucher.forEach(v -> {
|
|
|
+ List<VoucherImageDto> imageList = voucherImage.stream().filter(m -> m.getVoucherId().equals(v.getId())).collect(Collectors.toList());
|
|
|
+ v.setImgs(imageList);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // 子订单信息
|
|
|
+ orderCommonService.setShopOrderInfo(shopOrder);
|
|
|
+ // 设置子订单付款金额
|
|
|
+ orderCommonService.getDiscernReceiptAndSetShoporder(shopOrder);
|
|
|
+ shopOrder.setVoucher(voucher);
|
|
|
shopOrder.setOrderProductList(orderProductList);
|
|
|
shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));
|
|
|
shopOrder.setOrderProductList(orderProductList);
|
|
@@ -1036,6 +1073,43 @@ public class ShipServiceImpl implements ShipService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更改收款状态
|
|
|
+ *
|
|
|
+ * @param amount
|
|
|
+ * @param shopOrderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson checkReceipt(Double amount, Integer shopOrderId) {
|
|
|
+ Double wait = shipMapper.findWaitPay(shopOrderId);
|
|
|
+ if (amount > wait) {
|
|
|
+ return ResponseJson.error("支付金额大于待付!");
|
|
|
+ }
|
|
|
+ ReceiptVo receiptVo = new ReceiptVo();
|
|
|
+ // 31 线下凭证
|
|
|
+ receiptVo.setPayType(31);
|
|
|
+ receiptVo.setPayWay(2);
|
|
|
+ receiptVo.setNewReceiptType(2);
|
|
|
+ receiptVo.setReceiptType(1);
|
|
|
+ receiptVo.setReceiptStatus(3);
|
|
|
+ receiptVo.setReceiptAmount(amount);
|
|
|
+ shipMapper.insertOrderReceipt(receiptVo);
|
|
|
+ OrderReceiptRelationPo record = new OrderReceiptRelationPo();
|
|
|
+ record.setReceiptAmount(amount);
|
|
|
+ record.setRelationType(2);
|
|
|
+ record.setReceiptId(receiptVo.getId());
|
|
|
+ record.setShopOrderId(shopOrderId);
|
|
|
+ shipMapper.insertOrderRelation(record);
|
|
|
+ // 根据金额修改cm_order状态
|
|
|
+ Integer status = 2;
|
|
|
+ if (0 == wait - amount) {
|
|
|
+ status = 3;
|
|
|
+ }
|
|
|
+ shipMapper.updateReceiptStatus(status, shopOrderId);
|
|
|
+ return ResponseJson.success();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<OrderRemarkDto> findList(Integer orderId) {
|
|
|
List<OrderRemarkDto> list = shipMapper.findList(orderId);
|
|
@@ -1048,9 +1122,9 @@ public class ShipServiceImpl implements ShipService {
|
|
|
|
|
|
@Override
|
|
|
public void insertRemark(OrderRemarkDto remark) {
|
|
|
- /*CmMallAdminUser user = (CmMallAdminUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
- remark.setCreateBy(user.getId());
|
|
|
- shipMapper.insert(remark);*/
|
|
|
+ // CmMallAdminUser user = (CmMallAdminUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+ // remark.setCreateBy(user.getId());
|
|
|
+ shipMapper.insert(remark);
|
|
|
List<String> images = remark.getImages();
|
|
|
List<OssFileDto> ossFiles = remark.getOssFiles();
|
|
|
if (null != images && images.size() > 0) {
|
|
@@ -1112,10 +1186,17 @@ public class ShipServiceImpl implements ShipService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void downFile(Integer fileId, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
+ public ResponseJson<Map<String, Object>> downFile(Integer fileId, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
OssFileDto remarkFile = shipMapper.findRemarkById(fileId);
|
|
|
- String fileName = remarkFile.getName();
|
|
|
- ossUtils.downFile(remarkFile.getOssName(), fileName);
|
|
|
- ossService.download(request, response, fileName);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ if (null != remarkFile) {
|
|
|
+ String fileName = remarkFile.getName();
|
|
|
+ ossUtils.downFile(remarkFile.getOssName(), fileName);
|
|
|
+ ossService.download(request, response, fileName);
|
|
|
+ map.put("code", 0);
|
|
|
+ } else {
|
|
|
+ map.put("code", -1);
|
|
|
+ }
|
|
|
+ return ResponseJson.success(map);
|
|
|
}
|
|
|
}
|