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

Commit 53d5897c authored by wangyifan's avatar wangyifan

Merge remote-tracking branch 'origin/dev_fudai_v2' into container

parents ce7b0c3f 1cbaad35
package com.liquidnet.service.kylin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "福袋兑换码详情VO")
public class KylinLuckyBagCodeDetailVo {
@ApiModelProperty(value = "兑换码")
private String code;
@ApiModelProperty(value = "用户ID")
private String uid;
@ApiModelProperty(value = "福袋ID")
private String luckyBagId;
@ApiModelProperty(value = "关联订单ID")
private String orderId;
@ApiModelProperty(value = "状态 0:不可用 1:可用 2:已领取")
private int state;
@ApiModelProperty(value = "发放时间")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createdAt;
@ApiModelProperty(value = "领取时间")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "福袋Scope VO")
public class KylinLuckyBagScopeVo {
@ApiModelProperty(value = "福袋ID")
private String luckyBagId;
@ApiModelProperty(value = "福袋名称")
private String name;
@ApiModelProperty(value = "福袋描述")
private String introduction;
@ApiModelProperty(value = "关联演出名称")
private String performanceName;
}
...@@ -52,6 +52,9 @@ public class KylinLuckyBagVo implements Serializable { ...@@ -52,6 +52,9 @@ public class KylinLuckyBagVo implements Serializable {
@ApiModelProperty(value = "福袋描述") @ApiModelProperty(value = "福袋描述")
private String introduction; private String introduction;
@ApiModelProperty(value = "兑换码显示状态 1:兑换码 2:二维码")
private int codeShowType;
@ApiModelProperty(value = "状态 0:未解锁 1:已解锁") @ApiModelProperty(value = "状态 0:未解锁 1:已解锁")
private int status; private int status;
......
package com.liquidnet.service.kylin.service; package com.liquidnet.service.kylin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagCodeDetailVo;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagScopeVo;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo; import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import java.util.List;
public interface IKylinLuckyBagService { public interface IKylinLuckyBagService {
KylinLuckyBagVo getLuckyBagByOrderId(String orderId); KylinLuckyBagVo getLuckyBagByOrderId(String orderId);
List<KylinLuckyBagScopeVo> getLuckyBagListScope(String mobile, String performanceId);
KylinLuckyBagCodeDetailVo getCodeDetail(String code, String luckyBagId);
ResponseDto<Boolean> consumeCode(String code, String luckyBagId);
} }
...@@ -154,6 +154,7 @@ global-auth: ...@@ -154,6 +154,7 @@ global-auth:
# 场地摄像头列表 # 场地摄像头列表
- ${liquidnet.info.context}/camera/list - ${liquidnet.info.context}/camera/list
- ${liquidnet.info.context}/inner/** - ${liquidnet.info.context}/inner/**
- ${liquidnet.info.context}/luckyBag/code/consume
oncheck-url-pattern: oncheck-url-pattern:
- ${liquidnet.info.context}/order/details - ${liquidnet.info.context}/order/details
- ${liquidnet.info.context}/order/transfer* - ${liquidnet.info.context}/order/transfer*
......
...@@ -58,6 +58,11 @@ public class KylinLuckyBag implements Serializable, Cloneable{ ...@@ -58,6 +58,11 @@ public class KylinLuckyBag implements Serializable, Cloneable{
*/ */
private String ticketsId; private String ticketsId;
/**
* 兑换码显示状态 1:兑换码 2:二维码
*/
private Integer codeShowType;
/** /**
* 状态: 1-可用, 0-不可用 * 状态: 1-可用, 0-不可用
*/ */
......
...@@ -47,7 +47,7 @@ public class KylinRewardUser implements Serializable, Cloneable{ ...@@ -47,7 +47,7 @@ public class KylinRewardUser implements Serializable, Cloneable{
private String code; private String code;
/** /**
* 状态 0不可用 1可用 * 状态 0不可用 1可用 2已使用
*/ */
private Integer state; private Integer state;
......
package com.liquidnet.service.kylin.controller; package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagCodeDetailVo;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagScopeVo;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo; import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import com.liquidnet.service.kylin.service.IKylinLuckyBagService; import com.liquidnet.service.kylin.service.IKylinLuckyBagService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -12,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -12,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "前端-获取福袋相关") @Api(tags = "前端-获取福袋相关")
@RestController @RestController
@RequestMapping("/luckyBag") @RequestMapping("/luckyBag")
...@@ -19,12 +23,34 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -19,12 +23,34 @@ import org.springframework.web.bind.annotation.RestController;
public class KylinLuckyBagController { public class KylinLuckyBagController {
@Autowired @Autowired
private IKylinLuckyBagService benefitsService; private IKylinLuckyBagService luckyBagService;
@GetMapping("") @GetMapping("")
@ApiOperation("获取福袋权益列表") @ApiOperation("获取福袋权益列表")
public ResponseDto<KylinLuckyBagVo> getLuckyBagByOrderId(@RequestParam(value = "orderId") String orderId) { public ResponseDto<KylinLuckyBagVo> getLuckyBagByOrderId(@RequestParam(value = "orderId") String orderId) {
return ResponseDto.success(benefitsService.getLuckyBagByOrderId(orderId)); return ResponseDto.success(luckyBagService.getLuckyBagByOrderId(orderId));
}
@GetMapping("/scope")
@ApiOperation("获取验码福袋列表")
public ResponseDto<List<KylinLuckyBagScopeVo>> getLuckyBagListScope(@RequestParam(value = "mobile") String mobile,
@RequestParam(value = "performanceId", required = false) String performanceId){
return ResponseDto.success(luckyBagService.getLuckyBagListScope(mobile, performanceId));
}
@ApiOperation("兑换码详情")
@GetMapping("/code/detail")
public ResponseDto<KylinLuckyBagCodeDetailVo> getCodeDetail(@RequestParam(value = "code") String code,
@RequestParam(value = "luckyBagId") String luckyBagId){
return ResponseDto.success(luckyBagService.getCodeDetail(code, luckyBagId));
}
@GetMapping("/code/consume")
@ApiOperation("兑换码核销")
public ResponseDto<Boolean> consumeCode(@RequestParam(value = "code") String code,
@RequestParam(value = "luckyBagId") String luckyBagId){
return luckyBagService.consumeCode(code, luckyBagId);
} }
} }
...@@ -7,7 +7,10 @@ import com.liquidnet.common.exception.LiquidnetServiceException; ...@@ -7,7 +7,10 @@ import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagCodeDetailVo;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagScopeVo;
import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo; import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo; import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
...@@ -80,13 +83,45 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService { ...@@ -80,13 +83,45 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
if (activityVos.isEmpty()) { if (activityVos.isEmpty()) {
return KylinLuckyBagVo.of(luckyBagVos, null); return KylinLuckyBagVo.of(luckyBagVos, null);
}else { } else {
return KylinLuckyBagVo.of(luckyBagVos, activityVos.get(0)); return KylinLuckyBagVo.of(luckyBagVos, activityVos.get(0));
} }
} }
@Override
public ResponseDto<Boolean> consumeCode(String code, String luckyBagId) {
LambdaQueryWrapper<KylinRewardUser> queryWrapper = new QueryWrapper<KylinRewardUser>()
.lambda()
.eq(KylinRewardUser::getCode, code)
.eq(KylinRewardUser::getLuckyBagId, luckyBagId);
KylinRewardUser rewardUser = kylinRewardUserMapper.selectOne(queryWrapper);
if (rewardUser == null) {
log.error("code does not exist, code: {}, luckyBagId: {}.", code, luckyBagId);
return ResponseDto.failure("兑换码无效");
}
if (rewardUser.getState().equals(2)) {
log.info("code be used, code: {}, luckyBagId: {}.", code, luckyBagId);
return ResponseDto.failure("已被使用");
}
rewardUser.setState(2);
rewardUser.setUpdatedAt(LocalDateTime.now());
int updateById = kylinRewardUserMapper.updateById(rewardUser);
log.info("update code result: {}.", updateById);
return ResponseDto.success(updateById > 0);
}
@Override
public List<KylinLuckyBagScopeVo> getLuckyBagListScope(String mobile, String performanceId) {
return Collections.emptyList();
}
@Override
public KylinLuckyBagCodeDetailVo getCodeDetail(String code, String luckyBagId) {
return null;
}
/** /**
* 获取福袋列表 * 获取福袋列表
* *
...@@ -117,6 +152,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService { ...@@ -117,6 +152,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
luckyBagVo.setLuckyBagId(l.getLuckyBagId()); luckyBagVo.setLuckyBagId(l.getLuckyBagId());
luckyBagVo.setName(l.getName()); luckyBagVo.setName(l.getName());
luckyBagVo.setIntroduction(l.getIntroduction()); luckyBagVo.setIntroduction(l.getIntroduction());
luckyBagVo.setCodeShowType(l.getCodeShowType());
final String sendTime = l.getSendTime(); final String sendTime = l.getSendTime();
final String nowTime = DateUtil.getNowTime(); final String nowTime = DateUtil.getNowTime();
......
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