Kaynağa Gözat

feat(app): 添加年级信息字段并优化-订单创建逻辑 在 AppOrderProInfo 实体中新增 levelInfo 字段用于存储年级信息- 修改 CreateOrderForm 表单,增加 addGradeLevelInformation 列表以支持提交年级信息- 在 OrderServiceImpl 中完善订单创建逻辑,根据家庭用户 ID 匹配并设置年级信息
- 格式化 priceRulesMapper 查询语句,提升代码可读性

SheepHy 1 gün önce
ebeveyn
işleme
d4aa5fe697

+ 19 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/form/CreateOrderForm.java

@@ -1,13 +1,18 @@
 package org.jeecg.modules.app.form;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 @Data
 @Accessors(chain = true)
@@ -51,4 +56,17 @@ public class CreateOrderForm implements Serializable {
     @Schema(description = "参赛资质")
     private String gameCertificationForm;
 
-}
+    @Schema(description = "添加年级信息")
+    private List<AddGradeLevelInformation> addGradeLevelInformation;
+
+    @Data
+    @Accessors(chain = true)
+    @EqualsAndHashCode(callSuper = false)
+    @Schema(description="添加年级信息")
+    public static class AddGradeLevelInformation{
+        @Schema(description = "使用人ID")
+        private String familyId;
+        @Schema(description = "年级信息")
+        private String levelInfo;
+    }
+}

+ 5 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java

@@ -1124,6 +1124,11 @@ public class OrderServiceImpl extends ServiceImpl<AppOrderMapper, AppOrder> impl
             appOrderProInfo
                     .setOrderId(appOrder.getId())
                     .setOrderCode(appOrder.getOrderCode());
+            createOrderForm.getAddGradeLevelInformation().forEach(addGradeLevelInformation -> {
+                if(appOrderProInfo.getFamilyUserId().equals(addGradeLevelInformation.getFamilyId())){
+                    appOrderProInfo.setLevelInfo(addGradeLevelInformation.getLevelInfo());
+                }
+            });
             if (!Objects.equals(appOrderProInfo.getType(), CommonConstant.ORDER_PRO_INFO_TYPE_4)) {
                 appOrderProInfo.setTicketNo(RandomUtil.randomNumbers(10));
             }

+ 2 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppOrderProInfo.java

@@ -85,6 +85,8 @@ public class AppOrderProInfo implements Serializable{
     private String familyUserId;
     @Schema(description = "使用人")
     private String userName;
+    @Schema(description = "年级信息")
+    private String levelInfo;
     @Schema(description = "手机号")
     private String userPhone;
     @Schema(description = "是否免费试听课(0-否 1-是)")

+ 2 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppCoureseServiceImpl.java

@@ -338,7 +338,8 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
 
         List<CoursesPriceRulesVO> verifyCourseInfoDTOList = new ArrayList<>();
 
-        List<AppCoursesPriceRules> priceRulesList = priceRulesMapper.selectList(Wrappers.lambdaQuery(AppCoursesPriceRules.class).eq(AppCoursesPriceRules::getCoursesId, courseId));
+        List<AppCoursesPriceRules> priceRulesList = priceRulesMapper.selectList(Wrappers.lambdaQuery(AppCoursesPriceRules.class)
+                .eq(AppCoursesPriceRules::getCoursesId, courseId));
 
 //        Map<Integer, List<AppCoursesPriceRules>> map = priceRulesList.stream().collect(Collectors.groupingBy(AppCoursesPriceRules::getCoursesType));