فهرست منبع

feat(promotion): 添加促销活动单表更新方法

hechunping 4 ماه پیش
والد
کامیت
7454a38fbe

+ 9 - 1
src/main/java/com/xynet/marketing/service/PromotionService.java

@@ -27,12 +27,20 @@ public interface PromotionService {
      * @param param
      * @return
      */
-    List<Map<String,Object>> list(JMap<String,Object> param);
+    List<Map<String, Object>> list(JMap<String, Object> param);
 
     /**
      * 分页查询
+     *
      * @param param
      * @return
      */
     Page<Map<String, Object>> page(JMap<String, Object> param);
+
+    /**
+     * 单表更新(不包含商品、设备表)
+     *
+     * @param param
+     */
+    void updateSimple(JMap<String, Object> param);
 }

+ 2 - 0
src/main/java/com/xynet/marketing/service/factory/promotion/PromotionFactory.java

@@ -18,4 +18,6 @@ public interface PromotionFactory {
      * @return
      */
     Integer saveOrUpdate(JMap<String, Object> param);
+
+    void updateSimple(JMap<String, Object> param);
 }

+ 6 - 0
src/main/java/com/xynet/marketing/service/factory/promotion/impl/base/PromotionFactoryBase.java

@@ -58,4 +58,10 @@ public class PromotionFactoryBase extends ServiceImpl<PromotionMapper, Promotion
 
         return save.getId();
     }
+
+    @Override
+    public void updateSimple(JMap<String, Object> param) {
+        Promotion save = BeanUtil.copyProperties(param, Promotion.class);
+        updateById(save);
+    }
 }

+ 5 - 0
src/main/java/com/xynet/marketing/service/factory/promotion/impl/v2/PromotionFactoryV2.java

@@ -22,4 +22,9 @@ public class PromotionFactoryV2 implements PromotionFactory {
     public Integer saveOrUpdate(JMap<String, Object> param) {
         return promotionFactoryBase.saveOrUpdate(param);
     }
+
+    @Override
+    public void updateSimple(JMap<String, Object> param) {
+        promotionFactoryBase.updateSimple(param);
+    }
 }

+ 11 - 8
src/main/java/com/xynet/marketing/service/impl/PromotionServiceImpl.java

@@ -1,13 +1,14 @@
 package com.xynet.marketing.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 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.xynet.marketing.entity.Promotion;
 import com.xynet.marketing.mapper.PromotionMapper;
 import com.xynet.marketing.service.PromotionService;
+import com.xynet.marketing.service.factory.promotion.PromotionFactory;
 import com.xynet.marketing.utils.Emptys;
+import com.xynet.marketing.utils.FactoryUtils;
 import com.xynet.marketing.utils.collections.map.JHashMap;
 import com.xynet.marketing.utils.collections.map.JMap;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +19,7 @@ import java.util.Map;
 
 /**
  * 促销活动 服务
+ *
  * @author hechunping
  * @date 2025/1/21
  */
@@ -39,13 +41,14 @@ public class PromotionServiceImpl extends ServiceImpl<PromotionMapper, Promotion
 
     @Override
     public Integer saveOrUpdate(JMap<String, Object> param) {
-        Promotion save = BeanUtil.copyProperties(param, Promotion.class);
-        if (Emptys.check(save.getId())) {
-            updateById(save);
-        } else {
-            save(save);
-        }
-        return save.getId();
+        PromotionFactory promotionFactory = FactoryUtils.getService(PromotionFactory.class, param.getString("type"));
+        return promotionFactory.saveOrUpdate(param);
+    }
+
+    @Override
+    public void updateSimple(JMap<String, Object> param) {
+        PromotionFactory promotionFactory = FactoryUtils.getService(PromotionFactory.class, param.getString("type"));
+        promotionFactory.updateSimple(param);
     }
 
     @Override