From 4fa36bb766dee5a0b803bac02abe2be9d1956c9b Mon Sep 17 00:00:00 2001 From: root Date: Thu, 21 May 2020 01:49:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ActivityInstanceController.java | 10 +++++ .../ActivityScheduleController.java | 10 +++++ .../controller/WebAppActivityController.java | 43 +++++++++++++++++++ .../event/ActivityInstanceCreatedEvent.java | 18 ++++++++ .../listener/GenerateQRCodeListener.java | 20 +++++++++ .../java/com/kiisoo/ic/app/IcApplication.java | 2 + 6 files changed, 103 insertions(+) create mode 100644 src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java create mode 100644 src/main/java/com/kiisoo/ic/activity/event/ActivityInstanceCreatedEvent.java create mode 100644 src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java diff --git a/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java b/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java index 3e4dbff..814355a 100644 --- a/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java +++ b/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java @@ -124,4 +124,14 @@ public class ActivityInstanceController extends BaseController { // TODO 终止后不可恢复 return data(null); } + + @ApiOperation("删除活动") + @GetMapping("/delete") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "活动id", dataType = "int", paramType = "form"), + }) + public Map delete(Long id) { + // TODO 删除之前需要做关联性检查,活动必须已经下线并终止,如果已经关联了店铺和导购,则不能删除 + return data(null); + } } diff --git a/src/main/java/com/kiisoo/ic/activity/controller/ActivityScheduleController.java b/src/main/java/com/kiisoo/ic/activity/controller/ActivityScheduleController.java index e6f1d73..0b8af3b 100644 --- a/src/main/java/com/kiisoo/ic/activity/controller/ActivityScheduleController.java +++ b/src/main/java/com/kiisoo/ic/activity/controller/ActivityScheduleController.java @@ -76,4 +76,14 @@ public class ActivityScheduleController extends BaseController { return fail(); } } + + @ApiOperation("删除活动池") + @GetMapping("/delete") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "活动池id", dataType = "int", paramType = "form"), + }) + public Map delete(Long id){ + // TODO 删除之前需要做关联性检查,如果已经关联了活动,则不允许删除(软删除) + return data(null); + } } diff --git a/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java b/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java new file mode 100644 index 0000000..75f3563 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java @@ -0,0 +1,43 @@ +package com.kiisoo.ic.activity.controller; + +import com.kiisoo.ic.common.BaseController; +import com.kiisoo.ic.store.entity.PoiStoreStaff; +import com.kiisoo.ic.synchronous.entity.TurnBackDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@Api(value = "小程序-我的活动推广", tags = {"小程序-我的活动推广"}) +@RestController +@RequestMapping("/webapp/my") +@Slf4j +public class WebAppActivityController extends BaseController { + + @ApiOperation(value = "我的活动推广列表") + @GetMapping("/get/promotions") + public Map myPromotions(long userId) { + // TODO 查询当前小程序用户,在活动有效期间的有效活动,包含活动名称,活动二维码 + // TODO 从 promotion_src 获取当前导购的推广关系,并关联 activity_instance等表获取活动详情(注意活动有效性) + // TODO 需要附加这个活动已经推广的客户列表 promotion_friends_src + return data(null); + } + + @ApiOperation(value = "我的活动推广列表") + @PostMapping("/post/promotions") + public Map pushPromotion(long userId, List list, long promotionId) { + // TODO 将活动推广给单个或多个用户 promotion_friends_src + // TODO 如果已经推广过了,则忽略 + return data(null); + } + + @ApiOperation(value = "好友添加回调通知") + @PostMapping("/cb") + public Map turnBack(@RequestBody List turnBackDTOS) { + // TODO 待调查 + return data(null); + } +} diff --git a/src/main/java/com/kiisoo/ic/activity/event/ActivityInstanceCreatedEvent.java b/src/main/java/com/kiisoo/ic/activity/event/ActivityInstanceCreatedEvent.java new file mode 100644 index 0000000..4f3fc47 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/activity/event/ActivityInstanceCreatedEvent.java @@ -0,0 +1,18 @@ +package com.kiisoo.ic.activity.event; + +import com.kiisoo.ic.activity.entity.PmnActivityInstance; +import org.springframework.context.ApplicationEvent; + +public class ActivityInstanceCreatedEvent extends ApplicationEvent { + + private PmnActivityInstance pmnActivityInstance; + + public ActivityInstanceCreatedEvent(Object source, PmnActivityInstance pmnActivityInstance) { + super(source); + this.pmnActivityInstance = pmnActivityInstance; + } + + public PmnActivityInstance instance() { + return this.pmnActivityInstance; + } +} diff --git a/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java b/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java new file mode 100644 index 0000000..fc25952 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/activity/listener/GenerateQRCodeListener.java @@ -0,0 +1,20 @@ +package com.kiisoo.ic.activity.listener; + +import com.kiisoo.ic.activity.event.ActivityInstanceCreatedEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class GenerateQRCodeListener { + + @Async + @EventListener + public void GenerateQRCode(ActivityInstanceCreatedEvent event) { + // TODO 备用 + // TODO 后台创建活动实例并绑定店铺之后,给店铺和导购批量生成二维码 + // TODO 也可以等后台或者用户查接口的时候,被动生成 + } +} diff --git a/src/main/java/com/kiisoo/ic/app/IcApplication.java b/src/main/java/com/kiisoo/ic/app/IcApplication.java index b0e1734..4411f56 100644 --- a/src/main/java/com/kiisoo/ic/app/IcApplication.java +++ b/src/main/java/com/kiisoo/ic/app/IcApplication.java @@ -8,12 +8,14 @@ import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfi import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication(exclude = SecurityAutoConfiguration.class) @ComponentScan("com.kiisoo.ic") @EnableScheduling +@EnableAsync @Slf4j public class IcApplication extends SpringBootServletInitializer {