Răsfoiți Sursa

车型查询配置修改

wks 2 ani în urmă
părinte
comite
5a79ad8023

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

@@ -3,6 +3,7 @@ package com.ydtech.modules.admin.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.SysQueryVehicleConfigQueryDTO;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig;
 import com.ydtech.modules.admin.model.po.SysQuotationTheme;
 import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryVo;
@@ -29,20 +30,33 @@ public class SysQueryVehicleConfigController {
         return HttpResult.ok();
     }
 
-    @ApiOperation(value = "查询")
+    @ApiOperation(value = "分页查询")
     @PostMapping("inquire")
     public HttpResult<BasePageResult<SysQueryVehicleConfig>> inquire(@RequestBody SysQueryVehicleConfigQueryVo sysQueryVehicleConfigQueryVo) {
         BasePageResult<SysQueryVehicleConfig> inquire = sysQueryVehicleConfigService.inquire(sysQueryVehicleConfigQueryVo);
         return HttpResult.ok(inquire);
     }
 
+    @ApiOperation(value = "查询单个配置信息")
+    @GetMapping("/{id}")
+    public HttpResult<SysQueryVehicleConfigQueryDTO> queryById(@PathVariable String id) {
+        SysQueryVehicleConfigQueryDTO sysQueryVehicleConfigQueryDTO = sysQueryVehicleConfigService.queryById(id);
+        return HttpResult.ok(sysQueryVehicleConfigQueryDTO);
+    }
+
     @ApiOperation(value = "删除")
     @DeleteMapping("/{id}")
-    public HttpResult<BasePageResult<SysQueryVehicleConfig>> deleteVehicleConfig(@PathVariable String id) {
+    public HttpResult<BasePageResult<SysQueryVehicleConfig>> deleteVehicleConfig(@PathVariable Integer id) {
         sysQueryVehicleConfigService.deleteVehicleConfig(id);
         return HttpResult.ok();
     }
 
+    @ApiOperation(value = "修改")
+    @PutMapping("/{id}")
+    public HttpResult<Page<SysQuotationTheme>> modify(@PathVariable Integer id, @RequestBody SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo) {
+        sysQueryVehicleConfigService.modify(id, sysQueryVehicleConfigSaveVo);
+        return HttpResult.ok();
+    }
 
 
 }

+ 29 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysQueryVehicleConfigQueryDTO.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.admin.model.dto;
+
+
+import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig;
+import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel("单独查询实体")
+public class SysQueryVehicleConfigQueryDTO implements Serializable {
+
+    private static final long serialVersionUID = 5588764078957578412L;
+
+    @ApiModelProperty("配置信息")
+    private SysQueryVehicleConfig sysQueryVehicleConfig;
+
+    @ApiModelProperty("链接信息")
+    private List<SysQueryVehicleUrl> sysQueryVehicleUrlList;
+
+}

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

@@ -1,7 +1,11 @@
 package com.ydtech.modules.admin.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.extension.BaseIService;
+import com.ydtech.modules.admin.model.dto.SysQueryVehicleConfigQueryDTO;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig;
+import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl;
 import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryVo;
 import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigSaveVo;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -11,7 +15,7 @@ import com.ydtech.modules.order.entity.BasePageResult;
  * @description 针对表【sys_query_vehicle_config(车型查询配置信息)】的数据库操作Service
  * @createDate 2024-08-16 10:20:52
  */
-public interface SysQueryVehicleConfigService extends IService<SysQueryVehicleConfig> {
+public interface SysQueryVehicleConfigService extends BaseIService<SysQueryVehicleConfig> {
 
     /**
      * 配置
@@ -32,7 +36,22 @@ public interface SysQueryVehicleConfigService extends IService<SysQueryVehicleCo
      *
      * @param id 配置id
      */
-    void deleteVehicleConfig(String id);
+    void deleteVehicleConfig(Integer id);
+
+    /**
+     * 修改
+     *
+     * @param sysQueryVehicleConfigSaveVo 车型配置实体
+     */
+    void modify(Integer id, SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo);
+
+    /**
+     * 查询单个配置信息
+     *
+     * @param id 配置信息id
+     * @return 配置信息
+     */
+    SysQueryVehicleConfigQueryDTO queryById(Integer id);
 
 
 }

+ 36 - 4
src/main/java/com/ydtech/modules/admin/service/SysQueryVehicleUrlService.java

@@ -1,13 +1,45 @@
 package com.ydtech.modules.admin.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl;
+import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigSaveVo;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
-* @author Administrator
-* @description 针对表【sys_query_vehicle_url(配置链接)】的数据库操作Service
-* @createDate 2024-08-16 10:20:52
-*/
+ * @author Administrator
+ * @description 针对表【sys_query_vehicle_url(配置链接)】的数据库操作Service
+ * @createDate 2024-08-16 10:20:52
+ */
 public interface SysQueryVehicleUrlService extends IService<SysQueryVehicleUrl> {
 
+    /**
+     * 删除配置链接信息
+     *
+     * @param configId 配置id
+     * @return 成功失败
+     */
+    default boolean deleteByConfigId(Integer configId) {
+        LambdaQueryWrapper<SysQueryVehicleUrl> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysQueryVehicleUrl::getConfigId, configId);
+        return remove(wrapper);
+    }
+
+    /**
+     *
+     * @param configId 配置id
+     * @param sysQueryVehicleUrlDTOList 配置列表
+     * @return
+     */
+    @Transactional
+    default boolean saveVehicleUrlDTOs(Integer configId, List<SysQueryVehicleConfigSaveVo.SysQueryVehicleUrlDTO> sysQueryVehicleUrlDTOList){
+        List<SysQueryVehicleUrl> sysQueryVehicleUrls = sysQueryVehicleUrlDTOList.stream()
+                .map(x -> x.toSysQueryVehicleConfig(configId))
+                .collect(Collectors.toList());
+        return saveBatch(sysQueryVehicleUrls);
+    }
+
 }

+ 36 - 23
src/main/java/com/ydtech/modules/admin/service/impl/SysQueryVehicleConfigServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.admin.dao.SysQueryVehicleConfigMapper;
+import com.ydtech.modules.admin.model.dto.SysQueryVehicleConfigQueryDTO;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl;
 import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryVo;
@@ -14,6 +15,7 @@ import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -29,8 +31,7 @@ import java.util.stream.Stream;
  */
 @Service
 @RequiredArgsConstructor
-public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicleConfigMapper, SysQueryVehicleConfig>
-        implements SysQueryVehicleConfigService {
+public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicleConfigMapper, SysQueryVehicleConfig> implements SysQueryVehicleConfigService {
 
     private final SysQueryVehicleUrlService sysQueryVehicleUrlService;
 
@@ -40,41 +41,53 @@ public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicl
         SysQueryVehicleConfigSaveVo.SysQueryVehicleConfigDTO sysQueryVehicleConfigDTO = sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO();
         SysQueryVehicleConfig sysQueryVehicleConfig = sysQueryVehicleConfigDTO.toSysQueryVehicleConfig();
         boolean save = save(sysQueryVehicleConfig);
-
-        List<SysQueryVehicleConfigSaveVo.SysQueryVehicleUrlDTO> sysQueryVehicleUrlDTOList = sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList();
-        List<SysQueryVehicleUrl> sysQueryVehicleUrls = sysQueryVehicleUrlDTOList.stream()
-                .map(x -> x.toSysQueryVehicleConfig(sysQueryVehicleConfig.getId()))
-                .collect(Collectors.toList());
-
-        boolean b = sysQueryVehicleUrlService.saveBatch(sysQueryVehicleUrls);
+        boolean b = sysQueryVehicleUrlService.saveVehicleUrlDTOs(sysQueryVehicleConfig.getId(), sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList());
         AssertionUtils.isSucceed(save && b, "配置信息保存失败");
     }
 
     @Override
     public BasePageResult<SysQueryVehicleConfig> inquire(SysQueryVehicleConfigQueryVo sysQueryVehicleConfigQueryVo) {
         Page<SysQueryVehicleConfig> page = new Page<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize());
-        Page<SysQueryVehicleConfig> sysQueryVehicleConfigPage = lambdaQuery()
-                .eq(SysQueryVehicleConfig::getCompanyId, sysQueryVehicleConfigQueryVo.getCompanyId())
-                .eq(SysQueryVehicleConfig::getEnabled, sysQueryVehicleConfigQueryVo.getEnabled())
-                .page(page);
-        return new BasePageResult<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize(), sysQueryVehicleConfigPage.getTotal(),
-                sysQueryVehicleConfigPage.getPages()
-                , sysQueryVehicleConfigPage.getRecords());
-
-
+        Page<SysQueryVehicleConfig> sysQueryVehicleConfigPage = lambdaQuery().eq(SysQueryVehicleConfig::getCompanyId, sysQueryVehicleConfigQueryVo.getCompanyId()).eq(SysQueryVehicleConfig::getEnabled, sysQueryVehicleConfigQueryVo.getEnabled()).page(page);
+        return new BasePageResult<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize(), sysQueryVehicleConfigPage.getTotal(), sysQueryVehicleConfigPage.getPages(), sysQueryVehicleConfigPage.getRecords());
     }
 
     @Override
-    public void deleteVehicleConfig(String id) {
+    @Transactional
+    public void deleteVehicleConfig(Integer id) {
+        // 删除配置信息
         boolean b = removeById(id);
+        // 删除配置链接信息
+        boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id);
+        AssertionUtils.isSucceed(remove && b, "配置信息删除失败");
 
-        LambdaQueryWrapper<SysQueryVehicleUrl> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(SysQueryVehicleUrl::getConfigId, id);
+    }
 
-        boolean remove = sysQueryVehicleUrlService.remove(wrapper);
-        AssertionUtils.isSucceed(remove && b, "配置信息删除失败");
+    @Override
+    public void modify(Integer id, SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo) {
+        // 修改配置信息
+        SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在");
+        BeanUtils.copyProperties(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO(), sysQueryVehicleConfig);
+        sysQueryVehicleConfig.setId(id);
+        boolean update = updateById(sysQueryVehicleConfig);
+
+        // 删除并添加
+        boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id);
+        // 批量添加配置信息
+        boolean saveBatch = sysQueryVehicleUrlService.saveVehicleUrlDTOs(id, sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList());
+        AssertionUtils.isSucceed(update && remove && saveBatch, "配置信息修改失败");
+    }
 
+    @Override
+    public SysQueryVehicleConfigQueryDTO queryById(Integer id) {
+        SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在");
+        SysQueryVehicleConfigQueryDTO sysQueryVehicleConfigQueryDTO = new SysQueryVehicleConfigQueryDTO();
+        sysQueryVehicleConfigQueryDTO.setSysQueryVehicleConfig(sysQueryVehicleConfig);
+        List<SysQueryVehicleUrl> list = sysQueryVehicleUrlService.lambdaQuery().eq(SysQueryVehicleUrl::getConfigId, id).list();
+        sysQueryVehicleConfigQueryDTO.setSysQueryVehicleUrlList(list);
+        return sysQueryVehicleConfigQueryDTO;
     }
+
 }
 
 

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysQueryVehicleUrlServiceImpl.java

@@ -3,9 +3,13 @@ package com.ydtech.modules.admin.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.admin.dao.SysQueryVehicleUrlMapper;
 import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl;
+import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigSaveVo;
 import com.ydtech.modules.admin.service.SysQueryVehicleUrlService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
 * @author Administrator
 * @description 针对表【sys_query_vehicle_url(配置链接)】的数据库操作Service实现