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

Commit 4c872b0f authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/jxl_2262_exchange_ext' into pre

parents cb73e80b 7156bc99
......@@ -91,11 +91,17 @@ public class GoblinNftExActivityVo implements Serializable, Cloneable {
/**
*
* 是否展示生效中
*/
@ApiModelProperty(position = 18, required = true, value = "是否展示生效中 0:否 1:是")
private Integer isDisplay;
/**
* 是否展示延期按钮
*/
@ApiModelProperty(position = 19, required = true, value = "是否展示延期按钮 0不展示 1展示")
private Integer isDelay;
private final static GoblinNftExActivityVo obj = new GoblinNftExActivityVo();
......
package com.liquidnet.service.goblin.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value = "GoblinNftExActivityDelayParam", description = "该活动下兑换码延期入参")
@Data
public class GoblinNftExActivityDelayParam implements Serializable {
private static final long serialVersionUID = 5608646910502058970L;
@ApiModelProperty(position = 10, required = true, value = "老的活动id")
@NotBlank(message = "老的活动i不能为空")
private String activityId;
@ApiModelProperty(position = 11, required = true, value = "活动标题", example = "")
@NotBlank(message = "活动标题不能为空")
private String title;
@ApiModelProperty(position = 12, required = true, value = "用户id", example = "")
@NotBlank(message = "用户id不能为空")
private String uid;
@ApiModelProperty(position = 12, required = true, value = "开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@NotNull(message = "开始时间不能为空")
private LocalDateTime startTime;
@ApiModelProperty(position = 13, required = true, value = "结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@NotNull(message = "结束时间不能为空")
private LocalDateTime endTime;
}
......@@ -7,32 +7,31 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value ="GoblinNftExActivityParam",description = "添加方法入参")
@ApiModel(value = "GoblinNftExActivityParam", description = "添加方法入参")
@Data
public class GoblinNftExActivityParam implements Serializable {
@ApiModelProperty(position = 10,required = false,value = "nft活动id")
@ApiModelProperty(position = 10, required = false, value = "nft活动id")
private String activityId;
@ApiModelProperty(position = 11,required = true,value = "活动标题" ,example = "草莓音乐节")
@ApiModelProperty(position = 11, required = true, value = "活动标题", example = "")
private String title;
@ApiModelProperty(position = 12,required = true,value = "用户id",example = "用户id")
@ApiModelProperty(position = 12, required = true, value = "用户id", example = "")
private String uid;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 12,required = false,value = "开始时间")
@ApiModelProperty(position = 12, required = false, value = "开始时间")
private LocalDateTime startTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 13,required = false,value = "结束时间")
@ApiModelProperty(position = 13, required = false, value = "结束时间")
private LocalDateTime endTime;
@ApiModelProperty(position = 14,required = true,value = "当前页(查询时传入)")
@ApiModelProperty(position = 14, required = true, value = "当前页(查询时传入)", example = "1")
private Integer pageNum;
}
......
......@@ -5,6 +5,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo;
import com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo;
import com.liquidnet.service.goblin.dto.vo.PageInfoVo;
import com.liquidnet.service.goblin.param.GoblinNftExActivityDelayParam;
import com.liquidnet.service.goblin.param.GoblinNftExActivityParam;
import javax.servlet.http.HttpServletResponse;
......@@ -43,4 +44,6 @@ public interface IGoblinNftExActivityService {
* @param goblinNftExActivityParam
*/
void excel(HttpServletResponse httpServletResponse, GoblinNftExActivityParam goblinNftExActivityParam);
ResponseDto delay(GoblinNftExActivityDelayParam goblinNftExActivityDelayParam);
}
package com.liquidnet.service.goblin.dto;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class GoblinNftExCodeNumDto {
private String activityId;
private String storeId;
private String spuId;
private String skuId;
private String unbox;
private LocalDateTime exStartTime;
private LocalDateTime exStopTime;
private Integer num;
private String boxSkuId;
}
......@@ -37,6 +37,11 @@ public class GoblinNftExActivity implements Serializable,Cloneable {
*/
private String title;
/**
* 延期后的新活动id
*/
private String newActivityId;
/**
* 创建时间
*/
......
......@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -60,6 +62,23 @@ public class GoblinNftExCodeTask implements Serializable {
}
}
public GoblinNftExCodeTask copy(GoblinNftExCodeNumDto vo) {
if (null == vo) return this;
this.setActivityId(vo.getActivityId());
this.setStoreId(vo.getStoreId());
this.setSpuId(vo.getSpuId());
this.setSkuId(vo.getSkuId());
this.setUnbox(vo.getUnbox());
this.setExStock(vo.getNum());
this.setExLimit(0);
this.setExStartTime(vo.getExStartTime());
this.setExStopTime(vo.getExStopTime());
this.setTyp(1);
return this;
}
}
package com.liquidnet.service.goblin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto;
import com.liquidnet.service.goblin.entity.GoblinNftExSku;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -32,4 +33,8 @@ public interface GoblinNftExSkuMapper extends BaseMapper<GoblinNftExSku> {
* @return
*/
List<GoblinNftExSku> selectGoblinNftExSkuByActivityIds(@Param("activityIds")String activityIds);
List<GoblinNftExCodeNumDto> selectExCodeNumAll(@Param("oldActivityId") String oldActivityId);
List<GoblinNftExCodeNumDto> selectExCodeNumBox(@Param("oldActivityId") String oldActivityId, @Param("skuId") String skuId);
}
......@@ -6,6 +6,7 @@
<result column="activity_id" property="activityId" jdbcType="VARCHAR"/>
<result column="uid" property="uid" jdbcType="VARCHAR"/>
<result column="title" property="title" jdbcType="VARCHAR"/>
<result column="new_activity_id" property="newActivityId" jdbcType="VARCHAR"/>
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
</resultMap>
......@@ -17,7 +18,7 @@
</select>
<select id="selectPageList" resultMap="BaseResult">
select activity_id,uid,title,created_at from goblin_nft_ex_activity
select activity_id,uid,title,created_at,new_activity_id from goblin_nft_ex_activity
<where>
<if test="uid != null and uid != ''">
and uid = #{uid,jdbcType=VARCHAR}
......@@ -37,7 +38,7 @@
</select>
<select id="selectByActivityId" resultMap="BaseResult">
select activity_id, title, created_at
select activity_id, title, new_activity_id,created_at
from goblin_nft_ex_activity
where activity_id = #{activityId,jdbcType=VARCHAR}
</select>
......
......@@ -17,14 +17,39 @@
<select id="selectGoblinNftExSkuByActivityIds" resultMap="BaseResult">
select activity_id,sku_id,unbox,store_id,ex_start_time,ex_stop_time from goblin_nft_ex_sku where
activity_id in
<foreach collection="activityIds.split(',')" item="activityId" open="(" separator="," close=")" >
#{activityId,jdbcType=VARCHAR}
</foreach>
activity_id in
<foreach collection="activityIds.split(',')" item="activityId" open="(" separator="," close=")">
#{activityId,jdbcType=VARCHAR}
</foreach>
</select>
<select id="selectExCodeNumAll" resultType="com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto">
select gnes.activity_id, gnes.store_id, gnes.spu_id, gnes.sku_id, gnes.unbox, gnes.ex_start_time, gnes.ex_stop_time, count(*) as num, gnec.box_sku_id
from goblin_nft_ex_sku as gnes
left join goblin_nft_ex_code as gnec on gnes.activity_id = gnec.activity_id and gnes.sku_id =
gnec.sku_id
<where>
gnes.activity_id = #{oldActivityId}
and (gnec.state = 3 or (gnec.state = 1 and gnes.ex_stop_time <![CDATA[<]]> NOW()))
group by gnes.sku_id
</where>
</select>
<select id="selectExCodeNumBox" resultType="com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto">
select gnes.activity_id, gnes.store_id, gnes.spu_id, gnes.sku_id, gnes.unbox, gnes.ex_start_time, gnes.ex_stop_time, count(*) as num, gnec.box_sku_id
from goblin_nft_ex_sku as gnes
left join goblin_nft_ex_code as gnec on gnes.activity_id = gnec.activity_id and gnes.sku_id =
gnec.sku_id
<where>
gnes.activity_id = #{oldActivityId}
and gnes.sku_id = #{skuId}
and (gnec.state = 3 or (gnec.state = 1 and gnes.ex_stop_time <![CDATA[<]]> NOW()))
and gnes.unbox = '1'
group by gnec.box_sku_id
</where>
</select>
<insert id="addGoblinNftExSkus">
insert into goblin_nft_ex_sku (activity_id,spu_id,sku_id,store_id,unbox,ex_stock,ex_limit,ex_start_time,ex_stop_time,created_at)
insert into goblin_nft_ex_sku
(activity_id,spu_id,sku_id,store_id,unbox,ex_stock,ex_limit,ex_start_time,ex_stop_time,created_at)
values
<foreach collection="goblinNftExSkus" item="goblinNftExSku" separator=",">
(
......
......@@ -38,6 +38,8 @@ CREATE TABLE `goblin_nft_ex_activity`
PRIMARY KEY (`mid`) USING BTREE,
INDEX `idx_nft_activity_id`(`activity_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'NFT兑换活动表' ROW_FORMAT = Dynamic;
ALTER TABLE `goblin_nft_ex_activity` ADD `new_activity_id` varchar(64) NOT NULL DEFAULT '' COMMENT '延期后的新活动id' after title;
......
package com.liquidnet.service.platform.controller.goblin.activity;
import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo;
import com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo;
import com.liquidnet.service.goblin.dto.vo.PageInfoVo;
import com.liquidnet.service.goblin.param.GoblinNftExActivityDelayParam;
import com.liquidnet.service.goblin.param.GoblinNftExActivityParam;
import com.liquidnet.service.goblin.service.IGoblinNftExActivityService;
import io.swagger.annotations.Api;
......@@ -64,4 +63,11 @@ public class GoblinNftExActivityController {
iGoblinNftExActivityService.excel(httpServletResponse, goblinNftExActivityParam);
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "该活动下兑换码延期")
@PutMapping("delay")
public ResponseDto delay(@Valid @RequestBody GoblinNftExActivityDelayParam goblinNftExActivityDelayParam) {
return iGoblinNftExActivityService.delay(goblinNftExActivityDelayParam);
}
}
......@@ -335,7 +335,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
if (StringUtil.isNotBlank(gnc.getBoxSkuId()) && gnc.getSkuId().equals(goblinNftExSku.getSkuId())) {
gnc.setExStartTime(goblinNftExSku.getExStartTime());
gnc.setExStopTime(goblinNftExSku.getExStopTime());
if (now.isAfter(goblinNftExSku.getExStopTime())) {
if (now.isAfter(goblinNftExSku.getExStopTime()) && !gnc.getState().equals(2)) {
gnc.setState(3);
}
break;
......@@ -343,7 +343,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
if (gnc.getSkuId().equals(goblinNftExSku.getSkuId())) {
gnc.setExStartTime(goblinNftExSku.getExStartTime());
gnc.setExStopTime(goblinNftExSku.getExStopTime());
if (now.isAfter(goblinNftExSku.getExStopTime())) {
if (now.isAfter(goblinNftExSku.getExStopTime()) && !gnc.getState().equals(2)) {
gnc.setState(3);
}
break;
......@@ -401,7 +401,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
}
phonestr.append(data.getPhone()).append(",");
phoneList.add(data.getPhone());
if(phoneList.size()>100){
if (phoneList.size() > 100) {
break;
}
}
......@@ -412,7 +412,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
return ResponseDto.failure("解析文件失败!");
}
if(phoneList.size()>=100){
if (phoneList.size() >= 100) {
return ResponseDto.failure("批量空投暂时数量不能大于100");
}
......
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