浏览代码

Merge remote-tracking branch 'origin/master'

叶君翔 3 年之前
父节点
当前提交
e3de2e9703
共有 19 个文件被更改,包括 194 次插入43 次删除
  1. 16 1
      lb-app/src/main/java/com/ydd/app/controller/DevelopmentApi.java
  2. 7 0
      lb-app/src/main/java/com/ydd/app/controller/LoginRegisterApi.java
  3. 4 0
      lb-app/src/main/java/com/ydd/app/service/ApiDevelopService.java
  4. 5 0
      lb-app/src/main/java/com/ydd/app/service/ApiMemberService.java
  5. 34 0
      lb-app/src/main/java/com/ydd/app/service/impl/ApiDevelopServiceImpl.java
  6. 21 1
      lb-app/src/main/java/com/ydd/app/service/impl/ApiMemberServiceImpl.java
  7. 1 2
      lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderBackServiceImpl.java
  8. 5 0
      lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderNewServiceImpl.java
  9. 2 2
      lb-app/src/main/java/com/ydd/app/service/impl/OpenApiOrderServiceImpl.java
  10. 30 0
      lb-app/src/main/java/com/ydd/app/vo/OpenMyWalletVo.java
  11. 1 0
      lb-module/src/main/java/com/ydd/module/mapper/RechargeMapper.java
  12. 2 0
      lb-module/src/main/java/com/ydd/module/service/IRechargeService.java
  13. 37 33
      lb-module/src/main/java/com/ydd/module/service/impl/DspDeliveryServiceImpl.java
  14. 4 0
      lb-module/src/main/java/com/ydd/module/service/impl/RechargeServiceImpl.java
  15. 4 1
      lb-module/src/main/java/com/ydd/module/service/impl/ShopWaimaiServiceImpl.java
  16. 2 1
      lb-module/src/main/resources/mapper/module/dspDeliveryMapper.xml
  17. 17 0
      lb-module/src/main/resources/mapper/module/rechargeMapper.xml
  18. 1 1
      lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/fengniao/config/RequestConstant.java
  19. 1 1
      lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/fengniao/service/FengniaoTokenService.java

+ 16 - 1
lb-app/src/main/java/com/ydd/app/controller/DevelopmentApi.java

@@ -91,11 +91,26 @@ public class DevelopmentApi extends BaseController {
 
     @ApiOperation("客户列表")
     @RequestMapping(value = "/customer/list", method = RequestMethod.GET)
-
     public ResponseResult customers(@RequestParam(required = false, name = "cityName") String cityName,
                                     @RequestParam(required = false, name = "businessName") String businessName,
                                     @RequestParam(required = false, name = "contactName") String contactName) {
         startPage();
         return apiDevelopService.selectCustomerList(cityName, businessName, contactName);
     }
+
+    @ApiOperation("我的钱包")
+    @RequestMapping(value = "/my/wallet", method = RequestMethod.POST)
+    @AccessToken
+    public ResponseResult myWallet() {
+        return apiDevelopService.myWallet(getLoginId());
+    }
+
+    @ApiOperation("充值记录")
+    @RequestMapping(value = "/recharge/list")
+    @AccessToken
+    public ResponseResult rechargeList(@RequestParam(required = false, name = "startTime") String startTime,
+                                       @RequestParam(required = false, name = "endTime") String endTime) {
+        startPage();
+        return apiDevelopService.rechargeList(getLoginId(), startTime, endTime);
+    }
 }

+ 7 - 0
lb-app/src/main/java/com/ydd/app/controller/LoginRegisterApi.java

@@ -322,6 +322,13 @@ public class LoginRegisterApi extends BaseController {
 
     }
 
+    @RequestMapping(value = "/addAliasId", method = RequestMethod.POST)
+    @ApiOperation(value = "新增aliasId")
+    @AccessToken
+    public BaseResult<Object> addAliasId() {
+        apiMemberService.addAliasId(getLoginId());
+        return BaseResult.success();
 
+    }
 
 }

+ 4 - 0
lb-app/src/main/java/com/ydd/app/service/ApiDevelopService.java

@@ -67,4 +67,8 @@ public interface ApiDevelopService {
      * @return
      */
     ResponseResult selectCustomerList(String cityName, String businessName, String contactName);
+
+    ResponseResult myWallet(Long loginId);
+
+    ResponseResult rechargeList(Long loginId, String startTime, String endTime);
 }

+ 5 - 0
lb-app/src/main/java/com/ydd/app/service/ApiMemberService.java

@@ -221,4 +221,9 @@ public interface ApiMemberService {
      */
     void clearAliasId(Long loginId);
 
+    /**
+     * 新增用户的aliasId
+     * @param loginId 登录用户id
+     */
+    void addAliasId(Long loginId);
 }

+ 34 - 0
lb-app/src/main/java/com/ydd/app/service/impl/ApiDevelopServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.lang.UUID;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ydd.app.dto.*;
 import com.ydd.app.service.*;
+import com.ydd.app.vo.OpenMyWalletVo;
 import com.ydd.module.dto.OpenCustomerDto;
 import com.ydd.app.vo.OpenMemberInfoVo;
 import com.ydd.common.constant.Constants;
@@ -57,6 +58,11 @@ public class ApiDevelopServiceImpl implements ApiDevelopService {
 
     private final TokenService tokenService;
 
+    private final IRechargeService iRechargeService;
+    private final IRechargeOptionService iRechargeOptionService;
+
+    private final IMemberCouponService iMemberCouponService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public ResponseResult saveMerchant(Long loginId, DevelopMerchantDto merchantDto) {
@@ -291,6 +297,34 @@ public class ApiDevelopServiceImpl implements ApiDevelopService {
         return ResponseResult.success(new PageResult(customerVoList));
     }
 
+    @Override
+    public ResponseResult myWallet(Long loginId) {
+        Member member = iMemberService.getById(loginId);
+        if (Objects.isNull(member)) {
+            return ResponseResult.error(ResponseResultCodeEnum.REFRESH_TOKEN_INVALID);
+        }
+
+        OpenMyWalletVo vo = new OpenMyWalletVo();
+        List<RechargeOption> options = iRechargeOptionService.list(new QueryWrapper<RechargeOption>().eq("status", StatusEnum.SHOW.status).orderByDesc("sort"));
+        vo.setRechargeOptionList(options);
+        vo.setAmount(member.getAmount());
+
+        Date now = new Date();
+        int couponNum = iMemberCouponService.count(new QueryWrapper<MemberCoupon>()
+                .eq("member_id", member.getId())
+                .eq("status", MemberCouponStatusEnum.NOT_USED.status)
+                .le("valid_start_time", now)
+                .ge("valid_end_time", now));
+        vo.setCouponNum(couponNum);
+        return ResponseResult.success(vo);
+    }
+
+    @Override
+    public ResponseResult rechargeList(Long loginId, String startTime, String endTime) {
+        List<Recharge> rechargeList = iRechargeService.selectOpenRechargeList(loginId, startTime, endTime);
+        return ResponseResult.success(rechargeList);
+    }
+
     private ResponseResult memberInfoJudge(Member member, String resistMobile, String code) {
         ResponseResult result = ResponseResult.success();
 

+ 21 - 1
lb-app/src/main/java/com/ydd/app/service/impl/ApiMemberServiceImpl.java

@@ -991,5 +991,25 @@ public class ApiMemberServiceImpl implements ApiMemberService {
             }
         }
     }
-
+    @Override
+    public void addAliasId(Long loginId) {
+        String aliasId = ServletUtils.getRequest().getAttribute("aliasId").toString();
+        Member member = iMemberService.getById(loginId);
+        if (member == null || StringUtils.isBlank(aliasId)) {
+            return;
+        }
+        String oldAliasIdStr = member.getAliasId();
+        log.info("新增aliasId, memberId: {}, oldAliasIdStr: [{}], 待新增aliasId: {}", loginId, oldAliasIdStr, aliasId);
+        if (StringUtils.isNotBlank(oldAliasIdStr)) {
+            String[] split = oldAliasIdStr.split(",");
+            List<String> oldListArr = Arrays.asList(split);
+            ArrayList<String> oldList = new ArrayList<>(oldListArr);
+            if (CollectionUtils.isNotEmpty(oldList) && !oldList.contains(aliasId)) {
+                String aliasIdStr = StringUtils.join(oldList, ",").concat("," + aliasId);
+                iMemberService.update(new UpdateWrapper<Member>()
+                        .set("alias_id", aliasIdStr)
+                        .eq("id", loginId));
+            }
+        }
+    }
 }

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

@@ -386,8 +386,7 @@ public class ApiOrderBackServiceImpl implements ApiOrderBackService {
 
     public void syncWaimaiStatus(WaimaiOrder waimaiOrder, Order order, CallBackOrderDto dto, DspDelivery delivery, OrderDelivery orderDelivery) {
         // if (dto.getOrderStatus() > DeliveryStatusEnum.ORDERS_TO_BE_RECEIVED.status || DeliveryStatusEnum.ABNORMAL.status.equals(order.getDeliveryStatus())) {
-        if (dto.getOrderStatus() > DeliveryStatusEnum.ORDERS_TO_BE_RECEIVED.status) {
-            waimaiOrder = iWaimaiOrderService.findById(order.getWaimaiOrderId());
+        if (dto.getOrderStatus() > DeliveryStatusEnum.ORDERS_TO_BE_RECEIVED.status||(DeliveryStatusEnum.ABNORMAL.status.equals(order.getDeliveryStatus())&&StringUtils.isNotBlank(order.getOutTradeNo()))) {            waimaiOrder = iWaimaiOrderService.findById(order.getWaimaiOrderId());
             DspWaimai waimai = iDspWaimaiService.getById(waimaiOrder.getWaimaiId());
             // ShopWaimai shopWaimai = iShopWaimaiService.findById(waimaiOrder.getShopId(), waimai.getId());
             ShopWaimai shopWaimai = iShopWaimaiService.findByThirdShopId(waimaiOrder.getShopId(), waimai.getId(), waimaiOrder.getThirdShopId());

+ 5 - 0
lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderNewServiceImpl.java

@@ -124,6 +124,9 @@ public class ApiOrderNewServiceImpl implements ApiOrderNewService {
         CouponDto couponDto = null;
         if (req.getCouponId() != null) {
             couponDto = apiCouponService.findDetail(req.getCouponId());
+            if(redisCache.hasKey(couponDto.getId()+"")){
+                throw new CustomAppException("优惠券已被使用!");
+            }
             if (couponDto == null && type.intValue() != 3) {
                 throw new CustomAppException("优惠券不存在!");
             }
@@ -400,6 +403,7 @@ public class ApiOrderNewServiceImpl implements ApiOrderNewService {
         } else {
             iOrderService.save(order);
         }
+        redisCache.setCacheObject(couponDto.getId()+"","",2,TimeUnit.MINUTES);
         // 达达收付配送商计价明细入库
         if (isDadaRapDelivery) {
             OrderFreight orderFreight = new OrderFreight();
@@ -424,6 +428,7 @@ public class ApiOrderNewServiceImpl implements ApiOrderNewService {
         if (PaymentTypeEnum.BALANCE.type.equals(req.getPaymentType()) || payAmount.compareTo(BigDecimal.ZERO) == 0) {
             //更改优惠券状态
             apiCouponService.updateCoupon(couponDto);
+            redisCache.deleteObject(couponDto.getId()+"");
             // 发单
             if (CollectionUtils.isNotEmpty(resList)) {
                 //   order.setProduct(product);

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

@@ -222,7 +222,7 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
     @Transactional(rollbackFor = Exception.class)
     public ResponseResult cancelOrder(OrderCancelReq cancelReq) {
         ResponseResult result = ResponseResult.success();
-        if (StringUtils.isBlank(cancelReq.getOrderSn()) && StringUtils.isBlank(cancelReq.getOutOrderSn())) {
+        if (StringUtils.isBlank(cancelReq.getOrderSn()) || StringUtils.isBlank(cancelReq.getOutOrderSn())) {
             return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "订单", null);
         }
         Order order = iOrderService.selectOrderBySn(cancelReq.getOrderSn(), cancelReq.getOutOrderSn());
@@ -428,7 +428,7 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
     @Override
     public ResponseResult riderLocation(OrderLocationReq locationReq) {
         ResponseResult result = ResponseResult.success();
-        if (StringUtils.isBlank(locationReq.getOrderSn()) && StringUtils.isBlank(locationReq.getOutOrderSn())) {
+        if (StringUtils.isBlank(locationReq.getOrderSn()) || StringUtils.isBlank(locationReq.getOutOrderSn())) {
             return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "订单号", null);
         }
         Order order = iOrderService.selectOrderBySn(locationReq.getOrderSn(), locationReq.getOutOrderSn());

+ 30 - 0
lb-app/src/main/java/com/ydd/app/vo/OpenMyWalletVo.java

@@ -0,0 +1,30 @@
+package com.ydd.app.vo;
+
+import com.ydd.module.domain.RechargeOption;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Demo class
+ *
+ * @author 14027
+ * @date 2022/4/28 15:01
+ */
+@Data
+public class OpenMyWalletVo {
+
+    /** 账户余额 */
+    @ApiModelProperty(value = "账户余额(元)")
+    private BigDecimal amount;
+
+    /** 优惠卷 */
+    @ApiModelProperty(value = "优惠卷(张)")
+    private Integer couponNum;
+
+    /** 充值金额 */
+    @ApiModelProperty(value = "充值金额")
+    private List<RechargeOption> rechargeOptionList;
+}

+ 1 - 0
lb-module/src/main/java/com/ydd/module/mapper/RechargeMapper.java

@@ -19,4 +19,5 @@ public interface RechargeMapper extends BaseMapper<Recharge> {
 
     List<RechargeDto> queryRechargeList(@Param("page") Page page, @Param("params") MemberBalanceLog memberBalanceLog, @Param("memberIds") List<Integer> memberIds);
 
+    List<Recharge> selectOpenRechargeList(@Param("loginId") Long loginId, @Param("startTime") String startTime, @Param("endTime") String endTime);
 }

+ 2 - 0
lb-module/src/main/java/com/ydd/module/service/IRechargeService.java

@@ -28,4 +28,6 @@ public interface IRechargeService extends IService<Recharge> {
 
     PageResult queryRechargeList(Page page, MemberBalanceLog memberBalanceLog, SysUser user);
 
+    List<Recharge> selectOpenRechargeList(Long loginId, String startTime, String endTime);
+
 }

+ 37 - 33
lb-module/src/main/java/com/ydd/module/service/impl/DspDeliveryServiceImpl.java

@@ -109,16 +109,16 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
         if (dspDeliveryList.size() > ListSizeEnum.ZERO.getSize()) {
             for (DspDelivery delivery : dspDeliveryList) {
                 baseMapper.insert(delivery);
-                if (delivery.getDspId()!=null) {
+                if (delivery.getDspId() != null) {
                     //查询开启自动配送的用户配置
                     List<MemberConfig> memberConfigList = iMemberConfigService.list(new QueryWrapper<MemberConfig>().eq("open_autodelivery", StatusEnum.SHOW.status));
-                    if (memberConfigList!=null&&memberConfigList.size()>0){
+                    if (memberConfigList != null && memberConfigList.size() > 0) {
                         for (MemberConfig memberConfig : memberConfigList) {
-                            String autodeliveryIds="";
-                            if (memberConfig.getAutodeliveryIds()!=null) {
-                                autodeliveryIds=memberConfig.getAutodeliveryIds();
+                            String autodeliveryIds = "";
+                            if (memberConfig.getAutodeliveryIds() != null) {
+                                autodeliveryIds = memberConfig.getAutodeliveryIds();
                             }
-                            memberConfig.setAutodeliveryIds(autodeliveryIds +delivery.getId());
+                            memberConfig.setAutodeliveryIds(autodeliveryIds + delivery.getId());
                             iMemberConfigService.updateById(memberConfig);
                         }
                     }
@@ -169,9 +169,9 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
             //校验参数是否配置,没有则不允许开启
             Boolean flg = true;
             if (StringUtils.isEmpty(dspDelivery.getAppId()) &&
-                StringUtils.isEmpty(dspDelivery.getAppKey()) &&
-                StringUtils.isEmpty(dspDelivery.getAppSecret()) &&
-                StringUtils.isEmpty(dspDelivery.getAuthUrl())) {
+                    StringUtils.isEmpty(dspDelivery.getAppKey()) &&
+                    StringUtils.isEmpty(dspDelivery.getAppSecret()) &&
+                    StringUtils.isEmpty(dspDelivery.getAuthUrl())) {
                 flg = false;
             }
             if (!flg) {
@@ -190,7 +190,7 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
 //                }
 //            }
         }
-        baseMapper.updateStatusById(getStatus(dspDelivery),id);
+        baseMapper.updateStatusById(getStatus(dspDelivery), id);
     }
 
     public Integer getStatus(DspDelivery dspDelivery) {
@@ -278,10 +278,10 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                 info.setAuthToken(shopDelivery.getAuthToken());
                 info.setPreferredDelivery(shopDelivery.getPreferredDelivery());
                 info.setThirdShopId(shopDelivery.getThirdShopId());
-                if(info.getType().equals(DeliveryTypeEnums.UUPT.getType())){
+                if (info.getType().equals(DeliveryTypeEnums.UUPT.getType())) {
                     info.setShopId(shopDelivery.getThirdShopId());
                 }
-                if(info.getType().equals(DeliveryTypeEnums.AIPT.getType())){
+                if (info.getType().equals(DeliveryTypeEnums.AIPT.getType())) {
                     info.setPhone(shopDelivery.getAccount());
                 }
             }
@@ -291,25 +291,25 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                         .eq("deleted", IsDeleteEnum.NORMAL.status).eq("shop_id", member.getShopId()));
                 if (sd != null) {
                     info.setShopId(sd.getThirdShopId());
-                }else {
+                } else {
                     //如果默认店铺被删了,则取列表第一个
                     List<ShopDelivery> deliveries = iShopDeliveryService.list(new QueryWrapper<ShopDelivery>().eq("merchant_id", merchantId).eq("delivery_id", delivery.getId())
                             .eq("deleted", IsDeleteEnum.NORMAL.status));
-                    if (CollectionUtils.isNotEmpty(deliveries)){
+                    if (CollectionUtils.isNotEmpty(deliveries)) {
                         info.setShopId(deliveries.get(0).getThirdShopId());
                     }
                 }
             }
-            if (info.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType())||info.getType().equals(DeliveryTypeEnums.FENG_NIAO_PT.getType())){
+            if (info.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType()) || info.getType().equals(DeliveryTypeEnums.FENG_NIAO_PT.getType())) {
                 ShopDelivery sd = iShopDeliveryService.getOne(new QueryWrapper<ShopDelivery>().eq("merchant_id", member.getMerchantId()).eq("delivery_id", delivery.getId())
                         .eq("deleted", IsDeleteEnum.NORMAL.status).eq("shop_id", member.getShopId()));
                 if (sd != null) {
                     info.setThirdShopId(sd.getThirdShopId());
-                }else {
+                } else {
                     //如果默认店铺被删了,则取列表第一个
                     List<ShopDelivery> deliveries = iShopDeliveryService.list(new QueryWrapper<ShopDelivery>().eq("merchant_id", member.getMerchantId()).eq("delivery_id", delivery.getId())
                             .eq("deleted", IsDeleteEnum.NORMAL.status).isNotNull("third_shop_id"));
-                    if (CollectionUtils.isNotEmpty(deliveries)){
+                    if (CollectionUtils.isNotEmpty(deliveries)) {
                         info.setThirdShopId(deliveries.get(0).getThirdShopId());
                     }
                 }
@@ -322,10 +322,10 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
     @Override
     public List<DeliveryInfo> findList(Member member, Long shopId, Integer transport, List<Integer> types, Integer defaultShop) {
         List<DspDelivery> list = baseMapper.selectList(new QueryWrapper<DspDelivery>()
-                        .isNotNull("parent_id")
-                        .eq("status", StatusEnum.SHOW.status)
-                        .eq("deleted", IsDeleteEnum.NORMAL.status)
-                        .in(CollectionUtils.isNotEmpty(types), "type", types));
+                .isNotNull("parent_id")
+                .eq("status", StatusEnum.SHOW.status)
+                .eq("deleted", IsDeleteEnum.NORMAL.status)
+                .in(CollectionUtils.isNotEmpty(types), "type", types));
         List<DeliveryInfo> infos = Lists.newArrayList();
         for (DspDelivery delivery : list) {
             // 判断运力类型, 货运只能使用货拉拉, 其他不可使用货拉拉
@@ -356,7 +356,7 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                     info.setAuthToken(shopDeliveryBind.getAuthToken());
                     info.setThirdShopId(shopDeliveryBind.getThirdShopId());
                     isMine = 1;
-                    if (info.getType().equals(DeliveryTypeEnums.DADA.getType())){
+                    if (info.getType().equals(DeliveryTypeEnums.DADA.getType())) {
                         info.setShopId(shopDeliveryBind.getDadaShopNo());
                         info.setDadaThirdShopId(shopDeliveryBind.getThirdShopId());
                     }
@@ -364,10 +364,10 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                         info.setShopId(shopDeliveryBind.getDadaYzShopNo());
                         info.setDadaThirdShopId(shopDeliveryBind.getThirdShopId());
                     }
-                    if(info.getType().equals(DeliveryTypeEnums.UUPT.getType())){
+                    if (info.getType().equals(DeliveryTypeEnums.UUPT.getType())) {
                         info.setShopId(shopDeliveryBind.getThirdShopId());
                     }
-                    if (info.getType().equals(DeliveryTypeEnums.AIPT.getType())){
+                    if (info.getType().equals(DeliveryTypeEnums.AIPT.getType())) {
                         info.setPhone(shopDeliveryBind.getAccount());
                     }
                 }
@@ -377,11 +377,11 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                         info.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType()) ||
                         info.getType().equals(DeliveryTypeEnums.FENG_NIAO_PT.getType()) ||
                         info.getType().equals(DeliveryTypeEnums.HUO_LA_LA.getType()) ||
-                        info.getType().equals(DeliveryTypeEnums.MEI_TUAN.getType())||
+                        info.getType().equals(DeliveryTypeEnums.MEI_TUAN.getType()) ||
                         info.getType().equals(DeliveryTypeEnums.SHAN_SONG.getType()) ||
                         info.getType().equals(DeliveryTypeEnums.SHUN_FENG.getType())) {
                     ShopDelivery sd = iShopDeliveryService.getOne(new QueryWrapper<ShopDelivery>().eq("merchant_id", member.getMerchantId()).eq("delivery_id", delivery.getId())
-                            .eq("deleted", IsDeleteEnum.NORMAL.status).eq("shop_id", shopId).eq("bind_status",1));
+                            .eq("deleted", IsDeleteEnum.NORMAL.status).eq("shop_id", shopId).eq("bind_status", 1));
                     if (isMine == 0 && info.getType().equals(DeliveryTypeEnums.DADA.getType()) || info.getType().equals(DeliveryTypeEnums.DADA_YZ.getType())) {
                         if (sd != null && sd.getThirdShopId() != null) {
                             info.setShopId(sd.getThirdShopId());
@@ -389,19 +389,19 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                             // 如果默认店铺被删了,则取列表第一个(逻辑废弃)
                             List<ShopDelivery> deliveries = iShopDeliveryService.list(new QueryWrapper<ShopDelivery>().eq("merchant_id", member.getMerchantId()).eq("delivery_id", delivery.getId())
                                     .eq("deleted", IsDeleteEnum.NORMAL.status).isNotNull("third_shop_id"));
-                            if (CollectionUtils.isNotEmpty(deliveries)){
+                            if (CollectionUtils.isNotEmpty(deliveries)) {
                                 info.setShopId(deliveries.get(0).getThirdShopId());
                             }
                         }
                     }
-                    if(sd != null && sd.getThirdShopId() != null && (info.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType())
+                    if (sd != null && sd.getThirdShopId() != null && (info.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType())
                             || info.getType().equals(DeliveryTypeEnums.FENG_NIAO_PT.getType())
                             || info.getType().equals(DeliveryTypeEnums.HUO_LA_LA.getType())
                             || info.getType().equals(DeliveryTypeEnums.MEI_TUAN.getType()))) {
                         info.setThirdShopId(sd.getThirdShopId());
                     }
                     if (DeliveryTypeEnums.SHAN_SONG.getType().equals(info.getType())) {
-                        if(sd != null && sd.getThirdShopId() != null){
+                        if (sd != null && sd.getThirdShopId() != null) {
                             info.setShopId(sd.getThirdShopId());
                         } else {
                             info.setShopId(null);
@@ -409,7 +409,7 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
                     }
                 }
             }
-            if ((delivery.getType().equals(DeliveryTypeEnums.DADA.getType()) || delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType())) && member.getMemberType().equals(MemberTypeEnum.PERSON.type)){
+            if ((delivery.getType().equals(DeliveryTypeEnums.DADA.getType()) || delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType())) && member.getMemberType().equals(MemberTypeEnum.PERSON.type)) {
                 info.setIsMerchant(StatusEnum.SHOW.status);
             }
             info.setPreferredDelivery(StatusEnum.STOP.getStatus());
@@ -429,22 +429,25 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
         List<DspDelivery> dspDeliveries = baseMapper.selectDspDeliverysByTime();
         return dspDeliveries;
     }
+
     @Override
     public void fengNiaoTask() {
         try {
             List<DspDelivery> deliverys = baseMapper.selectDspDeliverysByTime();
             if (deliverys != null && deliverys.size() > 0) {
                 for (DspDelivery delivery : deliverys) {
-                    if ((System.currentTimeMillis()-delivery.getCreateTime().getTime())/1000>delivery.getReExpireIn()){
-                        log.error("蜂鸟刷新token商户id:"+delivery.getShopId()+"刷新token失败,token过期");
+                    if ((System.currentTimeMillis() - delivery.getCreateTime().getTime()) / 1000 > delivery.getReExpireIn()) {
+                        log.error("蜂鸟刷新token商户id:" + delivery.getShopId() + "刷新token失败,token过期");
                         continue;
                     }
                     ResObject<FengniaoV3Token> resObject = fengniaoClient.fengniaoRefreshToken(delivery.getRefreshToken(), delivery.getShopId());
+                    if (resObject.getCode() == 0) {
                         delivery.setExpiresIn(resObject.getData().getExpireIn());
                         delivery.setRefreshToken(resObject.getData().getRefreshToken());
                         delivery.setAuthToken(resObject.getData().getAccessToken());
                         delivery.setCreateTime(new Date());
                         baseMapper.updateById(delivery);
+                    }
                 }
             }
         } catch (Exception e) {
@@ -455,6 +458,7 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
 
     /**
      * 查询门店没有绑定的运力
+     *
      * @param dtos
      * @return
      */
@@ -476,7 +480,7 @@ public class DspDeliveryServiceImpl extends ServiceImpl<DspDeliveryMapper, DspDe
         dto.setId(0L);
         dto.setName("猎豹AI");
         dto.setLogo(AppConstant.LIE_BAO_LOGO);
-        dto.setCustomerPhone(lieBaoCustomerPhone == null ? AppConstant.LIE_BAO_CUSTOMER_PHONE: lieBaoCustomerPhone);
+        dto.setCustomerPhone(lieBaoCustomerPhone == null ? AppConstant.LIE_BAO_CUSTOMER_PHONE : lieBaoCustomerPhone);
         customerServiceList.add(customerServiceList.size(), dto);
         return customerServiceList;
     }

+ 4 - 0
lb-module/src/main/java/com/ydd/module/service/impl/RechargeServiceImpl.java

@@ -105,5 +105,9 @@ public class RechargeServiceImpl extends ServiceImpl<RechargeMapper, Recharge> i
         return new PageResult(page);
     }
 
+    @Override
+    public List<Recharge> selectOpenRechargeList(Long loginId, String startTime, String endTime) {
+        return baseMapper.selectOpenRechargeList(loginId, startTime, endTime);
+    }
 
 }

+ 4 - 1
lb-module/src/main/java/com/ydd/module/service/impl/ShopWaimaiServiceImpl.java

@@ -3,6 +3,7 @@ package com.ydd.module.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.sankuai.meituan.shangou.open.sdk.domain.OAuthTokenParam;
 import com.ydd.api.ElemeApi;
+import com.ydd.common.utils.DateUtils;
 import com.ydd.module.domain.Shop;
 import com.ydd.module.dto.WaimaiAuthListDto;
 import com.ydd.module.dto.WaimaiDto;
@@ -194,7 +195,9 @@ public class ShopWaimaiServiceImpl extends ServiceImpl<ShopWaimaiMapper, ShopWai
          */
         if(CollectionUtils.isNotEmpty(list)){
             for(ShopWaimai shopWaimai :list){
-                if((System.currentTimeMillis()-shopWaimai.getUpdateTime().getTime())/1000-86400>=shopWaimai.getExpiresIn()){
+                String updateTime =DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,shopWaimai.getUpdateTime());
+                Long diff = (DateUtils.parseDate(updateTime).getTime() - DateUtils.addDaysToTimeDate(new Date(),-30,DateUtils.YYYY_MM_DD).getTime()) / (1000*3600*24);
+                if(diff.intValue()<=2&&diff.intValue()>0){
                     OAuthTokenParam tokenParam = MtSgAuthRequest.refreshOauthToken(waimaiConfig.getMeituansgAppid(), waimaiConfig.getMeituansgAppScert(), shopWaimai.getRefreshToken());
                     shopWaimai.setAuthToken(tokenParam.getAccess_token());
                     shopWaimai.setRefreshToken(tokenParam.getRefresh_token());

+ 2 - 1
lb-module/src/main/resources/mapper/module/dspDeliveryMapper.xml

@@ -80,7 +80,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update lb_dsp_delivery set status = #{status} where id = #{id}
     </select>
     <select id="selectDspDeliverysByTime" resultType="com.ydd.module.domain.DspDelivery">
-        SELECT * FROM lb_dsp_delivery WHERE expires_in &lt;= (TIMESTAMPDIFF(SECOND,create_time,NOW())*1000-3600) and deleted = 0 and refresh_token !=''
+        SELECT * FROM lb_dsp_delivery WHERE expires_in/60/60/24 - TIMESTAMPDIFF(day, create_time, NOW()) =2 and deleted = 0 and refresh_token !=''
+        and type in(2,15)
     </select>
 
     <select id="findNotBindByIds" resultType="com.ydd.module.domain.DspDelivery">

+ 17 - 0
lb-module/src/main/resources/mapper/module/rechargeMapper.xml

@@ -65,4 +65,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER By mb.create_time DESC
     </select>
 
+    <select id="selectOpenRechargeList" resultType="com.ydd.module.domain.Recharge">
+        SELECT
+            id,
+            recharge_sn,
+            amount,
+            create_time,
+            payment_type
+        FROM lb_recharge
+        WHERE deleted = 0 AND member_id = #{loginId}
+        <if test="startTime != null and startTime != ''">
+            AND create_time >= #{params.startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND #{params.endTime} >= create_time
+        </if>
+    </select>
+
 </mapper>

+ 1 - 1
lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/fengniao/config/RequestConstant.java

@@ -12,7 +12,7 @@ public class RequestConstant {
     /**
      * 刷新token
      */
-    public static final String REFRESH_TOKEN = "/openapi/token";
+    public static final String REFRESH_TOKEN = "/openapi/refreshToken";
 
     /**
      * 预订单

+ 1 - 1
lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/fengniao/service/FengniaoTokenService.java

@@ -73,7 +73,7 @@ public class FengniaoTokenService {
         String signature = OpenSignHelper.generateBusinessSign(requestMap, appConfig.getFengniaoSecretKey());
         requestMap.put("signature", signature);
         String requestJson = JsonUtils.getInstance().objectToJson(requestMap);
-        String url = RequestConstant.getApiUrl(appConfig.isTest()) + OBTAIN_TOKEN;
+        String url = RequestConstant.getApiUrl(appConfig.isTest()) +  RequestConstant.REFRESH_TOKEN;;
         try {
             String res = HttpClient.postBody(url, requestJson);
             log.info(String.format("^_^, reponse data: %s", res));