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

Commit 55e30f76 authored by 姜秀龙's avatar 姜秀龙

Merge branch 'dev-doudou-v2' into 'master'

Dev doudou v2

See merge request !390
parents 023567ed 87fc550a
...@@ -63,6 +63,7 @@ public class SweetConstant { ...@@ -63,6 +63,7 @@ public class SweetConstant {
// doudou // doudou
public final static String REDIS_KEY_SWEET_DOUDOU_USER = "sweet:doudou:uid:"; public final static String REDIS_KEY_SWEET_DOUDOU_USER = "sweet:doudou:uid:";
public final static String REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE = "sweet:doudou:scope:mobile:"; public final static String REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE = "sweet:doudou:scope:mobile:";
public static final String REDIS_KEY_SWEET_DOUDOU_ACTIVE = "sweet:doudou:active";
// 城市投票活动 // 城市投票活动
public final static String REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST = ":StatList"; public final static String REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST = ":StatList";
public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE = ":cityCode:"; public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE = ":cityCode:";
......
...@@ -20,6 +20,10 @@ public class SweetDouDouCheckParam implements Serializable { ...@@ -20,6 +20,10 @@ public class SweetDouDouCheckParam implements Serializable {
@NotBlank(message = "doudouId不能为空") @NotBlank(message = "doudouId不能为空")
private String doudouId; private String doudouId;
@ApiModelProperty(position = 4, required = true, value = "activeId", example = "3189092902231364195328061")
@NotBlank(message = "activeId不能为空")
private String activeId;
@ApiModelProperty(position = 3, required = true, value = "用户ID", example = "937724050260131847782985") @ApiModelProperty(position = 3, required = true, value = "用户ID", example = "937724050260131847782985")
@NotBlank(message = "userId不能为空") @NotBlank(message = "userId不能为空")
private String userId; private String userId;
......
...@@ -21,15 +21,16 @@ public class SweetDouDouParam implements Serializable { ...@@ -21,15 +21,16 @@ public class SweetDouDouParam implements Serializable {
@NotBlank(message = "phone不能为空") @NotBlank(message = "phone不能为空")
private String phone; private String phone;
@ApiModelProperty(position = 12, required = true, value = "购买平台", example = "大麦") @ApiModelProperty(position = 12, required = true, value = "3442", example = "活动 ID")
@NotBlank(message = "platform不能为空") @NotBlank(message = "activeId不能为空")
private String platform; private String activeId;
@ApiModelProperty(position = 13, required = true, value = "购买订单号", example = "23424353477473") @ApiModelProperty(position = 13, required = true, value = "img", example = "图片地址")
@NotBlank(message = "orderCodee不能为空") @NotBlank(message = "imgUrl不能为空")
private String orderCode; private String imgUrl;
@ApiModelProperty(position = 14, required = true, value = "想给doudou说的话", example = "我爱你啦啦啦") @ApiModelProperty(position = 14, required = true, value = "想给doudou说的话", example = "我爱你啦啦啦")
private String mark; private String mark;
} }
...@@ -5,10 +5,12 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -5,10 +5,12 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetDoudou; import com.liquidnet.service.sweet.entity.SweetDoudou;
import com.liquidnet.service.sweet.param.SweetDouDouCheckParam; import com.liquidnet.service.sweet.param.SweetDouDouCheckParam;
import com.liquidnet.service.sweet.param.SweetDouDouParam; import com.liquidnet.service.sweet.param.SweetDouDouParam;
import com.liquidnet.service.sweet.vo.SweetDouDouActiveVo;
import com.liquidnet.service.sweet.vo.SweetDouDouVo; import com.liquidnet.service.sweet.vo.SweetDouDouVo;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
/** /**
* <p> * <p>
...@@ -20,7 +22,7 @@ import javax.validation.Valid; ...@@ -20,7 +22,7 @@ import javax.validation.Valid;
*/ */
public interface ISweetDoudouService extends IService<SweetDoudou> { public interface ISweetDoudouService extends IService<SweetDoudou> {
ResponseDto<SweetDouDouVo> info(); ResponseDto<SweetDouDouVo> info(String activeId);
ResponseDto<SweetDouDouVo> create(@Valid SweetDouDouParam param); ResponseDto<SweetDouDouVo> create(@Valid SweetDouDouParam param);
...@@ -29,4 +31,8 @@ public interface ISweetDoudouService extends IService<SweetDoudou> { ...@@ -29,4 +31,8 @@ public interface ISweetDoudouService extends IService<SweetDoudou> {
ResponseDto<SweetDouDouVo> detail(SweetDouDouCheckParam param); ResponseDto<SweetDouDouVo> detail(SweetDouDouCheckParam param);
boolean winningUpload(MultipartFile file); boolean winningUpload(MultipartFile file);
ResponseDto<List<SweetDouDouActiveVo>> getActiveList();
ResponseDto<SweetDouDouActiveVo> getActiveDetail(String activeId);
} }
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.entity.SweetDoudouActive;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("SweetDouDouActiveVo")
public class SweetDouDouActiveVo implements Serializable, Cloneable {
@ApiModelProperty("doudou_id")
private String doudouId;
@ApiModelProperty("user_id")
private String userId;
@ApiModelProperty("活动ID")
private String activeId;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("活动详情")
private String details;
@ApiModelProperty("卡片背景图")
private String cardImages;
@ApiModelProperty("活动详情背景图")
private String detailImages;
@ApiModelProperty("活动详情URL")
private String targetUrl;
@ApiModelProperty("活动状态:2:进行中 3:已结束")
private Integer activeStatus;
@ApiModelProperty("状态 0未登记 1已登记 2未中签 3已中签 4已核销")
private Integer status;
private static final SweetDouDouActiveVo obj = new SweetDouDouActiveVo();
public static SweetDouDouActiveVo getNew() {
try {
return (SweetDouDouActiveVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetDouDouActiveVo();
}
}
public SweetDouDouActiveVo copy(SweetDoudouActive source) {
if (null == source) return this;
this.activeId = source.getActiveId();
this.title = source.getTitle();
this.cardImages = source.getCardImages();
this.detailImages = source.getDetailImages();
this.targetUrl = source.getTargetUrl();
this.details = source.getDetails();
return this;
}
}
...@@ -21,11 +21,11 @@ public class SweetDouDouVo implements Serializable, Cloneable { ...@@ -21,11 +21,11 @@ public class SweetDouDouVo implements Serializable, Cloneable {
@ApiModelProperty("观演人手机号") @ApiModelProperty("观演人手机号")
private String phone; private String phone;
@ApiModelProperty("购买平台") @ApiModelProperty("图片地址")
private String platform; private String imgUrl;
@ApiModelProperty("购买订单号") @ApiModelProperty("活动 ID")
private String orderCode; private String activeId;
@ApiModelProperty("想给doudou说的话") @ApiModelProperty("想给doudou说的话")
private String mark; private String mark;
......
...@@ -43,4 +43,10 @@ public class RedisKeyExpireConst { ...@@ -43,4 +43,10 @@ public class RedisKeyExpireConst {
// kylin:luckybag 过期时间30天 // kylin:luckybag 过期时间30天
public static final long KYLIN_LUCKY_BAG_EXPIRE = 30 * 24 * 60 * 60; public static final long KYLIN_LUCKY_BAG_EXPIRE = 30 * 24 * 60 * 60;
// sweet:douduo:active 过期时间30天
public static final long SWEET_DOUDOU_ACTIVE_EXPIRE = 30 * 24 * 60 * 60;
// sweet:doudou:scope:mobile 过期时间3天
public static final long SWEET_DOUDOU_SCOPE_MOBILE_EXPIRE = 3 * 24 * 60 * 60;
} }
package com.liquidnet.service.sweet.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = false)
public class SweetDoudouActive {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* active_id
*/
private String activeId;
/**
* 标题
*/
private String title;
/**
* 活动详情
*/
private String details;
/**
* 卡片背景图
*/
private String cardImages;
/**
* 活动详情背景图
*/
private String detailImages;
/**
* 活动详情URL
*/
private String targetUrl;
/**
* 开始时间
*/
private String beginAt;
/**
* 结束时间
*/
private String endAt;
/**
* 排序,越大越靠前
*/
private Integer sort;
/**
* 状态 1可用 0不可用
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.sweet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.sweet.entity.SweetDoudou;
import com.liquidnet.service.sweet.entity.SweetDoudouActive;
/**
* <p>
* doudou预约签名CD记录表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2025-06-04
*/
public interface SweetDoudouActiveMapper extends BaseMapper<SweetDoudouActive> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.sweet.mapper.SweetDoudouActiveMapper">
</mapper>
...@@ -20,6 +20,14 @@ CREATE TABLE `sweet_doudou` ...@@ -20,6 +20,14 @@ CREATE TABLE `sweet_doudou`
COLLATE utf8mb4_unicode_ci COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT 'doudou预约签名CD记录表'; ROW_FORMAT = DYNAMIC COMMENT 'doudou预约签名CD记录表';
alter table sweet_doudou
add active_id varchar(100) default '' not null comment '活动id' after order_code;
alter table sweet_doudou
add img_url varchar(255) default '' not null comment '订单截图 url' after active_id;
-- 20250604 doudou预约签名核验权限表 -- 20250604 doudou预约签名核验权限表
drop TABLE if exists `sweet_doudou_scope`; drop TABLE if exists `sweet_doudou_scope`;
CREATE TABLE `sweet_doudou_scope` CREATE TABLE `sweet_doudou_scope`
......
drop TABLE if exists `sweet_doudou_active`;
CREATE TABLE `sweet_doudou_active` (
`mid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`active_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'active_id',
`title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
`details` varchar(1000) COLLATE utf8mb4_unicode_ci default '' COMMENT '活动详情/兑换说明',
`card_images` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '卡片背景图',
`detail_images` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动详情背景图',
`target_url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动详情URL',
`begin_at` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '开始时间',
`end_at` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '结束时间',
`sort` tinyint(4) NOT NULL DEFAULT '1' COMMENT '排序,越大越靠前',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态 1可用 0不可用',
`created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
UNIQUE KEY `active_id_ind` (`active_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='doudou活动表';
\ No newline at end of file
...@@ -5,6 +5,7 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -5,6 +5,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.param.SweetDouDouCheckParam; import com.liquidnet.service.sweet.param.SweetDouDouCheckParam;
import com.liquidnet.service.sweet.param.SweetDouDouParam; import com.liquidnet.service.sweet.param.SweetDouDouParam;
import com.liquidnet.service.sweet.service.ISweetDoudouService; import com.liquidnet.service.sweet.service.ISweetDoudouService;
import com.liquidnet.service.sweet.vo.SweetDouDouActiveVo;
import com.liquidnet.service.sweet.vo.SweetDouDouVo; import com.liquidnet.service.sweet.vo.SweetDouDouVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
/** /**
* <p> * <p>
...@@ -29,10 +31,22 @@ public class SweetDoudouController { ...@@ -29,10 +31,22 @@ public class SweetDoudouController {
@Autowired @Autowired
private ISweetDoudouService iSweetDoudouService; private ISweetDoudouService iSweetDoudouService;
@GetMapping("/active/list")
@ApiOperation("获取活动列表")
public ResponseDto<List<SweetDouDouActiveVo>> getActiveList() {
return iSweetDoudouService.getActiveList();
}
@GetMapping("/active/detail")
@ApiOperation("获取活动详情")
public ResponseDto<SweetDouDouActiveVo> getActiveDetail(@RequestParam(value = "activeId") String activeId){
return iSweetDoudouService.getActiveDetail(activeId);
}
@GetMapping("") @GetMapping("")
@ApiOperation("获取用户预约详情") @ApiOperation("获取用户预约详情")
public ResponseDto<SweetDouDouVo> info() { public ResponseDto<SweetDouDouVo> info(@RequestParam(value = "activeId") String activeId) {
return iSweetDoudouService.info(); return iSweetDoudouService.info(activeId);
} }
@PostMapping("") @PostMapping("")
...@@ -41,6 +55,8 @@ public class SweetDoudouController { ...@@ -41,6 +55,8 @@ public class SweetDoudouController {
return iSweetDoudouService.create(param); return iSweetDoudouService.create(param);
} }
// ################################## 二维码核销 ###############################################
@PostMapping("/detail") @PostMapping("/detail")
@ApiOperation("核验-码详情") @ApiOperation("核验-码详情")
public ResponseDto<SweetDouDouVo> detail(@Valid @RequestBody SweetDouDouCheckParam param) { public ResponseDto<SweetDouDouVo> detail(@Valid @RequestBody SweetDouDouCheckParam param) {
......
...@@ -4,17 +4,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -4,17 +4,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.sweet.entity.SweetDoudou; import com.liquidnet.service.sweet.entity.SweetDoudou;
import com.liquidnet.service.sweet.entity.SweetDoudouActive;
import com.liquidnet.service.sweet.mapper.SweetDoudouMapper; import com.liquidnet.service.sweet.mapper.SweetDoudouMapper;
import com.liquidnet.service.sweet.param.SweetDouDouCheckParam; import com.liquidnet.service.sweet.param.SweetDouDouCheckParam;
import com.liquidnet.service.sweet.param.SweetDouDouParam; import com.liquidnet.service.sweet.param.SweetDouDouParam;
import com.liquidnet.service.sweet.service.ISweetDoudouService; import com.liquidnet.service.sweet.service.ISweetDoudouService;
import com.liquidnet.service.sweet.utils.QueueUtils; import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.vo.SweetDouDouActiveVo;
import com.liquidnet.service.sweet.vo.SweetDouDouScopeVo; import com.liquidnet.service.sweet.vo.SweetDouDouScopeVo;
import com.liquidnet.service.sweet.vo.SweetDouDouVo; import com.liquidnet.service.sweet.vo.SweetDouDouVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -26,6 +29,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -26,6 +29,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream; import java.io.InputStream;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -44,32 +48,32 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -44,32 +48,32 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
QueueUtils queueUtils; QueueUtils queueUtils;
@Override @Override
public ResponseDto<SweetDouDouVo> info() { public ResponseDto<SweetDouDouVo> info(String activeId) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
SweetDouDouVo vo = redisDataUtils.getSweetDouDou(uid); SweetDouDouVo vo = redisDataUtils.getSweetDouDou(uid, activeId);
return ResponseDto.success(vo); return ResponseDto.success(vo);
} }
@Override @Override
public ResponseDto<SweetDouDouVo> create(SweetDouDouParam param) { public ResponseDto<SweetDouDouVo> create(SweetDouDouParam param) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
SweetDouDouVo vo = redisDataUtils.getSweetDouDou(uid); SweetDouDouVo vo = redisDataUtils.getSweetDouDou(uid, param.getActiveId());
if (null != vo) { if (null != vo) {
return ResponseDto.failure("您已经预约过啦~"); return ResponseDto.failure("您已经预约过啦~");
} }
String nextSnowId = IDGenerator.nextSnowId(); String nextSnowId = IDGenerator.nextSnowId();
String username = param.getUsername(); String username = param.getUsername();
String phone = param.getPhone(); String phone = param.getPhone();
String platform = param.getPlatform(); String activeId = param.getActiveId();
String orderCode = param.getOrderCode(); String imgUrl = param.getImgUrl();
String mark = param.getMark(); String mark = param.getMark();
SweetDouDouVo entityVo = SweetDouDouVo.getNew(); SweetDouDouVo entityVo = SweetDouDouVo.getNew();
entityVo.setDoudouId(nextSnowId); entityVo.setDoudouId(nextSnowId);
entityVo.setUsername(username); entityVo.setUsername(username);
entityVo.setPhone(phone); entityVo.setPhone(phone);
entityVo.setPlatform(platform); entityVo.setActiveId(activeId);
entityVo.setOrderCode(orderCode); entityVo.setImgUrl(imgUrl);
entityVo.setMark(mark); entityVo.setMark(mark);
entityVo.setUserId(uid); entityVo.setUserId(uid);
entityVo.setStatus(1); entityVo.setStatus(1);
...@@ -79,7 +83,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -79,7 +83,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("sweet_doudou.insert")); sqls.add(SqlMapping.get("sweet_doudou.insert"));
sqlsDataA.add(new Object[]{ sqlsDataA.add(new Object[]{
nextSnowId, uid, username, phone, platform, orderCode, mark nextSnowId, uid, username, phone, activeId, imgUrl, mark
}); });
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_ANSWER_INSERT.getKey(), queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_ANSWER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA)); SqlMapping.gets(sqls, sqlsDataA));
...@@ -96,7 +100,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -96,7 +100,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure(ErrorMapping.get("20003"));
} }
SweetDouDouVo vo = redisDataUtils.getSweetDouDou(param.getUserId()); SweetDouDouVo vo = redisDataUtils.getSweetDouDou(param.getUserId(), param.getActiveId());
if (null == vo) { if (null == vo) {
return ResponseDto.failure(ErrorMapping.get("90091")); return ResponseDto.failure(ErrorMapping.get("90091"));
} }
...@@ -135,7 +139,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -135,7 +139,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
log.info("无权核验, authMoible: {}", param.getAuthMobile()); log.info("无权核验, authMoible: {}", param.getAuthMobile());
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure(ErrorMapping.get("20003"));
} }
SweetDouDouVo vo = redisDataUtils.getSweetDouDou(param.getUserId()); SweetDouDouVo vo = redisDataUtils.getSweetDouDou(param.getUserId(), param.getActiveId());
if (vo == null) { if (vo == null) {
return ResponseDto.failure(ErrorMapping.get("90091")); return ResponseDto.failure(ErrorMapping.get("90091"));
} }
...@@ -154,7 +158,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -154,7 +158,7 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
} }
for (SweetDouDouVo fileDouDouVo : fileSweetDouDouVos) { for (SweetDouDouVo fileDouDouVo : fileSweetDouDouVos) {
SweetDouDouVo vo = redisDataUtils.getSweetDouDou(fileDouDouVo.getUserId()); SweetDouDouVo vo = redisDataUtils.getSweetDouDou(fileDouDouVo.getUserId(), fileDouDouVo.getActiveId());
if (vo != null) { if (vo != null) {
vo.setStatus(fileDouDouVo.getStatus()); vo.setStatus(fileDouDouVo.getStatus());
redisDataUtils.setSweetDouDou(vo); redisDataUtils.setSweetDouDou(vo);
...@@ -175,6 +179,93 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -175,6 +179,93 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
return true; return true;
} }
@Override
public ResponseDto<List<SweetDouDouActiveVo>> getActiveList() {
final String uid = CurrentUtil.getCurrentUid();
if (StringUtil.isBlank(uid)){
log.error("用户未登录");
return ResponseDto.success();
}
// 1. 获取活动列表,并设置进行状态
List<SweetDoudouActive> sweetDoudouActiveList = redisDataUtils.getSweetDouDouActive();
if (sweetDoudouActiveList.isEmpty()){
log.info("暂无活动");
return ResponseDto.success();
}
List<SweetDouDouActiveVo> sweetDouDouActiveVos = new ArrayList<>(sweetDoudouActiveList.size());
for (SweetDoudouActive doudouActive : sweetDoudouActiveList) {
SweetDouDouActiveVo douDouActiveVo = getSweetDouDouActiveVo(doudouActive);
if (douDouActiveVo == null) continue;
sweetDouDouActiveVos.add(douDouActiveVo);
}
return ResponseDto.success(sweetDouDouActiveVos);
}
private SweetDouDouActiveVo getSweetDouDouActiveVo(SweetDoudouActive doudouActive) {
// 1. 判断活动是否已经开始或结束
Integer activeStatus = checkActiveStatus(doudouActive.getBeginAt(), doudouActive.getEndAt());
if (activeStatus.equals(1)){
log.info("活动未开始, activeId: {}, title: {}.", doudouActive.getActiveId(), doudouActive.getTitle());
return null;
}
SweetDouDouActiveVo douDouActiveVo = SweetDouDouActiveVo.getNew().copy(doudouActive);
douDouActiveVo.setActiveStatus(activeStatus);
final String uid = CurrentUtil.getCurrentUid();
if (StringUtil.isBlank(uid)){
douDouActiveVo.setStatus(0);
} else {
SweetDouDouVo sweetDouDou = redisDataUtils.getSweetDouDou(uid, doudouActive.getActiveId());
if (sweetDouDou == null) {
douDouActiveVo.setStatus(0);
}else {
douDouActiveVo.setStatus(sweetDouDou.getStatus());
douDouActiveVo.setUserId(sweetDouDou.getUserId());
douDouActiveVo.setDoudouId(sweetDouDou.getDoudouId());
}
}
return douDouActiveVo;
}
public Integer checkActiveStatus(String beginAt, String endAt) {
final String nowTime = com.liquidnet.commons.lang.util.DateUtil.getNowTime();
if (null != beginAt && null != endAt && !beginAt.isEmpty() && !endAt.isEmpty()) {
if (com.liquidnet.commons.lang.util.DateUtil.compareStrDay(nowTime, beginAt) < 0) { // 当前时间小雨开始时间 还未开始呢
// 未开始
return 1;
} else if (com.liquidnet.commons.lang.util.DateUtil.compareStrDay(endAt, nowTime) < 0) { // 解释时间大于当前时间 已过期
// 已结束
return 3;
}else {
// 进行中
return 2;
}
}
return 3;
}
@Override
public ResponseDto<SweetDouDouActiveVo> getActiveDetail(String activeId) {
List<SweetDoudouActive> sweetDoudouActiveList = redisDataUtils.getSweetDouDouActive();
if (sweetDoudouActiveList.isEmpty()){
log.info("暂无活动");
return ResponseDto.success();
}
List<SweetDoudouActive> sweetDoudouActives = sweetDoudouActiveList.stream()
.filter(s -> s.getActiveId().equals(activeId))
.collect(Collectors.toList());
if (sweetDoudouActives.isEmpty()) {
log.info("暂无活动");
return ResponseDto.failure(ErrorMapping.get("90096"));
}
return ResponseDto.success(getSweetDouDouActiveVo(sweetDoudouActives.get(0)));
}
private List<SweetDouDouVo> getSweetDouDouVoListByFile(MultipartFile file) { private List<SweetDouDouVo> getSweetDouDouVoListByFile(MultipartFile file) {
// 1. 验证文件类型 // 1. 验证文件类型
if (!isExcelFile(file)) { if (!isExcelFile(file)) {
...@@ -199,12 +290,11 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet ...@@ -199,12 +290,11 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
SweetDouDouVo vo = SweetDouDouVo.getNew(); SweetDouDouVo vo = SweetDouDouVo.getNew();
vo.setDoudouId(getStringValue(row.getCell(0))); vo.setDoudouId(getStringValue(row.getCell(0)));
vo.setUserId(getStringValue(row.getCell(1))); vo.setUserId(getStringValue(row.getCell(1)));
vo.setUsername(getStringValue(row.getCell(2))); vo.setActiveId(getStringValue(row.getCell(2)));
vo.setPhone(getStringValue(row.getCell(3))); vo.setUsername(getStringValue(row.getCell(3)));
vo.setPlatform(getStringValue(row.getCell(4))); vo.setPhone(getStringValue(row.getCell(4)));
vo.setOrderCode(getStringValue(row.getCell(5))); vo.setImgUrl(getStringValue(row.getCell(5)));
vo.setMark(getStringValue(row.getCell(6))); String cell7 = getStringValue(row.getCell(6));
String cell7 = getStringValue(row.getCell(7));
vo.setStatus(cell7.equals("1") ? 3 : 2); vo.setStatus(cell7.equals("1") ? 3 : 2);
sweetDouDouVos.add(vo); sweetDouDouVos.add(vo);
......
...@@ -61,6 +61,9 @@ public class RedisDataUtils { ...@@ -61,6 +61,9 @@ public class RedisDataUtils {
private SweetIntegralActivityDrawMapper sweetIntegralActivityDrawMapper; private SweetIntegralActivityDrawMapper sweetIntegralActivityDrawMapper;
@Autowired @Autowired
private SweetDoudouScopeMapper sweetDoudouScopeMapper; private SweetDoudouScopeMapper sweetDoudouScopeMapper;
@Autowired
private SweetDoudouActiveMapper sweetDoudouActiveMapper;
@Autowired @Autowired
@Lazy @Lazy
private FeignSlimeApiClient feignSlimeApiClient; private FeignSlimeApiClient feignSlimeApiClient;
...@@ -462,12 +465,12 @@ public class RedisDataUtils { ...@@ -462,12 +465,12 @@ public class RedisDataUtils {
// doudou // doudou
public void setSweetDouDou(SweetDouDouVo vo) { public void setSweetDouDou(SweetDouDouVo vo) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_USER.concat(vo.getUserId()); String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_USER.concat(vo.getUserId()).concat(":activeId:" + vo.getActiveId());
redisUtil.set(redisKey, vo); redisUtil.set(redisKey, vo);
} }
public SweetDouDouVo getSweetDouDou(String uid) { public SweetDouDouVo getSweetDouDou(String uid, String activeId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_USER.concat(uid); String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_USER.concat(uid).concat(":activeId:" + activeId);
return (SweetDouDouVo) redisUtil.get(redisKey); return (SweetDouDouVo) redisUtil.get(redisKey);
} }
...@@ -490,7 +493,7 @@ public class RedisDataUtils { ...@@ -490,7 +493,7 @@ public class RedisDataUtils {
public void setSweetDouDouScopeVo(SweetDouDouScopeVo sweetDouDouScopeVo){ public void setSweetDouDouScopeVo(SweetDouDouScopeVo sweetDouDouScopeVo){
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE.concat(sweetDouDouScopeVo.getMobile()); String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE.concat(sweetDouDouScopeVo.getMobile());
redisUtil.set(redisKey, sweetDouDouScopeVo); redisUtil.set(redisKey, sweetDouDouScopeVo, RedisKeyExpireConst.SWEET_DOUDOU_SCOPE_MOBILE_EXPIRE);
} }
//草莓音乐节活动海报相关 //草莓音乐节活动海报相关
...@@ -966,4 +969,27 @@ public class RedisDataUtils { ...@@ -966,4 +969,27 @@ public class RedisDataUtils {
} }
} }
public List<SweetDoudouActive> getSweetDouDouActive() {
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_ACTIVE;
Object obj = redisUtil.get(redisKey);
if (obj == null) {
LambdaQueryWrapper<SweetDoudouActive> queryWrapper = new QueryWrapper<SweetDoudouActive>()
.lambda()
.eq(SweetDoudouActive::getStatus, 1)
.orderByDesc(SweetDoudouActive::getSort);
List<SweetDoudouActive> doudouActives = sweetDoudouActiveMapper.selectList(queryWrapper);
if (doudouActives.isEmpty()) {
return Collections.emptyList();
}
setSweetDouDouActive(doudouActives);
return doudouActives;
}else {
return (List<SweetDoudouActive>) obj;
}
}
public void setSweetDouDouActive(List<SweetDoudouActive> activeList){
String redisKey = SweetConstant.REDIS_KEY_SWEET_DOUDOU_ACTIVE;
redisUtil.set(redisKey, activeList, RedisKeyExpireConst.SWEET_DOUDOU_ACTIVE_EXPIRE);
}
} }
...@@ -10,3 +10,4 @@ ...@@ -10,3 +10,4 @@
90093=\u60A8\u672A\u4E2D\u7B7E 90093=\u60A8\u672A\u4E2D\u7B7E
90094=\u5DF2\u88AB\u6838\u9500 90094=\u5DF2\u88AB\u6838\u9500
90095=\u4E8C\u7EF4\u7801\u65E0\u6548 90095=\u4E8C\u7EF4\u7801\u65E0\u6548
90096=\u672A\u67E5\u8BE2\u5230\u8BE5\u6D3B\u52A8
kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=? WHERE order_ticket_entities_id=? # ------------------------\u7F3A\u7968\u767B\u8BB0(\u4E0D\u7528\u8003\u8651\u5E76\u53D1)---------------------------- kylin_lack_register.insert=INSERT INTO `kylin_lack_registers`(`lack_registers_id` ,`performance_id` ,`ticket_id` ,`user_id` ,`user_name` ,`user_mobile` ,`send_status` ,`ip_address` ,`created_at`)VALUES(? ,? ,? ,? ,? ,? ,? ,? ,?); # ------------------------\u652F\u4ED8\u56DE\u8C03---------------------------- kylin_order_ticket.synPay=UPDATE kylin_order_tickets SET payment_type = ? ,pay_code = ? , time_pay = ?, qr_code = ? , updated_at = ? WHERE order_tickets_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_status.synPay=UPDATE kylin_order_ticket_status SET `status` = ?,pay_status = ?,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_relation.synPay=UPDATE kylin_order_ticket_relations SET updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ?,sys_damai = 1 WHERE order_id = ? and (updated_at <= ? or created_at = ?) # ------------------------\u7528\u6237\u5173\u7CFB---------------------------- sweet_user_relation.insert=INSERT INTO sweet_user_relation (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation.delete=DELETE FROM sweet_user_relation WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_mdsk.insert=INSERT INTO sweet_user_relation_mdsk (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_five.insert=INSERT INTO sweet_user_relation_five (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_five.delete=DELETE FROM sweet_user_relation_five WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? # ------------------------\u62BD\u5956---------------------------- sweet_luck_draw.insert=INSERT INTO sweet_luck_draw (mobile,union_id,luck_draw_num,prize,prize_all,status,created_at) VALUES (?,?,?,?,?,1,?) # --------------------------\u7B54\u6848-------------------------- sweet_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?) sweet_doudou.insert=INSERT INTO sweet_doudou (doudou_id,user_id,username,phone,platform,order_code,mark) VALUES (?,?,?,?,?,?,?) sweet_doudou.update=UPDATE sweet_doudou SET STATUS = ?, updated_at = ? WHERE doudou_id = ? # --------------------------\u63D0\u9192\u8BB0\u5F55-------------------------- sweet_remind.insert=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?) sweet_applet_sub_msg.insert=INSERT INTO sweet_applet_sub_msg (msg_id,open_id,union_id,user_id,template_id,target_id,applet_type,activity_type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u7528\u6237\u6295\u7968\u8BB0\u5F55-------------------------- sweet_city_vote.insert=INSERT INTO sweet_city_vote (vote_id,phone,openId,unionId,type,city_code,city_name,day_time) VALUES (?,?,?,?,?,?,?,?) sweet_city_vote_stat.insert=INSERT INTO sweet_city_vote_stat (stat_id,city_code,city_name,vote_num,type) VALUES (?,?,?,?,?) sweet_city_vote_stat.update=UPDATE sweet_city_vote_stat SET vote_num = IFNULL(vote_num, 0) + 1, updated_at = ? WHERE city_code = ? AND type = ? # --------------------------\u9632\u75AB\u7B54\u9898-------------------------- sweet_antigenic_question.insert=INSERT INTO sweet_antigenic_question (question_id,type,openId,unionId,nickname,address,phone,urgent_phone,keyword1,keyword11,keyword2,keyword3,keyword4,keyword5,keyword6,keyword7) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) # ------------------------\u79EF\u5206\u62BD\u5956---------------------------- sweet_integral_activity_draw.insert=INSERT INTO sweet_integral_activity_draw (draw_id,integral_activity_id,activity_num,prize_id,prize_title,prize_type,prize_type_num,user_id,nickname,receiving_status) VALUES (?,?,?,?,?,?,?,?,?,?) sweet_integral_activity_draw.update=UPDATE sweet_integral_activity_draw SET receiving_addresses_id = ?, receiving_name = ?, receiving_phone = ?, receiving_address = ?, receiving_province = ?, receiving_city = ?, receiving_county = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.updateStatus=UPDATE sweet_integral_activity_draw SET receiving_status = ?, relation_id = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.get_coupon=INSERT INTO candy_mgt_coupon (mcoupon_id, coupon_id, `state`, event_amt, event_type, event_limit, event_at, `operator`, created_at) VALUES (?, ?, 0, ?, 2, ?, ?, ?, ?) # --------------------------\u5C0F\u7A0B\u5E8F\u767B\u5F55\u8BB0\u5F55\u7528\u6237\u89E3\u5BC6\u540E\u4FE1\u606F-------------------------- sweet_applet_users.insert=INSERT INTO sweet_applet_users (applet_user_id,user_id,open_id,union_id,phone_number,pure_phone_number,country_code,type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u5FAE\u4FE1\u7528\u6237\u4FE1\u606F\u8868\u516C\u4F17\u53F7-------------------------- sweet_wechat_users.insert=INSERT INTO sweet_wechat_users (wechat_user_id,type,open_id,union_id,nickname,sex_desc,sex,head_img_url,language,country,province,city,subscribe_time,subscribe_scene) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) sweet_wechat_users.delete=DELETE FROM sweet_wechat_users WHERE union_id = ? and type = ? sweet_wechat_users.update=UPDATE sweet_wechat_users SET is_cancel = ?, updated_at = ? WHERE union_id = ? AND type = ? AND is_cancel = 1 #---------------------------\u97F3\u4E50\u8282\u6D3B\u52A8\u6D77\u62A5-------------------------------- sweet_strawberry_poster_user=INSERT INTO sweet_strawberry_poster(open_id,poster_id,union_id,nickname,city_name,city_code,custom_text,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?) sweet_strawberry_poster_Musician=INSERT INTO sweet_strawberry_poster_lineup(lineup_id,poster_id,lineup_num,musician_name,created_at,updated_at) VALUES (?,?,?,?,?,?) #---------------------------\u732B\u767B\u5929\u7A7A-------------------------------- sweet_wechat_maodeng.insert=INSERT INTO sweet_wechat_maodeng(mao_id,user_id,text_msg,pic_url,img_url,created_at) VALUES (?,?,?,?,?,?) sweet_wechat_maodeng.text.update=UPDATE sweet_wechat_maodeng SET text_msg=? WHERE user_id=? AND mao_id=? sweet_wechat_maodeng.img.update=UPDATE sweet_wechat_maodeng SET img_url=? WHERE user_id=? AND mao_id=? # --------------------------\u6570\u5B57\u85CF\u54C1\u9884\u7EA6\u6D3B\u52A8-------------------------- sweet_collection_reservation.insert=INSERT INTO sweet_collection_reservation (reservation_id,nickname,mobile,mailbox,enterprise_name,title,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?) # --------------------------YB??-------------------------- sweet_yb_enroll.insert=INSERT INTO sweet_yb_enroll (enroll_id,contact_tell,contact_wechat,nickname,style,img_url,audio_url,universities,city_name,activity_id,age) VALUES (?,?,?,?,?,?,?,?,?,?,?) kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=? WHERE order_ticket_entities_id=? # ------------------------\u7F3A\u7968\u767B\u8BB0(\u4E0D\u7528\u8003\u8651\u5E76\u53D1)---------------------------- kylin_lack_register.insert=INSERT INTO `kylin_lack_registers`(`lack_registers_id` ,`performance_id` ,`ticket_id` ,`user_id` ,`user_name` ,`user_mobile` ,`send_status` ,`ip_address` ,`created_at`)VALUES(? ,? ,? ,? ,? ,? ,? ,? ,?); # ------------------------\u652F\u4ED8\u56DE\u8C03---------------------------- kylin_order_ticket.synPay=UPDATE kylin_order_tickets SET payment_type = ? ,pay_code = ? , time_pay = ?, qr_code = ? , updated_at = ? WHERE order_tickets_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_status.synPay=UPDATE kylin_order_ticket_status SET `status` = ?,pay_status = ?,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_relation.synPay=UPDATE kylin_order_ticket_relations SET updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ?,sys_damai = 1 WHERE order_id = ? and (updated_at <= ? or created_at = ?) # ------------------------\u7528\u6237\u5173\u7CFB---------------------------- sweet_user_relation.insert=INSERT INTO sweet_user_relation (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation.delete=DELETE FROM sweet_user_relation WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_mdsk.insert=INSERT INTO sweet_user_relation_mdsk (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_five.insert=INSERT INTO sweet_user_relation_five (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_five.delete=DELETE FROM sweet_user_relation_five WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? # ------------------------\u62BD\u5956---------------------------- sweet_luck_draw.insert=INSERT INTO sweet_luck_draw (mobile,union_id,luck_draw_num,prize,prize_all,status,created_at) VALUES (?,?,?,?,?,1,?) # --------------------------\u7B54\u6848-------------------------- sweet_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?) sweet_doudou.insert=INSERT INTO sweet_doudou (doudou_id,user_id,username,phone,active_id,img_url,mark) VALUES (?,?,?,?,?,?,?) sweet_doudou.update=UPDATE sweet_doudou SET STATUS = ?, updated_at = ? WHERE doudou_id = ? # --------------------------\u63D0\u9192\u8BB0\u5F55-------------------------- sweet_remind.insert=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?) sweet_applet_sub_msg.insert=INSERT INTO sweet_applet_sub_msg (msg_id,open_id,union_id,user_id,template_id,target_id,applet_type,activity_type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u7528\u6237\u6295\u7968\u8BB0\u5F55-------------------------- sweet_city_vote.insert=INSERT INTO sweet_city_vote (vote_id,phone,openId,unionId,type,city_code,city_name,day_time) VALUES (?,?,?,?,?,?,?,?) sweet_city_vote_stat.insert=INSERT INTO sweet_city_vote_stat (stat_id,city_code,city_name,vote_num,type) VALUES (?,?,?,?,?) sweet_city_vote_stat.update=UPDATE sweet_city_vote_stat SET vote_num = IFNULL(vote_num, 0) + 1, updated_at = ? WHERE city_code = ? AND type = ? # --------------------------\u9632\u75AB\u7B54\u9898-------------------------- sweet_antigenic_question.insert=INSERT INTO sweet_antigenic_question (question_id,type,openId,unionId,nickname,address,phone,urgent_phone,keyword1,keyword11,keyword2,keyword3,keyword4,keyword5,keyword6,keyword7) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) # ------------------------\u79EF\u5206\u62BD\u5956---------------------------- sweet_integral_activity_draw.insert=INSERT INTO sweet_integral_activity_draw (draw_id,integral_activity_id,activity_num,prize_id,prize_title,prize_type,prize_type_num,user_id,nickname,receiving_status) VALUES (?,?,?,?,?,?,?,?,?,?) sweet_integral_activity_draw.update=UPDATE sweet_integral_activity_draw SET receiving_addresses_id = ?, receiving_name = ?, receiving_phone = ?, receiving_address = ?, receiving_province = ?, receiving_city = ?, receiving_county = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.updateStatus=UPDATE sweet_integral_activity_draw SET receiving_status = ?, relation_id = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.get_coupon=INSERT INTO candy_mgt_coupon (mcoupon_id, coupon_id, `state`, event_amt, event_type, event_limit, event_at, `operator`, created_at) VALUES (?, ?, 0, ?, 2, ?, ?, ?, ?) # --------------------------\u5C0F\u7A0B\u5E8F\u767B\u5F55\u8BB0\u5F55\u7528\u6237\u89E3\u5BC6\u540E\u4FE1\u606F-------------------------- sweet_applet_users.insert=INSERT INTO sweet_applet_users (applet_user_id,user_id,open_id,union_id,phone_number,pure_phone_number,country_code,type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u5FAE\u4FE1\u7528\u6237\u4FE1\u606F\u8868\u516C\u4F17\u53F7-------------------------- sweet_wechat_users.insert=INSERT INTO sweet_wechat_users (wechat_user_id,type,open_id,union_id,nickname,sex_desc,sex,head_img_url,language,country,province,city,subscribe_time,subscribe_scene) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) sweet_wechat_users.delete=DELETE FROM sweet_wechat_users WHERE union_id = ? and type = ? sweet_wechat_users.update=UPDATE sweet_wechat_users SET is_cancel = ?, updated_at = ? WHERE union_id = ? AND type = ? AND is_cancel = 1 #---------------------------\u97F3\u4E50\u8282\u6D3B\u52A8\u6D77\u62A5-------------------------------- sweet_strawberry_poster_user=INSERT INTO sweet_strawberry_poster(open_id,poster_id,union_id,nickname,city_name,city_code,custom_text,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?) sweet_strawberry_poster_Musician=INSERT INTO sweet_strawberry_poster_lineup(lineup_id,poster_id,lineup_num,musician_name,created_at,updated_at) VALUES (?,?,?,?,?,?) #---------------------------\u732B\u767B\u5929\u7A7A-------------------------------- sweet_wechat_maodeng.insert=INSERT INTO sweet_wechat_maodeng(mao_id,user_id,text_msg,pic_url,img_url,created_at) VALUES (?,?,?,?,?,?) sweet_wechat_maodeng.text.update=UPDATE sweet_wechat_maodeng SET text_msg=? WHERE user_id=? AND mao_id=? sweet_wechat_maodeng.img.update=UPDATE sweet_wechat_maodeng SET img_url=? WHERE user_id=? AND mao_id=? # --------------------------\u6570\u5B57\u85CF\u54C1\u9884\u7EA6\u6D3B\u52A8-------------------------- sweet_collection_reservation.insert=INSERT INTO sweet_collection_reservation (reservation_id,nickname,mobile,mailbox,enterprise_name,title,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?) # --------------------------YB??-------------------------- sweet_yb_enroll.insert=INSERT INTO sweet_yb_enroll (enroll_id,contact_tell,contact_wechat,nickname,style,img_url,audio_url,universities,city_name,activity_id,age) VALUES (?,?,?,?,?,?,?,?,?,?,?)
\ No newline at end of file \ No newline at end of file
......
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