Jelajahi Sumber

系统取消重新发单

wangtao 3 tahun lalu
induk
melakukan
1c0c1d7e94

+ 8 - 2
lb-app/src/main/java/com/ydd/app/dto/MemberDetailReq.java

@@ -1,9 +1,7 @@
 package com.ydd.app.dto;
 
-import com.ydd.module.domain.Member;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
@@ -88,6 +86,7 @@ public class MemberDetailReq implements Serializable {
 
     @ApiModelProperty(value = "开启显示商品图片: 1->显示,0->不显示")
     private Integer showFoodImg;
+    
 
     @ApiModelProperty(value = "开启wifi自动下载安装包: 1->是,0->否")
     private Integer wifiUpgrade;
@@ -106,5 +105,12 @@ public class MemberDetailReq implements Serializable {
      * 同步打印客户联商品价格
      */
     private Integer customerLinkPrintGoodsPrice;
+    @ApiModelProperty(value = "取消在发起配送开关 0 关闭 1开启")
+    private Integer againOrder;
+
+    @ApiModelProperty(value = "省钱模式开关0 关闭 1开启")
+    private Integer littleMoney;
+    @ApiModelProperty(value = "省钱模式 间隔时间,逗号隔开")
+    private String littleMoneyTime;
 
 }

+ 33 - 22
lb-app/src/main/java/com/ydd/app/listener/DeliveryOrderListener.java

@@ -69,6 +69,7 @@ public class DeliveryOrderListener {
     private final ApiCouponService apiCouponService;
     private final IDspWaimaiService iDspWaimaiService;
     private final IWaimaiOrderService iWaimaiOrderService;
+    private final IWaimaiOrderRecordService iWaimaiOrderRecordService;
 
     @EventListener(DeliveryOrderEvent.class)
     @Async
@@ -79,7 +80,7 @@ public class DeliveryOrderListener {
         //触发保底配送
         OrderReq req = new OrderReq();
         //封装
-        req = doCreateOrder.transOrderReq(order,req);
+        req = doCreateOrder.transOrderReq(order, req);
         BigDecimal tipAmount = order.getTipAmount() == null ? BigDecimal.ZERO : order.getTipAmount();
         Lock lock = new ReentrantLock();
         //封装
@@ -89,10 +90,10 @@ public class DeliveryOrderListener {
 //            return;
 //        }
         int count = iOrderDeliveryService.count(new QueryWrapper<OrderDelivery>().eq("order_sn", order.getOrderSn()));
-        if(count != 0){
+        if (count != 0) {
             return;
         }
-        doCreateOrder.addOrderDelivery(list,order,tipAmount);
+        doCreateOrder.addOrderDelivery(list, order, tipAmount);
 
 /*
         list.sort((o1, o2) -> {
@@ -100,7 +101,7 @@ public class DeliveryOrderListener {
             return i.intValue();
         });
 */
-        if(order.getTipAmount()!=null&&order.getTipAmount().compareTo(BigDecimal.ZERO)>0){
+        if (order.getTipAmount() != null && order.getTipAmount().compareTo(BigDecimal.ZERO) > 0) {
             OrderTip orderTip = new OrderTip();
             orderTip.setChildOrderNo(order.getOrderSn());
             orderTip.setAmount(order.getTipAmount());
@@ -115,10 +116,10 @@ public class DeliveryOrderListener {
             log.info("订单ID" + order.getOrderSn() + "开始进行配送");
             try {
                 //判断该订单是否被接单
-               // lock.lock();
+                // lock.lock();
                 log.info("订单ID" + order.getId() + "配送平台ID" + res.getDeliveryId() + "得到了锁");
 
-                doCreateOrder.doCreateOrder(order,res,req,tipAmount,couponDto);
+                doCreateOrder.doCreateOrder(order, res, req, tipAmount, couponDto);
 
                 int billDuration = (res.getBillDuration() == null || res.getBillDuration() == 0) ? BillingConstant.DEFAULT_BILL_DURATION : res.getBillDuration();
                 TimeUnit.SECONDS.sleep(billDuration);
@@ -136,21 +137,21 @@ public class DeliveryOrderListener {
                 .eq("order_sn", order.getOrderSn())
                 .isNotNull("out_trade_no")
                 .ne("out_trade_no", -1));
-        if (countOrderDelivery == 0){
+        if (countOrderDelivery == 0) {
             Order nowOrder = iOrderService.getById(order.getId());
-            if (nowOrder.getWaimaiOrderId() != null){
+            if (nowOrder.getWaimaiOrderId() != null) {
                 nowOrder.setDeliveryStatus(DeliveryStatusEnum.ABNORMAL.status);
-            }else {
+            } else {
                 nowOrder.setDeliveryStatus(DeliveryStatusEnum.CANCEL.status);
             }
             iOrderService.updateById(nowOrder);
             iOrderLogService.addOrderLog(nowOrder.getId(), OrderStatusEnum.CANCEL.status);
             // 非自己运力下单支付,退款
-            if (!nowOrder.getPaymentType().equals(PaymentTypeEnum.LOCAL.type)&&nowOrder.getRefundMoney().compareTo(BigDecimal.ZERO) == 0){
+            if (!nowOrder.getPaymentType().equals(PaymentTypeEnum.LOCAL.type) && nowOrder.getRefundMoney().compareTo(BigDecimal.ZERO) == 0) {
                 nowOrder.setRefundMoney(nowOrder.getPayAmount());
-                apiOrderNewService.refund(order.getOrderSn(),nowOrder.getPayAmount(),"运力平台下单失败,退还金额",nowOrder.getMemberId(),nowOrder.getMerchantId());
+                apiOrderNewService.refund(order.getOrderSn(), nowOrder.getPayAmount(), "运力平台下单失败,退还金额", nowOrder.getMemberId(), nowOrder.getMerchantId());
                 if (order.getCouponId() != null) {
-                  //   couponDto = apiCouponService.findDetailBack(nowOrder.getCouponId().intValue());
+                    //   couponDto = apiCouponService.findDetailBack(nowOrder.getCouponId().intValue());
                     log.info("订单取消退优惠券详情:" + JSONObject.toJSONString(couponDto));
                     couponDto = new CouponDto();
                     couponDto.setId(nowOrder.getCouponId().intValue());
@@ -161,12 +162,12 @@ public class DeliveryOrderListener {
                 }
             }
             iOrderService.updateById(nowOrder);
-        }else{
-            if(order.getWaimaiOrderId()!=null&&order.getShopId()!=null){
+        } else {
+            if (order.getWaimaiOrderId() != null && order.getShopId() != null) {
                 WaimaiOrder waimaiOrder = iWaimaiOrderService.getById(order.getWaimaiOrderId());
                 DspWaimai waimai = iDspWaimaiService.getById(waimaiOrder.getWaimaiId());
                 OrderDetailDto dto = new OrderDetailDto();
-                BeanUtils.copyProperties(order,dto);
+                BeanUtils.copyProperties(order, dto);
                 dto.setCaution(waimaiOrder.getCaution());
                 dto.setOutOrderId(waimaiOrder.getOutOrderId());
                 dto.setDaySeq(waimaiOrder.getDaySeq());
@@ -176,15 +177,25 @@ public class DeliveryOrderListener {
                 dto.setExceptTime(waimaiOrder.getDeliveryTime());
                 dto.setOrderTime(waimaiOrder.getOrderTime());
 
-                redisTemplate.opsForList().leftPush("shop_received"+order.getShopId() + "", dto);
-                redisTemplate.expire("shop_received"+order.getShopId(),30,TimeUnit.MINUTES);
-                if(order.getMerchantId()!=null){
-                    redisTemplate.opsForList().leftPush("merchant_received"+order.getMerchantId() + "", dto);
-                    redisTemplate.expire("merchant_received"+order.getMerchantId(),30,TimeUnit.MINUTES);
+                redisTemplate.opsForList().leftPush("shop_received" + order.getShopId() + "", dto);
+                redisTemplate.expire("shop_received" + order.getShopId(), 30, TimeUnit.MINUTES);
+                if (order.getMerchantId() != null) {
+                    redisTemplate.opsForList().leftPush("merchant_received" + order.getMerchantId() + "", dto);
+                    redisTemplate.expire("merchant_received" + order.getMerchantId(), 30, TimeUnit.MINUTES);
+                }
+                WaimaiOrderRecord record = iWaimaiOrderRecordService.getOne(new QueryWrapper<WaimaiOrderRecord>().eq("waimai_order_id", waimaiOrder.getId()));
+                if (record == null) {
+                    record = new WaimaiOrderRecord();
+                    record.setShopId(waimaiOrder.getShopId());
+                    record.setWaimaiOrderId(waimaiOrder.getId());
+                    record.setWaimaiId(waimaiOrder.getWaimaiId());
+                    record.setNum(1);
+                    iWaimaiOrderRecordService.save(record);
+                } else {
+                    record.setCreateTime(new Date());
+                    iWaimaiOrderRecordService.updateById(record);
                 }
             }
-
-
         }
 
     }

+ 6 - 0
lb-app/src/main/java/com/ydd/app/listener/GuaranteeListener.java

@@ -148,6 +148,12 @@ public class GuaranteeListener {
 //                || nowOrder.getDeliveryStatus().equals(DeliveryStatusEnum.CANCEL.status)) {
 //            return ;
 //        }
+        if (!order.getParams().isEmpty() && order.getParams().get("again") != null&&order.getWaimaiOrderId()!=null) {
+            Long orderId  = (Long) order.getParams().get("again");
+            Order order1 = new Order();
+            order1.setId(orderId);
+            iOrderService.removeById(order1);
+        }
         // 下单,扣除最高价格,这里需要和普通订单一样处理
         createOrder(order, res, couponDto, req);
 

+ 12 - 0
lb-app/src/main/java/com/ydd/app/service/ApiOrderAgainService.java

@@ -0,0 +1,12 @@
+package com.ydd.app.service;
+
+
+
+/**
+ * @author wangtao
+ * @date 2022/5/6
+ */
+public interface ApiOrderAgainService {
+
+    void againOrder(Long  orderId);
+}

+ 81 - 0
lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderAgainServiceImpl.java

@@ -0,0 +1,81 @@
+package com.ydd.app.service.impl;
+
+import com.ydd.app.service.ApiOrderAgainService;
+import com.ydd.app.task.TriggerProcessTask;
+import com.ydd.common.utils.SnCodeUtils;
+import com.ydd.module.domain.MemberConfig;
+import com.ydd.module.domain.Order;
+import com.ydd.module.domain.OrderLog;
+import com.ydd.module.enums.*;
+import com.ydd.module.service.IMemberConfigService;
+import com.ydd.module.service.IOrderLogService;
+import com.ydd.module.service.IOrderService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.support.TransactionSynchronizationAdapter;
+import org.springframework.transaction.support.TransactionSynchronizationManager;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author wangtao
+ * @date 2022/5/6
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class ApiOrderAgainServiceImpl implements ApiOrderAgainService {
+
+    private final IMemberConfigService iMemberConfigService;
+    private final IOrderService iOrderService;
+    private final IOrderLogService iOrderLogService;
+    private final ApplicationContext applicationContext;
+    public static ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(10);
+
+    @Override
+    public void againOrder(Long  orderId) {
+        Order orderNew = iOrderService.getById(orderId);
+        MemberConfig config = iMemberConfigService.getShopMemberConfig(orderNew.getShopId(), null);
+        if(config!=null&& StatusEnum.SHOW.status.equals(config.getAgainOrder())){
+            orderNew.setDeliveryStatus(DeliveryStatusEnum.ORDERS_TO_BE_BILLED.status);
+            orderNew.setStatus(OrderStatusEnum.NO_PAYED.status);
+            orderNew.setPaymentType(PaymentTypeEnum.BALANCE.type);
+            orderNew.setDeliveryName("");
+            orderNew.setDeliveryId(null);
+            orderNew.setShipperName("");
+            orderNew.setShipperPhone("");
+            orderNew.setId(null);
+            orderNew.setOrderSn(SnCodeUtils.createSn());
+            orderNew.setCancelReason("");
+            orderNew.setCancelType(null);
+            orderNew.setPayAmount(null);
+            orderNew.setCouponAmount(null);
+            orderNew.setCouponId(null);
+            orderNew.setCommission(null);
+            iOrderService.save(orderNew);
+            OrderLog log = new OrderLog();
+            log.setOrderId(orderNew.getId());
+            log.setOrderStatus(DeliveryStatusEnum.ORDERS_TO_BE_BILLED.status);
+            log.setRemark(orderId+"");
+            iOrderLogService.save(log);
+
+            Map<String, Object> params = new HashMap<>();
+            params.put("again",orderId);
+            orderNew.setTakeType(TakeTypeEnum.NOW.type);
+            orderNew.setParams(params);
+            TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
+                @Override
+                public void afterCommit() {
+                    scheduledExecutorService.schedule(new TriggerProcessTask(orderNew, null, applicationContext), 60, TimeUnit.SECONDS);
+                }
+            });
+        }
+    }
+}

+ 7 - 2
lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderBackServiceImpl.java

@@ -109,7 +109,7 @@ public class ApiOrderBackServiceImpl implements ApiOrderBackService {
     private final IShopJdHomeCodeService iShopJdHomeCodeService;
 
     private final OpenApiNotifyService openApiNotifyService;
-
+    private final ApiOrderAgainService apiOrderAgainService;
     @Async
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -683,7 +683,7 @@ public class ApiOrderBackServiceImpl implements ApiOrderBackService {
         orderDelivery.setCancelTime(new Date());
         //   iOrderDeliveryService.update(orderDelivery, new UpdateWrapper<OrderDelivery>().eq("order_sn", order.getOrderSn()).eq("delivery_id", delivery.getId()));
         iOrderDeliveryService.updateById(orderDelivery);
-        if (order.getRefundMoney().compareTo(BigDecimal.ZERO) == 0) {
+        if (order.getRefundMoney().compareTo(BigDecimal.ZERO) == 0&&!redisTemplate.hasKey(order.getOrderSn()+"_refundmoney")) {
             orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("order_sn", order.getOrderSn()).eq("delivery_id", order.getDeliveryId()));
             order.setStatus(PayStatusEnum.CANCEL.status);
             //退费处理
@@ -730,7 +730,12 @@ public class ApiOrderBackServiceImpl implements ApiOrderBackService {
                 apiCouponService.updateCoupon(couponDto);
                 log.info("订单取消退优惠券成功:");
             }
+
             redisTemplate.delete(order.getOrderSn() + "to_recive:");
+            redisTemplate.opsForValue().set(order.getOrderSn()+"_refundmoney",refundMoney,90,TimeUnit.SECONDS);
+            if(OrderCancelTypeEnum.SYSTEM_CANCEL.type.equals(order.getCancelType())){
+                apiOrderAgainService.againOrder(order.getId());
+            }
         }
     }
 }

+ 5 - 1
lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderCancelServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.ydd.api.DeliveryService;
 import com.ydd.app.service.ApiCouponService;
+import com.ydd.app.service.ApiOrderAgainService;
 import com.ydd.app.service.ApiOrderCancelService;
 import com.ydd.app.service.ApiOrderNewService;
 import com.ydd.common.core.redis.RedisCache;
@@ -76,7 +77,7 @@ public class ApiOrderCancelServiceImpl implements ApiOrderCancelService {
 
     private final IShopDeliveryBindService iShopDeliveryBindService;
 
-
+    private final ApiOrderAgainService apiOrderAgainService;
 
 
     /**
@@ -314,6 +315,9 @@ public class ApiOrderCancelServiceImpl implements ApiOrderCancelService {
                 log.info("订单取消退优惠券成功:");
             }
             iOrderService.updateById(order);
+            if(OrderCancelTypeEnum.SYSTEM_CANCEL.type.equals(order.getCancelType())){
+                apiOrderAgainService.againOrder(order.getId());
+            }
         }
     }
 }

+ 19 - 1
lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderValuationServiceImpl.java

@@ -9,6 +9,7 @@ import com.ydd.app.dto.OrderReq;
 import com.ydd.app.dto.ValuationRes;
 import com.ydd.app.dto.ValuationResultData;
 import com.ydd.app.service.ApiDadaValuationService;
+import com.ydd.app.service.ApiOrderAgainService;
 import com.ydd.app.service.ApiOrderValuationService;
 import com.ydd.app.service.ApiProductService;
 import com.ydd.common.constant.BillingConstant;
@@ -94,6 +95,7 @@ public class ApiOrderValuationServiceImpl implements ApiOrderValuationService {
     private final ApiDadaValuationService dadaValuationService;
     private final IDspDeliveryUuService iDspDeliveryUuService;
 
+
     @Override
     public ValuationResultData orderValuation(Member member, OrderReq orderReq, Integer type) {
         log.info("<===========>订单计价参数: loginId:{}, type: {}, orderReq: {} ", member.getId(), type, JsonMapper.nonEmptyMapper().toJson(orderReq));
@@ -308,8 +310,10 @@ public class ApiOrderValuationServiceImpl implements ApiOrderValuationService {
         list.sort(Comparator.comparing(ValuationRes::getDeliveryAmount));
         // Res数据组装
         this.setValuationRes(list, res, loginMember, orderReq.getTransport());
+        MemberConfig config = iMemberConfigService.getShopMemberConfig(shopId, null);
         // 运力包发单类型为自定义, 则先按照sort排,再按价格排
-        if (packageDeliveryDto != null && PackageDeliveryTypeEnum.CUSTOM.type.equals(packageDeliveryDto.getType())) {
+        if (packageDeliveryDto != null && PackageDeliveryTypeEnum.CUSTOM.type.equals(packageDeliveryDto.getType())
+                &&config!=null&& !StatusEnum.SHOW.status.equals(config.getLittleMoney())) {//用户配置了省钱模式,运力包排序无效
             Collections.sort(list);
         }
 
@@ -319,6 +323,20 @@ public class ApiOrderValuationServiceImpl implements ApiOrderValuationService {
         if (packageDeliveryDto != null) {
             billList = this.setBillingDuration(packageDeliveryDto, billList);
         }
+        if(config!=null&& StatusEnum.SHOW.status.equals(config.getLittleMoney())){//省钱模式
+            if (StringUtils.isNotBlank(config.getLittleMoneyTime())){
+                String[] split = config.getLittleMoneyTime().split(",");
+                for (int i = 0; i < billList.size(); i++) {
+                    ValuationRes valuationRes = billList.get(i);
+                    if (i < split.length) {
+                        if(StringUtils.isNotBlank(split[i])){
+                            valuationRes.setBillDuration(Integer.parseInt(split[i])*60);
+                        }
+                    }
+                }
+            }
+
+        }
         res.setOptionals(billList);
         res.setSupports(supports);
         return res;

+ 76 - 69
lb-app/src/test/java/com/ydd/app/Test.java

@@ -1,80 +1,87 @@
-//package com.ydd.app;
-//
-//import com.alibaba.fastjson.JSON;
-//import com.alibaba.fastjson.JSONArray;
-//import com.alibaba.fastjson.JSONObject;
-//import com.ydd.AppApplication;
-//import com.ydd.app.service.ApiStatisticsService;
-//import com.ydd.app.service.ApiWaimaiPrintService;
-//import com.ydd.module.domain.WaimaiOrder;
-//import com.ydd.module.push.MessagePushService;
-//import com.ydd.module.service.IOrderPushMessageService;
-//import com.ydd.module.service.IWaimaiOrderService;
-//import com.ydd.third.common.vo.ResObject;
-//import com.ydd.third.delivery.meituan.MeituanSgClient;
-//import com.ydd.third.delivery.vo.order.OrderVo;
-//import com.ydd.third.waimai.eleme.ElemeAuthClient;
-//import com.ydd.third.waimai.eleme.ElemeClient;
-//import org.apache.commons.collections4.CollectionUtils;
-//import org.junit.runner.RunWith;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.test.context.SpringBootTest;
-//import org.springframework.test.context.junit4.SpringRunner;
-//
-//import javax.annotation.Resource;
-//import java.util.List;
-//import java.util.regex.Matcher;
-//import java.util.regex.Pattern;
-//
-//@RunWith(SpringRunner.class)
-//@SpringBootTest(classes = AppApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-//public class Test {
-//    @Autowired
-//    private  IWaimaiOrderService iWaimaiOrderService;
-//    @Autowired
-//    private  MessagePushService messagePushService;
-//
-//    @Autowired
-//    private  IOrderPushMessageService iOrderPushMessageService;
-//    @Autowired
-//    private  ApiStatisticsService apiStatisticsService;
-//    @Autowired
-//    private  ApiWaimaiPrintService apiWaimaiPrintService;
+package com.ydd.app;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.ydd.AppApplication;
+import com.ydd.app.dto.DevelopAuditDto;
+import com.ydd.app.service.ApiDevelopService;
+import com.ydd.app.service.ApiStatisticsService;
+import com.ydd.app.service.ApiWaimaiPrintService;
+import com.ydd.module.domain.WaimaiOrder;
+import com.ydd.module.push.MessagePushService;
+import com.ydd.module.service.IOrderPushMessageService;
+import com.ydd.module.service.IWaimaiOrderService;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AppApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class Test {
+    @Autowired
+    private  IWaimaiOrderService iWaimaiOrderService;
+    @Autowired
+    private  MessagePushService messagePushService;
+
+    @Autowired
+    private  IOrderPushMessageService iOrderPushMessageService;
+    @Autowired
+    private  ApiStatisticsService apiStatisticsService;
+    @Autowired
+    private  ApiWaimaiPrintService apiWaimaiPrintService;
 //    @Resource
 //    private ElemeAuthClient elemeAuthClient;
 //    @Resource
 //    private  ElemeClient elemeClient;
 //    @Resource
 //    private MeituanSgClient meituanSgClient;
-////
-//    public  void test(){
-//        String title = "您有一个订单5分钟内没有骑手接单,请及时关注";
-//        String content = "您有一个订单5分钟内没有骑手接单,请及时关注";
-//        List<WaimaiOrder> list = iWaimaiOrderService.queryTimeOutFiveOrder();
-//        if (CollectionUtils.isNotEmpty(list)) {
-//            for (WaimaiOrder waimaiOrder : list) {
-//                messagePushService.riderMissedOrderMessage(waimaiOrder, title, content);
-//            }
-//        }
 //
-//    }
-//
-//    @org.junit.Test
-//    public  void testtj(){
-//        System.out.println(apiStatisticsService.shop(185l,164l,3,null,null));
-//    }
-//
-//    @org.junit.Test
-//    public  void testPrint(){
-////        ResObject res = elemeClient.getNonReachedOMessages("06143463292980a8ec66c0a2000102b5",77457529);
-////        System.out.println(JSONObject.toJSONString(res));
-//       // elemeAuthClient.doRefreshToken("c54df9d9bcc3d605417111aea02f2e48");
-//
-//        //apiWaimaiPrintService.printTestWaimai("50005126", 342514L,"4377979561300340297");.
+    public  void test(){
+        String title = "您有一个订单5分钟内没有骑手接单,请及时关注";
+        String content = "您有一个订单5分钟内没有骑手接单,请及时关注";
+        List<WaimaiOrder> list = iWaimaiOrderService.queryTimeOutFiveOrder();
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (WaimaiOrder waimaiOrder : list) {
+                messagePushService.riderMissedOrderMessage(waimaiOrder, title, content);
+            }
+        }
+
+    }
+
+    @org.junit.Test
+    public  void testtj(){
+        System.out.println(apiStatisticsService.shop(185l,164l,3,null,null));
+    }
+    @Autowired
+    ApiDevelopService apiDevelopService;
+    @org.junit.Test
+    public  void testPrint(){
+//        ResObject res = elemeClient.getNonReachedOMessages("06143463292980a8ec66c0a2000102b5",77457529);
+//        System.out.println(JSONObject.toJSONString(res));
+       // elemeAuthClient.doRefreshToken("c54df9d9bcc3d605417111aea02f2e48");
+
+        //apiWaimaiPrintService.printTestWaimai("50005126", 342514L,"4377979561300340297");.
 //        OrderVo orderVo = new OrderVo();
 //        orderVo.setZbToken("token_lt5wP20-mAgj4JUczj1ErQ");
 //        orderVo.setOrderingSourceNo("56835752520387746");
 //        meituanSgClient.zhongBaoFee(orderVo);
-//    }
-//
-//}
+        DevelopAuditDto developAuditDto = new DevelopAuditDto();
+        developAuditDto.setMerchantId(197l);
+        developAuditDto.setStartTime("2022-05-13");
+        developAuditDto.setStartTime("2023-05-12");
+        developAuditDto.setEarnestMoney(new BigDecimal("2000"));
+        developAuditDto.setStatus(1);
+        apiDevelopService.audit(developAuditDto);
+    }
+
+}

+ 8 - 6
lb-module/src/main/java/com/ydd/module/domain/MemberConfig.java

@@ -1,17 +1,15 @@
 package com.ydd.module.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydd.common.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
-import com.ydd.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 
-import java.math.BigDecimal;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;
@@ -148,6 +146,10 @@ private static final long serialVersionUID=1L;
      */
     private Integer customerLinkPrintGoodsPrice;
 
+    private Integer againOrder;
+
+    private Integer littleMoney;
+    private String littleMoneyTime;
     /** 创建时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")

+ 5 - 6
lb-module/src/main/java/com/ydd/module/domain/WaimaiOrderRecord.java

@@ -1,16 +1,15 @@
 package com.ydd.module.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydd.common.annotation.Excel;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
-import com.ydd.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 
-import java.math.BigDecimal;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;

+ 7 - 0
lb-module/src/main/java/com/ydd/module/dto/MemberDetailDto.java

@@ -133,5 +133,12 @@ public class MemberDetailDto extends Member {
      * 同步打印客户联商品价格
      */
     private Integer customerLinkPrintGoodsPrice;
+    @ApiModelProperty(value = "取消在发起配送开关 0 关闭 1开启")
+    private Integer againOrder;
+
+    @ApiModelProperty(value = "省钱模式开关0 关闭 1开启")
+    private Integer littleMoney;
+    @ApiModelProperty(value = "省钱模式 间隔时间,逗号隔开")
+    private String littleMoneyTime;
 
 }

+ 2 - 1
lb-module/src/main/java/com/ydd/module/service/IWaimaiOrderRecordService.java

@@ -1,7 +1,8 @@
 package com.ydd.module.service;
 
-import com.ydd.module.domain.WaimaiOrderRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydd.module.domain.WaimaiOrderRecord;
+
 import java.util.List;
 
 /**