Bladeren bron

修复制作中订单未定时自动完成bug

codingliang 2 jaren geleden
bovenliggende
commit
9eea68f886

+ 2 - 1
src/main/java/com/sqx/modules/order/dao/AppOrderDao.java

@@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 
 @Mapper
@@ -70,7 +71,7 @@ public interface AppOrderDao extends BaseMapper<TbOrder> {
 
     List<TbOrder> selectOverTimeOrder(String overTime);
 
-    List<TbOrder> selectMakeOrdersList(String minute);
+    List<TbOrder> selectMakeOrdersList(LocalDateTime minusMinutes);
 
     List<Long> selectCurrentOrderSequenceByShopId(@Param("shopId") Long shopId);
 }

+ 2 - 1
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -1626,7 +1626,8 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         String value = commonInfoService.findOne(418).getValue();
         if("是".equals(value)){
             String minute = commonInfoService.findOne(419).getValue();
-            List<TbOrder> tbOrders = baseMapper.selectMakeOrdersList(minute);
+            LocalDateTime minusMinutes = LocalDateTime.now().minusMinutes(Long.valueOf(minute));
+            List<TbOrder> tbOrders = baseMapper.selectMakeOrdersList(minusMinutes);
             for (TbOrder order:tbOrders){
                 try{
                     order.setStatus(3);

+ 1 - 2
src/main/resources/mapper/order/OrderMapper.xml

@@ -398,8 +398,7 @@
     </select>
 
     <select id="selectMakeOrdersList" resultType="com.sqx.modules.order.entity.TbOrder">
-        select * from tb_order where status=6 and now() >= DATE_ADD(shop_receiving_time, INTERVAL #{minute} MINUTE )
-    </select>
+        select * from tb_order where status=6 and shop_receiving_time <![CDATA[ <= #{minusMinutes}]]></select>
 
     <select id="selectCurrentOrderSequenceByShopId" resultType="java.lang.Long">
         select