xuqiang 1 год назад
Родитель
Сommit
950c752c07

+ 4 - 8
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -51,7 +51,6 @@ import com.ydtech.modules.partner.utils.ListComparator;
 import com.ydtech.modules.partner.utils.UpdateRatioUtils;
 import com.ydtech.modules.partner.dao.PartnerUserMapper;
 import com.ydtech.modules.partner.model.PartnerUser;
-import com.ydtech.modules.partner.model.vo.CommissionRulesVo;
 import com.ydtech.modules.partner.service.PartnerCommissionService;
 import com.ydtech.modules.partner.service.PartnerUserService;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
@@ -163,10 +162,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Autowired
     private PartnerUserService partnerUserService;
 
-
-    @Autowired
-    private PartnerCommissionService commissionService;
-
     @Value("${httpUrl}")
     private String httpUrl;
     //晋掌柜APP: 未注册的手机号登录时创建新账户使用 -deptId -referrerId
@@ -3315,6 +3310,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         partnerUser.setDeptName(sysUser.getDeptName());
         partnerUser.setGrade(Integer.valueOf(6));
         partnerUser.setReferrerId(referrerId);
+        partnerUser.setCreateTime(new Date());
         partnerUserService.insert(partnerUser);
     }
 
@@ -3705,7 +3701,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (CollectionUtils.isEmpty(list)){
             throw new SystemException("请选择合伙人等级");
         }
-        //partnerUserService.deleteByUserId(sysUser.getId());
         for (String grade : list) {
             partnerUserService.insert(getPartnerUser(sysUser,grade));
         }
@@ -3724,6 +3719,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (!StringUtils.equals(grade, "1")){
             partnerUser.setReferrerId(referrerId);
         }
+        partnerUser.setCreateTime(new Date());
         return partnerUser;
     }
 
@@ -3738,12 +3734,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
          sysDeptVo.setCity(sysDept.getCity()); // 默认市与负责人所在机构一样
          sysDeptVo.setArea(sysDept.getArea()); // 默认区县与负责人所在机构一样
          if (StringUtils.equals("4",String.valueOf(Integer.valueOf(grade) + 1))){
-             sysDeptVo.setDeptType("C"); // 默认为子公司
+             sysDeptVo.setDeptType("D"); // 默认为子公司
              sysDeptVo.setName(sysUser.getName() + "(工作室)");
              sysDeptVo.setComlevel("5");
          }
          if (StringUtils.equals("5",String.valueOf(Integer.valueOf(grade) + 1))){
-             sysDeptVo.setDeptType("D"); // 默认为子公司
+             sysDeptVo.setDeptType("M"); // 默认为子公司
              sysDeptVo.setName(sysUser.getName() + "团队"); // 以人名设置工作室名称
          }
          sysDeptVo.setManagementSource(sysUser.getDeptSource());

+ 0 - 5
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -46,8 +46,6 @@ import com.ydtech.modules.partner.dao.PartnerPartnerAccountMapper;
 import com.ydtech.modules.partner.dao.PartnerPremiumDetailsMapper;
 import com.ydtech.modules.partner.model.PartnerPartnerAccount;
 import com.ydtech.modules.partner.model.PartnerPremiumDetails;
-import com.ydtech.modules.partner.model.PartnerUser;
-import com.ydtech.modules.partner.service.PartnerUserService;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
@@ -155,9 +153,6 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     @Autowired
     private SysSwitchConfigService sysSwitchConfigService;
 
-    @Autowired
-    private PartnerUserService partnerUserService;
-
     @Autowired
     private PartnerPremiumDetailsMapper partnerPremiumDetailsMapper;
 

+ 3 - 1
src/main/java/com/ydtech/modules/partner/controller/PartnerUserController.java

@@ -15,6 +15,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.Map;
 
 
@@ -32,6 +33,7 @@ public class PartnerUserController extends BaseController {
 
     @PostMapping("/save")
     public HttpResult add(@RequestBody PartnerUser partnerUser) {
+        partnerUser.setCreateTime(new Date());
         return HttpResult.ok(partnerUserService.insert(partnerUser) > 0 ? "添加成功" : "添加失败");
     }
 
@@ -169,7 +171,7 @@ public class PartnerUserController extends BaseController {
      */
     @GetMapping("checkCommissionExpireTime")
     public void checkCommissionExpireTime() {
-         SpringUtil.getBean(TimedTaskUtils.class).checkCommissionExpireTime();
+         SpringUtil.getBean(TimedTaskUtils.class).updateOrderDateNoon();
     }
 
 

+ 1 - 1
src/main/java/com/ydtech/modules/partner/dao/PartnerLiftingRecordMapper.java

@@ -23,7 +23,7 @@ public interface PartnerLiftingRecordMapper extends BaseMapper<PartnerLiftingRec
     @Select("SELECT r.id,r.`name`,r.mobile,r.user_id,r.dept_id,r.type,r.original_level,r.after_change,r.cycle,r.upgrade_strategy,r.audit_status,r.audit_time,r.audit_user,r.reject_reason,r.conditions,r.rules,r.create_time,r.upgrade_type,( SELECT `name` FROM sys_dept WHERE sys_dept.id = r.dept_id ) dept_name FROM partner_lifting_record r ${ew.customSqlSegment} ")
     Page<PartnerLiftingRecord> queryPage(Page page,@Param("ew") QueryWrapper<PartnerLiftingRecord> queryWrapper);
 
-    @Select("SELECT * FROM partner_lifting_record WHERE type = 1 AND audit_status = 0 AND DATE(DATE_ADD(create_time, INTERVAL '3' DAY)) <=  CURDATE() ")
+    @Select("SELECT * FROM partner_lifting_record WHERE DATE(DATE_ADD(create_time, INTERVAL #{expireDays} DAY)) =  CURDATE() ")
     List<PartnerLiftingRecord> queryExpireDays(String expireDays);
 
     @Update("update partner_lifting_record set audit_status = #{status} where id = #{id}")

+ 3 - 3
src/main/java/com/ydtech/modules/partner/dao/PartnerUserMapper.java

@@ -177,9 +177,9 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     BigDecimal selectFixedRatio(@Param("userId") String userId, @Param("grade") String  grade);
 
 
-    @Select("SELECT * FROM partner_user WHERE (grade,user_id)  IN ( " +
-            " SELECT MIN(grade) grade , user_id FROM partner_user WHERE grade IN('2','3','4') AND identity_status = 0 GROUP BY user_id " +
-            ") ORDER BY create_time DESC")
+    @Select("SELECT p.* FROM partner_user p LEFT JOIN sys_user u ON u.id = p.user_id WHERE u.`status` = 1 " +
+            "AND( p.grade, p.user_id) IN ( SELECT MIN( grade ) grade, user_id FROM partner_user WHERE grade IN ( '2', '3', '4' ) AND identity_status = 0 GROUP BY user_id )" +
+            " ORDER BY p.create_time DESC")
     List<PartnerUser> queryDowngradedData();
 
 

+ 1 - 0
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java

@@ -204,6 +204,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         record.setType("0");
         record.setOriginalLevel(userGradeParam.getGrade());
         record.setUpgradeType(userGradeParam.getUpgradeType());
+        record.setCreateTime(new Date());
         switch (userGradeParam.getGrade()) {
             case "1":
                 record.setAfterChange("");

+ 0 - 54
src/main/java/com/ydtech/modules/partner/utils/CalculateCommissionUtils.java

@@ -232,60 +232,6 @@ public class CalculateCommissionUtils {
     }
 
 
-//    private static BigDecimal handleRatioCondition(PartnerRulesRatio ratio, BigDecimal numberBD, BigDecimal sumPremium,BigDecimal grBf) {
-//        List<PartnerRatio> ratioList = ratio.getPartnerRatioList();
-//        if (CollectionUtil.isEmpty(ratioList)) return BigDecimal.ZERO;
-//        int allSatisfied = ratio.getAllSatisfied();
-//        BigDecimal min = ratioList.get(0).getMin();
-//        BigDecimal min1 = ratioList.get(1).getMin();
-//        BigDecimal min2 = ratioList.get(2).getMin();
-//        boolean ry = ratioList.get(0).isRy();
-//        boolean bf = ratioList.get(1).isBf();
-//        boolean gr = ratioList.get(2).isGr();
-//        if (ry && bf &&  gr) {
-//            if (allSatisfied == 1) {
-//                if (numberBD.compareTo(min) >= 0 && sumPremium.compareTo(min1) >= 0 && grBf.compareTo(min2) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            } else {
-//                if (numberBD.compareTo(min) >= 0 || sumPremium.compareTo(min1) >= 0 || grBf.compareTo(min2) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }
-//        }else if (!ry && bf && gr){
-//            if (allSatisfied == 1) {
-//                if (sumPremium.compareTo(min1) >= 0 && grBf.compareTo(min2) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }else {
-//                if (sumPremium.compareTo(min1) >= 0 || grBf.compareTo(min2) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }
-//        }else if (ry && !bf && gr){
-//            if (allSatisfied == 1) {
-//                if (numberBD.compareTo(min) >= 0 &&  grBf.compareTo(min2) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }else {
-//                if (numberBD.compareTo(min) >= 0 ||  grBf.compareTo(min2) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }
-//        }else if (ry && bf && !gr){
-//            if (allSatisfied == 1) {
-//                if (numberBD.compareTo(min) >= 0 && sumPremium.compareTo(min1) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }else {
-//                if (numberBD.compareTo(min) >= 0 || sumPremium.compareTo(min1) >= 0) {
-//                    return ratio.getKickback();
-//                }
-//            }
-//        }
-//        return BigDecimal.ZERO;
-//    }
-
     private static BigDecimal handleRatioCondition(PartnerRulesRatio ratio, BigDecimal numberBD, BigDecimal sumPremium, BigDecimal grBf) {
         List<PartnerRatio> ratioList = ratio.getPartnerRatioList();
         if (CollectionUtil.isEmpty(ratioList)) {

+ 0 - 23
src/main/java/com/ydtech/modules/partner/utils/ExpiredCommissionUtils.java

@@ -197,29 +197,6 @@ public class ExpiredCommissionUtils {
     public  boolean checkUpgradeConditions(PartnerUser partnerUser) {
 
         return partnerRuleService.verifyDowngradeUpgradeConditions(partnerUser.getUserId(),String.valueOf(partnerUser.getGrade()));
-        /**
-
-        CommissionValidityPeriod period = partnerUserMapper.selectUpgradeCycleStartTime(partnerUser.getUserId(), partnerUser.getGrade());
-        period.setEndDate(SpringUtil.getBean(ExpiredCommissionUtils.class).generateDowngradeTime(String.valueOf(partnerUser.getGrade()),period.getStartDate()));
-        UserRuleVo userRuleVo = partnerUserMapper.queryUserRuleVo(partnerUser.getUserId(),partnerUser.getGrade(),period);
-        BigDecimal yq = new BigDecimal(strategyArray.get(0).getMin());
-        BigDecimal cy = new BigDecimal(strategyArray.get(1).getMin());
-        BigDecimal zj = new BigDecimal(strategyArray.get(2).getMin());
-        if (StringUtils.equals("1",appraise)){
-            if(yq.compareTo(new BigDecimal(userRuleVo.getInvitationsNumber())) >=0 && cy.compareTo(new BigDecimal(userRuleVo.getMemberPremium())) >=0 &&
-                    zj.compareTo(new BigDecimal(userRuleVo.getYourPremium())) >=0){
-                return true;
-            }else {
-                if (yq.compareTo(new BigDecimal(userRuleVo.getInvitationsNumber())) >=0 || cy.compareTo(new BigDecimal(userRuleVo.getMemberPremium())) >=0 ||
-                        zj.compareTo(new BigDecimal(userRuleVo.getYourPremium())) >=0){
-                    return true;
-                }
-            }
-        }
-        return false;
-
-         *
-         */
     }
 
 

+ 1 - 1
src/main/java/com/ydtech/modules/partner/utils/PartnerDateUtils.java

@@ -83,7 +83,7 @@ public class PartnerDateUtils {
         LocalDate compareLocalDate = date.toInstant()
                 .atZone(ZoneId.systemDefault())
                 .toLocalDate();
-        return !currentDate.isBefore(compareLocalDate);
+        return currentDate.equals(compareLocalDate.plusDays(1));
     }
 
 

+ 10 - 5
src/main/java/com/ydtech/modules/partner/utils/TimedTaskUtils.java

@@ -4,6 +4,7 @@ package com.ydtech.modules.partner.utils;
 import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.xxl.job.core.handler.annotation.XxlJob;
 import com.ydtech.modules.partner.dao.PartnerExpiredCommissionMapper;
 import com.ydtech.modules.partner.dao.PartnerPartnerAccountMapper;
 import com.ydtech.modules.partner.dao.PartnerUserMapper;
@@ -54,8 +55,8 @@ public class TimedTaskUtils {
     /**
      * TODO  每天晚上  记录佣金过期记录
      */
+    //@XxlJob("updateOrderDateNoon")
     @Scheduled(cron = "0 0 0 * * *")
-    //@Scheduled(cron = "*/10 * * * * ?")
     public void updateOrderDateNoon() {
         log.info("记录佣金过期定时任务开始执行:{}", expireDays);
         List<PartnerLiftingRecord> list = liftingRecordService.queryExpireDays(expireDays);
@@ -97,8 +98,8 @@ public class TimedTaskUtils {
     /**
      * TODO: 更新降级考核时间
      */
-    @Scheduled(cron = "0 0 2 * * *")
-    //@Scheduled(cron = "*/30 * * * * ?")
+    //@XxlJob("checkCommissionExpireTime")
+    @Scheduled(cron = "30 0 0 * * *")
     public void checkCommissionExpireTime() {
         // TODO等级规则
         List<PartnerRuleEntity> partnerRuleEntities = partnerRuleService.queryAll();
@@ -136,7 +137,7 @@ public class TimedTaskUtils {
         queryWrapper.eq("identity_status", 0);
         queryWrapper.in("grade", 2,3,4);
         queryWrapper.orderByDesc("create_time");
-        //queryWrapper.eq("user_id", "99140105M36001");
+        //queryWrapper.eq("user_id", "99140105M36012");
         List<PartnerUser> partnerUsers = partnerUserMapper.selectList(queryWrapper);
 
         for (PartnerUser filteredUser : partnerUsers) {
@@ -161,10 +162,14 @@ public class TimedTaskUtils {
 
     public  void updateUpgradeCycleTime(PartnerUser partnerUser,PartnerRuleEntity rule,Date upgradeTime) {
         Integer khDays = rule.getKhDays();
+        boolean today = false;
         while (!PartnerDateUtils.isWithinDays(upgradeTime, khDays)) {
             upgradeTime = PartnerDateUtils.addDaysToday(upgradeTime, khDays);
+            today = true;
+        }
+        if (today){
+            partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), upgradeTime,partnerUser.getGrade());
         }
-        partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), upgradeTime,partnerUser.getGrade());
     }
 
     public PartnerRuleEntity getRule(String grade,List<PartnerRuleEntity> partnerRuleEntities) {

+ 1 - 1
src/main/resources/application-test.yml

@@ -584,4 +584,4 @@ lg-ip:
   withdrawal: https://test.baoxianzhanggui.com/prod-api/withdrawal/record/acceptPushWithdrawalData
 #新合伙人配置佣金过期天数
 newPartner:
-  expireDays: 3
+  expireDays: 1