事件系统

dev_0531
root 6 years ago
parent 1d154b8475
commit 4fa36bb766

@ -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<String, Object> delete(Long id) {
// TODO 删除之前需要做关联性检查,活动必须已经下线并终止,如果已经关联了店铺和导购,则不能删除
return data(null);
}
}

@ -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<String, Object> delete(Long id){
// TODO 删除之前需要做关联性检查,如果已经关联了活动,则不允许删除(软删除)
return data(null);
}
}

@ -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<String, Object> myPromotions(long userId) {
// TODO 查询当前小程序用户,在活动有效期间的有效活动,包含活动名称,活动二维码
// TODO 从 promotion_src 获取当前导购的推广关系,并关联 activity_instance等表获取活动详情注意活动有效性
// TODO 需要附加这个活动已经推广的客户列表 promotion_friends_src
return data(null);
}
@ApiOperation(value = "我的活动推广列表")
@PostMapping("/post/promotions")
public Map<String, Object> pushPromotion(long userId, List<PoiStoreStaff> list, long promotionId) {
// TODO 将活动推广给单个或多个用户 promotion_friends_src
// TODO 如果已经推广过了,则忽略
return data(null);
}
@ApiOperation(value = "好友添加回调通知")
@PostMapping("/cb")
public Map<String, Object> turnBack(@RequestBody List<TurnBackDTO> turnBackDTOS) {
// TODO 待调查
return data(null);
}
}

@ -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;
}
}

@ -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 也可以等后台或者用户查接口的时候,被动生成
}
}

@ -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 {

Loading…
Cancel
Save