|
|
|
package com.kiisoo.ic.activity.controller;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
import com.kiisoo.ic.activity.vo.ActivityInstanceVO;
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnActivityPromotionCase;
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation;
|
|
|
|
import com.kiisoo.ic.activity.mapper.PmnActivityInstanceDOMapper;
|
|
|
|
import com.kiisoo.ic.activity.mapper.PmnActivityScheduleDOMapper;
|
|
|
|
import com.kiisoo.ic.activity.mapper.PmnActivityStoreRelationMapper;
|
|
|
|
import com.kiisoo.ic.activity.service.IPmnActivityInstanceService;
|
|
|
|
import com.kiisoo.ic.activity.service.IPmnActivityScheduleService;
|
|
|
|
import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService;
|
|
|
|
import com.kiisoo.ic.common.BaseController;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.springframework.http.MediaType;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
@RestController
|
|
|
|
@Api(value = "后台-活动实例管理", tags = {"后台-活动实例管理"})
|
|
|
|
@RequestMapping(value = "/activity/instance")
|
|
|
|
@Slf4j
|
|
|
|
public class ActivityInstanceController extends BaseController {
|
|
|
|
@Resource
|
|
|
|
PmnActivityScheduleDOMapper pmnActivityScheduleDOMapper;
|
|
|
|
@Resource
|
|
|
|
PmnActivityInstanceDOMapper pmnActivityInstanceDOMapper;
|
|
|
|
@Resource
|
|
|
|
PmnActivityStoreRelationMapper pmnActivityStoreRelationMapper;
|
|
|
|
@Resource
|
|
|
|
IPmnActivityStoreRelationService pmnActivityStoreRelationService;
|
|
|
|
@Resource
|
|
|
|
IPmnActivityInstanceService pmnActivityInstanceService;
|
|
|
|
@Resource
|
|
|
|
IPmnActivityScheduleService pmnActivityScheduleService;
|
|
|
|
|
|
|
|
@ApiOperation(value = "活动实例分页列表")
|
|
|
|
@GetMapping(value = "/list")
|
|
|
|
public Map<String, Object> instanceList() {
|
|
|
|
// TODO 需要根据当前用户角色分开查询
|
|
|
|
return data(null);
|
|
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation(value = "根据活动池新建/编辑实例")
|
|
|
|
@PostMapping(value = "/save")
|
|
|
|
public Map<String, Object> saveInstance(@RequestBody @Validated ActivityInstanceVO activityInstanceVO) {
|
|
|
|
// TODO 实现后移除TODO标签
|
|
|
|
try {
|
|
|
|
boolean save = pmnActivityInstanceService.saveVO(activityInstanceVO);
|
|
|
|
return save ? data(activityInstanceVO) : fail("操作失败");
|
|
|
|
} catch (Exception e) {
|
|
|
|
log.error("查询出错", e);
|
|
|
|
return fail();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation(value = "活动实例详情")
|
|
|
|
@GetMapping(value = "/detail")
|
|
|
|
public Map<String, Object> instanceDetail() {
|
|
|
|
return data(null);
|
|
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation(value = "根据活动实例修改场景")
|
|
|
|
@PostMapping(value = "/promotionCase/save", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE, MediaType.APPLICATION_JSON_VALUE})
|
|
|
|
public Map<String, Object> savePromotionCase(@ModelAttribute List<PmnActivityPromotionCase> promotionCase) {
|
|
|
|
try {
|
|
|
|
return data(null);
|
|
|
|
} catch (Exception e) {
|
|
|
|
log.error("查询出错", e);
|
|
|
|
return fail();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//
|
|
|
|
// @ApiOperation(value = "根据活动绑定店铺")
|
|
|
|
// @PostMapping(value = "/promotionStore/save")
|
|
|
|
// @ApiImplicitParams({
|
|
|
|
// @ApiImplicitParam(name = "storeIds", required = true, value = "店铺ID数组", dataType = "array", paramType = "form"),
|
|
|
|
// @ApiImplicitParam(name = "caseId", value = "场景id", dataType = "int", paramType = "form", defaultValue = "0"),
|
|
|
|
// @ApiImplicitParam(name = "instanceId", required = true, value = "活动实例ID", dataType = "string", paramType = "form"),
|
|
|
|
// })
|
|
|
|
// public Map<String, Object> saveStore(@RequestBody Long[] storeIds, @RequestParam int caseId, @RequestParam Long instanceId){
|
|
|
|
// try {
|
|
|
|
// if(storeIds.length <= 0) {
|
|
|
|
// return fail("请选择店铺");
|
|
|
|
// }
|
|
|
|
// if(instanceId == null) {
|
|
|
|
// return fail("请输入活动实例ID");
|
|
|
|
// }
|
|
|
|
// List<PmnActivityStoreRelation> pmnActivityStoreRelations = new ArrayList<>();
|
|
|
|
// for (Long storeId: storeIds) {
|
|
|
|
// PmnActivityStoreRelation pmnActivityStoreRelation = pmnActivityStoreRelationService.getOne(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getStoreId, storeId).eq(PmnActivityStoreRelation::getInstanceId, instanceId));
|
|
|
|
// if(pmnActivityStoreRelation == null) {
|
|
|
|
// pmnActivityStoreRelation = new PmnActivityStoreRelation();
|
|
|
|
// }
|
|
|
|
// pmnActivityStoreRelation.setCaseId(Long.valueOf(caseId));
|
|
|
|
// pmnActivityStoreRelation.setCreateTime(new Date());
|
|
|
|
// pmnActivityStoreRelation.setStatus(1);
|
|
|
|
// pmnActivityStoreRelation.setInstanceId(instanceId);
|
|
|
|
// pmnActivityStoreRelation.setStoreId(storeId);
|
|
|
|
// pmnActivityStoreRelation.setUpdateTime(new Date());
|
|
|
|
// pmnActivityStoreRelations.add(pmnActivityStoreRelation);
|
|
|
|
// }
|
|
|
|
// boolean save = pmnActivityStoreRelationService.saveOrUpdateBatch(pmnActivityStoreRelations);
|
|
|
|
// return save ? success() : fail("操作失败");
|
|
|
|
// } catch (Exception e) {
|
|
|
|
// log.error("查询出错", e);
|
|
|
|
// return fail();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
@ApiOperation(value = "活动实例终止")
|
|
|
|
@PostMapping(value = "/terminate")
|
|
|
|
public Map<String, Object> instanceTerminate() {
|
|
|
|
// 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);
|
|
|
|
}
|
|
|
|
}
|