云殇忆 1 год назад
Родитель
Сommit
317a2725f2

+ 17 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/PlanController.java

@@ -188,7 +188,6 @@ public class PlanController {
                 return R.fail("起始时间不能大于结束时间");
         return R.ok(planService.getPlanPushList(bo));
     }
-
     /**
      * 上下架广告
      *
@@ -196,9 +195,9 @@ public class PlanController {
      * @return
      */
     @SaIgnore
-    @PutMapping("/push")
+    @PostMapping("/push")
     public R planPushUpDown(@RequestBody UpDownBo bo){
-        int i = planService.planPushUpDown(bo.getAppkey(), bo.getPlanIds());
+        int i = planService.planPushUpDown(bo);
         if (i == 1)
             return R.ok("上架/下架成功");
         if (i == -1)
@@ -208,6 +207,21 @@ public class PlanController {
         return R.fail("上架/下架失败");
     }
 
+    /**
+     * 上下架广告——获取sign——用于测试
+     *
+     * @param bo
+     * @return
+     */
+    @SaIgnore
+    @PostMapping("/push/getSign")
+    public R UpDownGetSign(@RequestBody UpDownBo bo){
+        String sign = planService.pushGetSign(bo);
+        if ("error".equals(sign))
+            return R.fail("无效的appkey");
+        return R.ok(sign);
+    }
+
 //     广告投放
     /**
      * 广告投放列表

+ 2 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/UpDownBo.java

@@ -13,4 +13,6 @@ public class UpDownBo {
 
     @NotNull(message = "广告ids不能为空")
     private List<String> planIds;
+
+    private String sign;
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/PlanService.java

@@ -6,6 +6,7 @@ import com.ruoyi.demo.entity.Equipment;
 import com.ruoyi.demo.entity.MyPage;
 import com.ruoyi.demo.entity.bo.PlanAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.bo.UpDownBo;
 import com.ruoyi.demo.entity.vo.*;
 
 import java.util.List;
@@ -34,7 +35,8 @@ public interface PlanService {
     int planUpDown(String planId);
 
     // 上下架广告
-    int planPushUpDown(String appkey, List<String> planIds);
+    int planPushUpDown(UpDownBo bo);
+    String pushGetSign(UpDownBo bo);
 
     MyPage<PlanManageListVo> getPlanManageList(PlanBo bo);
 

+ 24 - 9
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/PlanServiceImpl.java

@@ -5,10 +5,7 @@ import cn.hutool.core.lang.Dict;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.demo.entity.*;
-import com.ruoyi.demo.entity.bo.CallBackBean;
-import com.ruoyi.demo.entity.bo.PlanAddBo;
-import com.ruoyi.demo.entity.bo.PlanBo;
-import com.ruoyi.demo.entity.bo.PlanItemAddBo;
+import com.ruoyi.demo.entity.bo.*;
 import com.ruoyi.demo.entity.vo.*;
 import com.ruoyi.demo.mapper.*;
 import com.ruoyi.demo.service.PlanService;
@@ -310,21 +307,22 @@ public class PlanServiceImpl implements PlanService {
     }
 
     @Override
-    public int planPushUpDown(String appkey, List<String> planIds) {
+    public int planPushUpDown(UpDownBo bo) {
         // app是否可用
         App app = appMapper.selectOne(new QueryWrapper<App>()
-            .eq("appkey", appkey)
+            .eq("appkey", bo.getAppkey())
             .eq("state", 1)
             .eq("deleted", "0"));
         if (app == null)
             return -1;
         // 校验
         Map<String, Object> params = Dict.create()
-            .set("appkey", appkey)
-            .set("planIds", planIds);
+            .set("appkey", bo.getAppkey())
+            .set("planIds", bo.getPlanIds())
+            .set("sign", bo.getSign());
         if (!SignUtil.verify(params, app.getAppSecret()))
             return -3;
-        for (String planId : planIds){
+        for (String planId : bo.getPlanIds()){
             Plan plan = planMapper.selectOne(new QueryWrapper<Plan>()
                 .eq("plan_id", planId)
                 .eq("deleted", "0"));
@@ -348,6 +346,23 @@ public class PlanServiceImpl implements PlanService {
         return 1;
     }
 
+    @Override
+    public String pushGetSign(UpDownBo bo) {
+        // app是否可用
+        App app = appMapper.selectOne(new QueryWrapper<App>()
+            .eq("appkey", bo.getAppkey())
+            .eq("state", 1)
+            .eq("deleted", "0"));
+        if (app == null)
+            return "error";
+        // 校验
+        Map<String, Object> params = Dict.create()
+            .set("appkey", bo.getAppkey())
+            .set("planIds", bo.getPlanIds())
+            .set("sign", bo.getSign());
+        return SignUtil.sign(params, app.getAppSecret());
+    }
+
     @Override
     public MyPage<PlanManageListVo> getPlanManageList(PlanBo bo) {
         QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();