From ab0637e981ab4c85120ccde35ee24ec4abbe3e24 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 17 Oct 2025 17:20:15 +0800
Subject: [PATCH] Merge branch 'refs/heads/master' into xin

---
 oying-system/src/main/java/com/oying/modules/pc/product/service/impl/ProductServiceImpl.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/pc/product/service/impl/ProductServiceImpl.java b/oying-system/src/main/java/com/oying/modules/pc/product/service/impl/ProductServiceImpl.java
index 879e105..ec8daea 100644
--- a/oying-system/src/main/java/com/oying/modules/pc/product/service/impl/ProductServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/pc/product/service/impl/ProductServiceImpl.java
@@ -1,8 +1,10 @@
 package com.oying.modules.pc.product.service.impl;
 
+import cn.hutool.core.util.ObjUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.exception.EntityNotFoundException;
 import com.oying.modules.pc.product.domain.Product;
 import com.oying.modules.pc.product.domain.dto.ProductQueryCriteria;
 import com.oying.modules.pc.product.mapper.ProductMapper;
@@ -16,10 +18,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author lzp
@@ -43,6 +42,15 @@
     }
 
     @Override
+    public Product getProduct(Long productId) {
+        Product existingProduct = getById(productId);
+        if (ObjUtil.isEmpty(existingProduct)) {
+            throw new EntityNotFoundException(Product.class, "id", Optional.ofNullable(productId).map(Object::toString).orElse("null"));
+        }
+        return existingProduct;
+    }
+
+    @Override
     @Transactional(rollbackFor = Exception.class)
     public void create(Product resources) {
         productMapper.insert(resources);
@@ -58,6 +66,18 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public void update(Product resources, boolean isDirectUpdate) {
+        if (isDirectUpdate) {
+            productMapper.updateById(resources);
+        } else {
+            Product product = getById(resources.getProductId());
+            product.copy(resources);
+            productMapper.updateById(product);
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public void deleteAll(List<Long> ids) {
         for (Long id : ids) {
             LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<Product>()

--
Gitblit v1.9.3