1
0

3 Commity 8588605147 ... b62a7c57ab

Autor SHA1 Správa Dátum
  云殇忆 b62a7c57ab 广告管理列表加上广告图 1 rok pred
  云殇忆 ef3a33adfa 优化 1 rok pred
  云殇忆 d7948cdfca 1.广告管理-明细-返回数据添加广告图片字段 1 rok pred

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

@@ -3,6 +3,7 @@ package com.ruoyi.demo.controller;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaIgnore;
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.date.DateUtil;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.validate.AddGroup;
@@ -17,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.constraints.NotBlank;
+import java.util.Date;
 
 @RestController
 @RequestMapping("/plan")
@@ -60,6 +62,27 @@ public class PlanController {
     public R planDetail(@PathVariable String planId){
         return R.ok(planService.getPlanDetail(planId));
     }
+    /**
+     * 修改广告计划时间段
+     * @param planId 广告计划id
+     * @param planStartTime 广告开始时间
+     * @param planEndTime 广告结束时间
+     * @return
+     */
+    @SaCheckPermission("szzs:planManage:update")
+    @PutMapping("/update/time")
+    public R planUpdateTime(@NotBlank(message = "广告id不能为空") String planId,
+                            String planStartTime,
+                            String planEndTime){
+        if (planId == null)
+            return R.fail("广告id不能为空");
+        int i = planService.updateTime(planId, DateUtil.parse(planStartTime), DateUtil.parse(planEndTime));
+        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();

+ 6 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/PlanListVo.java

@@ -13,6 +13,7 @@ public class PlanListVo {
     private String planId;
     private String planName;
     private String goodsImg;
+    private String goodsLogo;
     private String principalName;
     private String principalTelephone;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -23,13 +24,16 @@ public class PlanListVo {
     private Date planEndTime;
     private String onState;
 
-    public PlanListVo(){}
-    public PlanListVo(Plan plan){
+    public PlanListVo() {
+    }
+
+    public PlanListVo(Plan plan) {
         this.planId = plan.getPlanId();
         this.planName = plan.getPlanName();
         this.principalName = plan.getPrincipalName();
         this.principalTelephone = plan.getPrincipalTelephone();
         this.goodsImg = plan.getGoodsImg();
+        this.goodsLogo = plan.getGoodsLogo();
         this.planCreateTime = plan.getPlanCreateTime();
         this.planStartTime = plan.getPlanStartTime();
         this.planEndTime = plan.getPlanEndTime();

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

@@ -11,6 +11,7 @@ import com.ruoyi.demo.entity.bo.PlanBo;
 import com.ruoyi.demo.entity.bo.UpDownBo;
 import com.ruoyi.demo.entity.vo.*;
 
+import java.util.Date;
 import java.util.List;
 
 public interface PlanService {
@@ -29,6 +30,8 @@ public interface PlanService {
 
     PlanDetailVo getPlanDetail(String planId);
 
+    int updateTime(String planId, Date planStartTime, Date planEndTime);
+
     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(String planId, Date planStartTime, Date planEndTime) {
+        Plan plan = planMapper.selectOne(new QueryWrapper<Plan>()
+            .eq("plan_id", planId)
+            .eq("deleted", "0"));
+        if (plan == null)
+            return -1; // 无效广告id
+        // 判断所修改的时间是否存在和合理
+        if (planStartTime == null && planEndTime != null) { // 只修改结束时间
+            if (plan.getPlanStartTime().compareTo(planEndTime) > 0) { // 原开始时间大于现修改结束时间
+                // 调换开始时间与结束时间位置
+                plan.setPlanEndTime(plan.getPlanStartTime());
+                plan.setPlanStartTime(planEndTime);
+            } else {
+                plan.setPlanEndTime(planEndTime);
+            }
+        } else if (planStartTime != null && planEndTime == null) { // 只修改开始时间
+            if (plan.getPlanEndTime().compareTo(planStartTime) < 0) { // 原结束时间小于现修改开始时间
+                // 调换开始时间与结束时间位置
+                plan.setPlanStartTime(plan.getPlanEndTime());
+                plan.setPlanEndTime(planStartTime);
+            } else {
+                plan.setPlanStartTime(planStartTime);
+            }
+        } else if (planStartTime != null && planEndTime != null) { // 两者皆修改
+            plan.setPlanStartTime(planStartTime);
+            plan.setPlanEndTime(planEndTime);
+        } else
+            return 1; // 两者皆无
+        return planMapper.updateById(plan);
+    }
+
     @Override
     public List<PlanPushVo> getPlanPush(String equipmentId) {
 //        根据设备id查询可投放的广告计划