From 9437600612eb0243a3371ff1e4fa3689cce8c83a Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Sat, 29 Nov 2025 22:40:41 +0800
Subject: [PATCH] 1
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java | 69 ++++++++++++++++++----------------
1 files changed, 37 insertions(+), 32 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java
index dc8f09d..08bc094 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java
@@ -1,24 +1,21 @@
package com.ruoyi.web.controller.product;
-import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.im.util.ConverterUtil;
-import com.ruoyi.system.domain.GroupWelcomeConfig;
import com.ruoyi.system.domain.InsuranceFeature;
import com.ruoyi.system.domain.InsuranceProduct;
-import com.ruoyi.system.domain.IpBlacklist;
import com.ruoyi.system.domain.dto.InsuranceProductUpdateDTO;
-import com.ruoyi.system.service.InsuranceFeatureService;
-import com.ruoyi.system.service.InsuranceProductService;
+import com.ruoyi.im.service.InsuranceFeatureService;
+import com.ruoyi.im.service.InsuranceProductService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -46,7 +43,7 @@
*/
@PostMapping("/update")
@Transactional(rollbackFor = Exception.class)
- public AjaxResult update(@Valid @RequestBody InsuranceProductUpdateDTO dto) {
+ public AjaxResult update(@RequestBody InsuranceProductUpdateDTO dto) {
// 1. 查询产品是否存在
InsuranceProduct insuranceProduct = insuranceProductService.getById(dto.getId());
if (insuranceProduct == null) {
@@ -55,12 +52,11 @@
// 2. 更新产品基本信息
insuranceProduct.setProductName(dto.getProductName());
- insuranceProduct.setProductCode(dto.getProductCode());
insuranceProduct.setDescription(dto.getDescription());
insuranceProduct.setCoverageAmount(dto.getCoverageAmount());
insuranceProduct.setPremium(dto.getPremium());
insuranceProduct.setTerm(dto.getTerm());
-
+ insuranceProduct.setNumberDays(dto.getNumberDays());
// 处理枚举状态
if (dto.getStatus() != null) {
try {
@@ -76,7 +72,6 @@
insuranceProduct.setGuaranteeExplanation(dto.getGuaranteeExplanation());
insuranceProduct.setInsureAge(dto.getInsureAge());
insuranceProduct.setObligationDisclose(dto.getObligationDisclose());
- insuranceProduct.setProductFeature(dto.getProductFeature());
insuranceProduct.setLiabilityExemption(dto.getLiabilityExemption());
insuranceProduct.setImg1(dto.getImg1());
insuranceProduct.setImg2(dto.getImg2());
@@ -89,20 +84,20 @@
}
// 4. 处理产品特色
- if (dto.getFeatureDtoList() != null && !dto.getFeatureDtoList().isEmpty()) {
+ if (dto.getProductFeature() != null && !dto.getProductFeature().isEmpty()) {
try {
// 先删除该产品原有的所有特色
deleteByProductId(insuranceProduct.getId());
// 转换DTO为实体并设置产品ID
- List<InsuranceFeature> features = dto.getFeatureDtoList().stream()
+ List<InsuranceFeature> features = dto.getProductFeature().stream()
.map(f -> {
InsuranceFeature insuranceFeature = new InsuranceFeature();
insuranceFeature.setProductId(insuranceProduct.getId());
insuranceFeature.setTitle(f.getTitle());
insuranceFeature.setDetail(f.getDetail());
- insuranceFeature.setCreatedAt(LocalDateTime.now());
- insuranceFeature.setUpdatedAt(LocalDateTime.now());
+ insuranceFeature.setCreatedAt(new Date());
+ insuranceFeature.setUpdatedAt(new Date());
return insuranceFeature;
})
.collect(Collectors.toList());
@@ -122,7 +117,7 @@
deleteByProductId(insuranceProduct.getId());
}
- return AjaxResult.success("保存成功!");
+ return AjaxResult.success("修改成功!");
}
public void deleteByProductId(Integer productId) {
@@ -137,6 +132,9 @@
@GetMapping("/get")
public AjaxResult get(@RequestParam(value = "id") Integer id) {
InsuranceProduct insuranceProduct = insuranceProductService.getById(id);
+ List<InsuranceFeature> features = insuranceFeatureService.list(new LambdaQueryWrapper<InsuranceFeature>()
+ .eq(InsuranceFeature::getProductId, insuranceProduct.getId()));
+ insuranceProduct.setProductFeature(features);
return AjaxResult.success(insuranceProduct);
}
@@ -144,30 +142,37 @@
* 产品信息列表
*/
@GetMapping("/list")
- public TableDataInfo list(InsuranceProductUpdateDTO dto) {
+ public TableDataInfo list(@RequestParam(value = "productName",required = false) String productName,
+ @RequestParam(value = "productCode",required = false) String productCode,
+ @RequestParam(value = "status",required = false) String status) {
startPage();
LambdaQueryWrapper<InsuranceProduct> wrapper = new LambdaQueryWrapper<>();
// 产品名称模糊查询
- if (StringUtils.isNotBlank(dto.getProductName())) {
- wrapper.like(InsuranceProduct::getProductName, dto.getProductName());
+ if (StringUtils.isNotBlank(productName)) {
+ wrapper.like(InsuranceProduct::getProductName, productName);
}
// 产品代码模糊查询
- if (StringUtils.isNotBlank(dto.getProductCode())) {
- wrapper.like(InsuranceProduct::getProductCode, dto.getProductCode());
+ if (StringUtils.isNotBlank(productCode)) {
+ wrapper.like(InsuranceProduct::getProductCode, productCode);
}
// 产品状态精确查询
- if (dto.getStatus() != null) {
- wrapper.eq(InsuranceProduct::getStatus, dto.getStatus());
+ if (StringUtils.isNotBlank(status)) {
+ wrapper.eq(InsuranceProduct::getStatus, status);
}
// 按创建时间倒序排列
wrapper.orderByDesc(InsuranceProduct::getCreatedAt);
List<InsuranceProduct> list = insuranceProductService.list(wrapper);
+ list.forEach(f->{
+ List<InsuranceFeature> features = insuranceFeatureService.list(new LambdaQueryWrapper<InsuranceFeature>()
+ .eq(InsuranceFeature::getProductId, f.getId()));
+ f.setProductFeature(features);
+ });
return getDataTable(list);
}
@@ -176,7 +181,7 @@
*/
@PostMapping("/create")
@Transactional(rollbackFor = Exception.class)
- public AjaxResult create(@Valid @RequestBody InsuranceProductUpdateDTO dto) {
+ public AjaxResult create(@RequestBody InsuranceProductUpdateDTO dto) {
// 1. 检查产品代码是否已存在
long count = insuranceProductService.count(new LambdaQueryWrapper<InsuranceProduct>().eq(InsuranceProduct::getProductCode, dto.getProductCode()));
if (count > 0) {
@@ -191,6 +196,7 @@
product.setCoverageAmount(dto.getCoverageAmount());
product.setPremium(dto.getPremium());
product.setTerm(dto.getTerm());
+ product.setNumberDays(dto.getNumberDays());
// 处理状态
if (dto.getStatus() != null) {
@@ -209,14 +215,13 @@
product.setGuaranteeExplanation(dto.getGuaranteeExplanation());
product.setInsureAge(dto.getInsureAge());
product.setObligationDisclose(dto.getObligationDisclose());
- product.setProductFeature(dto.getProductFeature());
product.setLiabilityExemption(dto.getLiabilityExemption());
product.setImg1(dto.getImg1());
product.setImg2(dto.getImg2());
// 设置创建时间和更新时间
- product.setCreatedAt(LocalDateTime.now());
- product.setUpdatedAt(LocalDateTime.now());
+ product.setCreatedAt(new Date());
+ product.setUpdatedAt(new Date());
// 3. 保存产品信息
boolean productSuccess = insuranceProductService.save(product);
@@ -226,17 +231,17 @@
}
// 4. 处理产品特色
- if (dto.getFeatureDtoList() != null && !dto.getFeatureDtoList().isEmpty()) {
+ if (dto.getProductFeature() != null && !dto.getProductFeature().isEmpty()) {
try {
// 转换DTO为实体并设置产品ID
- List<InsuranceFeature> features = dto.getFeatureDtoList().stream()
+ List<InsuranceFeature> features = dto.getProductFeature().stream()
.map(f -> {
InsuranceFeature insuranceFeature = new InsuranceFeature();
insuranceFeature.setProductId(product.getId());
insuranceFeature.setTitle(f.getTitle());
insuranceFeature.setDetail(f.getDetail());
- insuranceFeature.setCreatedAt(LocalDateTime.now());
- insuranceFeature.setUpdatedAt(LocalDateTime.now());
+ insuranceFeature.setCreatedAt(new Date());
+ insuranceFeature.setUpdatedAt(new Date());
return insuranceFeature;
})
.collect(Collectors.toList());
@@ -259,8 +264,8 @@
/**
* 删除产品
*/
- @DeleteMapping("/{id}")
- public AjaxResult delete(@PathVariable Integer id) {
+ @GetMapping("/delete")
+ public AjaxResult delete(@RequestParam(value = "id") Integer id) {
InsuranceProduct product = insuranceProductService.getById(id);
if (product == null) {
return AjaxResult.error("产品不存在");
--
Gitblit v1.9.3