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

Commit 46ad3216 authored by 姜秀龙's avatar 姜秀龙

doudou 接口

parent 1e12cb4f
......@@ -60,6 +60,8 @@ public class SweetConstant {
public static final String REDIS_KEY_SWEET_SEND_COUPON = "sweet:integralActivity:coupon:send:";
// 答题活动
public final static String REDIS_KEY_SWEET_ANSWER_PHONE = "sweet:answer:phone:";
// doudou
public final static String REDIS_KEY_SWEET_DOUDOU_USER = "sweet:doudou:uid:";
// 城市投票活动
public final static String REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST = ":StatList";
public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE = ":cityCode:";
......
package com.liquidnet.service.sweet.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@ApiModel(value = "SweetDouDouParam", description = "入参")
@Data
public class SweetDouDouParam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(position = 10, required = true, value = "观演人姓名", example = "张三")
@NotBlank(message = "username不能为空")
private String username;
@ApiModelProperty(position = 11, required = true, value = "观演人手机号", example = "15811112222")
@NotBlank(message = "phone不能为空")
private String phone;
@ApiModelProperty(position = 12, required = true, value = "购买平台", example = "大麦")
@NotBlank(message = "platform不能为空")
private String platform;
@ApiModelProperty(position = 13, required = true, value = "购买订单号", example = "23424353477473")
@NotBlank(message = "orderCodee不能为空")
private String orderCode;
@ApiModelProperty(position = 14, required = true, value = "想给doudou说的话", example = "我爱你啦啦啦")
private String mark;
}
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.sweet.entity.SweetDoudou;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetDoudou;
import com.liquidnet.service.sweet.param.SweetDouDouParam;
import com.liquidnet.service.sweet.vo.SweetDouDouVo;
import javax.validation.Valid;
/**
* <p>
......@@ -13,4 +18,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISweetDoudouService extends IService<SweetDoudou> {
ResponseDto<SweetDouDouVo> info();
ResponseDto create(@Valid SweetDouDouParam param);
}
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.entity.SweetDoudou;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class SweetDouDouVo implements Serializable, Cloneable {
@ApiModelProperty("doudou_id")
private String doudouId;
@ApiModelProperty("user_id")
private String userId;
@ApiModelProperty("观演人姓名")
private String username;
@ApiModelProperty("观演人手机号")
private String phone;
@ApiModelProperty("购买平台")
private String platform;
@ApiModelProperty("购买订单号")
private String orderCode;
@ApiModelProperty("想给doudou说的话")
private String mark;
@ApiModelProperty("状态 1已登记 2未中签 3已中签 4已核销")
private Integer status;
private static final SweetDouDouVo obj = new SweetDouDouVo();
public static SweetDouDouVo getNew() {
try {
return (SweetDouDouVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetDouDouVo();
}
}
public SweetDouDouVo copy(SweetDoudou source) {
if (null == source) return this;
this.setPhone(source.getPhone());
return this;
}
}
......@@ -2,11 +2,12 @@ package com.liquidnet.service.sweet.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* doudou预约签名CD记录表
......@@ -74,5 +75,15 @@ public class SweetDoudou implements Serializable {
*/
private LocalDateTime updatedAt;
private static final SweetDoudou obj = new SweetDoudou();
public static SweetDoudou getNew() {
try {
return (SweetDoudou) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetDoudou();
}
}
}
package com.liquidnet.service.sweet.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.param.SweetDouDouParam;
import com.liquidnet.service.sweet.service.ISweetDoudouService;
import com.liquidnet.service.sweet.vo.SweetDouDouVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
* <p>
......@@ -13,8 +20,22 @@ import org.springframework.web.bind.annotation.RestController;
* @author jiangxiulong
* @since 2025-06-04
*/
@Api(tags = "活动-doudou")
@RestController
@RequestMapping("/sweet-doudou")
@RequestMapping("/doudou")
public class SweetDoudouController {
@Autowired
private ISweetDoudouService iSweetDoudouService;
@GetMapping("")
@ApiOperation("获取用户预约详情")
public ResponseDto<SweetDouDouVo> info() {
return iSweetDoudouService.info();
}
@PostMapping("")
@ApiOperation("预约")
public ResponseDto create(@Valid @RequestBody SweetDouDouParam param) {
return iSweetDoudouService.create(param);
}
}
package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.sweet.entity.SweetDoudou;
import com.liquidnet.service.sweet.mapper.SweetDoudouMapper;
import com.liquidnet.service.sweet.param.SweetDouDouParam;
import com.liquidnet.service.sweet.service.ISweetDoudouService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.vo.SweetDouDouVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.LinkedList;
/**
* <p>
* doudou预约签名CD记录表 服务实现类
......@@ -16,5 +29,50 @@ import org.springframework.stereotype.Service;
*/
@Service
public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, SweetDoudou> implements ISweetDoudouService {
@Autowired
private RedisDataUtils redisDataUtils;
@Autowired
QueueUtils queueUtils;
@Override
public ResponseDto<SweetDouDouVo> info() {
String uid = CurrentUtil.getCurrentUid();
SweetDouDouVo vo = redisDataUtils.getSweetDouDou(uid);
return ResponseDto.success(vo);
}
@Override
public ResponseDto create(SweetDouDouParam param) {
String nextSnowId = IDGenerator.nextSnowId();
String uid = CurrentUtil.getCurrentUid();
String username = param.getUsername();
String phone = param.getPhone();
String platform = param.getPlatform();
String orderCode = param.getOrderCode();
String mark = param.getMark();
SweetDouDouVo entityVo = SweetDouDouVo.getNew();
entityVo.setDoudouId(nextSnowId);
entityVo.setUsername(username);
entityVo.setPhone(phone);
entityVo.setPlatform(platform);
entityVo.setOrderCode(orderCode);
entityVo.setMark(mark);
entityVo.setUserId(uid);
entityVo.setStatus(1);
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("sweet_doudou.insert"));
sqlsDataA.add(new Object[]{
nextSnowId, uid, username, phone, platform, orderCode, mark
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_ANSWER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
redisDataUtils.setSweetDouDou(entityVo);
return ResponseDto.success();
}
}
......@@ -458,6 +458,17 @@ public class RedisDataUtils {
redisUtil.set(redisKey, sweetAnswerVo);
}
// doudou
public void setSweetDouDou(SweetDouDouVo vo) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_USER.concat(vo.getUserId());
redisUtil.set(redisKey, vo);
}
public SweetDouDouVo getSweetDouDou(String uid) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_USER.concat(uid);
return (SweetDouDouVo) redisUtil.get(redisKey);
}
//草莓音乐节活动海报相关
public void setSweetMusician(SweetStrawberryParam sweetStrawberry) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_STRAWBERRY_POSTER.concat(sweetStrawberry.getUnionId());
......
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