Explorar o código

refactor(marketing): 重构促销活动相关功能

- 修改 MercAuthUtils 类中的 getMercId 方法,使用 Map 参数获取 token 和 provider_id
- 在 PromotionController 中添加 saveOrUpdate 和 updateSimple 方法,处理促销活动的保存和更新操作
- 修改 PromotionServiceImpl 中的 saveOrUpdate 和 updateSimple 方法,使用固定的 "promotion_base" 类型
hechunping hai 4 meses
pai
achega
ed41dc1acd

+ 18 - 4
src/main/java/com/xynet/marketing/controller/merc/PromotionController.java

@@ -33,13 +33,27 @@ public class PromotionController {
      */
     @PostMapping("page")
     private R page(@RequestBody Map<String, Object> param, @RequestHeader Map<String, String> headers) {
-        //获取token
-        String token = headers.get("token");
-        String providerId = headers.get("provider_id");
-        Integer mercId = MercAuthUtils.getMercId(token, providerId);
+        Integer mercId = MercAuthUtils.getMercId(headers);
         JMap<String, Object> jParam = new JHashMap<>(param);
         jParam.put("mercId", mercId);
         Page<Map<String, Object>> data = promotionService.page(jParam);
         return R.ok(data);
     }
+
+    @PostMapping("saveOrUpdate")
+    private R saveOrUpdate(@RequestBody Map<String, Object> param, @RequestHeader Map<String, String> headers) {
+        Integer mercId = MercAuthUtils.getMercId(headers);
+        JMap<String, Object> jParam = new JHashMap<>(param);
+        jParam.put("mercId", mercId);
+        return R.ok(promotionService.saveOrUpdate(jParam));
+    }
+
+    @PostMapping("updateSimple")
+    private R updateSimple(@RequestBody Map<String, Object> param, @RequestHeader Map<String, String> headers) {
+        Integer mercId = MercAuthUtils.getMercId(headers);
+        JMap<String, Object> jParam = new JHashMap<>(param);
+        jParam.put("mercId", mercId);
+        promotionService.updateSimple(jParam);
+        return R.ok();
+    }
 }

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

@@ -66,13 +66,13 @@ public class PromotionServiceImpl extends ServiceImpl<PromotionMapper, Promotion
 
     @Override
     public Integer saveOrUpdate(JMap<String, Object> param) {
-        PromotionFactory promotionFactory = FactoryUtils.getService(PromotionFactory.class, param.getString("type"));
+        PromotionFactory promotionFactory = FactoryUtils.getService(PromotionFactory.class, "promotion_base");
         return promotionFactory.saveOrUpdate(param);
     }
 
     @Override
     public void updateSimple(JMap<String, Object> param) {
-        PromotionFactory promotionFactory = FactoryUtils.getService(PromotionFactory.class, param.getString("type"));
+        PromotionFactory promotionFactory = FactoryUtils.getService(PromotionFactory.class, "promotion_base");
         promotionFactory.updateSimple(param);
     }
 

+ 4 - 1
src/main/java/com/xynet/marketing/utils/MercAuthUtils.java

@@ -14,7 +14,10 @@ public class MercAuthUtils {
     private static String redisPrefix = "marketing:token:merc:";
 
 
-    public static Integer getMercId(String token, String providerId) {
+    public static Integer getMercId(Map<String, String> headers) {
+        //获取token
+        String token = headers.get("token");
+        String providerId = headers.get("provider_id");
         RedisService<Integer> redisService = SpringBeanUtils.getBean(RedisService.class);
         if (!Emptys.check(token)) {
             throw new RuntimeException("token不能为空");