浏览代码

fix(app):
1.bug修复

wzq 3 周之前
父节点
当前提交
de8d7cb25a

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

@@ -27,6 +27,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import static java.lang.Thread.sleep;
+
 @Slf4j
 @Tag(name = "APP订单相关接口")
 @RestController
@@ -135,8 +137,10 @@ public class OrderController {
      * @return
      */
     @Operation(summary = "支付回调")
+    @RepeatSubmit(serviceId = "createOrder", limitType = RepeatSubmit.Type.PARAM, lockTime = 10)
     @RequestMapping("/wechatPayNotify")
     public Map<String, String> wechatPayNotify(HttpServletRequest request) throws InterruptedException {
+        sleep(10000);
         return appOrderService.wechatPayNotify(request);
     }
 

+ 7 - 4
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.app.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -195,10 +196,12 @@ public class DetailServiceImpl implements IDetailService {
     private Boolean checkOrderOrFree(String userId, String categoryId) {
         //查询当前用户的所有课程订单
         List<AppOrder> appOrders = appOrderMapper.selectList(Wrappers.<AppOrder>lambdaQuery().eq(AppOrder::getUserId, userId).eq(AppOrder::getType, CommonConstant.ORDER_TYPE_2));
-        for (AppOrder appOrder : appOrders) {
-            AppCourses appCours = appCoursesMapper.selectById(appOrder.getProductIds());
-            if (appCours.getCategoryId().equals(categoryId)) {
-                return Boolean.FALSE;
+        if (CollUtil.isNotEmpty(appOrders)){
+            for (AppOrder appOrder : appOrders) {
+                AppCourses appCours = appCoursesMapper.selectById(appOrder.getProductIds());
+                if (appCours.getCategoryId().equals(categoryId)) {
+                    return Boolean.FALSE;
+                }
             }
         }
         return Boolean.TRUE;

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

@@ -647,7 +647,7 @@ public class OrderServiceImpl implements IOrderService {
                     }
 
                     //计算订单总价
-                    totalPrice = totalPrice.add(sumPrice).setScale(2, BigDecimal.ROUND_DOWN);
+                    totalPrice = totalPrice.add(sumPrice);
 
                     appOrder
                             .setType(CommonConstant.ORDER_TYPE_0)
@@ -699,7 +699,7 @@ public class OrderServiceImpl implements IOrderService {
                     }
 
                     //计算订单总价
-                    totalPrice = totalPrice.add(sumPrice).setScale(2, BigDecimal.ROUND_DOWN);
+                    totalPrice = totalPrice.add(sumPrice);
 
                     appOrder
                             .setOrgCode(appSite.getOrgCode())
@@ -762,7 +762,7 @@ public class OrderServiceImpl implements IOrderService {
                     sumPrice = sumPrice.add(appGamePriceRules.getSellingPrice());
                 }
                 //计算订单总价
-                totalPrice = totalPrice.add(sumPrice).setScale(2, BigDecimal.ROUND_DOWN);
+                totalPrice = totalPrice.add(sumPrice);
 
                 appOrder
                         .setType(CommonConstant.ORDER_TYPE_1)
@@ -863,11 +863,11 @@ public class OrderServiceImpl implements IOrderService {
                     proInfoList.add(appOrderProInfo);
 
                     tDiscounts = tDiscounts.add(appCourse.getOriginalPrice().subtract(appCourse.getSellingPrice()));
-                    sumCoursePrice = sumCoursePrice.add(appCourse.getSellingPrice());
+                    sumCoursePrice = sumCoursePrice.add(appCourse.getSellingPrice().subtract(sDiscounts));
                 }
 
                 //计算订单总价
-                totalPrice = totalPrice.add(sumCoursePrice).setScale(2, BigDecimal.ROUND_DOWN);
+                totalPrice = totalPrice.add(sumCoursePrice);
 
                 //团购优惠
                 appOrder.setTDiscounts(tDiscounts);
@@ -913,7 +913,7 @@ public class OrderServiceImpl implements IOrderService {
                 ;
                 insureOrderInfoList.add(insureOrderInfo);
 
-                sumPrice = sumPrice.add(insurePrice.getInsurePrice()).setScale(2, BigDecimal.ROUND_DOWN);
+                sumPrice = sumPrice.add(insurePrice.getInsurePrice());
             }
             //计算总价 = 订单金额 + 保单金额
             totalPrice = totalPrice.add(sumPrice);

+ 20 - 36
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppCategoryController.java

@@ -1,49 +1,27 @@
 package org.jeecg.modules.system.app.controller;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.shiro.SecurityUtils;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.query.QueryRuleEnum;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.modules.system.app.dto.AppCategoryDTO;
 import org.jeecg.modules.system.app.entity.AppCategory;
 import org.jeecg.modules.system.app.service.IAppCategoryService;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.extern.slf4j.Slf4j;
-
 import org.jeecg.modules.system.app.vo.AppCategoryVO;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
- /**
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+
+/**
  * @Description: 运动类型表
  * @Author: jeecg-boot
  * @Date:   2025-07-03
@@ -69,6 +47,12 @@ public class AppCategoryController extends JeecgController<AppCategory, IAppCate
 	public Result<IPage<AppCategoryVO>> queryPageList(AppCategoryDTO dto) {
 		return Result.OK(appCategoryService.queryCategoryList(dto));
 	}
+
+	 @Operation(summary="运动类型-根据orgCode列表查询")
+	 @GetMapping(value = "/queryCategories")
+	 public Result<List<AppCategoryVO>> queryCategories() {
+		 return Result.OK(appCategoryService.queryCategories());
+	 }
 	
 	/**
 	 *   添加

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

@@ -6,6 +6,8 @@ import org.jeecg.modules.system.app.entity.AppCategory;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.system.app.vo.AppCategoryVO;
 
+import java.util.List;
+
 /**
  * @Description: 运动类型表
  * @Author: jeecg-boot
@@ -18,4 +20,5 @@ public interface IAppCategoryService extends IService<AppCategory> {
     Boolean deleteCategory(String id);
     IPage<AppCategoryVO> queryCategoryList(AppCategoryDTO appCategoryDTO);
 
+    List<AppCategoryVO> queryCategories();
 }

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

@@ -6,16 +6,23 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.system.app.dto.AppCategoryDTO;
 import org.jeecg.modules.system.app.entity.AppCategory;
+import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.mapper.AppCategoryMapper;
+import org.jeecg.modules.system.app.mapper.AppSiteMapper;
 import org.jeecg.modules.system.app.service.IAppCategoryService;
 import org.jeecg.modules.system.app.vo.AppCategoryVO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
 import static org.jeecg.common.constant.CommonConstant.SC_INTERNAL_SERVER_ERROR_500;
 
 /**
@@ -27,6 +34,8 @@ import static org.jeecg.common.constant.CommonConstant.SC_INTERNAL_SERVER_ERROR_
 @Service
 public class AppCategoryServiceImpl extends ServiceImpl<AppCategoryMapper, AppCategory> implements IAppCategoryService {
 
+    @Resource
+    private AppSiteMapper appSiteMapper;
 
     @Override
     public Boolean saveCategory(AppCategoryVO categoryVO) {
@@ -75,6 +84,25 @@ public class AppCategoryServiceImpl extends ServiceImpl<AppCategoryMapper, AppCa
             return vo;
         });
     }
+
+    @Override
+    public List<AppCategoryVO> queryCategories() {
+        List<AppCategoryVO> list = new ArrayList<>();
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String orgCode = loginUser.getOrgCode();
+        AppSite site = appSiteMapper.selectOne(Wrappers.<AppSite>lambdaQuery().eq(AppSite::getOrgCode, orgCode));
+        String categoryIds = site.getCategoryId();
+        if (StringUtils.isEmpty(categoryIds)){
+            for (String id : categoryIds.split(",")) {
+                AppCategory category = baseMapper.selectById(id);
+                AppCategoryVO vo = new AppCategoryVO();
+                BeanUtils.copyProperties(category, vo);
+                list.add(vo);
+            }
+        }
+        return list;
+    }
+
     /**
      * 权限校验
      * @param category

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

@@ -417,9 +417,6 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
         }
         //补课课时
         AppCoursesPriceRules appCoursesPriceRules = priceRulesMapper.selectById(form.getCoursePriceRulesId());
-        //设置为延期状态
-//        coursesPriceRules.setClassStatus(CommonConstant.STATUS_1_INT);
-//        priceRulesMapper.updateById(appCoursesPriceRules);
         List<JobExtendedClassNoticeVo> jobExtendedClassNoticeVos = new ArrayList<>();
 
         for (FamilyUserVO familyUserVO : form.getFamilyUserVOList()) {
@@ -430,7 +427,7 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
                     .eq(AppCoursesVerificationRecord::getCoursesPriceRuleId, form.getPriceRulesId())
                     .eq(AppCoursesVerificationRecord::getUseUserId,familyMembers.getId())
             );
-            //所有记录修改为延期
+            //查询到的所有记录修改为延期
             for (AppCoursesVerificationRecord appCoursesVerificationRecord : verificationRecordList) {
                 appCoursesVerificationRecord
                         .setOrPostpone(CommonConstant.STATUS_1_INT)