Просмотр исходного кода

fix(system):与修复部门删除逻辑场地关联数据清理

- 在删除部门时增加子部门存在性检查,防止误删- 删除部门时同步清理关联的场地数据
- 修复订单服务中时间字段空值处理逻辑- 调整定时任务执行间隔配置
- 优化场地查询逻辑,排除已删除数据
SheepHy 4 недель назад
Родитель
Сommit
d7aa5a9e4a

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

@@ -595,7 +595,15 @@ public class OrderServiceImpl implements IOrderService {
                         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;
+                        String expireTime;
+                        if(priceRule.getEndTime() != null){
+                            expireTime = date + " " + endTime;
+                        }else {
+                            expireTime = date;
+                        }
+                        if(startTime ==  null){
+                            startTime = DateUtil.format(new Date(), "yyyy-MM-dd");
+                        }
                         AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
                         appOrderProInfo
                                 .setProductId(priceRule.getId())
@@ -700,7 +708,12 @@ public class OrderServiceImpl implements IOrderService {
                         String startTime = DateUtil.format(appSite.getStartTime(), "HH:mm");
                         String endTime = DateUtil.format(appSite.getEndTime(), "HH:mm");
                         String expireTime = date + " " + endTime;
-
+                        if(null == appSite.getStartTime()){
+                            startTime = "00:00";
+                        }
+                        if(null == appSite.getEndTime()){
+                            endTime = "23:59";
+                        }
                         AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
                         appOrderProInfo.setProductId(createOrderForm.getProductIds());
                         appOrderProInfo.setProductName(appSitePlace.getName());

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/quartz/job/OrTeachingJobService.java

@@ -236,7 +236,7 @@ public class OrTeachingJobService {
      * @Param
      * @return
      **/
-//    @Scheduled(fixedDelay = 300000)
+//    @Scheduled(fixedDelay = 7200000)
 //    @Scheduled(cron = "0 0 23 * * ?")
     public void synchronousDoorOpeningAndClosingRecords(){
         try {

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

@@ -981,7 +981,8 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     public List<AppSite> queryByOrgCode(QueryByOrgCodeForm queryByOrgCodeForm) {
         return appSiteMapper.selectList(Wrappers.<AppSite>lambdaQuery()
                         .eq(ObjectUtil.isNotEmpty(queryByOrgCodeForm.getType()), AppSite::getType, queryByOrgCodeForm.getType())
-                .likeRight(AppSite::getOrgCode, queryByOrgCodeForm.getOrgCode()));
+                .likeRight(AppSite::getOrgCode, queryByOrgCodeForm.getOrgCode())
+                .eq(AppSite::getDelFlag, 0));
     }
 
     /**

+ 13 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.system.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -17,8 +18,11 @@ import org.jeecg.common.util.ImportExcelUtil;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
+import org.jeecg.modules.system.app.entity.AppSite;
+import org.jeecg.modules.system.app.mapper.AppSiteMapper;
 import org.jeecg.modules.system.entity.SysDepart;
 import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.mapper.SysDepartMapper;
 import org.jeecg.modules.system.model.DepartIdModel;
 import org.jeecg.modules.system.model.SysDepartTreeModel;
 import org.jeecg.modules.system.service.ISysDepartService;
@@ -39,6 +43,7 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -66,6 +71,10 @@ public class SysDepartController {
 	private ISysUserDepartService sysUserDepartService;
 	@Autowired
 	private RedisUtil redisUtil;
+    @Resource
+    private SysDepartMapper sysDepartMapper;
+    @Resource
+    private AppSiteMapper appSiteMapper;
 	/**
 	 * 查询数据 查出我的部门,并以树结构数据格式响应给前端
 	 *
@@ -239,10 +248,14 @@ public class SysDepartController {
 
        Result<SysDepart> result = new Result<SysDepart>();
        SysDepart sysDepart = sysDepartService.getById(id);
+       if(!sysDepartMapper.selectList(Wrappers.<SysDepart>lambdaQuery().eq(SysDepart::getParentId, id)).isEmpty()){
+           result.error500("请先删除子部门");
+       }
        if(sysDepart==null) {
            result.error500("未找到对应实体");
        }else {
            sysDepartService.deleteDepart(id);
+           appSiteMapper.delete(Wrappers.<AppSite>lambdaQuery().eq(AppSite::getOrgCode, sysDepart.getOrgCode()));
 			//清除部门树内存
 		   //FindsDepartsChildrenUtil.clearSysDepartTreeList();
 		   // FindsDepartsChildrenUtil.clearDepartIdModel();