ソースを参照

1.广告管理-明细-返回数据添加广告图片字段
2.广告管理-新增修改功能-只修改时间段

云殇忆 1 年間 前
コミット
d7948cdfca

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

@@ -60,6 +60,23 @@ public class PlanController {
     public R planDetail(@PathVariable String planId){
         return R.ok(planService.getPlanDetail(planId));
     }
+    /**
+     * 修改广告计划时间段
+     * @param bo
+     * @return
+     */
+    @SaCheckPermission("szzs:planManage:update")
+    @PutMapping("/update/time")
+    public R planUpdateTime(PlanBo bo){
+        if (bo.getPlanId() == null)
+            return R.fail("广告id不能为空");
+        int i = planService.updateTime(bo);
+        if (i == 1)
+            return R.ok("修改成功");
+        if (i == -1)
+            return R.fail("无效广告id");
+        return R.fail("修改失败");
+    }
     /**
      * 投放广告计划
      * @param equipmentCode 设备编号

+ 2 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/PlanDetailVo.java

@@ -14,6 +14,7 @@ public class PlanDetailVo {
     private String planId;
     private String planName;
     private String goodsName;
+    private String goodsImg;
     private String goodsLogo;
     private String appName;
     private String principalName;
@@ -32,6 +33,7 @@ public class PlanDetailVo {
         this.planId = plan.getPlanId();
         this.planName = plan.getPlanName();
         this.goodsName = plan.getGoodsName();
+        this.goodsImg = plan.getGoodsImg();
         this.goodsLogo = plan.getGoodsLogo();
         this.appName = plan.getAppName();
         this.principalName = plan.getPrincipalName();

+ 2 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/PlanService.java

@@ -29,6 +29,8 @@ public interface PlanService {
 
     PlanDetailVo getPlanDetail(String planId);
 
+    int updateTime(PlanBo bo);
+
     List<PlanPushVo> getPlanPush(String equipmentId);
 
     List<PlanPushVo> getPlanPushByCode(String equipmentCode);

+ 32 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/PlanServiceImpl.java

@@ -229,6 +229,38 @@ public class PlanServiceImpl implements PlanService {
         return vo;
     }
 
+    @Override
+    public int updateTime(PlanBo bo) {
+        Plan plan = planMapper.selectOne(new QueryWrapper<Plan>()
+            .eq("plan_id", bo.getPlanId())
+            .eq("deleted", "0"));
+        if (plan == null)
+            return -1; // 无效广告id
+        // 判断所修改的时间是否存在和合理
+        if (bo.getStartTime() == null && bo.getEndTime() != null) { // 只修改结束时间
+            if (plan.getPlanStartTime().compareTo(bo.getEndTime()) > 0) { // 原开始时间大于现修改结束时间
+                // 调换开始时间与结束时间位置
+                plan.setPlanEndTime(plan.getPlanStartTime());
+                plan.setPlanStartTime(bo.getEndTime());
+            } else {
+                plan.setPlanEndTime(bo.getEndTime());
+            }
+        } else if (bo.getStartTime() != null && bo.getEndTime() == null) { // 只修改开始时间
+            if (plan.getPlanEndTime().compareTo(bo.getStartTime()) < 0) { // 原结束时间小于现修改开始时间
+                // 调换开始时间与结束时间位置
+                plan.setPlanStartTime(plan.getPlanEndTime());
+                plan.setPlanEndTime(bo.getStartTime());
+            } else {
+                plan.setPlanStartTime(bo.getStartTime());
+            }
+        } else if (bo.getStartTime() != null && bo.getEndTime() != null) { // 两者皆修改
+            plan.setPlanStartTime(bo.getStartTime());
+            plan.setPlanEndTime(bo.getEndTime());
+        } else
+            return 1; // 两者皆无
+        return planMapper.updateById(plan);
+    }
+
     @Override
     public List<PlanPushVo> getPlanPush(String equipmentId) {
 //        根据设备id查询可投放的广告计划