Commit d7494017 authored by 严俊's avatar 严俊

新增活动增删改查接口

parent 93ca9cf7
......@@ -16,6 +16,14 @@
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 活动服务API -->
<dependency>
<groupId>com.afanticar</groupId>
<artifactId>afanti-activity-api</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
......@@ -204,13 +212,13 @@
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<version>2.10.5</version>
<exclusions>
<exclusion>
<artifactId>mapstruct</artifactId>
......@@ -219,6 +227,18 @@
</exclusions>
</dependency>
<!--解决Swagger 2.9.2版本NumberFormatException-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.0</version>
</dependency>
</dependencies>
<repositories>
......
......@@ -5,17 +5,17 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
/**
*
* @author Chin
*
*/
@EnableSwagger2
//@EnableSwagger2WebMvc
@SpringBootApplication
@EnableScheduling
@EnableFeignClients
@EnableFeignClients(basePackages = {"com.afanticar"})
@MapperScan(basePackages = {"com.afanticar.afantiopenapi.mapper"})
public class AfantiOpenApiApplication {
......
package com.afanticar.afantiopenapi.controller;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.afanticar.activity.client.IActivityManagerApiClient;
import com.afanticar.activity.domain.param.*;
import com.afanticar.activity.domain.vo.ApiActivityInfoVO;
import com.afanticar.afantiopenapi.constant.Constant;
import com.afanticar.afantiopenapi.model.BaseResponse;
import com.afanticar.afantiopenapi.model.dto.FawActivityDTO;
import com.afanticar.afantiopenapi.model.vo.*;
import com.afanticar.afantiopenapi.service.BaseService;
import com.afanticar.afantiopenapi.service.FawOpenService;
import com.afanticar.common.base.domain.BasePage;
import com.afanticar.common.core.api.CommonResult;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -36,6 +44,9 @@ public class FawOpenController extends BaseController {
@Autowired
FawOpenService fawOpenService;
@Autowired
private IActivityManagerApiClient activityManagerApiClient;
@Autowired
BaseService baseService;
......@@ -48,6 +59,30 @@ public class FawOpenController extends BaseController {
@Value("${faw.limit.threshold:5}")
Integer limit;
/**
* 活动创建, 1天不能超过100个 -uat环境
*/
@Value("${faw.activity.create.limit.period:86400}")
Integer activityCreateLimitPeriod;
@Value("${faw.activity.create.limit.threshold:100}")
Integer activityCreateLimit;
/**
* 活动查询修改、删除60秒内不能超过120次
*/
@Value("${faw.activity.query.limit.period:60}")
Integer activityCurdLimitPeriod;
@Value("${faw.activity.query.limit.threshold:120}")
Integer activityCurdLimit;
/**
* 红旗主体id
*/
@Value("${faw.principalId:869752931296989184}")
String fawPrincipalId;
static String dataType = "faw";
static String monthly = "monthly", quarter = "quarter";
......@@ -163,4 +198,120 @@ public class FawOpenController extends BaseController {
return success(fawOpenService.kuaishouActivityLives(dto));
}
@ApiOperation(value = "创建活动", notes = "创建活动", produces = "application/json")
@PostMapping("/activity/create")
public BaseResponse<String> activityCreate(@RequestBody ApiActivityCreateParam param) {
log.info("红旗活动-活动创建req={}", JSONObject.toJSONString(param));
BaseResponse check = baseService.baseLimit(dataType+":activity_create", activityCreateLimit, activityCreateLimitPeriod);
if (check != null) {
return check;
}
if(StrUtil.isEmpty(param.getActor())){
param.setActor("external-system");
}
param.setPrincipalId(fawPrincipalId);
CommonResult<String> res = activityManagerApiClient.activityCreate(param);
if(Constant.SUCCESS_CODE.equals(res.getCode().toString())){
return success(res.getData());
}else{
return error(res.getCode().toString(),res.getMessage());
}
}
@ApiOperation(value = "活动更新", notes = "活动更新", produces = "application/json")
@PostMapping("/activity/update")
public BaseResponse<String> activityUpdate(@RequestBody ApiActivityUpdateParam param) {
log.info("红旗活动-活动更新req={}", JSONObject.toJSONString(param));
BaseResponse check = baseService.baseLimit(dataType+":activity_curd", activityCurdLimit, activityCurdLimitPeriod);
if (check != null) {
return check;
}
if(StrUtil.isEmpty(param.getActor())){
param.setActor("external-system");
}
param.setPrincipalId(fawPrincipalId);
CommonResult<String> res = activityManagerApiClient.activityUpdate(param);
if(Constant.SUCCESS_CODE.equals(res.getCode().toString())){
return success(res.getData());
}else{
return error(res.getCode().toString(),res.getMessage());
}
}
@ApiOperation(value = "删除活动", notes = "删除活动", produces = "application/json")
@PostMapping("/activity/delete")
public BaseResponse<String> activityDelete(@RequestBody ApiActivityDeletedParam param) {
log.info("红旗活动-删除活动req={}", JSONObject.toJSONString(param));
BaseResponse check = baseService.baseLimit(dataType+":activity_curd", activityCurdLimit, activityCurdLimitPeriod);
if (check != null) {
return check;
}
if(StrUtil.isEmpty(param.getActor())){
param.setActor("external-system");
}
param.setPrincipalId(fawPrincipalId);
CommonResult<String> res = activityManagerApiClient.activityDeleted(param);
if(Constant.SUCCESS_CODE.equals(res.getCode().toString())){
return success();
}else{
return error(res.getCode().toString(),res.getMessage());
}
}
@ApiOperation(value = "活动列表", notes = "活动列表", produces = "application/json")
@PostMapping("/activity/list")
public BaseResponse<BasePageVO<ApiActivityInfoVO>> activityList(@RequestBody ApiActivityListParam param) {
log.info("红旗活动-活动列表req={}", JSONObject.toJSONString(param));
BaseResponse check = baseService.baseLimit(dataType+":activity_curd", activityCurdLimit, activityCurdLimitPeriod);
if (check != null) {
return check;
}
if(StrUtil.isEmpty(param.getActor())){
param.setActor("external-system");
}
param.setPrincipalId(fawPrincipalId);
CommonResult<BasePage<ApiActivityInfoVO>> res = activityManagerApiClient.activityList(param);
if(Constant.SUCCESS_CODE.equals(res.getCode().toString())){
BasePageVO basePageVO = new BasePageVO();
basePageVO.setPages(res.getData().getTotalPage().intValue());
basePageVO.setTotal(res.getData().getTotal().intValue());
basePageVO.setCurrent(res.getData().getPage().intValue());
basePageVO.setRecords(res.getData().getList());
basePageVO.setSize(res.getData().getSize().intValue());
return success(basePageVO);
}else{
return error(res.getCode().toString(),res.getMessage());
}
}
@ApiOperation(value = "活动详情", notes = "活动详情")
@GetMapping("/activity/info")
public BaseResponse<ApiActivityInfoVO> activityList(@RequestBody(required = false) ApiActivityInfoParam param,
@RequestParam(value = "activity_id",required = false) String activityId,
@RequestParam(value = "actor",required = false) String actor) {
log.info("红旗活动-活动详情req={},activityId={},actor={}", JSONObject.toJSONString(param),activityId,actor);
BaseResponse check = baseService.baseLimit(dataType+":activity_curd", activityCurdLimit, activityCurdLimitPeriod);
if (check != null) {
return check;
}
boolean paramIsEmpty = param == null || StrUtil.isEmpty(param.getActivityId());
if(paramIsEmpty && StrUtil.isEmpty(activityId)){
return error("400","活动id不能为空");
}
if(param == null){
param = new ApiActivityInfoParam();
param.setActivityId(activityId);
param.setActor(actor);
}
if(StrUtil.isEmpty(param.getActor())){
param.setActor("external-system");
}
param.setPrincipalId(fawPrincipalId);
CommonResult<ApiActivityInfoVO> res = activityManagerApiClient.activityInfo(param);
if(Constant.SUCCESS_CODE.equals(res.getCode().toString())){
return success(res.getData());
}else{
return error(res.getCode().toString(),res.getMessage());
}
}
}
......@@ -25,4 +25,5 @@ public class BaseResponse<T> {
@ApiModelProperty(value = "是否成功", example = "true")
private Boolean success;
}
......@@ -53,6 +53,10 @@ spring:
username-property: spring.datasource.dynamic.datasource.tmp.username
password-property: spring.datasource.dynamic.datasource.tmp.password
ali:
ons:
rocketmq:
enable: false
#
#
#
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment