|
|
@@ -63,6 +63,7 @@ import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
|
|
+import java.util.stream.IntStream;
|
|
|
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
@@ -749,9 +750,17 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
|
|
|
|
|
|
@Override
|
|
|
public Result print(Long orderId) {
|
|
|
+ // 查询订单信息
|
|
|
TbOrder tbOrder = selectOrderByIds(orderId);
|
|
|
Long shopId = tbOrder.getShopId();
|
|
|
+
|
|
|
+ // 查询店铺信息
|
|
|
GoodsShop goodsShop = goodsShopDao.selectById(shopId);
|
|
|
+
|
|
|
+ // 查询当天店铺所有已支付的订单号,按支付时间排序
|
|
|
+ int sequence = selectCurrentOrderSequenceByShopId(orderId, shopId);
|
|
|
+ tbOrder.setCountOrder(sequence);
|
|
|
+
|
|
|
if (StringUtils.isNotEmpty(goodsShop.getSnCode())) {
|
|
|
FeiYunUtils.print(goodsShop.getSnCode(), null, tbOrder);
|
|
|
} else {
|
|
|
@@ -760,6 +769,24 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
|
|
|
return Result.success();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取当前店铺当前订单在已支付订单中的序号
|
|
|
+ * @param orderId
|
|
|
+ * @param shopId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private int selectCurrentOrderSequenceByShopId(Long orderId, Long shopId) {
|
|
|
+ List<Long> orderIds = appOrderDao.selectCurrentOrderSequenceByShopId( shopId);
|
|
|
+
|
|
|
+ int index = orderIds.indexOf(orderId);
|
|
|
+
|
|
|
+ if (index == -1) {
|
|
|
+ throw new RuntimeException("当前订单不在已支付订单列表中");
|
|
|
+ }
|
|
|
+
|
|
|
+ return index + 1;
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional
|
|
|
public Result updateOrders(TbOrder order) {
|
|
|
String format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
|
|
@@ -803,6 +830,9 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
|
|
|
|
|
|
SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
|
|
|
if (StringUtils.isNotEmpty(goodsShop.getSnCode())) {
|
|
|
+ // 查询当天店铺所有已支付的订单号,按支付时间排序
|
|
|
+ int sequence = selectCurrentOrderSequenceByShopId(tbOrder.getOrderId(), shopId);
|
|
|
+ tbOrder.setCountOrder(sequence);
|
|
|
FeiYunUtils.print(goodsShop.getSnCode(), null, tbOrder);
|
|
|
}
|
|
|
} else if (order.getStatus() == 3) {
|