Browse Source

会员新增异常BUG修复

anderx 1 year ago
parent
commit
d1b75788a7

File diff suppressed because it is too large
+ 19 - 8
src/main/java/com/goafanti/common/mapper/TaskDetailsMapper.xml


+ 14 - 2
src/main/java/com/goafanti/common/model/TaskDetails.java

@@ -11,10 +11,10 @@ import java.util.Date;
  * 项目申报详情(TaskDetails)实体类
  *
  * @author makejava
- * @since 2025-01-09 09:58:37
+ * @since 2025-01-20 17:19:20
  */
 public class TaskDetails implements Serializable {
-    private static final long serialVersionUID = -30309793401305115L;
+    private static final long serialVersionUID = 992907593831828261L;
 
     private Integer id;
 /**
@@ -409,6 +409,10 @@ public class TaskDetails implements Serializable {
      * 创建时间
      */
     private Date createTime;
+/**
+     * 会员等级
+     */
+    private Integer memberLvl;
 
 
     public Integer getId() {
@@ -1203,5 +1207,13 @@ public class TaskDetails implements Serializable {
         this.createTime = createTime;
     }
 
+    public Integer getMemberLvl() {
+        return memberLvl;
+    }
+
+    public void setMemberLvl(Integer memberLvl) {
+        this.memberLvl = memberLvl;
+    }
+
 }
 

+ 16 - 12
src/main/java/com/goafanti/techproject/service/impl/TaskDetailsServiceImpl.java

@@ -129,9 +129,11 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         bo.setServiceYear(serviceYear);
         bo.setMemberStatus(mid.getProjectType());
         bo.setTaskList(list);
-        BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
-        String lvl=getOrderLvl(totalAmount);
-        bo.setMemberLvl(lvl);
+        if (bo.getMemberStatus()==null){
+            BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
+            Integer lvl=getOrderLvl(totalAmount);
+            bo.setMemberLvl(lvl);
+        }
         bo.setFeatureList(taskFeatureMapper.selectByTdId(bo.getId()));
     }
 
@@ -149,14 +151,14 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         return serviceYear2;
     }
 
-    private String getOrderLvl(BigDecimal totalAmount) {
-        String lvl=null;
+    private Integer getOrderLvl(BigDecimal totalAmount) {
+        Integer lvl=null;
         if (totalAmount.compareTo(new BigDecimal("3"))<0){
-            lvl ="A";
+            lvl =1;
         }else if (totalAmount.compareTo(new BigDecimal("8"))<1){
-            lvl ="AA";
+            lvl =2;
         }else if (totalAmount.compareTo(new BigDecimal("8"))>0){
-            lvl ="AAA";
+            lvl =3;
         }
         return lvl;
     }
@@ -319,8 +321,8 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             }
         }
         BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
-        String lvl=getOrderLvl(totalAmount);
-//        bo.setMemberLvl(lvl);
+        Integer lvl=getOrderLvl(totalAmount);
+        taskDetails.setMemberLvl(lvl);
     }
 
     private BigDecimal getBigDecimal(BigDecimal rdSalesAmount, BigDecimal rdBudget, TaskDetails taskDetails) {
@@ -462,8 +464,10 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         res.setMemberStatus(mid.getProjectType());
         res.setTaskList(list);
         BigDecimal totalAmount = tOrderNew.getTotalAmount();
-        String lvl=getOrderLvl(totalAmount);
-        res.setMemberLvl(lvl);
+        if (res.getMemberLvl()==null){
+            Integer lvl=getOrderLvl(totalAmount);
+            res.setMemberLvl(lvl);
+        }
         res.setTaskList(list);
         res.setFeatureList(taskFeatureLogMapper.selectByTdlid(id));
         return res;