Sfoglia il codice sorgente

代理人app开发

xuqiang 1 anno fa
parent
commit
2b0eec5007

+ 58 - 25
insagent.iws

@@ -7,20 +7,11 @@
     <list default="true" id="53f4ce76-8f52-4619-adfd-07826e7111a7" name="Changes" comment="代理人app开发">
       <change beforePath="$PROJECT_DIR$/insagent.ipr" beforeDir="false" afterPath="$PROJECT_DIR$/insagent.ipr" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/insagent.iws" beforeDir="false" afterPath="$PROJECT_DIR$/insagent.iws" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/controller/SysUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/controller/SysUserController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/model/SysUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/model/SysUser.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/model/vo/AppUserInfoVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/model/vo/AppUserInfoVo.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/model/vo/SysUserInfoQuery.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/model/vo/SysUserInfoQuery.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/SysDeptService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/SysDeptService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/SysUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/SysUserService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/modules/admin/SysUserMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/modules/admin/SysUserMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/partner/model/PartnerUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/partner/model/PartnerUser.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/partner/service/Impl/PartnerLiftingRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/partner/service/Impl/PartnerLiftingRecordServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java" afterDir="false" />
     </list>
     <list id="bc6cb0c2-9167-463c-ac43-267792d14a4c" name="New changelist" comment="New changelist" />
     <option name="SHOW_DIALOG" value="false" />
@@ -33,8 +24,8 @@
       <list>
         <option value="FxmlFile" />
         <option value="spring-beans.schema" />
-        <option value="Class" />
         <option value="Interface" />
+        <option value="Class" />
       </list>
     </option>
   </component>
@@ -61,6 +52,7 @@
         <option name="customMavenHome" value="D:\apache-maven-3.8.8" />
         <option name="mavenHomeTypeForPersistence" value="CUSTOM" />
         <option name="userSettingsFile" value="D:\apache-maven-3.8.8\conf\settings.xml" />
+        <option name="workOffline" value="true" />
       </MavenGeneralSettings>
     </option>
   </component>
@@ -87,14 +79,15 @@
     &quot;Maven.insagent [package].executor&quot;: &quot;Run&quot;,
     &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
-    &quot;git-widget-placeholder&quot;: &quot;test-xq&quot;,
+    &quot;extract.method.default.visibility&quot;: &quot;private&quot;,
+    &quot;git-widget-placeholder&quot;: &quot;test-xq2&quot;,
     &quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
     &quot;last_opened_file_path&quot;: &quot;E:/data/java-insagent-pc/src/main/resources/mapper/modules/partner&quot;,
     &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
     &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
     &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
     &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
-    &quot;project.structure.last.edited&quot;: &quot;模块&quot;,
+    &quot;project.structure.last.edited&quot;: &quot;&quot;,
     &quot;project.structure.proportion&quot;: &quot;0.15&quot;,
     &quot;project.structure.side.proportion&quot;: &quot;0.41479635&quot;,
     &quot;settings.editor.selected.configurable&quot;: &quot;reference.projectsettings.compiler.javacompiler&quot;,
@@ -131,11 +124,6 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration default="true" type="JetRunConfigurationType">
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
     <configuration default="true" type="KotlinStandaloneScriptRunConfigurationType">
       <option name="filePath" />
       <method v="2">
@@ -204,6 +192,10 @@
       <workItem from="1748910483737" duration="32714000" />
       <workItem from="1748996555525" duration="32711000" />
       <workItem from="1749083042072" duration="2009000" />
+      <workItem from="1753319459651" duration="54738000" />
+      <workItem from="1753662216218" duration="391000" />
+      <workItem from="1753662625381" duration="27079000" />
+      <workItem from="1753835005686" duration="52117000" />
     </task>
     <task id="LOCAL-00001" summary="代理人app开发">
       <option name="closed" value="true" />
@@ -213,7 +205,47 @@
       <option name="project" value="LOCAL" />
       <updated>1731458148781</updated>
     </task>
-    <option name="localTasksCounter" value="2" />
+    <task id="LOCAL-00002" summary="代理人app开发">
+      <option name="closed" value="true" />
+      <created>1753322482115</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1753322482115</updated>
+    </task>
+    <task id="LOCAL-00003" summary="代理人app开发">
+      <option name="closed" value="true" />
+      <created>1753414753842</created>
+      <option name="number" value="00003" />
+      <option name="presentableId" value="LOCAL-00003" />
+      <option name="project" value="LOCAL" />
+      <updated>1753414753842</updated>
+    </task>
+    <task id="LOCAL-00004" summary="代理人app开发">
+      <option name="closed" value="true" />
+      <created>1753698477482</created>
+      <option name="number" value="00004" />
+      <option name="presentableId" value="LOCAL-00004" />
+      <option name="project" value="LOCAL" />
+      <updated>1753698477482</updated>
+    </task>
+    <task id="LOCAL-00005" summary="代理人app开发">
+      <option name="closed" value="true" />
+      <created>1753698556574</created>
+      <option name="number" value="00005" />
+      <option name="presentableId" value="LOCAL-00005" />
+      <option name="project" value="LOCAL" />
+      <updated>1753698556574</updated>
+    </task>
+    <task id="LOCAL-00006" summary="代理人app开发">
+      <option name="closed" value="true" />
+      <created>1753872347672</created>
+      <option name="number" value="00006" />
+      <option name="presentableId" value="LOCAL-00006" />
+      <option name="project" value="LOCAL" />
+      <updated>1753872347672</updated>
+    </task>
+    <option name="localTasksCounter" value="7" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -292,9 +324,9 @@
     </option>
   </component>
   <component name="VcsManagerConfiguration">
-    <MESSAGE value="代理人app开发" />
     <MESSAGE value="New changelist" />
-    <option name="LAST_COMMIT_MESSAGE" value="New changelist" />
+    <MESSAGE value="代理人app开发" />
+    <option name="LAST_COMMIT_MESSAGE" value="代理人app开发" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -326,7 +358,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/ydtech/modules/order/controller/QuoteController.java</url>
-          <line>228</line>
+          <line>239</line>
           <option name="timeStamp" value="14" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
@@ -361,6 +393,7 @@
         <watch expression="sysUserService" language="JAVA" />
         <watch expression="accountingUser.referrerDeptName" />
         <watch expression="o" language="JAVA" />
+        <watch expression="accountingUser.referrerDeptName" />
       </configuration>
     </watches-manager>
   </component>

+ 5 - 7
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1345,8 +1345,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 
     public PartnerUser addNewPartnerRule(SysUser sysUser) {
-        CommissionRulesVo rulesVo = commissionService.queryAll();
-        return getPartnerUser(sysUser,String.valueOf(sysUser.getGrade() + 1),rulesVo );
+        return getPartnerUser(sysUser,String.valueOf(sysUser.getGrade() + 1) );
     }
 
 
@@ -3706,15 +3705,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (CollectionUtils.isEmpty(list)){
             throw new SystemException("请选择合伙人等级");
         }
-        CommissionRulesVo rulesVo = commissionService.queryAll();
         //partnerUserService.deleteByUserId(sysUser.getId());
         for (String grade : list) {
-            partnerUserService.insert(getPartnerUser(sysUser,grade,rulesVo));
+            partnerUserService.insert(getPartnerUser(sysUser,grade));
         }
 
     }
 
-    private  PartnerUser getPartnerUser(SysUser sysUser,String grade,CommissionRulesVo rulesVo) {
+    private  PartnerUser getPartnerUser(SysUser sysUser,String grade) {
         PartnerUser partnerUser = new PartnerUser();
         partnerUser.setName(sysUser.getName());
         partnerUser.setMobile(sysUser.getMobile());
@@ -3739,12 +3737,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
          sysDeptVo.setProvince(sysDept.getProvince()); // 默认省与负责人所在机构一样
          sysDeptVo.setCity(sysDept.getCity()); // 默认市与负责人所在机构一样
          sysDeptVo.setArea(sysDept.getArea()); // 默认区县与负责人所在机构一样
-         if (StringUtils.equals("4",grade)){
+         if (StringUtils.equals("4",String.valueOf(Integer.valueOf(grade) + 1))){
              sysDeptVo.setDeptType("C"); // 默认为子公司
              sysDeptVo.setName(sysUser.getName() + "(工作室)");
              sysDeptVo.setComlevel("5");
          }
-         if (StringUtils.equals("5",grade)){
+         if (StringUtils.equals("5",String.valueOf(Integer.valueOf(grade) + 1))){
              sysDeptVo.setDeptType("D"); // 默认为子公司
              sysDeptVo.setName(sysUser.getName() + "团队"); // 以人名设置工作室名称
          }

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

@@ -73,10 +73,19 @@ public class PartnerUser{
     @TableField(value = "identity_status")
     private boolean identityStatus;
 
+    /**
+     * 降级考核时间
+     */
     private Date upgradeCycleStartTime;
 
+    /**
+     * 佣金考核时间
+      */
     private Date assessmentTime;
 
+    /**
+     * 升级时间
+     */
     private Date upgradeTime;
 
     /**

+ 11 - 4
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerLiftingRecordServiceImpl.java

@@ -168,10 +168,11 @@ public class PartnerLiftingRecordServiceImpl extends ServiceImpl<PartnerLiftingR
         partnerUser.setReferrerId(referrerId);
         partnerUser.setGrade(value);
         partnerUser.setIdentityType(1);
-        Date date = PartnerDateUtils.addDaysToday(new Date(), 1);
+        Date currentTime = new Date();
+        Date date = PartnerDateUtils.addDaysToday(currentTime, 1);
         partnerUser.setUpgradeCycleStartTime(date);
         partnerUser.setAssessmentTime(date);
-        partnerUser.setUpgradeTime(date);
+        partnerUser.setUpgradeTime(currentTime);
         partnerUserMapper.insert(partnerUser);
 
         PartnerUser selectOne = partnerUserMapper.selectOne(new LambdaQueryWrapper<>(PartnerUser.class).eq(PartnerUser::getUserId, liftingRecord.getUserId()).eq(PartnerUser::getGrade, liftingRecord.getOriginalLevel()));
@@ -302,11 +303,17 @@ public class PartnerLiftingRecordServiceImpl extends ServiceImpl<PartnerLiftingR
                 .eq(PartnerUser::getGrade, record.getAfterChange()));
         if (selectOne != null && selectOne.isIdentityStatus()){
             selectOne.setIdentityStatus(false);
-            selectOne.setCommissionRate(auditCommission);
-            Date date = PartnerDateUtils.addDaysToday(new Date(), 1);
+            Date currentTime = new Date();
+            Date date = PartnerDateUtils.addDaysToday(currentTime, 1);
             selectOne.setUpgradeCycleStartTime(date);
             selectOne.setAssessmentTime(date);
+            selectOne.setUpgradeTime(currentTime);
             partnerUserMapper.updateById(selectOne);
+            // 锁定上级佣金比例
+            PartnerUser one = partnerUserMapper.selectOne(new LambdaQueryWrapper<>(PartnerUser.class).eq(PartnerUser::getUserId, record.getUserId())
+                    .eq(PartnerUser::getGrade, record.getOriginalLevel()));
+            one.setCommissionRate(auditCommission);
+            partnerUserMapper.updateById(one);
         }else {
             throw new RuntimeException("解锁失败");
         }

+ 24 - 14
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java

@@ -182,6 +182,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         QueryWrapper<PartnerLiftingRecord> wrapper = new QueryWrapper<>();
         wrapper.eq("user_id",userGradeParam.getId());
         wrapper.eq("audit_status",0);
+        wrapper.eq("type",0);
         Long aLong = liftingRecordMapper.selectCount(wrapper);
         if (aLong > 0){
             return HttpResult.error("重复提交,等待管理员审批");
@@ -292,9 +293,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
             }else {
                 if (partnerUser.isIdentityStatus()){
                     overviewVo.setParentStatus("2");
-                    List<PartnerRuleEntity> partnerRuleEntities = partnerRuleService.queryAll();
-                    ExpiredCommissionUtils commissionUtils = SpringUtil.getBean(ExpiredCommissionUtils.class);
-                    getRule(partnerRuleEntities, commissionUtils, overviewVo, partnerUser);
+                    getRule(overviewVo, partnerUser);
                 }else {
                     overviewVo.setParentStatus("1");
                 }
@@ -562,10 +561,13 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
                     .toLocalDate();
             level.setZeroDays(ChronoUnit.DAYS.between(LocalDate.now(), upgradeCycleStartDate));
         }
-
+        Integer grade = partnerUser.getGrade();
+        if (grade != 4){
+            grade = grade + 1;
+        }
         // 检查升级条件
         boolean verified = ruleService.verifyUpgradeConditions(
-                partnerUser.getUserId(), String.valueOf(partnerUser.getGrade()));
+                partnerUser.getUserId(), String.valueOf(grade));
         level.setUpgrade(verified);
 
         // 检查降级记录
@@ -738,7 +740,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
                     map.put("data", getPage(page));
                     map.put("total", hashMap);
                     map.put("parentStatus", partnerUser.isIdentityStatus() ? "2" : "1");
-                    getRule(partnerRuleEntities, commissionUtils, overviewVo, partnerUser);
+                    getRule(overviewVo, partnerUser);
 
                     map.put("upgradeStatus", new JSONObject());
                 }
@@ -753,8 +755,12 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         return HttpResult.ok(list);
     }
 
-    private void getRule(List<PartnerRuleEntity> partnerRuleEntities, ExpiredCommissionUtils commissionUtils, TeamOverviewVo overviewVo, PartnerUser partnerUser) {
-        boolean checked = commissionUtils.checkUpgradeConditions(partnerUser);
+    private void getRule(TeamOverviewVo overviewVo, PartnerUser partnerUser) {
+        Integer grade = partnerUser.getGrade();
+        if (grade != 4){
+            grade = grade + 1;
+        }
+        boolean checked = partnerRuleService.verifyUpgradeConditions(partnerUser.getUserId(),String.valueOf(grade));
         overviewVo.setUpgradeStatus(checked ? 1 : 0);
         Long count = liftingRecordService.selectDowngradeRecord(partnerUser.getUserId(), partnerUser.getGrade(),1);
         if (count > 0){
@@ -996,12 +1002,16 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         String userId = BaseController.getUserId();
         AppUserInfoVo appUserInfoVo = sysUserMapper.queryByUserId(userId);
         Integer min = baseMapper.selectGradeIntMin(userId);
-        appUserInfoVo.setGrade(min);
-        PartnerUser partnerUser = baseMapper.selectOne(new LambdaQueryWrapper<>(PartnerUser.class)
-                .eq(PartnerUser::getUserId, userId)
-                .eq(PartnerUser::getGrade, min));
-        InsUploadFiles insUploadFiles = uploadFilesMapper.selectById(partnerUser.getPictureUrl());
-        appUserInfoVo.setInsUploadFiles(insUploadFiles);
+        if (null != min){
+            PartnerUser partnerUser = baseMapper.selectOne(new LambdaQueryWrapper<>(PartnerUser.class)
+                    .eq(PartnerUser::getUserId, userId)
+                    .eq(PartnerUser::getGrade, min));
+            InsUploadFiles insUploadFiles = uploadFilesMapper.selectById(partnerUser.getPictureUrl());
+            appUserInfoVo.setInsUploadFiles(insUploadFiles);
+        }else {
+            appUserInfoVo.setInsUploadFiles(new InsUploadFiles());
+        }
+        appUserInfoVo.setGrade(null == min ? 4 : min);
         return appUserInfoVo;
     }