Parcourir la source

卓美配置 定时任务修改

yuhongqi il y a 1 jour
Parent
commit
8693508083

+ 7 - 0
fs-admin/src/main/java/com/fs/hisStore/task/LiveTask.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.DateUtils;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.vo.RedPacketMoneyVO;
 import com.fs.course.mapper.FsCourseRedPacketLogMapper;
@@ -57,6 +58,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalTime;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
@@ -230,6 +232,11 @@ public class LiveTask {
         if (list.size() > 50) {
             list = list.subList(0, 50);
         }
+        Date nowDate = DateUtils.getNowDate();
+        for (LiveOrder order : list) {
+            order.setUpdateTime(nowDate);
+        }
+        liveOrderService.batchUpdateTime(list);
         for (LiveOrder order : list) {
             ErpOrderQueryRequert request = new ErpOrderQueryRequert();
             request.setCode(order.getExtendOrderId());

+ 5 - 2
fs-service/src/main/java/com/fs/live/mapper/LiveOrderMapper.java

@@ -104,7 +104,7 @@ public interface LiveOrderMapper {
     @Select("select * from live_order where `status` = 3 AND TIMESTAMPDIFF(HOUR, start_time, NOW()) >= 48  ")
     List<LiveOrder> selectLiveOrderByFinish();
 
-    @Select("select * from live_order where `status` = 1 and extend_order_id is not null and delivery_sn is null and refund_status = 0")
+    @Select("select * from live_order where `status` = 1 and extend_order_id is not null and (delivery_sn is null or delivery_code = '') and refund_status = 0 and is_pay = 1 order by update_time ")
     List<LiveOrder> selectUpdateExpress();
 
     @Select("select order_id from live_order where `status` = 2 and delivery_code is not null and delivery_sn is not null and is_pay = 1")
@@ -454,6 +454,9 @@ public interface LiveOrderMapper {
     /*
     * 查询订单创建时间为最近30分钟的订单
     * */
-    @Select("SELECT * FROM live_order WHERE create_time >= DATE_SUB(NOW(), INTERVAL 30 MINUTE) and status = 0 and refund_status = 0")
+    @Select("SELECT * FROM live_order WHERE create_time >= DATE_SUB(NOW(), INTERVAL 15 MINUTE) and status = 0 and refund_status = 0")
     List<LiveOrder> selectBankOrder();
+
+
+    void batchUpdateTime(@Param("list") List<LiveOrder> list);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/live/service/ILiveOrderService.java

@@ -259,4 +259,6 @@ public interface ILiveOrderService {
     LiveOrder selectOrderByUserIdLimit1(Long userId);
 
     List<LiveOrder> selectBankOrder();
+
+    void batchUpdateTime(List<LiveOrder> list);
 }

+ 18 - 15
fs-service/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -1663,16 +1663,14 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
 
             FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF.0235402855");
             erpOrder.setExpress_code(express.getOmsCode());
-            // 暂时不知道干嘛的 影响数据查询 屏蔽掉
-//            order.setDeliveryName(express.getName());
-//            order.setDeliverySn(express.getCode());
+            order.setDeliveryName(express.getName());
+            order.setDeliverySn(express.getCode());
 
         } else {
             FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF.0235402855");
             erpOrder.setExpress_code(express.getOmsCode());
-            // 暂时不知道干嘛的 影响数据查询 屏蔽掉
-//            order.setDeliveryName(express.getName());
-//            order.setDeliverySn(express.getCode());
+            order.setDeliveryName(express.getName());
+            order.setDeliverySn(express.getCode());
         }
         erpOrder.setPayments(payments);
         if (order.getCompanyId() != null) {
@@ -1790,15 +1788,15 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
             }
             expressService.subscribeEspress(order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
 
-//            TemplateBean templateBean = TemplateBean.builder()
-//                    .orderId(order.getOrderId().toString())
-//                    .orderCode(order.getOrderCode().toString())
-//                    .deliveryId(order.getDeliverySn())
-//                    .deliveryName(order.getDeliveryName())
-//                    .userId(Long.valueOf(order.getUserId()))
-//                    .templateType(TemplateListenEnum.TYPE_2.getValue())
-//                    .build();
-//            publisher.publishEvent(new TemplateEvent(this, templateBean));
+            TemplateBean templateBean = TemplateBean.builder()
+                    .orderId(order.getOrderId().toString())
+                    .orderCode(order.getOrderCode())
+                    .deliveryId(order.getDeliverySn())
+                    .deliveryName(order.getDeliveryName())
+                    .userId(Long.valueOf(order.getUserId()))
+                    .templateType(TemplateListenEnum.TYPE_2.getValue())
+                    .build();
+            publisher.publishEvent(new TemplateEvent(this, templateBean));
 
             LiveOrderPayment fsStorePayment  = liveOrderPaymentMapper.selectLiveOrderLatestPayByOrderId(order.getOrderId());
             FsWxExpressTask fsWxExpressTask = new FsWxExpressTask();
@@ -3322,6 +3320,11 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
         return baseMapper.selectBankOrder();
     }
 
+    @Override
+    public void batchUpdateTime(List<LiveOrder> list) {
+        baseMapper.batchUpdateTime(list);
+    }
+
 
     @Override
     @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)

+ 5 - 5
fs-service/src/main/resources/application-druid-bjzm.yml

@@ -39,16 +39,16 @@ spring:
             druid:
                 # 主库数据源
                 master:
-                  url: jdbc:mysql://gz-cdb-ofgnuz1n.sql.tencentcdb.com:26872/fs_his?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                  url: jdbc:mysql://172.16.16.40:3306/fs_his?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                   username: root
                   password: Ylrz_1q2w3e4r5t6y
                 # 从库数据源
                 slave:
                     # 从数据源开关/默认关闭
-                    enabled: false
-                    url:
-                    username:
-                    password:
+                    enabled: true
+                    url: jdbc:mysql://172.16.0.24:3306/fs_his?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    username: root
+                    password: Ylrz_1q2w3e4r5t6y
                 # 初始连接数
                 initialSize: 5
                 # 最小连接池数量

+ 13 - 0
fs-service/src/main/resources/mapper/live/LiveOrderMapper.xml

@@ -1293,4 +1293,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{item.orderNumber}
         </foreach>
     </update>
+
+    <update id="batchUpdateTime">
+        UPDATE live_order
+        SET update_time = CASE
+        <foreach collection="list" item="item" separator="">
+            WHEN order_id = #{item.orderId} THEN #{item.updateTime}
+        </foreach>
+        END
+        WHERE order_id IN
+        <foreach collection="list" item="item" open="(" separator="," close=")">
+            #{item.orderId}
+        </foreach>
+    </update>
 </mapper>