Bladeren bron

APP2修改

xuqiang 1 jaar geleden
bovenliggende
commit
fd1a698ca9

+ 0 - 1
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -898,7 +898,6 @@ public class SysUserController extends BaseController {
         partnerUser.setDeptId(sysUser.getDeptId());
         partnerUser.setDeptName(sysUser.getDeptName());
         partnerUser.setGrade(Integer.valueOf(6));
-        partnerUser.setCommissionRate(BigDecimal.ZERO);
         partnerUser.setReferrerId(referrerId);
         partnerUserMapper.insert(partnerUser);
     }

+ 0 - 17
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -3306,7 +3306,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         partnerUser.setDeptId(sysUser.getDeptId());
         partnerUser.setDeptName(sysUser.getDeptName());
         partnerUser.setGrade(Integer.valueOf(6));
-        partnerUser.setCommissionRate(BigDecimal.ZERO);
         partnerUser.setReferrerId(referrerId);
         partnerUserService.insert(partnerUser);
     }
@@ -3714,7 +3713,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         partnerUser.setDeptId(sysUser.getDeptId());
         partnerUser.setDeptName(sysUser.getDeptName());
         partnerUser.setGrade(Integer.valueOf(grade));
-        partnerUser.setCommissionRate(getCommissionRate(grade,  rulesVo));
         String referrerId = StringUtils.isNotEmpty(sysUser.getReferrerId()) ? sysUser.getReferrerId() : sysUser.getId();
         if (!StringUtils.equals(grade, "1")){
             partnerUser.setReferrerId(referrerId);
@@ -3782,19 +3780,4 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      }
 
 
-
-    public static BigDecimal getCommissionRate(String grade,CommissionRulesVo rulesVo) {
-        if (grade.equals("1")){
-            return new BigDecimal(rulesVo.getOriginator());
-        }else if(grade.equals("2")){
-            return new BigDecimal(rulesVo.getAdministrator().getDefaultRatio());
-        }else if(grade.equals("3")){
-            return new BigDecimal(rulesVo.getPartner().getDefaultRatio());
-        }else if(grade.equals("4")){
-            return new BigDecimal(rulesVo.getPartner().getDefaultRatio());
-        }
-        return BigDecimal.ZERO;
-    }
-
-
 }

+ 30 - 1
src/main/java/com/ydtech/modules/partner/controller/PartnerLiftingRecordController.java

@@ -4,6 +4,7 @@ package com.ydtech.modules.partner.controller;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.partner.model.PartnerLiftingRecord;
+import com.ydtech.modules.partner.model.PartnerRecordApper;
 import com.ydtech.modules.partner.model.param.LiftingRecordAudit;
 import com.ydtech.modules.partner.model.param.PartnerLiftingRecordParam;
 import com.ydtech.modules.partner.service.PartnerLiftingRecordService;
@@ -12,6 +13,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 @Api(tags = "升降记录 ")
 @RestController
 @RequestMapping("/partner/liftingRecord")
@@ -36,12 +39,38 @@ public class PartnerLiftingRecordController extends BaseController {
         return HttpResult.ok(liftingRecordService.queryPage(recordParam));
     }
 
-
+    /**
+     * 审核、驳回
+     * @param audit
+     * @return
+     */
     @PostMapping("/audit")
     public HttpResult audit(@RequestBody LiftingRecordAudit audit) {
         audit.setAuditUser(getUserName());
         return liftingRecordService.audit(audit);
     }
 
+    /**
+     * 解锁等级查询金额
+     * @param grade
+     * @return
+     */
+    @GetMapping("/unlockLevel")
+    public HttpResult unlockLevel(@RequestParam("grade")String grade) {
+        return liftingRecordService.unlockLevel(grade);
+    }
+
+
+
+
+    /**
+     * 确认解锁
+     * @param recordApper
+     * @return
+     */
+    @PostMapping("/confirmUnlocking")
+    public HttpResult confirmUnlocking(@RequestBody PartnerRecordApper recordApper) {
+        return liftingRecordService.confirmUnlocking(recordApper);
+    }
 
 }

+ 9 - 0
src/main/java/com/ydtech/modules/partner/controller/PartnerRuleController.java

@@ -1,9 +1,11 @@
 package com.ydtech.modules.partner.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.partner.model.param.PartnerRuleEntity;
 import com.ydtech.modules.partner.service.PartnerRuleService;
+import com.ydtech.modules.partner.utils.ConditionUtils;
 import io.swagger.annotations.Api;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,5 +44,12 @@ public class PartnerRuleController {
         return HttpResult.ok(partnerRuleService.queryGradeName());
     }
 
+    @GetMapping("/verifyUpgradeConditions")
+    public HttpResult verifyUpgradeConditions(@RequestParam("grade") String grade) {
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("升级", ConditionUtils.upgradeConditions(grade));
+        jsonObject.put("考核", ConditionUtils.assessmentRules(grade));
+        return HttpResult.ok(jsonObject);
+    }
 
 }

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

@@ -19,7 +19,7 @@ public interface PartnerLiftingRecordMapper extends BaseMapper<PartnerLiftingRec
     @Select("select audit_status as auditStatus,count(1) as count from partner_lifting_record group by audit_status")
     List<Map<String, String>> groupByAuditStatus();
 
-    @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.create_time,( SELECT `name` FROM sys_dept WHERE sys_dept.id = r.dept_id ) dept_name FROM partner_lifting_record r ${ew.customSqlSegment} ")
+    @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,( 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);
 
 }

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

@@ -149,4 +149,6 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     @Select(" SELECT p.id,p.user_id,p.grade,p.name,p.create_time FROM partner_user p LEFT JOIN sys_user u ON u.id = p .user_id ${ew.customSqlSegment}")
     List<PartnerUser> selectListVo(@Param("ew") QueryWrapper<PartnerUser> queryWrapper);
 
+    @Update("UPDATE partner_user SET identity_status = #{identityStatus} WHERE user_id = #{userId} and grade = #{grade} ")
+    void updateIdentityStatus(@Param("userId") String userId,@Param("originalLevel") String originalLevel,@Param("identityStatus")int identityStatus);
 }

+ 4 - 2
src/main/java/com/ydtech/modules/partner/model/PartnerLiftingRecord.java

@@ -56,7 +56,9 @@ public class PartnerLiftingRecord extends BaseEntity {
     @ApiModelProperty(value = "驳回原因")
     private String rejectReason;
 
+    @ApiModelProperty(value = "升级条件")
+    private String conditions;
 
-
-
+    @ApiModelProperty(value = "考核规则")
+    private String rules;
 }

+ 11 - 0
src/main/java/com/ydtech/modules/partner/model/PartnerRule.java

@@ -4,6 +4,8 @@ package com.ydtech.modules.partner.model;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class PartnerRule {
 
@@ -31,4 +33,13 @@ public class PartnerRule {
     @ApiModelProperty(value = "保级策略1-不保级;2-任务保级;3-购买保级")
     private String strategy;
 
+    @ApiModelProperty(value = "天数")
+    private Integer khDays;
+
+    @ApiModelProperty(value = "0-勾选降级;1-未勾选")
+    private boolean fallTick;
+
+    @ApiModelProperty(value = "购买保级金额")
+    private BigDecimal fallAmount;
+
 }

+ 6 - 0
src/main/java/com/ydtech/modules/partner/model/PartnerUser.java

@@ -63,6 +63,12 @@ public class PartnerUser extends BaseEntity {
     @TableField(exist = false)
     private String referrerGrade;
 
+    @ApiModelProperty(value = "1-升级身份")
+    @TableField(value = "identity_type")
+    private int identityType;
 
+    @ApiModelProperty(value = "0-未锁定;1-锁定")
+    @TableField(value = "identity_status")
+    private boolean identityStatus;
 
 }

+ 65 - 0
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerLiftingRecordServiceImpl.java

@@ -10,17 +10,26 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.partner.dao.PartnerLiftingRecordMapper;
+import com.ydtech.modules.partner.dao.PartnerRecordApperMapper;
 import com.ydtech.modules.partner.dao.PartnerUserMapper;
 import com.ydtech.modules.partner.model.PartnerLiftingRecord;
+import com.ydtech.modules.partner.model.PartnerPurchaseRecord;
+import com.ydtech.modules.partner.model.PartnerRecordApper;
 import com.ydtech.modules.partner.model.PartnerUser;
 import com.ydtech.modules.partner.model.param.LiftingRecordAudit;
 import com.ydtech.modules.partner.model.param.PartnerLiftingRecordParam;
+import com.ydtech.modules.partner.model.param.PartnerRuleEntity;
 import com.ydtech.modules.partner.service.PartnerLiftingRecordService;
+import com.ydtech.modules.partner.service.PartnerRuleService;
+import com.ydtech.modules.partner.service.PartnerUserService;
+import com.ydtech.modules.partner.service.PurchaseRecordService;
+import com.ydtech.modules.partner.utils.ConditionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -30,6 +39,16 @@ public class PartnerLiftingRecordServiceImpl extends ServiceImpl<PartnerLiftingR
     @Autowired
     private PartnerUserMapper partnerUserMapper;
 
+    @Autowired
+    private  PartnerRuleService ruleService;
+
+    @Autowired
+    private PartnerRecordApperMapper recordApperMapper;
+
+    @Autowired
+    private PurchaseRecordService purchaseRecordService;
+
+
     @Override
     public Map<String,Object> queryPage(PartnerLiftingRecordParam recordParam) {
         QueryWrapper<PartnerLiftingRecord> queryWrapper = new QueryWrapper<>();
@@ -113,7 +132,53 @@ public class PartnerLiftingRecordServiceImpl extends ServiceImpl<PartnerLiftingR
 
     @Override
     public HttpResult saveLiftingRecord(PartnerLiftingRecord entity) {
+        entity.setConditions(ConditionUtils.upgradeConditions(entity.getOriginalLevel()));
+        entity.setRules(ConditionUtils.assessmentRules(entity.getOriginalLevel()));
         int insert = baseMapper.insert(entity);
         return insert > 0 ? HttpResult.ok("升级成功") : HttpResult.error("升级失败");
     }
+
+    @Override
+    public HttpResult unlockLevel(String grade) {
+        if (StringUtils.isEmpty(grade)){
+            return HttpResult.error("等级不能为空");
+        }
+        PartnerRuleEntity ruleEntity = ruleService.selectByGrade(grade);
+        if (ruleEntity == null) {
+            return HttpResult.error("配置项不存在");
+        }
+        if (ruleEntity.isFallTick()){
+            return HttpResult.ok(ruleEntity.getFallAmount());
+        }else {
+            return HttpResult.error("当前等级不支持购买保级");
+        }
+    }
+
+    @Override
+    public HttpResult confirmUnlocking(PartnerRecordApper recordApper) {
+
+        int insert = recordApperMapper.insert(recordApper);
+        if (insert > 0){
+            PartnerLiftingRecord liftingRecord = baseMapper.selectById(recordApper.getRecordId());
+            PartnerPurchaseRecord record = getPurchaseRecord(recordApper, liftingRecord);
+            purchaseRecordService.save( record);
+            //更新用户锁定状态
+            partnerUserMapper.updateIdentityStatus(liftingRecord.getUserId(),liftingRecord.getOriginalLevel(),0);
+        }
+        return HttpResult.ok("解锁成功");
+    }
+
+    private static PartnerPurchaseRecord getPurchaseRecord(PartnerRecordApper recordApper, PartnerLiftingRecord liftingRecord) {
+        PartnerPurchaseRecord record = new PartnerPurchaseRecord();
+        record.setName(liftingRecord.getName());
+        record.setMobile(liftingRecord.getMobile());
+        record.setUserId(liftingRecord.getUserId());
+        record.setDeptId(liftingRecord.getDeptId());
+        record.setDeptName(liftingRecord.getDeptName());
+        record.setGrade(liftingRecord.getOriginalLevel());
+        record.setGradeAfter(liftingRecord.getAfterChange());
+        record.setLockCommission(recordApper.getPaymentAmount());
+        record.setPurchasingTime(new Date());
+        return record;
+    }
 }

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

@@ -117,15 +117,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
     }
 
 
-    public void querySubordinates(List<PartnerUser> list,  PartnerUser partnerUser){
-        while (partnerUser != null && StringUtils.isNotBlank(partnerUser.getUserId())) {
-            PartnerUser one = baseMapper.selectOne(new LambdaQueryWrapper<>(PartnerUser.class).eq(PartnerUser::getReferrerId, partnerUser.getUserId()));
-            list.add(one);
-            querySubordinates( list,one);
-        }
-    }
-
-
     @Override
     public List<Map<String, String>> selectRecommender(String level) {
         if (StringUtils.isEmpty(level)){
@@ -343,12 +334,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         return sysUser2Vo;
     }
 
-    public static boolean containsOnlyId(List<String> list, String targetId) {
-        return list != null
-                && !list.isEmpty()
-                && list.stream().allMatch(targetId::equals);
-    }
-
 
     @Override
     public void deleteByUserId(String id) {
@@ -404,26 +389,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         return HttpResult.ok();
     }
 
-
-    /**
-     *
-
-
-     List<Student> sortedList = list.stream()
-     .sorted(
-     Comparator.comparing(Student::getSort)                     // 按 sort 升序
-     .thenComparing(
-     Student::getCreateTime,
-     Comparator.nullsFirst(Comparator.reverseOrder())     // 创建时间降序,空值优先
-     )
-     )
-     .collect(Collectors.toList());
-
-
-     *
-     *
-     */
-
     @Override
     public HttpResult selectByIdList(String id) {
         if (StringUtils.isEmpty(id)) {
@@ -887,18 +852,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         if (CollectionUtil.isNotEmpty(currentUserIds)){
             maps = baseMapper.userCountVo2(currentUserIds, params);
         }
-
-
-//        Map<String, Integer> mergedMap = arrayList.stream()
-//                .flatMap(map -> map.entrySet().stream())
-//                .collect(Collectors.toMap(qw
-//                        Map.Entry::getKey,
-//                        Map.Entry::getValue,
-//                        Integer::sum
-//                ));
-//        for (Map.Entry<String, Integer> entry : mergedMap.entrySet()) {
-//            Integer value = entry.getValue();
-//        }
         List<String> keys = new ArrayList<>();
         List<String> values = new ArrayList<>();
         for (Map<String, String> map : maps) {

+ 7 - 0
src/main/java/com/ydtech/modules/partner/service/PartnerLiftingRecordService.java

@@ -3,9 +3,11 @@ package com.ydtech.modules.partner.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.partner.model.PartnerLiftingRecord;
+import com.ydtech.modules.partner.model.PartnerRecordApper;
 import com.ydtech.modules.partner.model.param.LiftingRecordAudit;
 import com.ydtech.modules.partner.model.param.PartnerLiftingRecordParam;
 
+import java.util.List;
 import java.util.Map;
 
 public interface PartnerLiftingRecordService {
@@ -19,4 +21,9 @@ public interface PartnerLiftingRecordService {
 
 
     HttpResult saveLiftingRecord(PartnerLiftingRecord liftingRecord);
+
+    HttpResult unlockLevel(String grade);
+
+    HttpResult confirmUnlocking(PartnerRecordApper recordApper);
+
 }

+ 1 - 1
src/main/resources/mapper/modules/partner/PartnerAttributeMapper.xml

@@ -41,7 +41,7 @@
 
 
     <select id="selectByGrade" resultMap="BaseMapper">
-        select id, upgrade, relegation, grade_name, grade, appraise, rel_satisfy,strategy from partner_rule where grade = #{grade}
+        select id, upgrade, relegation, grade_name, grade, appraise, rel_satisfy,strategy,kh_days,fall_tick,fall_amount from partner_rule where grade = #{grade}
     </select>