Bladeren bron

终止活动,banner列表、修改、新增

skyline 2 jaren geleden
bovenliggende
commit
29e6cada0d

+ 9 - 13
admin/src/main/java/com/kym/admin/controller/ActivityController.java

@@ -33,27 +33,23 @@ public class ActivityController {
 
     // TODO: 2023-10-18 修改活动
 
-
-    /**
-     * 活动列表
-     *
-     * @param params
-     * @return
-     */
+    @SysLog("活动列表")
     @GetMapping
     R<?> listActivity(@RequestBody ActivityQueryParam params) {
         return R.success(activityService.listActivity(params));
     }
 
-    /**
-     * 活动详情
-     *
-     * @param params
-     * @return
-     */
+    @SysLog("活动详情")
     @GetMapping("/activityDetail")
     R<?> activityDetail(@ModelAttribute ActivityQueryParam params) {
         return R.success(activityService.activityDetail(params));
     }
 
+    @SysLog("终止活动")
+    @GetMapping("/terminateActivity/{activityId}")
+    R<?> terminateActivity(@PathVariable("activityId") String activityId) {
+        activityService.terminateActivity(activityId);
+        return R.success();
+    }
+
 }

+ 37 - 2
admin/src/main/java/com/kym/admin/controller/BannerController.java

@@ -1,7 +1,11 @@
 package com.kym.admin.controller;
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.kym.common.R;
+import com.kym.common.annotation.SysLog;
+import com.kym.entity.admin.Banner;
+import com.kym.entity.admin.queryParams.BannerQueryParam;
+import com.kym.service.admin.BannerService;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -15,4 +19,35 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/banner")
 public class BannerController {
 
+    private final BannerService bannerService;
+
+    public BannerController(BannerService bannerService) {
+        this.bannerService = bannerService;
+    }
+
+    @SysLog("新增Banner")
+    @PostMapping
+    R<?> createBanner(@RequestBody Banner banner) {
+        return R.success(bannerService.createBanner(banner));
+    }
+
+    @SysLog("修改Banner")
+    @PutMapping
+    R<?> updateBanner(@RequestBody Banner banner){
+        return R.success(bannerService.updateBanner(banner));
+    }
+
+    @SysLog("Banner列表")
+    @PostMapping
+    R<?> listBanner(@RequestBody BannerQueryParam params) {
+        return R.success(bannerService.listBanner(params));
+    }
+
+    @SysLog("查询单个Banner")
+    @PostMapping("/{bannerId}")
+    R<?> listBanner(@PathVariable("bannerId") String bannerId) {
+        return R.success(bannerService.getById(bannerId));
+    }
+
+
 }

+ 7 - 0
entity/src/main/java/com/kym/entity/admin/Activity.java

@@ -28,6 +28,13 @@ public class Activity extends BaseEntity {
     public final static int APPLY_STATION_全部站点 = 0;
     public final static int APPLY_STATION_部分站点 = 1;
 
+    public final static int STATUS_未开始 = 0;
+    public final static int STATUS_进行中 = 1;
+    public final static int STATUS_已结束 = 2;
+    public final static int STATUS_已取消 = 3;
+
+
+
     private static final long serialVersionUID = 1L;
 
     /**

+ 2 - 0
entity/src/main/java/com/kym/entity/admin/Banner.java

@@ -6,6 +6,7 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.experimental.Accessors;
 
 /**
  * <p>
@@ -18,6 +19,7 @@ import lombok.Setter;
 @Getter
 @Setter
 @TableName("t_banner")
+@Accessors(chain = true)
 public class Banner extends BaseEntity {
 
     private static final long serialVersionUID = 1L;

+ 2 - 1
entity/src/main/java/com/kym/entity/admin/queryParams/ActivityQueryParam.java

@@ -2,6 +2,7 @@ package com.kym.entity.admin.queryParams;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
 
@@ -37,5 +38,5 @@ public class ActivityQueryParam extends PageParams {
     /**
      * 状态
      */
-    private Object status;
+    private int status;
 }

+ 37 - 0
entity/src/main/java/com/kym/entity/admin/queryParams/BannerQueryParam.java

@@ -0,0 +1,37 @@
+package com.kym.entity.admin.queryParams;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author skyline
+ * @description banner查询参数
+ * @date 2023-08-22 18:56
+ */
+@Data
+public class BannerQueryParam extends PageParams {
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * 描述
+     */
+    private String bannerDesc;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime startTime;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime endTime;
+    /**
+     * 状态
+     */
+    private int status;
+}

+ 3 - 0
entity/src/main/java/com/kym/entity/lombok.config

@@ -0,0 +1,3 @@
+config.stopBubbling=true
+
+lombok.equalsAndHashCode.callSuper=call

+ 2 - 0
service/src/main/java/com/kym/service/admin/ActivityService.java

@@ -23,4 +23,6 @@ public interface ActivityService extends IService<Activity> {
     PageBean<Activity> listActivity(ActivityQueryParam params);
 
     HashMap<String, Object> activityDetail(ActivityQueryParam params);
+
+    void terminateActivity(String activityId);
 }

+ 9 - 1
service/src/main/java/com/kym/service/admin/BannerService.java

@@ -1,7 +1,9 @@
 package com.kym.service.admin;
 
-import com.kym.entity.admin.Banner;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.kym.entity.admin.Banner;
+import com.kym.entity.admin.queryParams.BannerQueryParam;
+import com.kym.entity.common.PageBean;
 
 /**
  * <p>
@@ -13,4 +15,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface BannerService extends IService<Banner> {
 
+    Banner createBanner(Banner banner);
+
+    Banner updateBanner(Banner banner);
+
+    PageBean<Banner> listBanner(BannerQueryParam params);
+
 }

+ 12 - 0
service/src/main/java/com/kym/service/admin/impl/ActivityServiceImpl.java

@@ -117,4 +117,16 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
         }
         return res;
     }
+
+    /**
+     * 终止活动
+     *
+     * @param activityId
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void terminateActivity(String activityId) {
+        lambdaUpdate().set(Activity::getStatus, Activity.STATUS_已结束).eq(Activity::getId, activityId).update();
+        rechargeRightsService.lambdaUpdate().set(RechargeRights::getStatus, Activity.STATUS_已结束).eq(RechargeRights::getActivityId, activityId).update();
+    }
 }

+ 45 - 1
service/src/main/java/com/kym/service/admin/impl/BannerServiceImpl.java

@@ -1,10 +1,18 @@
 package com.kym.service.admin.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.kym.common.utils.CommUtil;
+import com.kym.common.utils.IDGenerator;
 import com.kym.entity.admin.Banner;
+import com.kym.entity.admin.queryParams.BannerQueryParam;
+import com.kym.entity.common.PageBean;
 import com.kym.mapper.admin.BannerMapper;
 import com.kym.service.admin.BannerService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 
 /**
  * <p>
@@ -15,6 +23,42 @@ import org.springframework.stereotype.Service;
  * @since 2023-10-18
  */
 @Service
+@DS("db-admin")
 public class BannerServiceImpl extends ServiceImpl<BannerMapper, Banner> implements BannerService {
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Banner createBanner(Banner banner) {
+        banner.setId(IDGenerator.INS().nextId());
+        save(banner);
+        return banner;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Banner updateBanner(Banner banner) {
+        lambdaUpdate()
+                .set(CommUtil.isNotEmptyAndNull(banner.getBannerDesc()), Banner::getBannerDesc, banner.getBannerDesc())
+                .set(CommUtil.isNotEmptyAndNull(banner.getBannerUrl()), Banner::getBannerUrl, banner.getBannerUrl())
+                .set(CommUtil.isNotEmptyAndNull(banner.getLinkUrl()), Banner::getLinkUrl, banner.getLinkUrl())
+                .set(CommUtil.isNotEmptyAndNull(banner.getStartTime()), Banner::getStartTime, banner.getStartTime())
+                .set(CommUtil.isNotEmptyAndNull(banner.getEndTime()), Banner::getEndTime, banner.getEndTime())
+                .set(CommUtil.isNotEmptyAndNull(banner.getStatus()), Banner::getStatus, banner.getStatus())
+                .set(CommUtil.isNotEmptyAndNull(banner.getRemark()), Banner::getRemark, banner.getRemark())
+                .eq(Banner::getId, banner.getId());
+        return banner;
+    }
+
+    @Override
+    public PageBean<Banner> listBanner(BannerQueryParam params) {
+        PageHelper.startPage(params.getPageNum(), params.getPageSize());
+        var list = lambdaQuery()
+                .eq(CommUtil.isNotEmptyAndNull(params.getStatus()), Banner::getStatus, params.getStatus())
+                .gt(CommUtil.isNotEmptyAndNull(params.getStartTime()), Banner::getStartTime, params.getStartTime())
+                .lt(CommUtil.isNotEmptyAndNull(params.getEndTime()), Banner::getStartTime, params.getEndTime())
+                .like(CommUtil.isNotEmptyAndNull(params.getBannerDesc()), Banner::getBannerDesc, params.getBannerDesc())
+                .list();
+        return new PageBean<>(list);
+    }
+
 }