Bladeren bron

fix(app):
1.订单回显信息
2.增加回显过期时间

wzq 5 dagen geleden
bovenliggende
commit
66c687d7a2
22 gewijzigde bestanden met toevoegingen van 429 en 120 verwijderingen
  1. 3 4
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/OrderController.java
  2. 3 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/commercial/CommercialController.java
  3. 39 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/AppOrderInfoDTO.java
  4. 3 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IAppIsinService.java
  5. 2 3
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IOrderService.java
  6. 13 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/AppIsinServiceImpl.java
  7. 152 14
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java
  8. 44 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/AppGameScheduleVO.java
  9. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/OrderVO.java
  10. 33 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/QueryOrderVerifyRecordsVO.java
  11. 2 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/VerifyCourseInfoDTO.java
  12. 0 21
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/VerifyCourseInfoVO.java
  13. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppCoursesVerificationRecord.java
  14. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppIsin.java
  15. 2 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppOrderProInfo.java
  16. 2 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppCoursesMapper.java
  17. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppGameScheduleMapper.java
  18. 22 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppCoursesMapper.xml
  19. 21 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppGameScheduleMapper.xml
  20. 4 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppCoureseService.java
  21. 52 47
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppCoureseServiceImpl.java
  22. 24 21
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppOrderServiceImpl.java

+ 3 - 4
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/OrderController.java

@@ -11,7 +11,7 @@ import org.jeecg.modules.app.form.CreateOrderForm;
 import org.jeecg.modules.app.form.UserPayForm;
 import org.jeecg.modules.app.service.IOrderService;
 import org.jeecg.modules.app.vo.OrderVO;
-import org.jeecg.modules.system.app.entity.AppCoursesVerificationRecord;
+import org.jeecg.modules.app.vo.QueryOrderVerifyRecordsVO;
 import org.simpleframework.xml.core.Validate;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.*;
@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 @Slf4j
 @Tag(name = "APP订单相关接口")
@@ -143,8 +142,8 @@ public class OrderController {
      */
     @Operation(summary = "订单-查询课程课时核销记录")
     @GetMapping("/queryOrderVerifyRecords")
-    public Result<Map<Integer, List<AppCoursesVerificationRecord>>> queryOrderVerifyRecords(@Schema(description = "订单ID") @RequestParam(name = "orderId") String orderId,
-                                                                                            @Schema(description = "券号")@RequestParam(name = "ticketNo")String ticketNo) {
+    public Result<List<QueryOrderVerifyRecordsVO>> queryOrderVerifyRecords(@Schema(description = "订单ID") @RequestParam(name = "orderId") String orderId,
+                                                                     @Schema(description = "券号") @RequestParam(name = "ticketNo") String ticketNo) {
         return Result.ok(appOrderService.queryOrderVerifyRecords(orderId,ticketNo));
     }
 

+ 3 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/commercial/CommercialController.java

@@ -23,6 +23,7 @@ import org.jeecg.modules.system.app.form.CoursesVerificationRecordForm;
 import org.jeecg.modules.system.app.service.*;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.ParseException;
 import java.util.List;
 
 @Slf4j
@@ -77,7 +78,7 @@ public class CommercialController {
      */
     @Operation(summary = "课程详情")
     @GetMapping("/getCourseInfo/{courseId}")
-    public Result<VerifyCourseInfoVO> getCourseInfo(@Schema(description = "课程ID") @PathVariable("courseId") String courseId) {
+    public Result<List<VerifyCourseInfoDTO>> getCourseInfo(@Schema(description = "课程ID") @PathVariable("courseId") String courseId) {
         return Result.OK(appCoureseService.getCourseInfo(courseId));
     }
 
@@ -226,7 +227,7 @@ public class CommercialController {
      */
     @Operation(summary = "使用核销记录撤销 ")
     @PutMapping("/repealVerifyRecord")
-    public Result<String> repealVerifyRecord(@Schema(description = "appIsinId") @RequestParam(name = "appIsinId") String appIsinId) {
+    public Result<String> repealVerifyRecord(@Schema(description = "appIsinId") @RequestParam(name = "appIsinId") String appIsinId) throws ParseException {
         return Result.OK(appIsinService.repealVerifyRecord(appIsinId));
     }
 }

+ 39 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/AppOrderInfoDTO.java

@@ -7,8 +7,10 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
+import org.jeecg.modules.app.vo.AppGameScheduleVO;
 import org.jeecg.modules.system.app.entity.AppCourses;
 import org.jeecg.modules.system.app.entity.AppOrderProInfo;
+import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -59,6 +61,32 @@ public class AppOrderInfoDTO implements Serializable {
     @Schema(description = "上课地址")
     private String courseSiteAddress;
 
+    @Schema(description = "学校地址")
+    private String schoolAddress;
+
+    @Schema(description = "日期")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date dateOfSale;
+
+    @Excel(name = "开始时间", width = 20, format = "HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern="HH:mm:ss")
+    @Schema(description = "开始时间")
+    private Date startTime;
+
+    @Excel(name = "结束时间", width = 20, format = "HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern="HH:mm:ss")
+    @Schema(description = "结束时间")
+    private Date endTime;
+
+    @Schema(description = "用户")
+    private String userNames;
+
+    @Schema(description = "退款类型;0可退/到期自动退 1限时退 2不可退")
+    private Integer refundType;
+
     @Schema(description = "纬度")
     private BigDecimal latitude;
 
@@ -89,10 +117,21 @@ public class AppOrderInfoDTO implements Serializable {
     @Schema(description = "订单信息")
     private List<AppOrderProInfo> proInfoList;
 
+    @Schema(description = "赛事安排")
+    private List<AppGameScheduleVO> appGameScheduleVOList;
+
+    @Schema(description = "赛程数")
+    private Integer gameScheduleNum;
+
     //商品信息
+    @Schema(description = "商品信息")
     private AppCourses appCourses;
 
     //使用须知
     @Schema(description = "提示/须知")
     private String reminder;
+
+    //提前预约时间:0免预约 单位:时
+    @Schema(description = "提前预约时间:0免预约 单位:时")
+    private Integer advanceTime;
 }

+ 3 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IAppIsinService.java

@@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.app.vo.AppIsinVerifyVO;
 import org.jeecg.modules.system.app.entity.AppIsin;
 
+import java.text.ParseException;
+
 public interface IAppIsinService extends IService<AppIsin> {
 
     Page<AppIsinVerifyVO> pageAppIsinVerifyRecords(Page<AppIsinVerifyVO> page, String orgCode);
 
-    String repealVerifyRecord(String appIsinId);
+    String repealVerifyRecord(String appIsinId) throws ParseException;
 
 }

+ 2 - 3
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IOrderService.java

@@ -4,11 +4,10 @@ import org.jeecg.modules.app.dto.AppOrderInfoDTO;
 import org.jeecg.modules.app.form.CreateOrderForm;
 import org.jeecg.modules.app.form.UserPayForm;
 import org.jeecg.modules.app.vo.OrderVO;
-import org.jeecg.modules.system.app.entity.AppCoursesVerificationRecord;
+import org.jeecg.modules.app.vo.QueryOrderVerifyRecordsVO;
 
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 public interface IOrderService {
 
@@ -79,5 +78,5 @@ public interface IOrderService {
 
     AppOrderInfoDTO queryOrderInfo(String orderCode);
 
-    Map<Integer, List<AppCoursesVerificationRecord>> queryOrderVerifyRecords(String orderId, String ticketNo);
+    List<QueryOrderVerifyRecordsVO> queryOrderVerifyRecords(String orderId, String ticketNo);
 }

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

@@ -11,6 +11,8 @@ import org.jeecg.modules.system.app.entity.AppIsin;
 import org.jeecg.modules.system.app.mapper.AppIsinMapper;
 import org.springframework.stereotype.Service;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 
@@ -23,7 +25,7 @@ public class AppIsinServiceImpl extends ServiceImpl<AppIsinMapper, AppIsin> impl
     }
 
     @Override
-    public String repealVerifyRecord(String appIsinId) {
+    public String repealVerifyRecord(String appIsinId) throws ParseException {
 
         AppIsin appIsin = this.getById(appIsinId);
         //校验核验时间
@@ -34,7 +36,16 @@ public class AppIsinServiceImpl extends ServiceImpl<AppIsinMapper, AppIsin> impl
             }
         }
         appIsin.setIsinStatus(0);
-        Date expireTime = appIsin.getExpireTime();
+
+        // 创建SimpleDateFormat对象,指定目标格式
+        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
+
+        // 定义要转换的字符串格式的日期
+        String dateString = appIsin.getExpireTime();
+
+        // 使用parse方法将字符串转换为Date对象
+        Date expireTime = ft.parse(dateString);
+
         //判断当前时间是否过期
         if(expireTime.before(new Date())) {
             appIsin.setIsinStatus(2);

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

@@ -21,8 +21,9 @@ import org.jeecg.modules.app.form.CreateOrderForm;
 import org.jeecg.modules.app.form.InsureOrderInfoForm;
 import org.jeecg.modules.app.form.UserPayForm;
 import org.jeecg.modules.app.service.IOrderService;
+import org.jeecg.modules.app.vo.AppGameScheduleVO;
 import org.jeecg.modules.app.vo.OrderVO;
-import org.jeecg.modules.app.vo.VerifyCourseInfoDTO;
+import org.jeecg.modules.app.vo.QueryOrderVerifyRecordsVO;
 import org.jeecg.modules.system.app.entity.*;
 import org.jeecg.modules.system.app.mapper.*;
 import org.jeecg.modules.system.mapper.SysDepartMapper;
@@ -318,13 +319,18 @@ public class OrderServiceImpl implements IOrderService {
                     for (String id : ids) {
                         FamilyMembers familyMembers = familyMembersMapper.selectById(id);
 
+                        String date = DateUtil.format(priceRule.getDateOfSale(), "yyyy-MM-dd");
+                        String time = DateUtil.format(priceRule.getEndTime(), "HH:mm:ss");
+                        String expireTime = date + " " + time;
+
                         AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
                         appOrderProInfo
                                 .setProductId(priceRule.getId())
                                 .setProductName("学校场地预约")
                                 .setType(CommonConstant.ORDER_PRO_INFO_TYPE_1)
-                                .setUseDateStr(DateUtil.format(priceRule.getDateOfSale(), "yyyy-MM-dd"))
+                                .setUseDateStr(date)
                                 .setFrameTimeStr(priceRule.getStartTime() + "-" + priceRule.getEndTime())
+                                .setExpireTime(expireTime)
                                 .setOriginalPrice(priceRule.getOriginalPrice())
                                 .setPrice(priceRule.getSellingPrice())
                                 .setOrderStatus(2)
@@ -352,9 +358,15 @@ public class OrderServiceImpl implements IOrderService {
                         AppSitePlace appSitePlace = appSitePlaceMapper.selectById(priceRule.getSitePlaceId());
                         AppSite appSite = appSiteMapper.selectById(appSitePlace.getSiteId());
 
+                        String date = DateUtil.format(priceRule.getDateOfSale(), "yyyy-MM-dd");
+                        String startTime = DateUtil.format(priceRule.getStartTime(), "HH:mm:ss");
+                        String endTime = DateUtil.format(priceRule.getEndTime(), "HH:mm:ss");
+                        String expireTime = date + " " + endTime;
+
                         AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
                         appOrderProInfo.setProductId(id);
-                        appOrderProInfo.setProductName(priceRule.getDateOfSale() + " " + priceRule.getStartTime() + "-" + priceRule.getEndTime() + "|" + appSitePlace.getName());
+                        appOrderProInfo.setProductName(date + " " + startTime + "-" + endTime + "|" + appSitePlace.getName());
+                        appOrderProInfo.setExpireTime(expireTime);
                         appOrderProInfo.setAddress(appSite.getAddress());
                         appOrderProInfo.setType(CommonConstant.ORDER_PRO_INFO_TYPE_2);
                         appOrderProInfo.setOriginalPrice(priceRule.getOriginalPrice());
@@ -387,9 +399,7 @@ public class OrderServiceImpl implements IOrderService {
 
                 //无固定场
                 if (createOrderForm.getOrderType() == 2) {
-                    AppSitePlace sitePlace = appSitePlaceMapper.selectById(createOrderForm.getProductIds());
-                    AppSitePriceRules priceRule = appSitePriceRulesMapper.selectOne(Wrappers.<AppSitePriceRules>lambdaQuery()
-                            .eq(AppSitePriceRules::getSitePlaceId,sitePlace.getId()).last("limit 1"));
+                    AppSitePriceRules priceRule = appSitePriceRulesMapper.selectById(createOrderForm.getProductIds());
                     AppSitePlace appSitePlace = appSitePlaceMapper.selectById(priceRule.getSitePlaceId());
                     AppSite appSite = appSiteMapper.selectById(appSitePlace.getSiteId());
 
@@ -400,13 +410,19 @@ public class OrderServiceImpl implements IOrderService {
 
                     for (int i = 1; i <= createOrderForm.getAmount(); i++) {
 
+                        String date = DateUtil.format(priceRule.getDateOfSale(), "yyyy-MM-dd");
+                        String startTime = DateUtil.format(priceRule.getStartTime(), "HH:mm:ss");
+                        String endTime = DateUtil.format(priceRule.getEndTime(), "HH:mm:ss");
+                        String expireTime = date + " " + endTime;
+
                         AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
                         appOrderProInfo.setProductId(createOrderForm.getProductIds());
                         appOrderProInfo.setProductName(appSitePlace.getName());
                         appOrderProInfo.setProductImage(appSitePlace.getCover());
                         appOrderProInfo.setAddress(appSite.getAddress());
                         appOrderProInfo.setType(CommonConstant.ORDER_PRO_INFO_TYPE_3);
-                        appOrderProInfo.setFrameTimeStr(appSite.getStartTime() + "-" + appSite.getEndTime());
+                        appOrderProInfo.setFrameTimeStr(startTime + "-" + endTime);
+                        appOrderProInfo.setExpireTime(expireTime);
                         appOrderProInfo.setOriginalPrice(priceRule.getOriginalPrice());
                         appOrderProInfo.setPrice(priceRule.getSellingPrice());
                         appOrderProInfo.setOrderStatus(0);
@@ -441,6 +457,8 @@ public class OrderServiceImpl implements IOrderService {
                 //个人赛
                 AppGamePriceRules appGamePriceRules = appGamePriceRulesMapper.selectById(createOrderForm.getProductIds());
                 AppGame appGame = appGameMapper.selectById(appGamePriceRules.getGameId());
+                AppGameSchedule appGameSchedule = appGameScheduleMapper.selectOne(Wrappers.<AppGameSchedule>lambdaQuery().eq(AppGameSchedule::getGameId, appGame.getId()).last("limit 1"));
+
 
                 appOrder.setOrgCode(appGamePriceRules.getOrgCode());
                 appOrder.setTenantId(appGamePriceRules.getTenantId());
@@ -450,6 +468,7 @@ public class OrderServiceImpl implements IOrderService {
 
                 for (int i = 1; i <= createOrderForm.getAmount(); i++) {
 
+
                     String familyUserId = createOrderForm.getFamilyIds().split(",")[i - 1];
                     FamilyMembers familyMembers = familyMembersMapper.selectById(familyUserId);
                     AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
@@ -463,6 +482,7 @@ public class OrderServiceImpl implements IOrderService {
                         appOrderProInfo.setType(CommonConstant.ORDER_PRO_INFO_TYPE_5);
                     }
                     appOrderProInfo.setFrameTimeStr(appGame.getStartTime() + "-" + appGame.getEndTime());
+                    appOrderProInfo.setExpireTime(DateUtil.format(appGameSchedule.getEndTime(), "yyyy-MM-dd HH:mm:ss"));
                     appOrderProInfo.setOriginalPrice(appGamePriceRules.getSellingPrice());
                     appOrderProInfo.setPrice(appGamePriceRules.getSellingPrice());
                     appOrderProInfo.setOrderStatus(0);
@@ -528,6 +548,7 @@ public class OrderServiceImpl implements IOrderService {
                     appOrderProInfo.setAddress(appSite.getAddress());
                     appOrderProInfo.setType(CommonConstant.ORDER_PRO_INFO_TYPE_6);
                     appOrderProInfo.setFrameTimeStr(DateUtil.format(appCourse.getStartTime(), "yyyy-MM-dd") + "-" + DateUtil.format(appCourse.getEndTime(), "yyyy-MM-dd"));
+                    appOrderProInfo.setExpireTime(DateUtil.format(appCourse.getEndTime(), "yyyy-MM-dd"));
                     appOrderProInfo.setOriginalPrice(appCourse.getOriginalPrice());
                     appOrderProInfo.setPrice(appCourse.getSellingPrice());
                     appOrderProInfo.setOrderStatus(0);
@@ -544,7 +565,7 @@ public class OrderServiceImpl implements IOrderService {
                             AppCoursesVerificationRecord appCoursesVerificationRecord = new AppCoursesVerificationRecord();
                             appCoursesVerificationRecord.setCoursesId(appCourse.getId());
                             appCoursesVerificationRecord.setCoursesPriceRuleId(appCoursesPriceRules.getId());
-                            appCoursesVerificationRecord.setCoursesName(appCourse.getName());
+                            appCoursesVerificationRecord.setCoursesName(appCoursesPriceRules.getName());
                             appCoursesVerificationRecord.setCoursesStartTime(appCoursesPriceRules.getStartTime());
                             appCoursesVerificationRecord.setCoursesEndTime(appCoursesPriceRules.getEndTime());
                             appCoursesVerificationRecord.setUseUserId(familyUserId);
@@ -653,10 +674,15 @@ public class OrderServiceImpl implements IOrderService {
                     .setOrderCode(appOrder.getOrderCode())
                     .setOrderProInfoId(appOrderProInfo.getId())
                     .setFamilyId(appOrderProInfo.getFamilyUserId())
+                    .setFamilyUserName(appOrderProInfo.getUserName())
+                    .setUserPhone(appOrderProInfo.getUserPhone())
                     .setUseAddress(StrUtil.isBlank(appOrderProInfo.getAddress()) ? null : appOrderProInfo.getAddress())
+                    //过期时间
+                    .setExpireTime(appOrderProInfo.getExpireTime())
                     //生成10位随机券号
                     .setTicketNo(appOrderProInfo.getTicketNo())
                     .setIsinStatus(CommonConstant.ISIN_STATUS_1);
+            appIsinMapper.insert(appIsin);
         }
 
         //保存保险
@@ -731,12 +757,111 @@ public class OrderServiceImpl implements IOrderService {
 
         //学校
         if(appOrder.getType().equals(CommonConstant.ORDER_TYPE_0)){
-
+            if (appOrder.getOrderType() == 0) {
+                //商品信息
+                String productIds = appOrder.getProductIds();
+                AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectById(productIds);
+                AppSitePlace appSitePlace = appSitePlaceMapper.selectById(appSitePriceRules.getSitePlaceId());
+                //使用须知
+                if (ObjectUtils.isNotEmpty(appSitePlace.getReminder())) {
+                    appOrderInfoDTO.setReminder(appSitePlace.getReminder());
+                }
+                //门店信息
+                AppSite site = appSiteMapper.selectById(appSitePlace.getSiteId());
+                appOrderInfoDTO.setSiteName(site.getName());
+                appOrderInfoDTO.setRunStatus(site.getRunStatus());
+                //预定信息
+                appOrderInfoDTO.setDateOfSale(appSitePriceRules.getDateOfSale());
+                appOrderInfoDTO.setStartTime(appSitePriceRules.getStartTime());
+                appOrderInfoDTO.setEndTime(appSitePriceRules.getEndTime());
+                StringBuilder userNames = new StringBuilder();
+                for (AppOrderProInfo appOrderProInfo : proInfoList) {
+                    userNames.append(appOrderProInfo.getUserName()).append(" ");
+                }
+                appOrderInfoDTO.setUserNames(String.valueOf(userNames));
+                //地址信息
+                appOrderInfoDTO.setSchoolAddress(site.getAddress());
+                appOrderInfoDTO.setLatitude(site.getLatitude());
+                appOrderInfoDTO.setLongitude(site.getLongitude());
+                appOrderInfoDTO.setPhone(site.getPhone());
+                appOrderInfoDTO.setAddressSiteId(site.getId());
+            }
+            //包场
+            if (appOrder.getOrderType() == 1) {
+                //商品信息
+                String productIds = appOrder.getProductIds();
+                AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectById(productIds);
+                AppSitePlace appSitePlace = appSitePlaceMapper.selectById(appSitePriceRules.getSitePlaceId());
+                //使用须知
+                if (ObjectUtils.isNotEmpty(appSitePlace.getReminder())) {
+                    appOrderInfoDTO.setReminder(appSitePlace.getReminder());
+                }
+                //场馆
+                AppSite site = appSiteMapper.selectById(appSitePlace.getSiteId());
+                appOrderInfoDTO.setSiteName(site.getName());
+                appOrderInfoDTO.setRunStatus(site.getRunStatus());
+                //退改规则、温馨提示
+                appOrderInfoDTO.setReminder(appSitePlace.getReminder());
+                appOrderInfoDTO.setAdvanceTime(appSitePlace.getAdvanceTime());
+
+                //地址信息
+                appOrderInfoDTO.setSchoolAddress(site.getAddress());
+                appOrderInfoDTO.setLatitude(site.getLatitude());
+                appOrderInfoDTO.setLongitude(site.getLongitude());
+                appOrderInfoDTO.setPhone(site.getPhone());
+                appOrderInfoDTO.setAddressSiteId(site.getId());
+            }
+            //无固定场
+            if (appOrder.getOrderType() == 2) {
+                //商品信息
+                String productIds = appOrder.getProductIds();
+                AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectById(productIds);
+                AppSitePlace appSitePlace = appSitePlaceMapper.selectById(appSitePriceRules.getSitePlaceId());
+                //使用须知
+                if (ObjectUtils.isNotEmpty(appSitePlace.getReminder())) {
+                    appOrderInfoDTO.setReminder(appSitePlace.getReminder());
+                }
+                //门店信息
+                AppSite site = appSiteMapper.selectById(appSitePlace.getSiteId());
+                appOrderInfoDTO.setSiteName(site.getName());
+                appOrderInfoDTO.setRunStatus(site.getRunStatus());
+                //预定信息
+                appOrderInfoDTO.setStartTime(appSitePriceRules.getStartTime());
+                appOrderInfoDTO.setEndTime(appSitePriceRules.getEndTime());
+                appOrderInfoDTO.setRefundType(appSitePlace.getRefundType());
+                //地址信息
+                appOrderInfoDTO.setSchoolAddress(site.getAddress());
+                appOrderInfoDTO.setLatitude(site.getLatitude());
+                appOrderInfoDTO.setLongitude(site.getLongitude());
+                appOrderInfoDTO.setPhone(site.getPhone());
+                appOrderInfoDTO.setAddressSiteId(site.getId());
+            }
         }
 
-        //场地
+        //赛事
         if(appOrder.getType().equals(CommonConstant.ORDER_TYPE_1)){
+            //商品信息
+            String productIds = appOrder.getProductIds();
+            AppGamePriceRules appGamePriceRules = appGamePriceRulesMapper.selectById(productIds);
+            AppGame appGame = appGameMapper.selectById(appGamePriceRules.getGameId());
 
+            //门店信息
+            AppSite site = appSiteMapper.selectById(appGame.getSiteId());
+            //退改规则、
+            appOrderInfoDTO.setReminder(appGame.getReminder());
+            //开始时间
+            appOrderInfoDTO.setStartTime(appGame.getStartTime());
+            //赛程安排
+            List<AppGameScheduleVO> appGameScheduleVOList = appGameScheduleMapper.getListVo(appGame.getId());
+            appOrderInfoDTO.setAppGameScheduleVOList(appGameScheduleVOList);
+            //赛程数
+            appOrderInfoDTO.setGameScheduleNum(appGameScheduleVOList.size());
+            //地址信息
+            appOrderInfoDTO.setSchoolAddress(site.getAddress());
+            appOrderInfoDTO.setLatitude(site.getLatitude());
+            appOrderInfoDTO.setLongitude(site.getLongitude());
+            appOrderInfoDTO.setPhone(site.getPhone());
+            appOrderInfoDTO.setAddressSiteId(site.getId());
         }
 
         //课程
@@ -766,9 +891,9 @@ public class OrderServiceImpl implements IOrderService {
     }
 
     @Override
-    public Map<Integer, List<AppCoursesVerificationRecord>> queryOrderVerifyRecords(String orderId, String ticketNo) {
+    public List<QueryOrderVerifyRecordsVO> queryOrderVerifyRecords(String orderId, String ticketNo) {
 
-        List<VerifyCourseInfoDTO> verifyCourseInfoDTOList = new ArrayList<>();
+        List<QueryOrderVerifyRecordsVO> list = new ArrayList<>();
 
         AppOrderProInfo proInfo = appOrderProInfoMapper.selectOne(Wrappers.<AppOrderProInfo>lambdaQuery().eq(AppOrderProInfo::getOrderId, orderId).eq(AppOrderProInfo::getTicketNo, ticketNo));
 
@@ -782,9 +907,22 @@ public class OrderServiceImpl implements IOrderService {
 
         Map<Integer, List<AppCoursesVerificationRecord>> map = verificationRecordList.stream().collect(Collectors.groupingBy(AppCoursesVerificationRecord::getCoursesType));
 
-        return map;
-    }
+        map.keySet().forEach(key -> {
+            QueryOrderVerifyRecordsVO queryOrderVerifyRecordsVO = new QueryOrderVerifyRecordsVO();
+            List<AppCoursesVerificationRecord> records = map.get(key);
+            queryOrderVerifyRecordsVO.setCoursesType(key);
+            queryOrderVerifyRecordsVO.setCoursesTotal(records.size());
+            long verifyNum = records.stream().filter(e -> e.getVerifyStatus() == 1).count();
+            queryOrderVerifyRecordsVO.setVerifyNum((int) verifyNum);
+            long unVerifyNum = records.stream().filter(e -> e.getVerifyStatus() == 0).count();
+            queryOrderVerifyRecordsVO.setUnVerifyNum((int) unVerifyNum);
+            queryOrderVerifyRecordsVO.setRecordList(map.get(key));
+
+            list.add(queryOrderVerifyRecordsVO);
+        });
 
+        return list;
+    }
 
     /**
      * @return boolean

+ 44 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/AppGameScheduleVO.java

@@ -0,0 +1,44 @@
+package org.jeecg.modules.app.vo;
+
+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 java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description = "赛程安排响应对象")
+public class AppGameScheduleVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "id")
+    private String id;
+
+    @Schema(description = "赛事id")
+    private String gameId;
+
+    @Schema(description = "比赛名称")
+    private String name;
+
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "开始时间")
+    private Date startTime;
+
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "结束时间")
+    private Date endTime;
+
+    @Schema(description = "安排")
+    private String arrange;
+
+    @Schema(description = "开始状态")
+    private String startStatus;
+}

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/OrderVO.java

@@ -216,7 +216,7 @@ public class OrderVO {
         @Schema(description = "券状态")
         private int couponStatus;
         @Schema(description = "到期时间")
-        private Date expireTime;
+        private String expireTime;
     }
     @Data
     @Accessors(chain = true)

+ 33 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/QueryOrderVerifyRecordsVO.java

@@ -0,0 +1,33 @@
+package org.jeecg.modules.app.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.system.app.entity.AppCoursesVerificationRecord;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description = "查询课程课时核销记录响应对象")
+public class QueryOrderVerifyRecordsVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "课程类型")
+    public Integer coursesType;
+
+    @Schema(description = "课程节数")
+    public Integer coursesTotal;
+
+    @Schema(description = "课程已核销数")
+    public Integer verifyNum;
+
+    @Schema(description = "课程未核销数")
+    public Integer unVerifyNum;
+
+    @Schema(description = "课程核销记录")
+    List<AppCoursesVerificationRecord> recordList;
+}

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

@@ -18,5 +18,7 @@ public class VerifyCourseInfoDTO implements Serializable {
     @Schema(description = "课程类型")
     private Integer courseType;
 
+    private List<CoursesPriceRulesVO> toDayVoList;
+
     private List<CoursesPriceRulesVO> voList;
 }

+ 0 - 21
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/VerifyCourseInfoVO.java

@@ -1,21 +0,0 @@
-package org.jeecg.modules.app.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-import java.util.List;
-
-@Data
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@Schema(description = "验课信息响应对象")
-public class VerifyCourseInfoVO implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    private CoursesPriceRulesVO priceRulesVO;
-
-    private List<VerifyCourseInfoDTO> verifyCourseInfoVOList;
-}

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppCoursesVerificationRecord.java

@@ -37,7 +37,7 @@ public class AppCoursesVerificationRecord implements Serializable {
     private String id;
 
     /**
-     * id
+     * 部门编号
      */
     @Schema(description = "部门编号")
     private String orgCode;

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppIsin.java

@@ -103,7 +103,7 @@ public class AppIsin implements Serializable {
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @Schema(description = "到期时间")
-    private Date expireTime;
+    private String expireTime;
 	/**系统状态;状态(0-正常,1-冻结)*/
 	@Excel(name = "系统状态;状态(0-正常,1-冻结)", width = 15)
     @Schema(description = "系统状态(0-正常,1-冻结)")

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

@@ -64,6 +64,8 @@ public class AppOrderProInfo implements Serializable{
     private String frameTimeStr;
     @Schema(description = "比赛日期")
     private String gameTimeStr;
+    @Schema(description = "过期时间")
+    private String expireTime;
     @Schema(description = "券号")
     private String ticketNo;
     @Schema(description = "原价/元")

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

@@ -54,4 +54,6 @@ public interface AppCoursesMapper extends BaseMapper<AppCourses> {
     List<String> findByInstructorId( @Param("instructorId") String instructorId);
 
     IPage<AppCoursesPageVO> getPageCourse(Page<AppCoursesPageVO> page, @Param("orgCode")String orgCode, @Param("userId")String userId);
+
+    List<AppCoursesPageVO> queryMakeUpClassTable(@Param("orgCode")String orgCode, @Param("userId")String userId);
 }

+ 5 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppGameScheduleMapper.java

@@ -2,8 +2,11 @@ package org.jeecg.modules.system.app.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.app.vo.AppGameScheduleVO;
 import org.jeecg.modules.system.app.entity.AppGameSchedule;
 
+import java.util.List;
+
 /**
  * @Description: 赛程安排表
  * @Author: jeecg-boot
@@ -13,4 +16,6 @@ import org.jeecg.modules.system.app.entity.AppGameSchedule;
 public interface AppGameScheduleMapper extends BaseMapper<AppGameSchedule> {
 
     int updateByIdDel(@Param("id") String id);
+
+    List<AppGameScheduleVO> getListVo(String id);
 }

+ 22 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppCoursesMapper.xml

@@ -225,5 +225,27 @@
         </where>
         ORDER BY c.create_time DESC
     </select>
+    <select id="queryMakeUpClassTable" resultType="org.jeecg.modules.app.vo.AppCoursesPageVO">
+        SELECT
+        c.id AS appCourseId,
+        s.address AS siteAddress,
+        c.cover,
+        c.name,
+        c.class_num,
+        c.start_time,
+        c.end_time
+        FROM
+        nm_courses c
+        LEFT JOIN nm_site s ON c.address_site_id = s.id
+        <where> c.del_flag = 0 and c.
+            <if test="orgCode != null and orgCode != ''">
+                and c.org_code = #{orgCode}
+            </if>
+            <if test="userId != null and userId != ''">
+                and c.user_id = #{userId}
+            </if>
+        </where>
+        ORDER BY c.create_time DESC
+    </select>
 
 </mapper>

+ 21 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppGameScheduleMapper.xml

@@ -5,4 +5,25 @@
     <update id="updateByIdDel">
         UPDATE nm_game_schedule SET del_flag=1 WHERE id=#{id}
     </update>
+    <select id="getListVo" resultType="org.jeecg.modules.app.vo.AppGameScheduleVO">
+        SELECT
+        id,
+        game_id,
+        NAME,
+        start_time,
+        end_time,
+        arrange,
+        CASE
+        WHEN NOW() <![CDATA[ < ]]> start_time THEN '未开始' WHEN NOW() <![CDATA[ >= ]]> end_time THEN
+        '已结束' ELSE '进行中'
+        END AS startStatus
+        FROM
+        nm_game_schedule
+        <where>
+            del_flag = 0
+            <if test="gameId != null and gameId != ''">
+                and game_id = #{gameId}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 4 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppCoureseService.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.app.form.ClassPostponeForm;
 import org.jeecg.modules.app.vo.AppCoursesPageVO;
 import org.jeecg.modules.app.vo.FamilyUserVO;
-import org.jeecg.modules.app.vo.VerifyCourseInfoVO;
+import org.jeecg.modules.app.vo.VerifyCourseInfoDTO;
 import org.jeecg.modules.system.app.dto.AppCoursesDTO;
 import org.jeecg.modules.system.app.dto.AppCoursesInfoPageDTO;
 import org.jeecg.modules.system.app.dto.AppCoursesPageDTO;
@@ -51,7 +51,7 @@ public interface IAppCoureseService extends IService<AppCourses> {
 
     List<AppSiteAddressDTO> queryAddressList();
 
-    VerifyCourseInfoVO getCourseInfo(String courseId);
+    List<VerifyCourseInfoDTO> getCourseInfo(String courseId);
 
     Boolean temporaryCourse(String coursePriceRulesId, String userId);
 
@@ -60,4 +60,6 @@ public interface IAppCoureseService extends IService<AppCourses> {
     Boolean classPostpone(ClassPostponeForm form);
 
     IPage<AppCoursesPageVO> getPageCourse(Page<AppCoursesPageVO> page, String orgCode, String userId);
+
+    List<AppCoursesPageVO> queryMakeUpClassTable( String orgCode, String userId);
 }

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

@@ -261,59 +261,59 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
     }
 
     @Override
-    public VerifyCourseInfoVO getCourseInfo(String courseId) {
-
-        VerifyCourseInfoVO verifyCourseInfoVO = new VerifyCourseInfoVO();
+    public List<VerifyCourseInfoDTO> getCourseInfo(String courseId) {
 
         List<VerifyCourseInfoDTO> verifyCourseInfoDTOList = new ArrayList<>();
-        List<CoursesPriceRulesVO> voList = new ArrayList<>();
 
         List<AppCoursesPriceRules> priceRulesList = priceRulesMapper.selectList(Wrappers.lambdaQuery(AppCoursesPriceRules.class).eq(AppCoursesPriceRules::getCoursesId, courseId));
-        for (AppCoursesPriceRules priceRules : priceRulesList) {
-            CoursesPriceRulesVO coursesPriceRulesVO = new CoursesPriceRulesVO();
-            coursesPriceRulesVO.setId(priceRules.getId());
-            coursesPriceRulesVO.setCoursesId(priceRules.getCoursesId());
-            coursesPriceRulesVO.setName(priceRules.getName());
-            coursesPriceRulesVO.setStartTime(priceRules.getStartTime());
-            coursesPriceRulesVO.setEndTime(priceRules.getEndTime());
-            coursesPriceRulesVO.setCoursesType(priceRules.getCoursesType());
-
-            List<AppCoursesVerificationRecord> verificationRecordList = appCoursesVerificationRecordMapper
-                    .selectList(Wrappers.<AppCoursesVerificationRecord>lambdaQuery().eq(AppCoursesVerificationRecord::getCoursesPriceRuleId, priceRules.getId()));
-            //共计
-            coursesPriceRulesVO.setTotalNum(verificationRecordList.size());
-            //延期
-            long postponeNum = verificationRecordList.stream().filter(e -> e.getOrPostpone() == 1).count();
-            coursesPriceRulesVO.setPostponeNum((int) postponeNum);
-            //已核验
-            long writtenOffNum = verificationRecordList.stream().filter(e -> e.getVerifyStatus() == 1).count();
-            coursesPriceRulesVO.setWrittenOffNum((int) writtenOffNum);
-            //未核验
-            long unwrittenOffNum = verificationRecordList.stream().filter(e -> e.getVerifyStatus() == 0 && e.getOrPostpone() == 0).count();
-            coursesPriceRulesVO.setUnwrittenOffNum((int) unwrittenOffNum);
-
-            //判断是否为当日数据
-            LocalDate today = LocalDate.now();
-            LocalDate localDate = priceRules.getStartTime().toInstant()
-                    .atZone(ZoneId.systemDefault())
-                    .toLocalDate();
-            if (today.isAfter(localDate)) {
-                verifyCourseInfoVO.setPriceRulesVO(coursesPriceRulesVO);
-            } else {
-                voList.add(coursesPriceRulesVO);
-            }
-        }
-        Map<Integer, List<CoursesPriceRulesVO>> map = voList.stream().collect(Collectors.groupingBy(CoursesPriceRulesVO::getCoursesType));
-        if (!map.isEmpty()) {
-            map.keySet().forEach(key -> {
-                VerifyCourseInfoDTO verifyCourseInfoDTO = new VerifyCourseInfoDTO();
-                verifyCourseInfoDTO.setCourseType(key).setVoList(map.get(key));
 
-                verifyCourseInfoDTOList.add(verifyCourseInfoDTO);
+        Map<Integer, List<AppCoursesPriceRules>> map = priceRulesList.stream().collect(Collectors.groupingBy(AppCoursesPriceRules::getCoursesType));
+
+        map.keySet().forEach(key -> {
+            VerifyCourseInfoDTO  verifyCourseInfoDTO = new VerifyCourseInfoDTO();
+            List<CoursesPriceRulesVO> toDayVoList = new ArrayList<>();
+            List<CoursesPriceRulesVO> voList = new ArrayList<>();
+            map.get(key).forEach(priceRules -> {
+                CoursesPriceRulesVO coursesPriceRulesVO = new CoursesPriceRulesVO();
+                coursesPriceRulesVO.setId(priceRules.getId());
+                coursesPriceRulesVO.setCoursesId(priceRules.getCoursesId());
+                coursesPriceRulesVO.setName(priceRules.getName());
+                coursesPriceRulesVO.setStartTime(priceRules.getStartTime());
+                coursesPriceRulesVO.setEndTime(priceRules.getEndTime());
+                coursesPriceRulesVO.setCoursesType(priceRules.getCoursesType());
+
+                List<AppCoursesVerificationRecord> verificationRecordList = appCoursesVerificationRecordMapper
+                        .selectList(Wrappers.<AppCoursesVerificationRecord>lambdaQuery().eq(AppCoursesVerificationRecord::getCoursesPriceRuleId, priceRules.getId()));
+                //共计
+                coursesPriceRulesVO.setTotalNum(verificationRecordList.size());
+                //延期
+                long postponeNum = verificationRecordList.stream().filter(e -> e.getOrPostpone() == 1).count();
+                coursesPriceRulesVO.setPostponeNum((int) postponeNum);
+                //已核验
+                long writtenOffNum = verificationRecordList.stream().filter(e -> e.getVerifyStatus() == 1).count();
+                coursesPriceRulesVO.setWrittenOffNum((int) writtenOffNum);
+                //未核验
+                long unwrittenOffNum = verificationRecordList.stream().filter(e -> e.getVerifyStatus() == 0 && e.getOrPostpone() == 0).count();
+                coursesPriceRulesVO.setUnwrittenOffNum((int) unwrittenOffNum);
+
+                //判断是否为当日数据
+                LocalDate today = LocalDate.now();
+                LocalDate localDate = priceRules.getStartTime().toInstant()
+                        .atZone(ZoneId.systemDefault())
+                        .toLocalDate();
+                if (today.isAfter(localDate)) {
+                    toDayVoList.add(coursesPriceRulesVO);
+                } else {
+                    voList.add(coursesPriceRulesVO);
+                }
             });
-        }
-        verifyCourseInfoVO.setVerifyCourseInfoVOList(verifyCourseInfoDTOList);
-        return verifyCourseInfoVO;
+            verifyCourseInfoDTO.setCourseType(key);
+            verifyCourseInfoDTO.setToDayVoList(toDayVoList);
+            verifyCourseInfoDTO.setVoList(voList);
+            verifyCourseInfoDTOList.add(verifyCourseInfoDTO);
+        });
+
+        return verifyCourseInfoDTOList;
     }
 
     /**
@@ -414,6 +414,11 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
         return baseMapper.getPageCourse(page,orgCode,userId);
     }
 
+    @Override
+    public List<AppCoursesPageVO> queryMakeUpClassTable( String orgCode, String userId) {
+        return baseMapper.queryMakeUpClassTable(orgCode,userId);
+    }
+
     /**
      * 校验权限
      *

+ 24 - 21
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppOrderServiceImpl.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.app.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -203,12 +204,10 @@ public class AppOrderServiceImpl extends ServiceImpl<AppOrderMapper, AppOrder> i
         AppOrder appOrder = appOrderMapper.selectById(orderId);
         AppSite site = appSiteMapper.selectOne(Wrappers.<AppSite>lambdaQuery().eq(AppSite::getOrgCode, appOrder.getOrgCode()));
 
-
         ScanCodeQueryOrderVO scanCodeQueryOrderVO = new ScanCodeQueryOrderVO();
         scanCodeQueryOrderVO.setSiteName(site.getName());
         scanCodeQueryOrderVO.setAmount(appOrder.getAmount());
 
-
         List<AppOrderProInfoVerifyVO> orderProInfoVOList = new ArrayList<>();
         List<AppOrderProInfo> proInfoList = appOrderProInfoMapper.selectList(Wrappers.<AppOrderProInfo>lambdaQuery().eq(AppOrderProInfo::getOrderId, orderId));
 
@@ -217,8 +216,10 @@ public class AppOrderServiceImpl extends ServiceImpl<AppOrderMapper, AppOrder> i
             AppIsin appIsin = appIsinMapper.selectOne(Wrappers.<AppIsin>lambdaQuery().eq(AppIsin::getOrderProInfoId, appOrderProInfo.getId()));
 
             AppOrderProInfoVerifyVO appOrderProInfoVerifyVO = new AppOrderProInfoVerifyVO();
-            appOrderProInfoVerifyVO.setIsinId(appIsin.getId());
-            appOrderProInfoVerifyVO.setIsinStatus(appIsin.getIsinStatus());
+            if (ObjectUtil.isNotEmpty(appIsin)) {
+                appOrderProInfoVerifyVO.setIsinId(appIsin.getId());
+                appOrderProInfoVerifyVO.setIsinStatus(appIsin.getIsinStatus());
+            }
             appOrderProInfoVerifyVO.setAppOrderProInfo(appOrderProInfo);
 
             orderProInfoVOList.add(appOrderProInfoVerifyVO);
@@ -226,30 +227,32 @@ public class AppOrderServiceImpl extends ServiceImpl<AppOrderMapper, AppOrder> i
         scanCodeQueryOrderVO.setAppOrderProInfoVerifyVOS(orderProInfoVOList);
 
         //0-学校 1-包场 2-无固定场 3-个人赛 4-团队赛 5-课程    学校及包场即为商品不用查
-        if (appOrder.getOrderType() == 2) {
-            String productIds = appOrder.getProductIds();
-            AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectById(productIds);
-            AppSitePlace appSitePlace = appSitePlaceMapper.selectById(appSitePriceRules.getSitePlaceId());
-            scanCodeQueryOrderVO.setProductName(appSitePlace.getName());
-            scanCodeQueryOrderVO.setProductImage(appSitePlace.getCover());
-            scanCodeQueryOrderVO.setPrice(appSitePriceRules.getSellingPrice());
+        if (appOrder.getType() == 0){
+            if (appOrder.getOrderType() == 2) {
+                String productIds = appOrder.getProductIds();
+                AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectById(productIds);
+                AppSitePlace appSitePlace = appSitePlaceMapper.selectById(appSitePriceRules.getSitePlaceId());
+                scanCodeQueryOrderVO.setProductName(appSitePlace.getName());
+                scanCodeQueryOrderVO.setProductImage(appSitePlace.getCover());
+                scanCodeQueryOrderVO.setPrice(appSitePriceRules.getSellingPrice());
+            }
         }
-        if (appOrder.getOrderType() == 3 || appOrder.getOrderType() == 4) {
-            AppGamePriceRules appGamePriceRules = appGamePriceRulesMapper.selectById(appOrder.getProductIds());
-            AppGame appGame = appGameMapper.selectById(appGamePriceRules.getGameId());
-
-            scanCodeQueryOrderVO.setProductName(appGame.getName());
-            scanCodeQueryOrderVO.setProductImage(appGame.getCover());
-            scanCodeQueryOrderVO.setGameType(appGamePriceRules.getType());
-            scanCodeQueryOrderVO.setPrice(appGamePriceRules.getSellingPrice());
+        if (appOrder.getType() == 1){
+                AppGamePriceRules appGamePriceRules = appGamePriceRulesMapper.selectById(appOrder.getProductIds());
+                AppGame appGame = appGameMapper.selectById(appGamePriceRules.getGameId());
+
+                scanCodeQueryOrderVO.setProductName(appGame.getName());
+                scanCodeQueryOrderVO.setProductImage(appGame.getCover());
+                scanCodeQueryOrderVO.setGameType(appGamePriceRules.getType());
+                scanCodeQueryOrderVO.setPrice(appGamePriceRules.getSellingPrice());
         }
-        if (appOrder.getOrderType() == 5) {
+
+        if (appOrder.getType() == 2) {
             AppCourses appCourses = appCoursesMapper.selectById(appOrder.getProductIds());
             scanCodeQueryOrderVO.setProductName(appCourses.getName());
             scanCodeQueryOrderVO.setProductImage(appCourses.getCover());
             scanCodeQueryOrderVO.setPrice(appCourses.getSellingPrice());
         }
-
         return scanCodeQueryOrderVO;
     }