记得上下班打卡 | git大法好,push需谨慎

Commit ea71c54e authored by wangyifan's avatar wangyifan

福袋功能:获取福袋详情-添加固定返回结果

parent c208aca0
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@ApiModel(value = "福袋VO")
public class KylinLuckyBagVo implements Serializable {
@ApiModelProperty(value = "福袋列表")
private List<LuckyBagVo> luckyBagVoList;
@ApiModelProperty(value = "福袋活动列表")
private List<LuckyBagActivityVo> luckyBagActivityVoList;
@Data
@ApiModel(value = "福袋活动VO")
public static class LuckyBagActivityVo {
@ApiModelProperty(value = "活动ID")
private String luckyBagActivityId;
@ApiModelProperty(value = "活动名称")
private String name;
@ApiModelProperty(value = "活动简介")
private String detail;
@ApiModelProperty(value = "跳转地址")
private String targetUrl;
}
@Data
@ApiModel(value = "福袋VO")
public static class LuckyBagVo {
@ApiModelProperty(value = "福袋ID")
private String luckyBagId;
@ApiModelProperty(value = "福袋名称")
private String name;
@ApiModelProperty(value = "福袋描述")
private String introduction;
@ApiModelProperty(value = "状态 0:未解锁 1:已解锁")
private int status;
@ApiModelProperty(value = "兑换码")
private List<String> rewardCodeList;
}
}
package com.liquidnet.service.kylin.service;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import java.util.List;
public interface IKylinLuckyBagService {
List<KylinLuckyBagVo> getLuckyBagBenefitsByOrderId(String orderId);
}
......@@ -73,7 +73,7 @@ spring:
autoconfigure:
exclude:
- org.springframework.cloud.bus.BusAutoConfiguration
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
# - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
redis:
queue:
database: ${liquidnet.redis.queue.database}
......@@ -102,6 +102,17 @@ spring:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=200&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
datasource:
name: ${liquidnet.mysql.database-name}
url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
username: ${liquidnet.mysql.username}
password: ${liquidnet.mysql.password}
# type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
maximum-pool-size: 45
minimum-idle: 8
connection-test-query: SELECT 1
# -----------------------------------------------------------
# -----------------------------------------------------------
......
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 福袋品牌方表
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinBrands implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 品牌ID
*/
private String brandId;
/**
* 品牌名称
*/
private String name;
/**
* 品牌地址
*/
private String address;
/**
* 官网URL
*/
private String websiteUrl;
/**
* 简介
*/
private String introduction;
/**
* 联系人
*/
private String contactName;
/**
* 联系电话
*/
private String contactPhone;
/**
* 1-可用, 0-不可用
*/
private Integer state;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 福袋配置表
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinLuckyBag implements Serializable, Cloneable{
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 福袋ID
*/
private String luckyBagId;
/**
* 福袋名称
*/
private String name;
/**
* 福袋简介
*/
private String introduction;
/**
* 所属品牌ID
*/
private String brand_id;
/**
* 所属演出ID
*/
private String performances_id;
/**
* 所属场次ID
*/
private String ticket_times_id;
/**
* 所属票种ID
*/
private String tickets_id;
/**
* 上线开始时间
*/
private String onlineStartTime;
/**
* 上线结束时间
*/
private String onlineEndTime;
/**
* 福袋发放时间
*/
private String send_time;
/**
* 状态: 1-可用, 0-不可用
*/
private Integer state;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 福袋活动表
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinLuckyBagActivity implements Serializable, Cloneable{
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 福袋活动ID
*/
private String luckyBagActivityId;
/**
* 活动名称
*/
private String name;
/**
* 活动简介
*/
private String detail;
/**
* 跳转地址
*/
private String target_url;
/**
* 上线开始时间
*/
private String onlineStartTime;
/**
* 上线结束时间
*/
private String onlineEndTime;
/**
* 状态: 1-可用, 0-不可用
*/
private Integer state;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 兑换码表
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinRewardCode implements Serializable, Cloneable{
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 兑换码
*/
private String code;
/**
* 所属福袋ID
*/
private String luckyBagId;
/**
* 状态: 1-可用, 0-不可用
*/
private Integer state;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 用户领取兑换码表
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinUserReward implements Serializable, Cloneable{
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 用户ID
*/
private String uid;
/**
* 所属福袋ID
*/
private String luckyBagId;
/**
* 订单ID(kylin_order_tickets)
*/
private String orderId;
/**
* 订单详情ID(kylin_order_ticket_entities)
*/
private String orderTicketEntitiesId;
/**
* 兑换码
*/
private String code;
/**
* 状态 0不可用 1可用 2删除
*/
private Integer state;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
/**
* 保留字段
*/
private String comment;
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinBrands;
public interface KylinBrandsMapper extends BaseMapper<KylinBrands> {
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinLuckyBagActivity;
public interface KylinLuckyBagActivityMapper extends BaseMapper<KylinLuckyBagActivity> {
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinLuckyBag;
public interface KylinLuckyBagMapper extends BaseMapper<KylinLuckyBag> {
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinRewardCode;
public interface KylinRewardCodeMapper extends BaseMapper<KylinRewardCode> {
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinUserReward;
public interface KylinUserRewardMapper extends BaseMapper<KylinUserReward> {
}
package com.liquidnet.service;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
......@@ -16,6 +17,7 @@ import java.util.Arrays;
@Slf4j
@EnableFeignClients
@SpringBootApplication(scanBasePackages = {"com.liquidnet"})
@MapperScan(basePackages = {"com.liquidnet.service.*.mapper"})
public class ServiceKylinApplication implements CommandLineRunner {
@Autowired
private Environment environment;
......
package com.liquidnet.service.kylin.controller;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import com.liquidnet.service.kylin.service.IKylinLuckyBagService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "前端-获取福袋相关")
@RestController
@RequestMapping("/luckyBag")
@Slf4j
public class KylinLuckyBagController {
@Autowired
private IKylinLuckyBagService benefitsService;
@GetMapping("")
@ApiOperation("获取福袋权益列表")
public ResponseDto<KylinLuckyBagVo> getLuckyBagBenefitsByOrderId(@RequestParam(value = "orderId") String orderId) {
String jsonObj = "{\n" +
" \"luckyBagVoList\": [\n" +
" {\n" +
" \"luckyBagId\": \"bag001\",\n" +
" \"name\": \"蛋仔派对专属皮肤\",\n" +
" \"introduction\": \"1. 每个观演人对应发放一张兑换券/n 2. 兑换券为虚拟商品,一旦丢失或泄露,可能被他人使用,请妥善保管/n 3. 兑换码有效期至[具体日期],请及时使用。\",\n" +
" \"status\": 1,\n" +
" \"rewardCodeList\": [\n" +
" \"CODE123\",\n" +
" \"CODE456\"\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"luckyBagId\": \"bag002\",\n" +
" \"name\": \"蛋仔派对新地图\",\n" +
" \"introduction\": \"未解锁的福袋,快来领取吧!\",\n" +
" \"status\": 0,\n" +
" \"rewardCodeList\": []\n" +
" }\n" +
" ],\n" +
" \"luckyBagActivityVoList\": [\n" +
" {\n" +
" \"luckyBagActivityId\": \"activity002\",\n" +
" \"name\": \"本单权益\",\n" +
" \"detail\": \"福袋活动详情\",\n" +
" \"targetUrl\": \"https://baidu.com\"\n" +
" }\n" +
" ]\n" +
"}";
return ResponseDto.success(JsonUtils.fromJson(jsonObj, KylinLuckyBagVo.class));
// return ResponseDto.success(benefitsService.getLuckyBagBenefitsByOrderId(orderId));
}
}
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinLuckyBagService;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.utils.DataUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
private static final Logger log = LoggerFactory.getLogger(KylinLuckyBagServiceImpl.class);
@Autowired
private DataUtils dataUtils;
@Autowired
IKylinOrderTicketsService orderTicketsService;
@Autowired
private KylinLuckyBagMapper kylinLuckyBagMapper;
@Autowired
private KylinLuckyBagActivityMapper kylinLuckyBagActivityMapper;
@Autowired
private KylinBrandsMapper kylinBrandsMapper;
@Autowired
private KylinRewardCodeMapper kylinRewardCodeMapper;
@Autowired
private KylinUserRewardMapper kylinUserRewardMapper;
@Override
public List<KylinLuckyBagVo> getLuckyBagBenefitsByOrderId(String orderId) {
//1. 首先校验用户权限
OrderDetailsVo vo = orderTicketsService.orderDetails(orderId);
String uid = CurrentUtil.getCurrentUid();
if (null == vo) {
log.error("获取订单详情为空, orderId: {}, uid: {}.", orderId, uid);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("20003");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
//2. 先查询福袋
//3. 再查询满足的权益
return null;
}
}
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