Browse Source

删除推广规则

wujiefeng 9 months ago
parent
commit
8b62782bdf

+ 4 - 2
RewardServer/src/main/java/com/zhongshu/reward/server/core/dao/Impl/WalletReceiptsDaoImpl.java

@@ -44,7 +44,7 @@ public class WalletReceiptsDaoImpl implements WalletReceiptsDaoExtend {
     }
 
     @Override
-    public List<WalletReceipts> listMonth(Long startTime, Long endTime, List<String> setMealCodeList) {
+    public List<WalletReceipts> listMonth(Long startTime, Long endTime, Integer day) {
         Criteria criteria = new Criteria();
         criteria.andOperator(Criteria.where("createTime").gte(startTime),Criteria.where("createTime").lte(endTime));
 
@@ -54,7 +54,9 @@ public class WalletReceiptsDaoImpl implements WalletReceiptsDaoExtend {
 
         criteria.and("receiptsType").is(ReceiptsType.COMMISSION);
         criteria.and("status").is(ReceiptsStatus.WAIT);
-        criteria.and("outTradeNo").in(setMealCodeList);
+//        criteria.and("outTradeNo").in(setMealCodeList);
+//        criteria.and("ruler.keep").is(true);
+        criteria.and("ruler.day").is(day);
         Query query = Query.query(criteria);
         query.with(Sort.by(Sort.Order.desc("createTime")));
 

+ 1 - 1
RewardServer/src/main/java/com/zhongshu/reward/server/core/dao/extend/WalletReceiptsDaoExtend.java

@@ -13,7 +13,7 @@ public interface WalletReceiptsDaoExtend {
 
     List<WalletReceipts> inviteDetail(String inviteUserId, Long startTime, Long endTime);
 
-    List<WalletReceipts> listMonth(Long startTime, Long endTime, List<String> setMealCodeList);
+    List<WalletReceipts> listMonth(Long startTime, Long endTime, Integer day);
 
     List<InviteSuccessModel> myInvite(String userId);
 

+ 6 - 0
RewardServer/src/main/java/com/zhongshu/reward/server/core/domain/WalletReceipts.java

@@ -3,6 +3,7 @@ package com.zhongshu.reward.server.core.domain;
 import com.github.microservice.components.data.mongo.mongo.domain.SuperEntity;
 import com.zhongshu.reward.client.type.ReceiptsStatus;
 import com.zhongshu.reward.client.type.ReceiptsType;
+import com.zswl.cloud.bdb.client.vo.InviteReceiptsRoleVo;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -74,4 +75,9 @@ public class WalletReceipts extends SuperEntity {
      * 产生入账的订阅消息
      */
     private VipUserRecord vipUserRecord;
+
+    /**
+     * 产生入账是匹配的规则
+     */
+    private InviteReceiptsRoleVo ruler;
 }

+ 5 - 10
RewardServer/src/main/java/com/zhongshu/reward/server/core/service/WalletReceiptsService.java

@@ -97,6 +97,7 @@ public class WalletReceiptsService {
                         walletReceipts.setTotal(rulerVo.getBaseTotal());
                         walletReceipts.setEstimatedTime(DateUtils.nextMonthDayStartTime(rulerVo.getDay()));
                         walletReceipts.setVipUserRecord(vipUserRecord);
+                        walletReceipts.setRuler(rulerVo);
                         //邀请人钱包
                         walletReceipts.setStatus(ReceiptsStatus.WAIT);
                         wallet.setWaitAmount(wallet.getWaitAmount().add(rulerVo.getBaseTotal()));
@@ -107,9 +108,9 @@ public class WalletReceiptsService {
         }else if (vipUserRecord.getSuc().equals(-1) || vipUserRecord.getSuc().equals(5)){
                 VipUserRecord lastOne = vipUserRecordDao.findTop1ByCpIdAndSucOrderByOperateTime(vipUserRecord.getCpId(), 1);
                 //上一单首购
-                if (ObjectUtils.isNotEmpty(lastOne) && lastOne.isFirst() && Math.abs(vipUserRecord.getOperateTime() - lastOne.getOperateTime()) < 24L *60*60*1000*rulerVo.getFirstPurchaseDay()){
+                if (ObjectUtils.isNotEmpty(lastOne) && lastOne.isFirst()){
                     WalletReceipts walletReceipts = walletReceiptsDao.findTop1ByVipUserRecord_IdAndVipUserRecord_First(lastOne.getId(), true);
-                    if (ObjectUtils.isNotEmpty(walletReceipts)){
+                    if (ObjectUtils.isNotEmpty(walletReceipts) && Math.abs(vipUserRecord.getOperateTime() - lastOne.getOperateTime()) < 24L *60*60*1000*walletReceipts.getRuler().getFirstPurchaseDay()){
                         walletReceipts.setStatus(ReceiptsStatus.CANCEL);
                         Wallet wallet = walletService.getWalletByUserId(walletReceipts.getInviteUserId());
                         wallet.setWaitAmount(wallet.getWaitAmount().subtract(walletReceipts.getTotal()));
@@ -128,16 +129,9 @@ public class WalletReceiptsService {
      */
     public void settle(Integer day){
 
-        com.zswl.cloud.bdb.client.ret.ResultContent<List<InviteReceiptsRoleVo>> listResultContent = inviteReceiptsRoleFeignService.listByDay(day);
-        if (listResultContent.getState().equals(com.zswl.cloud.bdb.client.ret.ResultState.Fail)){
-            return;
-        }
-        List<InviteReceiptsRoleVo> rulerList = listResultContent.getContent();
-        List<String> setMealCodeList = rulerList.stream().map(InviteReceiptsRoleVo::getSetMealCode).collect(Collectors.toList());
-
         Long startTime = DateUtils.lastMonthStartTime();
         Long endTime = DateUtils.lastMonthEndTime();
-        List<WalletReceipts> list = walletReceiptsDao.listMonth(startTime, endTime, setMealCodeList);
+        List<WalletReceipts> list = walletReceiptsDao.listMonth(startTime, endTime, day);
 
         List<WalletReceipts> receipts = new ArrayList<>();
         List<Wallet> wallets = new ArrayList<>();
@@ -224,6 +218,7 @@ public class WalletReceiptsService {
         walletReceipts.setTotal(ruler.getBaseTotal());
         walletReceipts.setStatus(ReceiptsStatus.WAIT);
         walletReceipts.setOutTradeNo(ruler.getSetMealCode());
+        walletReceipts.setRuler(ruler);
         VipUserRecord vipUserRecord = it.getVipUserRecord();
         vipUserRecord.setId(null);
         vipUserRecord.setFirst(false);