Jelajahi Sumber

直推红包

linxk 2 minggu lalu
induk
melakukan
336793028d

+ 23 - 0
cif-service/src/main/java/com/txz/cif/service/impl/RedEnvelopeServiceImpl.java

@@ -3,6 +3,7 @@ package com.txz.cif.service.impl;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.txz.cif.constants.MyConstants;
 import com.txz.cif.core.AbstractService;
@@ -167,6 +168,28 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
                         ret.add(ppRedEnvelope);
                     }
                 }
+                // 直推红包
+                try {
+                    //判断当前用户是否第一次下单
+                    Condition c = new Condition(RedEnvelope.class);
+                    c.createCriteria().andEqualTo("userId",userId.getUserId());
+                    int count =  countByCondition(c);
+                    if (count == 0){
+                        com.txz.operating.result.Result<ConfigDTO> openRedEnvelopeRate = operatingConfigDubboServiceClient.getConfigByCode("invited_amount");
+                        log.info("operatingConfigDubboServiceClient.getConfigByCode openRedEnvelopeRate:" + JSONObject.toJSONString(openRedEnvelopeRate));
+                        String amountStr = openRedEnvelopeRate.getData().getValueInfo();
+                        BigDecimal amount = new BigDecimal(amountStr).setScale(2, RoundingMode.DOWN);
+                        // 直推红包
+                        addRedEnvelope(RedEnvelopeParam.builder()
+                                .amount(amount).bizType(BizTypeEnum.PROMOTION_COMMISSION.getKey())
+                                .orderNo(userId.getOrderNo())
+                                .userIds(CollUtil.newArrayList(OrderParam.builder().userId(user.getPid()).orderNo(userId.getOrderNo()).build()))
+                                .transTime(DateUtil.date())
+                                .build());
+                    }
+                } catch (Exception e) {
+                    log.error("直推红包新增异常", e);
+                }
             }
         }
         

+ 1 - 19
cif-service/src/main/java/com/txz/cif/web/UserApiController.java

@@ -349,25 +349,7 @@ public class UserApiController extends AbstractApiController {
             if (puser.getPid() != null) {
                 user.setPpid(puser.getPid());
             }
-            // 直推红包
-            
-            try {
-                
-                com.txz.operating.result.Result<ConfigDTO> openRedEnvelopeRate = configDubboServiceClient.getConfigByCode("invited_amount");
-                log.info("operatingConfigDubboServiceClient.getConfigByCode openRedEnvelopeRate:" + JSONObject.toJSONString(openRedEnvelopeRate));
-                String amountStr = openRedEnvelopeRate.getData().getValueInfo();
-                BigDecimal amount = new BigDecimal(amountStr).setScale(2, RoundingMode.DOWN);
-                
-                // 直推红包
-                com.txz.cif.dto.Result result1 = redEnvelopeService.addRedEnvelope(RedEnvelopeParam.builder()
-                        .amount(amount).bizType(BizTypeEnum.PROMOTION_COMMISSION.getKey())
-                        .userIds(CollUtil.newArrayList(OrderParam.builder().userId(puser.getId()).orderNo(params.getPhone()).build()))
-                        .transTime(DateUtil.date())
-                        .build());
-                // }
-            } catch (Exception e) {
-                log.error("直推红包新增异常", e);
-            }
+
             //  更新VIP等级
             Condition c = new Condition(User.class);
             Example.Criteria criteria = c.createCriteria();