瀏覽代碼

存在报名情况下 赛事不允许进行修改

zhangxin 3 周之前
父節點
當前提交
bd22b63a63

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

@@ -9,6 +9,7 @@ import org.jeecg.modules.app.vo.PageOrdersVO;
 import org.jeecg.modules.app.vo.game.GameOrderVo;
 import org.jeecg.modules.quartz.vo.JobClassNoticeVo;
 import org.jeecg.modules.quartz.vo.JobReservationSiteVo;
+import org.jeecg.modules.system.app.dto.AppGameRuleDTO;
 import org.jeecg.modules.system.app.entity.AppOrder;
 import org.jeecg.modules.system.app.form.AppOrderPageForm;
 import org.jeecg.modules.system.app.vo.OrderPageVO;
@@ -58,4 +59,6 @@ public interface AppOrderMapper extends BaseMapper<AppOrder> {
     List<JobReservationSiteVo> findByReservationSiteTicket(@Param("currentDate")LocalDate currentDate,@Param("localTime") LocalTime localTime);
 
     List<FindByShopSumVO> findByShopSumList(@Param("orgCode")String orgCode,@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime);
+
+    Long findByProductIds(@Param("productIds") List<AppGameRuleDTO> productIds);
 }

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

@@ -184,4 +184,10 @@
         order by product_count desc
         ]]>
     </select>
+    <select id="findByProductIds" resultType="java.lang.Long">
+        select count(1) from  nm_order where order_status in (0,1) and type =1 and product_ids in
+        <foreach collection="productIds" item="productId" open="(" separator="," close=")">
+            #{productId}
+        </foreach>
+    </select>
 </mapper>

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

@@ -12,10 +12,7 @@ import org.jeecg.modules.system.app.dto.*;
 import org.jeecg.modules.system.app.entity.AppGame;
 import org.jeecg.modules.system.app.entity.AppGamePriceRules;
 import org.jeecg.modules.system.app.entity.AppGameSchedule;
-import org.jeecg.modules.system.app.mapper.AppGameMapper;
-import org.jeecg.modules.system.app.mapper.AppGamePriceRulesMapper;
-import org.jeecg.modules.system.app.mapper.AppGameScheduleMapper;
-import org.jeecg.modules.system.app.mapper.AppSiteMapper;
+import org.jeecg.modules.system.app.mapper.*;
 import org.jeecg.modules.system.app.service.IAppGameService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -52,6 +49,8 @@ public class AppGameServiceImpl extends ServiceImpl<AppGameMapper, AppGame> impl
 
     @Autowired
     RedisTemplate<String, String> redisTemplate;
+    @Autowired
+    private AppOrderMapper appOrderMapper;
 
 
     @Override
@@ -104,6 +103,13 @@ public class AppGameServiceImpl extends ServiceImpl<AppGameMapper, AppGame> impl
         BeanUtils.copyProperties(gameCuDTO, game);
         AppGame dbGame = baseMapper.selectById(game.getId());
         if (null == dbGame) throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
+
+        List<AppGameRuleDTO> byGameId = rulesMapper.findByGameId(dbGame.getId());
+        Long orderNum=  appOrderMapper.findByProductIds(byGameId);
+        if (orderNum>0){
+            throw new JeecgBootException("该赛事已存在报名不允许修改", SC_INTERNAL_SERVER_ERROR_500);
+        }
+
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 //        checkPermission(sysUser,dbGame);
         game.setOrgCode(sysUser.getOrgCode());