wks 2 anni fa
parent
commit
99ac0279dd

+ 1 - 1
src/main/java/com/ydtech/modules/admin/controller/SysQueryVehicleConfigController.java

@@ -58,7 +58,7 @@ public class SysQueryVehicleConfigController {
         return HttpResult.ok();
     }
 
-    @ApiOperation(value = "修改")
+    @ApiOperation(value = "开关修改")
     @PutMapping("/open/{id}")
     public HttpResult<Page<SysQuotationTheme>> openOne(@PathVariable Integer id) {
         sysQueryVehicleConfigService.openOne(id);

+ 14 - 2
src/main/java/com/ydtech/modules/admin/service/SysQueryVehicleConfigService.java

@@ -10,6 +10,7 @@ import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigSaveVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -68,14 +69,25 @@ public interface SysQueryVehicleConfigService extends BaseIService<SysQueryVehic
      *
      * @param enabled 开启关闭状态
      */
-    default void updateEnabled(int enabled) {
+    default boolean updateEnabled(int enabled) {
+        List<SysQueryVehicleConfig> list = lambdaQuery().eq(SysQueryVehicleConfig::getEnabled, EnabledEnum.EE_1.getCode()).list();
+        if (list.isEmpty()) {
+            return true;
+        }
+
         if (EnabledEnum.EE_1.getCode() == enabled) {
-            lambdaUpdate()
+            return lambdaUpdate()
                     .set(SysQueryVehicleConfig::getEnabled, EnabledEnum.EE_0.getCode())
                     .eq(SysQueryVehicleConfig::getEnabled, EnabledEnum.EE_1.getCode())
                     .update();
         }
+        return true;
     }
 
+    /**
+     * 开关修改
+     *
+     * @param id 配置信息id
+     */
     void openOne(Integer id);
 }

+ 22 - 6
src/main/java/com/ydtech/modules/admin/service/impl/SysQueryVehicleConfigServiceImpl.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.admin.service.impl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.constants.InsuranceEnum;
+import com.ydtech.modules.admin.constants.EnabledEnum;
 import com.ydtech.modules.admin.dao.SysQueryVehicleConfigMapper;
 import com.ydtech.modules.admin.model.dto.SysQueryVehicleConfigDTO;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig;
@@ -14,13 +15,17 @@ import com.ydtech.modules.admin.service.SysQueryVehicleConfigService;
 import com.ydtech.modules.admin.service.SysQueryVehicleUrlService;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
+import com.ydtech.utils.ObjectUtil;
+import com.ydtech.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author Administrator
@@ -39,20 +44,20 @@ public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicl
         SysQueryVehicleConfigSaveVo.SysQueryVehicleConfigDTO sysQueryVehicleConfigDTO = sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO();
 
         // 保证项目中只能出险一个开启的车险配置
-        updateEnabled(sysQueryVehicleConfigDTO.getEnabled());
+        boolean b1 = updateEnabled(sysQueryVehicleConfigDTO.getEnabled());
 
         SysQueryVehicleConfig sysQueryVehicleConfig = sysQueryVehicleConfigDTO.toSysQueryVehicleConfig();
         boolean save = save(sysQueryVehicleConfig);
         boolean b = sysQueryVehicleUrlService.saveVehicleUrlDTOs(sysQueryVehicleConfig.getId(), sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList());
-        AssertionUtils.isSucceed(save && b, "配置信息保存失败");
+        AssertionUtils.isSucceed(save && b && b1, "配置信息保存失败");
     }
 
     @Override
     public BasePageResult<SysQueryVehicleConfig> inquire(SysQueryVehicleConfigQueryPageVo sysQueryVehicleConfigQueryVo) {
         Page<SysQueryVehicleConfig> page = new Page<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize());
         Page<SysQueryVehicleConfig> sysQueryVehicleConfigPage = lambdaQuery()
-                .eq(SysQueryVehicleConfig::getCompanyId, sysQueryVehicleConfigQueryVo.getCompanyId())
-                .eq(SysQueryVehicleConfig::getEnabled, sysQueryVehicleConfigQueryVo.getEnabled())
+                .eq(StringUtils.isNotEmpty(sysQueryVehicleConfigQueryVo.getCompanyId()), SysQueryVehicleConfig::getCompanyId, sysQueryVehicleConfigQueryVo.getCompanyId())
+                .eq(ObjectUtils.isNotEmpty(sysQueryVehicleConfigQueryVo.getEnabled()), SysQueryVehicleConfig::getEnabled, sysQueryVehicleConfigQueryVo.getEnabled())
                 .page(page);
 
         return new BasePageResult<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize(), sysQueryVehicleConfigPage.getTotal(), sysQueryVehicleConfigPage.getPages(), sysQueryVehicleConfigPage.getRecords());
@@ -76,7 +81,7 @@ public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicl
         BeanUtils.copyProperties(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO(), sysQueryVehicleConfig);
 
         // 保证项目中只能出险一个开启的车险配置
-        updateEnabled(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO().getEnabled());
+        boolean b = updateEnabled(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO().getEnabled());
 
         sysQueryVehicleConfig.setId(id);
         boolean update = updateById(sysQueryVehicleConfig);
@@ -85,7 +90,7 @@ public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicl
         boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id);
         // 批量添加配置信息
         boolean saveBatch = sysQueryVehicleUrlService.saveVehicleUrlDTOs(id, sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList());
-        AssertionUtils.isSucceed(update && remove && saveBatch, "配置信息修改失败");
+        AssertionUtils.isSucceed(update && remove && saveBatch && b, "配置信息修改失败");
     }
 
     @Override
@@ -108,5 +113,16 @@ public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicl
         return sysQueryVehicleConfigDTO;
     }
 
+    @Override
+    @Transactional
+    public void openOne(Integer id) {
+        SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在");
+        Integer enabled = sysQueryVehicleConfig.getEnabled();
+        Integer i = Objects.equals(EnabledEnum.EE_1.getCode(), enabled) ? EnabledEnum.EE_0.getCode() : EnabledEnum.EE_1.getCode();
+        boolean b = updateEnabled(i);
+        sysQueryVehicleConfig.setEnabled(i);
+        boolean b1 = updateById(sysQueryVehicleConfig);
+        AssertionUtils.isSucceed(b1 && b, "成功");
+    }
 }