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

Commit 22dd369b authored by 张禹's avatar 张禹

Merge branch 'pre' into 'master'

Pre

See merge request !225
parents caa77296 00c26d0a
...@@ -22,6 +22,11 @@ ...@@ -22,6 +22,11 @@
<artifactId>liquidnet-service-goblin-do</artifactId> <artifactId>liquidnet-service-goblin-do</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -124,19 +124,12 @@ public class GoblinRedisConst { ...@@ -124,19 +124,12 @@ public class GoblinRedisConst {
public static final String REDIS_GOBLIN_TEMP_COUPON = PREFIX.concat("temp:coupon:");//详情 $key:$ucouponId public static final String REDIS_GOBLIN_TEMP_COUPON = PREFIX.concat("temp:coupon:");//详情 $key:$ucouponId
/* --------------------------------NFT--------------------------------- */ /* --------------------------------NFT--------------------------------- */
/*public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nftOrder:");// nft订单详情 orderId
public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nftOrder:orderCode:");// nft订单ID获取 orderCode
public static final String REDIS_GOBLIN_NFT_ORDER_USER_ID_LIST = PREFIX.concat("nftOrder:idList:user:");// nft用户订单id列表 userId
public static final String REDIS_GOBLIN_NFT_ORDER_REFUND_INFO = PREFIX.concat("nftOrder:refund:");// nft退款订单详情 orderId
public static final String REDIS_GOBLIN_NFT_ORDER_BUG_LOCK = PREFIX.concat("nftOrder:lock:userId:");// nft购买用户锁 userId
public static final String REDIS_GOBLIN_NFT_GOODS_LIST = PREFIX.concat("nftGoodsList");// nft商品列表
public static final String REDIS_GOBLIN_NFT_NUM_ACCOUNT = PREFIX.concat("nftNumAccount:");// nft用户数字账户是否开通 userId*/
public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nft:order:id:");// nft订单详情 orderId public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nft:order:id:");// nft订单详情 orderId
public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nft:order:code:");// nft订单ID获取 orderCode public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nft:order:code:");// nft订单ID获取 orderCode
public static final String REDIS_GOBLIN_NFT_ORDER_USER_ID_LIST = PREFIX.concat("nft:order:idList:");// nft用户订单id列表 userId public static final String REDIS_GOBLIN_NFT_ORDER_USER_ID_LIST = PREFIX.concat("nft:order:idList:");// nft用户订单id列表 userId
public static final String REDIS_GOBLIN_NFT_ORDER_REFUND_INFO = PREFIX.concat("nft:order:refund:");// nft退款订单详情 orderId public static final String REDIS_GOBLIN_NFT_ORDER_REFUND_INFO = PREFIX.concat("nft:order:refund:");// nft退款订单详情 orderId
public static final String REDIS_GOBLIN_NFT_ORDER_BUG_LOCK = PREFIX.concat("nft:order:lock:");// nft购买用户锁 userId public static final String REDIS_GOBLIN_NFT_ORDER_BUG_LOCK = PREFIX.concat("nft:order:lock:");// nft购买用户锁 userId
public static final String REDIS_GOBLIN_NFT_ORDER_EX_LOCK = PREFIX.concat("nft:order:exLock:");// nft兑换码锁 code
public static final String REDIS_GOBLIN_NFT_GOODS_LIST = PREFIX.concat("nft:goodsList");// nft商品列表 public static final String REDIS_GOBLIN_NFT_GOODS_LIST = PREFIX.concat("nft:goodsList");// nft商品列表
public static final String REDIS_GOBLIN_NFT_NUM_ACCOUNT = PREFIX.concat("nft:account:");// nft用户数字账户是否开通 userId public static final String REDIS_GOBLIN_NFT_NUM_ACCOUNT = PREFIX.concat("nft:account:");// nft用户数字账户是否开通 userId
...@@ -234,15 +227,85 @@ public class GoblinRedisConst { ...@@ -234,15 +227,85 @@ public class GoblinRedisConst {
/** /**
* skuId保存预约用户头像 * skuId保存预约用户头像
* {anticipate:skuId:avatar:${skuId},List<String>} * {anticipate:skuId:avatar:${skuId},List<String>}
*/ */
public static final String ANTICIPATE_SKUID_AVATAR = PREFIX.concat("anticipate:skuId:avatar:"); public static final String ANTICIPATE_SKUID_AVATAR = PREFIX.concat("anticipate:skuId:avatar:");
public static final String ANTICIPATE_VALUE_SKUID = PREFIX.concat("anticipate:value:skuid:"); public static final String ANTICIPATE_VALUE_SKUID = PREFIX.concat("anticipate:value:skuid:");
public static final String NFT_PAY_TYPE = PREFIX.concat("nft:payType"); public static final String NFT_PAY_TYPE = PREFIX.concat("nft:payType");
/**
* nft兑换活动配置
*/
public static final String NFT_EX_ACTIVITY = PREFIX.concat("nft:ex:activity:");
/**
* nft兑换活动和sku的关联
*/
public static final String NFT_EX_SKU = PREFIX.concat("nft:ex:sku:");
/**
* 兑换码
*/
public static final String NFT_EX_CODE = PREFIX.concat("nft:ex:code:");
/**
* 用户sku兑换数量 activityId、skuId、userId
*/
public static final String REDIS_GOBLIN_EX_BUY_COUNT = PREFIX.concat("nft:ex:buy:");
/**
* 用户助力
*/
public static final String ANTICIPATE_SHARE_UID_SKUID = PREFIX.concat("anticipate:share:uid:skuId:");
/**
* skuId助力所需人数
*/
public static final String ANTICIPATE_SHARE_SKUID_PEOPLE = PREFIX.concat("anticipate:share:skuId:people:");
/**
* 助力头像保存
*/
public static final String ANTICIPATE_SHARE_HELP_AVATAR = PREFIX.concat("anticipate:share:help:avatar:");
/**
* 创建分享vo
*/
public static final String ANTICIPATE_SHARE_VO = PREFIX.concat("anticipate:share:help:vo:");
/**
* 用户助力 助力人id:分享id
*/
public static final String ANTICIPATE_SHARE_HELPID_SID = PREFIX.concat("anticipate:share:helpId:sid:");
/**
* 助力sid
*/
public static final String ANTICIPATE_SHARE_SID = PREFIX.concat("anticipate:share:sid:");
/**
* 活动兑换码
*/
public static final String ACTIVITY_SKU_CODE = PREFIX.concat("activity:sku:code:");
/**
* 兑换码sku时间
*/
public static final String ACTIVITY_SKU_TIME = PREFIX.concat("activity:sku:time:");
/**
* 是否购买过技术数字藏品
*/
public static final String BUY_NFT_TEC = PREFIX.concat("buy:nft:tec:");// $key+$uid 是否购买过技术数字藏品
/**
* 是否开启技术数字藏品特效
*/
public static final String OPEN_NFT_TEC = PREFIX.concat("open:nft:tec:");//$key+$uid 是否开启技术数字藏品特效
/* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */
......
...@@ -199,6 +199,7 @@ public class GoblinStatusConst { ...@@ -199,6 +199,7 @@ public class GoblinStatusConst {
ORDER_TYPE_1(1, "购买订单"), ORDER_TYPE_1(1, "购买订单"),
ORDER_TYPE_2(2, "兑换订单"), ORDER_TYPE_2(2, "兑换订单"),
ORDER_TYPE_3(3, "演出赠送订单"), ORDER_TYPE_3(3, "演出赠送订单"),
ORDER_TYPE_4(4, "空投订单"),
; ;
......
...@@ -8,28 +8,43 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -8,28 +8,43 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigInteger;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
*
* @author liquidnet * @author liquidnet
* @since 2022-04-07 * @since 2022-04-07
*/ */
@ApiModel(value = "GoblinGoodsAnticipateParam", description = "预约") @ApiModel(value = "GoblinGoodsAnticipateParam", description = "创建预约")
@Data @Data
public class GoblinGoodsAnticipateAddParam { public class GoblinGoodsAnticipateAddParam {
/**
* 预约名称
*/
// @ApiModelProperty(value = "预约名称")
// @NotBlank(message = "预约名称")
// private String name;
/** /**
* 预约规则 * 预约规则
*/ */
@ApiModelProperty(value = "预约规则") @ApiModelProperty(required = true,value = "预约规则")
@NotBlank(message = "预约规则") @NotBlank(message = "预约规则")
private String rule; private String rule;
@ApiModelProperty(required = true, value = "预约类型(1:预约提醒,2:预约获得购买资格)")
@NotNull(message = "预约类型")
private int type;
@ApiModelProperty(value = "预约人数(达到一定人数可以预约)")
private Integer people;
@ApiModelProperty("sku信息") @ApiModelProperty(required = true,value = "sku信息")
@NotNull(message = "skuList并不能为空")
private List<GoblinGoodsAnticipateValueAddParam> list; private List<GoblinGoodsAnticipateValueAddParam> list;
......
...@@ -10,6 +10,7 @@ import java.util.List; ...@@ -10,6 +10,7 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -24,6 +25,7 @@ import javax.validation.constraints.NotBlank; ...@@ -24,6 +25,7 @@ import javax.validation.constraints.NotBlank;
* @author liquidnet * @author liquidnet
* @since 2022-04-08 * @since 2022-04-08
*/ */
@ApiModel(value = "GoblinGoodsAnticipateParam", description = "创建关联sku和spu表")
@Data @Data
public class GoblinGoodsAnticipateValueAddParam { public class GoblinGoodsAnticipateValueAddParam {
...@@ -32,28 +34,28 @@ public class GoblinGoodsAnticipateValueAddParam { ...@@ -32,28 +34,28 @@ public class GoblinGoodsAnticipateValueAddParam {
/** /**
* sku名称 * sku名称
*/ */
@ApiModelProperty(value = "sku名称") @ApiModelProperty(required = true,value = "sku名称")
@NotBlank(message = "skuName不能为空") @NotBlank(message = "skuName不能为空")
private String skuName; private String skuName;
/** /**
* sku_id 对应 goblin_goods_sku.sku_id * sku_id 对应 goblin_goods_sku.sku_id
*/ */
@ApiModelProperty(value = "sku_id 对应 goblin_goods_sku.sku_id") @ApiModelProperty(required = true,value = "sku_id 对应 goblin_goods_sku.sku_id")
@NotBlank(message = "skuId不能为空") @NotBlank(message = "skuId不能为空")
private String skuId; private String skuId;
/** /**
* spu_id对应 goblin_goods_spu_id * spu_id对应 goblin_goods_spu_id
*/ */
@ApiModelProperty(value = "spu_id对应 goblin_goods_spu_id") @ApiModelProperty(required = true,value = "spu_id对应 goblin_goods_spu_id")
@NotBlank(message = "spuId不能为空") @NotBlank(message = "spuId不能为空")
private String spuId; private String spuId;
/** /**
* 预约开始时间 * 预约开始时间
*/ */
@ApiModelProperty(value = "预约开始时间") @ApiModelProperty(required = true,value = "预约开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@NotBlank(message = "预约开始时间不能为空") @NotBlank(message = "预约开始时间不能为空")
private LocalDateTime aboutStartDate; private LocalDateTime aboutStartDate;
...@@ -61,7 +63,7 @@ public class GoblinGoodsAnticipateValueAddParam { ...@@ -61,7 +63,7 @@ public class GoblinGoodsAnticipateValueAddParam {
/** /**
* 预约结束时间 * 预约结束时间
*/ */
@ApiModelProperty(value = "预约结束时间") @ApiModelProperty(required = true,value = "预约结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@NotBlank(message = "预约结束时间不能为空") @NotBlank(message = "预约结束时间不能为空")
private LocalDateTime aboutEndDate; private LocalDateTime aboutEndDate;
......
...@@ -20,9 +20,9 @@ import java.time.LocalDateTime; ...@@ -20,9 +20,9 @@ import java.time.LocalDateTime;
* @author liquidnet * @author liquidnet
* @since 2022-04-07 * @since 2022-04-07
*/ */
@ApiModel(value = "GoblinGoodsAnticipateValueParam", description = "预约") @ApiModel(value = "GoblinGoodsAnticipateValueParam", description = "获取预约")
@Data @Data
public class GoblinGoodsAnticipateValueParam{ public class GoblinGoodsAnticipateValueParam {
@ApiModelProperty(position = 11, required = true, value = "当前记录起始索引", example = "1") @ApiModelProperty(position = 11, required = true, value = "当前记录起始索引", example = "1")
@Min(value = 1, message = "起始索引无效") @Min(value = 1, message = "起始索引无效")
...@@ -54,4 +54,8 @@ public class GoblinGoodsAnticipateValueParam{ ...@@ -54,4 +54,8 @@ public class GoblinGoodsAnticipateValueParam{
@ApiModelProperty(position = 18, required = false, value = "创建日期") @ApiModelProperty(position = 18, required = false, value = "创建日期")
private String createdDate; private String createdDate;
@ApiModelProperty(value = "预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
} }
...@@ -23,7 +23,7 @@ public class GoblinStoreMgtGoodsSkuFilterParam implements Serializable { ...@@ -23,7 +23,7 @@ public class GoblinStoreMgtGoodsSkuFilterParam implements Serializable {
private Integer pageNum; private Integer pageNum;
@ApiModelProperty(position = 13, required = false, value = "搜索关键字[128]") @ApiModelProperty(position = 13, required = false, value = "搜索关键字[128]")
private String keyword; private String keyword;
@ApiModelProperty(position = 14, required = false, value = "商品上架状态[0-待上架|1-下架|2-违规|3-上架]", allowableValues = "0,1,2,3") @ApiModelProperty(position = 14, required = false, value = "商品上架状态[0-待上架|1-下架|2-违规|3-上架|4-已上架未开售]", allowableValues = "0,1,2,3")
private String shelvesStatus; private String shelvesStatus;
} }
...@@ -3,6 +3,7 @@ package com.liquidnet.service.goblin.dto.manage.vo; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.goblin.dto.manage.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.dto.vo.GoblinNftGoodsSkuListVo; import com.liquidnet.service.goblin.dto.vo.GoblinNftGoodsSkuListVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -19,6 +20,7 @@ import java.util.List; ...@@ -19,6 +20,7 @@ import java.util.List;
* @author liquidnet * @author liquidnet
* @since 2022-04-08 * @since 2022-04-08
*/ */
@ApiModel(value = "AnticipateValueVo", description = "预约关联sku和spu表")
@Data @Data
public class AnticipateValueVo implements Cloneable { public class AnticipateValueVo implements Cloneable {
...@@ -36,6 +38,10 @@ public class AnticipateValueVo implements Cloneable { ...@@ -36,6 +38,10 @@ public class AnticipateValueVo implements Cloneable {
private String rule; private String rule;
@ApiModelProperty("预约人数") @ApiModelProperty("预约人数")
private BigInteger aboutPeople; private BigInteger aboutPeople;
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
@ApiModelProperty("设置预约人数")
private Integer peopleType;
@ApiModelProperty("前三预约头像") @ApiModelProperty("前三预约头像")
private List<String> aboutAvatarList; private List<String> aboutAvatarList;
...@@ -55,6 +61,8 @@ public class AnticipateValueVo implements Cloneable { ...@@ -55,6 +61,8 @@ public class AnticipateValueVo implements Cloneable {
this.setAboutStartDate(source.getAboutStartDate()); this.setAboutStartDate(source.getAboutStartDate());
this.setAboutEndDate(source.getAboutEndDate()); this.setAboutEndDate(source.getAboutEndDate());
this.setState(source.getState()); this.setState(source.getState());
this.setType(source.getType());
this.setPeopleType(source.getPeopleType());
return this; return this;
} }
......
...@@ -18,7 +18,7 @@ import java.time.LocalDateTime; ...@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
* @since 2022-04-08 * @since 2022-04-08
*/ */
@Data @Data
public class GoblinGoodsAnticipateValueVo implements Cloneable{ public class GoblinGoodsAnticipateValueVo implements Cloneable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -97,6 +97,10 @@ public class GoblinGoodsAnticipateValueVo implements Cloneable{ ...@@ -97,6 +97,10 @@ public class GoblinGoodsAnticipateValueVo implements Cloneable{
*/ */
@ApiModelProperty(value = "删除(0:未删除1:已删除)") @ApiModelProperty(value = "删除(0:未删除1:已删除)")
private Integer delTag; private Integer delTag;
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
@ApiModelProperty("设置预约人数")
private Integer peopleType;
private static final GoblinGoodsAnticipateValueVo obj = new GoblinGoodsAnticipateValueVo(); private static final GoblinGoodsAnticipateValueVo obj = new GoblinGoodsAnticipateValueVo();
...@@ -119,5 +123,4 @@ public class GoblinGoodsAnticipateValueVo implements Cloneable{ ...@@ -119,5 +123,4 @@ public class GoblinGoodsAnticipateValueVo implements Cloneable{
} }
} }
...@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ApiModel(value = "GoblinStoreMgtGoodsSkuListVo", description = "商品管理:商品款式信息") @ApiModel(value = "GoblinStoreMgtGoodsSkuListVo", description = "商品管理:商品款式信息")
...@@ -37,7 +38,16 @@ public class GoblinStoreMgtGoodsSkuListVo implements Serializable, Cloneable { ...@@ -37,7 +38,16 @@ public class GoblinStoreMgtGoodsSkuListVo implements Serializable, Cloneable {
private LocalDateTime saleStopTime; private LocalDateTime saleStopTime;
@ApiModelProperty(position = 33, value = "是否盲盒[0-否|1-是]") @ApiModelProperty(position = 33, value = "是否盲盒[0-否|1-是]")
private String unbox; private String unbox;
@ApiModelProperty(position = 34, value = "是否隐藏[0-默认展示|1-隐藏]")
private String skuAppear;
@ApiModelProperty(position = 35, value = "是否售罄[0-否|1-是]")
private String soldoutStatus;
@ApiModelProperty(position = 36, value = "是否购买[0-否|1-是]")
private String skuCanbuy;
@ApiModelProperty(position = 37, value = "NFT上传声明状态[0-待上传|1-已声明|2-声明失败|9-声明中]")
private Integer upchain;
@ApiModelProperty(position = 38, value = "盲盒命中率")
private BigDecimal hitRatio;
public String getSaleStartTime() { public String getSaleStartTime() {
return DateUtil.Formatter.yyyyMMddHHmmss.format(saleStartTime); return DateUtil.Formatter.yyyyMMddHHmmss.format(saleStartTime);
...@@ -70,6 +80,11 @@ public class GoblinStoreMgtGoodsSkuListVo implements Serializable, Cloneable { ...@@ -70,6 +80,11 @@ public class GoblinStoreMgtGoodsSkuListVo implements Serializable, Cloneable {
this.setSaleStartTime(source.getSaleStartTime()); this.setSaleStartTime(source.getSaleStartTime());
this.setSaleStopTime(source.getSaleStopTime()); this.setSaleStopTime(source.getSaleStopTime());
this.setUnbox(source.getUnbox()); this.setUnbox(source.getUnbox());
this.setUpchain(source.getUpchain());
this.setSkuAppear(source.getSkuAppear());
this.setSkuCanbuy(source.getSkuCanbuy());
this.setSoldoutStatus(source.getSoldoutStatus());
this.setHitRatio(source.getHitRatio());
return this; return this;
} }
} }
package com.liquidnet.service.goblin.dto.manage.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateShareVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author TT
*/
@Data
@ApiModel(value = "HelpValueVo", description = "根据sid查询助力信息")
public class HelpValueVo implements java.io.Serializable, Cloneable{
@ApiModelProperty(value = "助力头像前六个")
private List<String> helpUserAvatar;
@ApiModelProperty(value = "目前有多少助力")
private Integer helpPeople;
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
@ApiModelProperty("设置预约人数")
private Integer peopleType;
@ApiModelProperty("skuId")
private String skuId;
@ApiModelProperty("发起助力头像")
private String avatar;
@ApiModelProperty("发起人昵称")
private String nickname;
/**
* 预约开始时间
*/
@ApiModelProperty(value = "预约开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime aboutStartDate;
/**
* 预约结束时间
*/
@ApiModelProperty(value = "预约结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime aboutEndDate;
private static final HelpValueVo obj = new HelpValueVo();
public static HelpValueVo getNew() {
try {
return (HelpValueVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new HelpValueVo();
}
}
public HelpValueVo copy(GoblinGoodsAnticipateShareVo shareVo){
if(shareVo == null) return this;
this.setType(shareVo.getType());
this.setPeopleType(shareVo.getPeopleType());
this.setSkuId(shareVo.getSkuId());
this.setHelpUserAvatar(shareVo.getAvatarImgList());
this.setNickname(shareVo.getNickname());
this.setAvatar(shareVo.getAvatar());
this.setHelpPeople(shareVo.getHelpPeople());
this.setAboutStartDate(shareVo.getAboutStartDate());
this.setAboutEndDate(shareVo.getAboutEndDate());
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
@Data
@HeadRowHeight(value = 20)//设置表头行高
@ColumnWidth(value = 15)//设置表头行宽
public class ActivityExcelVo {
/**
* 活动标题
*/
@ExcelProperty(value = "活动标题", index = 0)
private String title;
@ExcelProperty(value = "时间", index = 1)
private String excelTime;
/**
* 总数量
*/
@ExcelProperty(value = "兑换码数量", index = 2)
private Integer countNumber;
/**
* 使用数量
*/
@ExcelProperty(value = "已兑换", index = 3)
private Integer useNumber;
/**
* 未使用数量
*/
@ExcelProperty(value = "未兑换", index = 4)
private Integer unUseNumber;
private final static ActivityExcelVo obj = new ActivityExcelVo();
public static ActivityExcelVo getNew(){
try {
return (ActivityExcelVo) obj.clone();
}catch (CloneNotSupportedException e){
return new ActivityExcelVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
@Data
@HeadRowHeight(value = 20)//设置表头行高
@ColumnWidth(value = 15)//设置表头行宽
public class CodeExcelVo {
@ExcelProperty(value = "兑换码", index = 0)
private String code;
@ExcelProperty(value = "藏品名称", index = 1)
private String skuName;
@ExcelProperty(value = "兑换开始时间", index = 2)
private String excelStartTime;
@ExcelProperty(value = "兑换结束时间", index = 3)
private String excelStopTime;
@ExcelProperty(value = "用户id", index = 4)
private String redeemUid;
@ExcelProperty(value = "状态", index = 5)
private String state;
private static final CodeExcelVo obj = new CodeExcelVo();
public static CodeExcelVo getNew() {
try {
return (CodeExcelVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new CodeExcelVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author TT
*/
@Data
public class GoblinGoodsAnticipateHelp implements Serializable {
private static final long serialVersionUID = 1L;
/**
* skuId
*/
@ApiModelProperty("skuId")
private String skuId;
/**
* 预约类型
*/
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
/**
* 配置预约人数
*/
@ApiModelProperty("配置预约人数")
private Integer people;
/**
* 预约开始时间
*/
@ApiModelProperty(value = "预约开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime aboutStartDate;
/**
* 预约结束时间
*/
@ApiModelProperty(value = "预约结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime aboutEndDate;
/**
* 创建时间
*/
private LocalDateTime createDate;
private static final GoblinGoodsAnticipateHelp obj = new GoblinGoodsAnticipateHelp();
public static GoblinGoodsAnticipateHelp getNew() {
try {
return (GoblinGoodsAnticipateHelp) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinGoodsAnticipateHelp();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author TT
*/
@Data
public class GoblinGoodsAnticipateHelpVo implements Serializable,Cloneable{
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
private String sid;
/**
* 分享用户id
*/
// private String uid;
/**
* 助力人uid
*/
private String helpUid;
/**
* 创建时间
*/
private LocalDateTime createDate;
/**
* 头像集合
*/
// private List<String> helpUserAvatar;
private static final GoblinGoodsAnticipateHelpVo obj = new GoblinGoodsAnticipateHelpVo();
public static GoblinGoodsAnticipateHelpVo getNew() {
try {
return (GoblinGoodsAnticipateHelpVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinGoodsAnticipateHelpVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.dto.manage.vo.HelpValueVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author TT
*/
@Data
public class GoblinGoodsAnticipateShareVo implements Serializable,Cloneable{
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
private String sid;
/**
* 用户uid
*/
private String uid;
/**
* 用户昵称
*/
private String nickname;
/**
* sku_Id
*/
private String skuId;
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
@ApiModelProperty("设置预约人数")
private Integer peopleType;
/**
* 用户头像
*/
private String avatar;
/**
* 助力人数
*/
@ApiModelProperty(value = "目前有多少助力")
private Integer helpPeople;
/**
* 预约开始时间
*/
@ApiModelProperty(value = "预约开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime aboutStartDate;
/**
* 预约结束时间
*/
@ApiModelProperty(value = "预约结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime aboutEndDate;
/**
* 创建时
*/
private LocalDateTime createdDate;
/**
* 头像集合
*/
private List<String> avatarImgList;
private static final GoblinGoodsAnticipateShareVo obj = new GoblinGoodsAnticipateShareVo();
public static GoblinGoodsAnticipateShareVo getNew() {
try {
return (GoblinGoodsAnticipateShareVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinGoodsAnticipateShareVo();
}
}
}
...@@ -33,11 +33,28 @@ public class GoblinGoodsAnticipateVo implements Serializable,Cloneable { ...@@ -33,11 +33,28 @@ public class GoblinGoodsAnticipateVo implements Serializable,Cloneable {
*/ */
private String id; private String id;
/**
* 预约名称
*/
// private String name;
/** /**
* ant_id * ant_id
*/ */
private String antId; private String antId;
/**
* 配置人数
*/
@ApiModelProperty(value = "预约人数(达到一定人数可以预约)")
private Integer people;
/**
* 类型标识
*/
@ApiModelProperty(value = "预约类型(1:预约提醒,2:预约获得购买资格)")
private int type;
/** /**
* 预约规则 * 预约规则
*/ */
...@@ -71,6 +88,8 @@ public class GoblinGoodsAnticipateVo implements Serializable,Cloneable { ...@@ -71,6 +88,8 @@ public class GoblinGoodsAnticipateVo implements Serializable,Cloneable {
public GoblinGoodsAnticipateVo copy(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam) { public GoblinGoodsAnticipateVo copy(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam) {
if (null==goodsAnticipateAddParam) return this; if (null==goodsAnticipateAddParam) return this;
this.people = goodsAnticipateAddParam.getPeople();
this.type = goodsAnticipateAddParam.getType();
this.setRule(goodsAnticipateAddParam.getRule()); this.setRule(goodsAnticipateAddParam.getRule());
return this; return this;
} }
......
package com.liquidnet.service.goblin.dto.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.entity.GoblinGoods;
import com.liquidnet.service.goblin.entity.GoblinNftExActivity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* @Author: wll
* @Description: nft 兑换活动表
* @Date:Create:in 2022/4/19 2:14 下午
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExActivityVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 活动id
*/
@ApiModelProperty(position = 10, required = true, value = "活动id")
private String activityId;
/**
* 用户id
*/
@ApiModelProperty(position = 11, required = true, value = "用户id")
private String uid;
/**
* 活动标题
*/
@ExcelProperty(value = "活动标题", index = 0)//”0“表示excel中的第一列
@ApiModelProperty(position = 12, required = true, value = "活动标题")
private String title;
/**
* 创建时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 13, required = true, value = "创建时间")
private LocalDateTime createdAt;
/**
* 更新时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 14, required = true, value = "更新时间")
private LocalDateTime updatedAt;
/**
* 总数量
*/
@ExcelProperty(value = "优惠券总数量", index = 2)//”0“表示excel中的第一列
@ApiModelProperty(position = 15, required = true, value = "总数量")
private Integer countNumber;
/**
* 使用数量
*/
@ExcelProperty(value = "优惠券使用数量", index = 3)//”0“表示excel中的第一列
@ApiModelProperty(position = 16, required = true, value = "使用数量")
private Integer useNumber;
/**
* 未使用数量
*/
@ExcelProperty(value = "兑换码未使用数量", index = 4)//”0“表示excel中的第一列
@ApiModelProperty(position = 17, required = true, value = "未使用数量")
private Integer unUseNumber;
/**
*
*/
@ApiModelProperty(position = 18, required = true, value = "是否展示生效中 0:否 1:是")
private Integer isDisplay;
private final static GoblinNftExActivityVo obj = new GoblinNftExActivityVo();
public static GoblinNftExActivityVo getNew() {
try {
return (GoblinNftExActivityVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinNftExActivityVo();
}
}
public GoblinNftExActivityVo copy(GoblinNftExActivity goblinNftExActivity) {
if (null == goblinNftExActivity) return this;
this.setActivityId(goblinNftExActivity.getActivityId());
this.setUid(goblinNftExActivity.getUid());
this.setTitle(goblinNftExActivity.getTitle());
this.setCreatedAt(goblinNftExActivity.getCreatedAt());
this.setUpdatedAt(goblinNftExActivity.getUpdatedAt());
this.setCountNumber(goblinNftExActivity.getCountNumber());
this.setUseNumber(goblinNftExActivity.getUseNumber());
this.setUnUseNumber(goblinNftExActivity.getUnUseNumber());
this.setIsDisplay(goblinNftExActivity.getIsDisplay());
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class GoblinNftExCodeFetchExcelVo {
@ExcelProperty(index = 0,value = "手机号")
String phone;
}
package com.liquidnet.service.goblin.dto.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.entity.GoblinNftExCode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @Author: wll
* @Description: NFT兑换码表
* @Date:Create:in 2022/4/19 1:55 下午
*/
@Data
@EqualsAndHashCode(callSuper = false)
@HeadRowHeight(value = 20)//设置表头行高
@ColumnWidth(value = 15)//设置表头行宽
public class GoblinNftExCodeVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 兑换码id
*/
@ApiModelProperty(position = 10,required = true,value ="兑换码id")
private String codeId;
/**
* 活动id
*/
@ApiModelProperty(position = 11,required = true,value ="活动id")
private String activityId;
/**
* 兑换码
*/
@ApiModelProperty(position = 12,required = true,value ="兑换码")
private String code;
/**
* 商品id
*/
@ApiModelProperty(position = 13,required = true,value ="商品id")
private String spuId;
/**
* 款式id
*/
@ApiModelProperty(position = 14,required = true,value ="产品id")
private String skuId;
/**
* 盲盒抽取的款式id
*/
@ApiModelProperty(position = 15,required = true,value ="盲盒抽取的款式id")
private String boxSkuId;
/**
* 店铺id
*/
@ApiModelProperty(position = 16,required = true,value ="店铺id")
private String storeId;
/**
* 兑换码状态 1 未兑换 2 已兑换
*/
@ApiModelProperty(position = 17,required = true,value ="兑换码状态 1 未兑换 2 已兑换")
private Integer state;
/**
* 兑换用户id
*/
@ApiModelProperty(position = 18,required = true,value ="兑换用户id")
private String redeemUid;
/**
* 操作用户id
*/
@ApiModelProperty(position = 19,required = true,value ="操作用户id")
private String adminUid;
/**
* 兑换时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 20,required = true,value ="兑换时间")
private LocalDateTime redeemAt;
/**
* 创建时间
*/
@ApiModelProperty(position = 21,required = true,value ="创建时间")
private LocalDateTime createdAt;
/**
* 更新时间
*/
@ApiModelProperty(position = 22,required = true,value ="更新时间")
private LocalDateTime updatedAt;
/**
* 兑换限购
*/
@ApiModelProperty(position = 23,required = true,value ="兑换限购")
private Integer exLimit;
/**
* 兑换生效开始时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 24,required = true,value ="兑换生效开始时间")
private LocalDateTime exStartTime;
/**
* 兑换生效结束时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 25,required = true,value ="兑换生效结束时间")
private LocalDateTime exStopTime;
/**
* sku名称
*/
@ApiModelProperty(position = 26,required = true,value ="sku名称")
private String skuName;
/**
* 兑换结果sku名称
*/
@ApiModelProperty(position = 27,required = true,value = "兑换结果sku名称")
private String resultSkuName;
/**
* 是否盲和
*/
private String unBox;
private static final GoblinNftExCodeVo obj = new GoblinNftExCodeVo();
public static GoblinNftExCodeVo getNew() {
try {
return (GoblinNftExCodeVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinNftExCodeVo();
}
}
public GoblinNftExCodeVo copy(GoblinNftExCode goblinNftExCode){
if (null == goblinNftExCode)return this;
this.setCodeId(goblinNftExCode.getCodeId());
this.setActivityId(goblinNftExCode.getActivityId());
this.setCode(goblinNftExCode.getCode());
this.setSkuId(goblinNftExCode.getSkuId());
this.setState(goblinNftExCode.getState());
this.setBoxSkuId(goblinNftExCode.getBoxSkuId());
this.setRedeemUid(goblinNftExCode.getRedeemUid());
this.setAdminUid(goblinNftExCode.getAdminUid());
this.setRedeemAt(goblinNftExCode.getRedeemAt());
this.setCreatedAt(goblinNftExCode.getCreatedAt());
this.setUpdatedAt(goblinNftExCode.getUpdatedAt());
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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 com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.entity.GoblinNftExSku;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/19 2:23 下午
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExSkuVo {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 活动id
*/
@ApiModelProperty(position = 10,required = true,value ="活动id")
private String activityId;
/**
* 商品id
*/
@ApiModelProperty(position = 11,required = true,value ="商品id")
private String spuId;
/**
* 款式id
*/
@ApiModelProperty(position = 12,required = true,value ="款式id")
private String skuId;
/**
* 是否盲盒 0:否 1:是
*/
@ApiModelProperty(position = 13,required = true,value ="是否盲盒 0:否 1:是")
private String unBox;
/**
* 店铺id
*/
@ApiModelProperty(position = 14,required = true,value ="店铺id")
private String storeId;
/**
* 兑换库存
*/
@ApiModelProperty(position = 15,required = true,value =" 兑换库存")
private Integer exStock;
/**
* 兑换限购
*/
@ApiModelProperty(position = 16,required = true,value ="兑换限购")
private Integer exLimit;
/**
* 兑换生效开始时间
*/
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 17,required = true,value ="兑换生效开始时间")
private LocalDateTime exStartTime;
/**
* 兑换生效结束时间
*/
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 18,required = true,value ="兑换生效结束时间")
private LocalDateTime exStopTime;
/**
* 创建时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 19,required = true,value ="创建时间")
private LocalDateTime createdAt;
/**
* 修改时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 20,required = true,value ="修改时间")
private LocalDateTime updatedAt;
private String rdStartTime;
private String rdStopTime;
private static final GoblinNftExSkuVo obj = new GoblinNftExSkuVo();
public static GoblinNftExSkuVo getNew(){
try{
return (GoblinNftExSkuVo) obj.clone();
}catch (CloneNotSupportedException e){
return new GoblinNftExSkuVo();
}
}
public GoblinNftExSkuVo copy(GoblinNftExSku goblinNftExSku){
if (null == goblinNftExSku) return this;
this.setActivityId(goblinNftExSku.getActivityId());
this.setSpuId(goblinNftExSku.getSpuId());
this.setSkuId(goblinNftExSku.getSkuId());
this.setUnBox(goblinNftExSku.getUnbox());
this.setStoreId(goblinNftExSku.getStoreId());
this.setExStock(goblinNftExSku.getExStock());
this.setExLimit(goblinNftExSku.getExLimit());
this.setExStartTime(goblinNftExSku.getExStartTime());
this.setExStopTime(goblinNftExSku.getExStopTime());
this.setCreatedAt(goblinNftExSku.getCreatedAt());
this.setUpdatedAt(goblinNftExSku.getUpdatedAt());
return this;
}
}
...@@ -86,6 +86,13 @@ public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable { ...@@ -86,6 +86,13 @@ public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable {
private BigInteger aboutPeople; private BigInteger aboutPeople;
@ApiModelProperty(position = 64, value = "前三预约头像") @ApiModelProperty(position = 64, value = "前三预约头像")
private List<String> aboutAvatarList; private List<String> aboutAvatarList;
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
@ApiModelProperty("设置预约人数")
private Integer peopleType;
@ApiModelProperty(position = 65, value = "是否开启兑换 1未开启 2已开启")
private int isExchange;
private static final GoblinNftGoodsSkuInfoVo obj = new GoblinNftGoodsSkuInfoVo(); private static final GoblinNftGoodsSkuInfoVo obj = new GoblinNftGoodsSkuInfoVo();
...@@ -122,6 +129,8 @@ public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable { ...@@ -122,6 +129,8 @@ public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable {
if (anticipateValueVo.getAboutEndDate() != null) { if (anticipateValueVo.getAboutEndDate() != null) {
this.setAboutStartDate(DateUtil.Formatter.yyyyMMddHHmmss.format(anticipateValueVo.getAboutStartDate())); this.setAboutStartDate(DateUtil.Formatter.yyyyMMddHHmmss.format(anticipateValueVo.getAboutStartDate()));
} }
this.setType(anticipateValueVo.getType());
this.setPeopleType(anticipateValueVo.getPeopleType());
this.setState(anticipateValueVo.getState()); this.setState(anticipateValueVo.getState());
this.setRule(anticipateValueVo.getRule()); this.setRule(anticipateValueVo.getRule());
this.setAboutPeople(anticipateValueVo.getAboutPeople()); this.setAboutPeople(anticipateValueVo.getAboutPeople());
......
package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.liquidnet.service.goblin.entity.GoblinGoods;
import com.liquidnet.service.goblin.entity.GoblinGoodsSku;
import com.liquidnet.service.goblin.entity.GoblinNftExActivity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/24 2:02 下午
*/
@ApiModel(value = "GoblinNftSkuVo", description = "单个活动下的sku]")
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class GoblinNftSkuVo implements Serializable,Cloneable{
private String skuId;
private String spuName;
private String image;
/**
* 总数量
*/
private Integer countNumber;
/**
* 使用数量
*/
private Integer useNumber;
/**
* 未使用数量
*/
private Integer unUseNumber;
private GoblinNftExSkuVo goblinNftExSkuVo;
private final static GoblinNftSkuVo obj = new GoblinNftSkuVo();
public static GoblinNftSkuVo getNew(){
try {
return (GoblinNftSkuVo) obj.clone();
}catch (CloneNotSupportedException e){
return new GoblinNftSkuVo();
}
}
public GoblinNftSkuVo copy(GoblinGoodsSku goblinGoodsSku){
if (null == goblinGoodsSku){
return this;
}
this.setSkuId(goblinGoodsSku.getSkuId());
this.setSpuName(goblinGoodsSku.getName());
this.setImage(goblinGoodsSku.getSkuPic());
return this;
}
}
...@@ -31,9 +31,9 @@ public class GoblinUserDigitalArtworkInfoVo implements Serializable, Cloneable { ...@@ -31,9 +31,9 @@ public class GoblinUserDigitalArtworkInfoVo implements Serializable, Cloneable {
@ApiModelProperty(position = 18, value = "藏品生成时间[yyyy-MM-dd HH:mm:ss]") @ApiModelProperty(position = 18, value = "藏品生成时间[yyyy-MM-dd HH:mm:ss]")
private String generateTime; private String generateTime;
@ApiModelProperty(position = 19, value = "获得方式[1-购买|2-兑换|3-赠送|5-受赠]") @ApiModelProperty(position = 19, value = "获得方式[1-购买|2-兑换|3-赠送|5-受赠|31-空投赠送]")
private Integer source; private Integer source;
@ApiModelProperty(position = 20, value = "藏品状态,根据`unbox`区分盲盒来判断[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败]") @ApiModelProperty(position = 20, value = "藏品状态,根据`unbox`区分盲盒来判断[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败|5-待收取]")
private Integer state; private Integer state;
@ApiModelProperty(position = 21, value = "创作者") @ApiModelProperty(position = 21, value = "创作者")
private String author; private String author;
......
...@@ -28,10 +28,10 @@ public class GoblinUserDigitalArtworkListVo implements Serializable, Cloneable { ...@@ -28,10 +28,10 @@ public class GoblinUserDigitalArtworkListVo implements Serializable, Cloneable {
private Integer editionSn; private Integer editionSn;
@ApiModelProperty(position = 16, value = "藏品发行量") @ApiModelProperty(position = 16, value = "藏品发行量")
private Integer edition; private Integer edition;
@ApiModelProperty(position = 17, value = "获得方式[1-购买|2-兑换|3-赠送|5-受赠]") @ApiModelProperty(position = 17, value = "获得方式[1-购买|2-兑换|3-赠送|5-受赠|31-空投赠送]")
private Integer source; private Integer source;
@ApiModelProperty(position = 18, value = "藏品状态,根据`unbox`区分盲盒来判断[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败]") @ApiModelProperty(position = 18, value = "藏品状态,根据`unbox`区分盲盒来判断[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败|5-待收取]")
private Integer state; private Integer state;
@ApiModelProperty(position = 19, value = "藏品创建时间") @ApiModelProperty(position = 19, value = "藏品创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
......
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class HelpAvatarVo implements Serializable,Cloneable{
private static final long serialVersionUID = 1L;
@ApiModelProperty("助力头像(只显示前六个)")
private List<String> helpAvatars;
@ApiModelProperty("助力人数")
private Integer helpPeople;
private static final HelpAvatarVo obj = new HelpAvatarVo();
public static HelpAvatarVo getNew() {
try {
return (HelpAvatarVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new HelpAvatarVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
@Data
@HeadRowHeight(value = 20)//设置表头行高
@ColumnWidth(value = 15)//设置表头行宽
public class OrderMallOrderVo {
@ExcelProperty(value = "订单编号",index = 0)
private String orderCode;
@ExcelProperty(value = "购买人手机号",index = 1)
private String userMobile;
@ExcelProperty(value = "快递费",index = 2)
private String priceExpress;
@ExcelProperty(value = "平台券优惠金额",index = 3)
private String priceCoupon;
@ExcelProperty(value = "店铺券优惠金额",index = 4)
private String storePriceCoupon;
@ExcelProperty(value = "收货人",index = 5)
private String expressContacts;
@ExcelProperty(value = "收货人电话",index = 6)
private String expressPhone;
@ExcelProperty(value = "快递地址",index = 7)
private String expressDetailAddress;
@ExcelProperty(value = "支付方式",index = 8)
private String payType;
@ExcelProperty(value = "支付时间",index = 9)
private String payTime;
@ExcelProperty(value = "下单时间",index = 10)
private String createdAt;
@ExcelProperty(value = "快递公司",index = 11)
private String logisticsCompany;
@ExcelProperty(value = "物流单号",index = 12)
private String mailNo;
@ExcelProperty(value = "商品id1",index = 13)
private String spuId;
@ExcelProperty(value = "商品名1",index = 14)
private String name;
@ExcelProperty(value = "一级分类1",index = 15)
private String cate1Name;
@ExcelProperty(value = "二级分类1",index = 16)
private String cate2Name;
@ExcelProperty(value = "款式1",index = 17)
private String skuName;
@ExcelProperty(value = "数量1",index = 18)
private String num;
@ExcelProperty(value = "单价1",index = 19)
private String skuPrice;
@ExcelProperty(value = "价格1",index = 20)
private String skuPriceActual;
@ExcelProperty(value = "订单skuId1",index = 21)
private String orderSkuId;
}
package com.liquidnet.service.goblin.dto.vo;
import lombok.Data;
import java.util.ArrayList;
@Data
public class PageInfoVo {
/**
* 总个数
*/
private int total;
private Object list;
private int skuNumber;
public PageInfoVo() {
}
private static final PageInfoVo obj = new PageInfoVo();
public static PageInfoVo getNew() {
try {
return (PageInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new PageInfoVo();
}
}
}
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 java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value ="GoblinNftExActivityParam",description = "添加方法入参")
@Data
public class GoblinNftExActivityParam implements Serializable {
@ApiModelProperty(position = 10,required = false,value = "nft活动id")
private String activityId;
@ApiModelProperty(position = 11,required = true,value = "活动标题" ,example = "草莓音乐节")
private String title;
@ApiModelProperty(position = 12,required = true,value = "用户id",example = "用户id")
private String uid;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@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 = "结束时间")
private LocalDateTime endTime;
@ApiModelProperty(position = 14,required = true,value = "当前页(查询时传入)")
private Integer pageNum;
}
package com.liquidnet.service.goblin.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/20 5:12 下午
*/
@ApiModel(value = "GoblinNftExCodeParam",description = "查询方法入参")
@Data
public class GoblinNftExCodeParam implements Serializable {
@ApiModelProperty(position = 10,required = true,value = "活动id")
private String activityId;
@ApiModelProperty(position = 11,required = true,value = "当前页")
private Integer pageNum;
@ApiModelProperty(position = 12,required = false,value = "兑换码/发送空投时必传")
private String code;
@ApiModelProperty(position = 13,required = false,value = "兑换码状态 全部非传 1未兑换 2已兑换 3已失效")
private Integer state;
@ApiModelProperty(position = 14,required = false,value = "默认无参 1:明盒、盲盒 2:空投盲盒/空投明盒")
private Integer isDrivi;
@ApiModelProperty(position = 15,required = false,value = "藏品名称")
private String skuName;
@ApiModelProperty(position = 16,required = false,value = "用户id搜索")
private String userId;
@ApiModelProperty(position = 17,required = true,value = "手机号/ 发送空投时传入")
private String phone;
@ApiModelProperty(position = 18,required = true,value = "当操作用户id/发送空投时传入")
private String adminUid;
}
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 java.io.Serializable;
import java.time.LocalDateTime;
/**
* @Author: wll
* @Date:Create:in 2022/4/19 5:06 下午
*/
@ApiModel(value = "GoblinNftExActivityParam", description = "添加方法入参")
@Data
public class GoblinNftExSkuParam implements Serializable {
@ApiModelProperty(position = 10, required = true, value = "nft兑换活动id")
// @NotBlank(message = "nft兑换活动id不可为空")
private String activityId;
@ApiModelProperty(position = 11,required = true,value = "店铺id")
private String storeId;
@ApiModelProperty(position = 12,required = true,value = "商品id")
// @NotBlank(message = "商品id不可为空")
private String spuId;
@ApiModelProperty(position = 13,required = true,value = "款式id")
// @NotBlank(message = "款式id不可为空")
private String skuId;
@ApiModelProperty(position = 14,required = true,value = "是否盲盒 0:否 1:是")
// @NotBlank(message = "是否盲盒 0:否 1:是")
private String unbox;
@ApiModelProperty(position = 15,required = true,value = "兑换库存数量")
// @NotBlank(message = "兑换库存数量不可为空")
private Integer exStock;
@ApiModelProperty(position = 16,required = true,value = "兑换限购数量")
// @NotBlank(message = "兑换限购数量不可为空")
private Integer exLimit;
@ApiModelProperty(position = 17,required = true,value = "兑换生效开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
// @NotBlank(message = "兑换生效开始时间不可为空")
private LocalDateTime exStartTime;
@ApiModelProperty(position = 18,required = true,value = "兑换生效结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
// @NotBlank(message = "兑换生效结束时间不可为空")
private LocalDateTime exStopTime;
}
...@@ -41,5 +41,15 @@ public class GoblinNftOrderPayParam { ...@@ -41,5 +41,15 @@ public class GoblinNftOrderPayParam {
@ApiModelProperty(position = 17, value = "returnUrl 之前h5需要 app不需要再说") @ApiModelProperty(position = 17, value = "returnUrl 之前h5需要 app不需要再说")
private String returnUrl; private String returnUrl;
private static final GoblinNftOrderPayParam obj = new GoblinNftOrderPayParam();
public static GoblinNftOrderPayParam getNew() {
try {
return (GoblinNftOrderPayParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinNftOrderPayParam();
}
}
} }
package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import javax.servlet.http.HttpServletResponse;
public interface IGoblinExportService {
//导出商城订单信息
ResponseDto<Boolean> exportMallOrder(HttpServletResponse response, String beginTime, String endTime, String state, Integer mailType,String storeId);
}
package com.liquidnet.service.goblin.service; package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.vo.HelpValueVo;
/** /**
...@@ -14,10 +15,46 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -14,10 +15,46 @@ import com.liquidnet.service.base.ResponseDto;
public interface IGoblinGoodsAnticipateService { public interface IGoblinGoodsAnticipateService {
/** /**
* 用户预约 * 用户预约 (只能预约不能取消)
* @param skuId skuId
* @return Boolean
*/ */
ResponseDto<Object> userAbout(String skuId); ResponseDto<Boolean> userAbout(String skuId);
/**
* 根据skuId查询是否预约
* @param skuId skuId
* @return Boolean
*/
ResponseDto<Boolean> selectAnticipate(String skuId); ResponseDto<Boolean> selectAnticipate(String skuId);
/**
* 用户分享,根据sku发起助力
* @param skuId skuId
* @return 分享id
*/
ResponseDto<String> share(String skuId);
/**
* 用户为他人助力
* @param sid 分享id
* @return Boolean
*/
ResponseDto<String> help(String sid);
/**
* 获取当前助力信息
* @param sid 分享id
* @return 创建关联sku和spu表
*/
ResponseDto<HelpValueVo> getHelpValue(String sid);
/**
* 是否开启助力(返回助力的sid,返回null则没有开启助力)
* @param skuId skuId
* @return 返回助力的sid,返回null则没有开启助力
*/
ResponseDto<String> getTurnOnHelp(String skuId);
ResponseDto<Boolean> helpSid(String sid);
} }
package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import org.springframework.web.multipart.MultipartFile;
public interface IGoblinImportService {
//导入对订单发货
ResponseDto<String> importExpress(MultipartFile file);
}
package com.liquidnet.service.goblin.service;
import com.github.pagehelper.PageInfo;
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.GoblinNftExActivityParam;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
public interface IGoblinNftExActivityService {
/**
* 新增nft活动
*
* @param goblinNftExActivityParam
* @return
*/
ResponseDto<Object> add(GoblinNftExActivityParam goblinNftExActivityParam);
/**
* 分页查询
*
* @param goblinNftExActivityParam
* @return
*/
PageInfoVo pageList(GoblinNftExActivityParam goblinNftExActivityParam);
/**
* 根据活动id获取活动下商品
*
* @param activityId
* @return
*/
List<GoblinNftSkuVo> selectNftSkuByActivityId(String activityId);
/**
* excel导出
*
* @param httpServletResponse
* @param goblinNftExActivityParam
*/
void excel(HttpServletResponse httpServletResponse, GoblinNftExActivityParam goblinNftExActivityParam);
}
package com.liquidnet.service.goblin.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinNftExCodeVo;
import com.liquidnet.service.goblin.dto.vo.PageInfoVo;
import com.liquidnet.service.goblin.param.GoblinNftExCodeParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
public interface IGoblinNftExCodeService {
/**
* 获取兑换码
*/
PageInfoVo selectCodePageList(GoblinNftExCodeParam goblinNftExCodeParam);
/**
* 兑换码主动失效
* @param codeIds
* @return
*/
Boolean defDrivLoseCode(String codeIds);
/**
* 空投发送
* @param goblinNftExCodeParam
* @return
*/
ResponseDto<Boolean> addAirdrop(GoblinNftExCodeParam goblinNftExCodeParam);
/**
* 兑换码导出
* @param httpServletResponse
* @param goblinNftExCodeParam
*/
void excel(HttpServletResponse httpServletResponse, GoblinNftExCodeParam goblinNftExCodeParam);
/**
* 批量发送空投
* @param file
* @param activityId
* @param adminUid
* @return
*/
ResponseDto<Boolean> addAirdrops(MultipartFile file,String activityId,String adminUid);
}
package com.liquidnet.service.goblin.service;
public interface IGoblinNftExCodeTaskService {
/**
* 定时生成兑换码
*/
void generateCode();
}
package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.param.GoblinNftExSkuParam;
import java.util.List;
public interface IGoblinNftExSkuService {
/**
* 新增nft兑换活动和sku的关联
*/
ResponseDto<Object> add(List<GoblinNftExSkuParam> goblinNftExSkuParams);
}
...@@ -11,5 +11,4 @@ public interface IGoblinNftGoodsAppService { ...@@ -11,5 +11,4 @@ public interface IGoblinNftGoodsAppService {
GoblinNftGoodsSkuInfoVo goodsDetail(String skuId); GoblinNftGoodsSkuInfoVo goodsDetail(String skuId);
Boolean exchange(String code);
} }
...@@ -25,4 +25,6 @@ public interface IGoblinNftOrderService { ...@@ -25,4 +25,6 @@ public interface IGoblinNftOrderService {
String syncOrder(GoblinNftOrderPayCallbackParam syncOrderParam); String syncOrder(GoblinNftOrderPayCallbackParam syncOrderParam);
String refundSyncOrder(GoblinNftOrderRefundCallbackParam refundCallbackParam); String refundSyncOrder(GoblinNftOrderRefundCallbackParam refundCallbackParam);
ResponseDto<Boolean> exchange(String code, String uid, String deviceFrom, int orderType);
} }
...@@ -12,4 +12,6 @@ public interface IGoblinUserDigitalArtworkService { ...@@ -12,4 +12,6 @@ public interface IGoblinUserDigitalArtworkService {
GoblinUserDigitalArtworkInfoVo info(String uid, String artworkId); GoblinUserDigitalArtworkInfoVo info(String uid, String artworkId);
GoblinUserDigitalArtworkListVo unboxingForBuyOrExchange(String uid, GoblinUserDigitalArtworkVo userDigitalArtworkVo); GoblinUserDigitalArtworkListVo unboxingForBuyOrExchange(String uid, GoblinUserDigitalArtworkVo userDigitalArtworkVo);
boolean accept(String uid, GoblinUserDigitalArtworkVo userDigitalArtworkVo);
} }
...@@ -20,24 +20,39 @@ import java.math.BigInteger; ...@@ -20,24 +20,39 @@ import java.math.BigInteger;
public interface IGoblinGoodsAnticipateMgService { public interface IGoblinGoodsAnticipateMgService {
/** /**
* 查询预约 * 获取预约
* @param goodsAnticipateValueParam 查询条件
* @return 分页查询
*/ */
ResponseDto<PageInfo<GoblinGoodsAnticipateValueVo>> list(GoblinGoodsAnticipateValueParam goodsAnticipateValueParam); ResponseDto<PageInfo<GoblinGoodsAnticipateValueVo>> list(GoblinGoodsAnticipateValueParam goodsAnticipateValueParam);
/** /**
* 新增预约 * 新增预约
* @param goodsAnticipateAddParam 新增
* @return 1
*/ */
ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam); ResponseDto<String> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam);
/** /**
* 修改预约人数 * 修改预约人数
* @param antId antId
* @param people 修改人数
* @return Boolean
*/ */
ResponseDto<Object> updatePeople(String antId, BigInteger people); ResponseDto<Boolean> updatePeople(String antId, BigInteger people);
/** /**
* 删除预约 * 删除预约
* @param skuId skuId
* @return Boolean
*/ */
ResponseDto<Object> delete(String skuId); ResponseDto<Boolean> delete(String skuId);
/**
* 更具sku获取信息
* @param skuId skuId
* @param hasHead 1
* @return 预约关联sku和spu表
*/
AnticipateValueVo getAnticipateValueBySkuId(String skuId,int hasHead); AnticipateValueVo getAnticipateValueBySkuId(String skuId,int hasHead);
} }
...@@ -32,7 +32,7 @@ public interface IGoblinStoreOrderService { ...@@ -32,7 +32,7 @@ public interface IGoblinStoreOrderService {
ResponseDto<Boolean> refundOrderSku(String orderId, String orderSkuId, BigDecimal price); ResponseDto<Boolean> refundOrderSku(String orderId, String orderSkuId, BigDecimal price);
ResponseDto<Boolean> express(String orderId, String orderSkuIds,String mailNo); ResponseDto<Boolean> express(String orderId, String orderSkuIds,String mailNo,String uid);
ResponseDto<Boolean> changeExpressMailNo(String orderId, String mailId,String mailNo); ResponseDto<Boolean> changeExpressMailNo(String orderId, String mailId,String mailNo);
......
...@@ -13,16 +13,16 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -13,16 +13,16 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List; import java.util.*;
@Controller @Controller
@RequestMapping("tools/export") @RequestMapping("tools/export")
public class ExportDataController extends BaseController { public class ExportDataController extends BaseController {
@Autowired @Autowired
private IExportService exportService; private IExportService exportService;
private String prefix = "zhengzai/financial"; private String prefix = "zhengzai/financial";
@GetMapping() @GetMapping()
...@@ -80,6 +80,7 @@ public class ExportDataController extends BaseController { ...@@ -80,6 +80,7 @@ public class ExportDataController extends BaseController {
return StringUtils.isNotBlank(beginTime) && StringUtils.isNotBlank(endTime) ? true : false; return StringUtils.isNotBlank(beginTime) && StringUtils.isNotBlank(endTime) ? true : false;
} }
/** /**
* 导出会员订单 * 导出会员订单
* *
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<option value="1">购买</option> <option value="1">购买</option>
<option value="2">兑换</option> <option value="2">兑换</option>
<option value="3">演出赠送</option> <option value="3">演出赠送</option>
<option value="4">空投赠送</option>
</select> </select>
</li> </li>
<li> <li>
...@@ -156,6 +157,8 @@ ...@@ -156,6 +157,8 @@
case 3: case 3:
return "演出赠送"; return "演出赠送";
break; break;
case 4:
return "空投赠送";
} }
}, },
}, },
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<option value="1">购买</option> <option value="1">购买</option>
<option value="2">兑换</option> <option value="2">兑换</option>
<option value="3">演出赠送</option> <option value="3">演出赠送</option>
<option value="4">空投赠送</option>
</select> </select>
</li> </li>
<li> <li>
...@@ -125,6 +126,9 @@ ...@@ -125,6 +126,9 @@
case 3: case 3:
return "演出赠送"; return "演出赠送";
break; break;
case 4:
return "空投赠送";
break;
} }
}, },
}, },
......
//package com.liquidnet.client.admin.zhengzai.goblin.service.impl;
//
//import com.liquidnet.client.admin.common.core.domain.AjaxResult;
//import com.liquidnet.client.admin.common.exception.BusinessException;
//import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
//import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinExportService;
//import com.liquidnet.service.goblin.dto.MallOrdertDao;
//import com.liquidnet.service.goblin.mapper.GoblinStoreOrderMapper;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.poi.xssf.usermodel.*;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.OutputStream;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.*;
//
//@Service
//@Slf4j
//public class GoblinExportServiceImpl implements IGoblinExportService {
//
// @Autowired
// GoblinStoreOrderMapper goblinStoreOrderMapper;
//
// @Override
// public AjaxResult exportMallOrder(String beginTime, String endTime, String state, Integer mailType) {
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// try {
// Date beginDate = sdf.parse(beginTime);
// Date endDate = sdf.parse(endTime);
// List<String> states = null;
// if (StringUtils.isNotBlank(state)) {
// states = Arrays.asList(state.split(","));
// }
// List<MallOrdertDao> voList = goblinStoreOrderMapper.exportMallOrder(beginDate, endDate, states ,mailType);
// AjaxResult ajaxResult = null;
// Map<String, List<String>> map = new HashMap<>();
// int max = 0;
// //将数据保存到list中
// if (voList != null && voList.size() > 0) {
// for (MallOrdertDao te : voList) {
// String orderCode = te.getOrderCode();
// if (map.get(orderCode) == null) {
// List<String> list = new ArrayList<>();
// list.add(te.getOrderCode());
// list.add(te.getUserMobile());
// list.add(te.getPriceExpress());
// list.add(te.getPriceCoupon());
// list.add(te.getStorePriceCoupon());
// list.add(te.getExpressContacts());
// list.add(te.getExpressPhone());
// list.add(te.getExpressDetailAddress());
// list.add(te.getPayType());
// list.add(te.getPayTime());
// list.add(te.getCreatedAt());
// list.add(te.getLogisticsCompany());
// list.add(te.getMailNo());
// list.add(te.getSpuId());
// list.add(te.getName());
// list.add(te.getCate1Name());
// list.add(te.getCate2Name());
// list.add(te.getSkuName());
// list.add(te.getNum());
// list.add(te.getSkuPrice());
// list.add(te.getSkuPriceActual());
// list.add(te.getOrderSkuId());
// max = Math.max(max, list.size());
// map.put(orderCode, list);
// continue;
// }
// if (map.get(orderCode) != null) {
// List<String> list = map.get(orderCode);
// list.add(te.getSpuId());
// list.add(te.getName());
// list.add(te.getCate1Name());
// list.add(te.getCate2Name());
// list.add(te.getSkuName());
// list.add(te.getNum());
// list.add(te.getSkuPrice());
// list.add(te.getSkuPriceActual());
// list.add(te.getOrderSkuId());
// max = Math.max(max, list.size());
// map.put(orderCode, list);
// }
// }
// return exportexcel(map, "order", max);
// }
// return AjaxResult.error("查无信息!");
// } catch (ParseException e) {
// e.printStackTrace();
// throw new BusinessException("导出Excel失败,请联系网站管理员!");
// }
// }
//
// //导出Excel
// private AjaxResult exportexcel(Map<String, List<String>> map, String name, int max) {
// //实例化XSSFWorkbook对象,相当于新建一个Excel文件
// XSSFWorkbook workbook = new XSSFWorkbook();
// //根据XSSFWorkbook获取Sheet
// XSSFSheet sheet = workbook.createSheet();
// //添加一行作为表格头
// XSSFRow header = sheet.createRow(0);
//
// //创建表格样式
// XSSFCellStyle cellStyle = workbook.createCellStyle();
// //cellStyle.setAlignment(CellStyle.ALIGN_CENTER);//内容居中显示
//
// //创建头部表格
// XSSFCell cell = null;
// int index = 0;
// //固定表头
// List<String> fixedCells = fixedCells();
// for (String cname : fixedCells) {
// cell = header.createCell(index);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(cname);
// index++;
// }
//
// int n = 13; //固定表头13个
// int indext = 0;
// //追加表头
// List<String> cells = appendCells();
// while (n < max) {
// indext++;
// for (String cname : cells) {
// cell = header.createCell(n);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(cname + indext);
// n++;
// }
// }
// int z = 1;
// for (Map.Entry<String, List<String>> entry : map.entrySet()) {
// List<String> list = entry.getValue();
// //获取每行
// XSSFRow content = sheet.createRow(z);
// for (int i = 0; i < list.size(); i++) {
// //创建单元格并设置值
// content.createCell(i).setCellValue(list.get(i));
// }
// z++;
// }
// OutputStream fileOutputStream = null;
// try {
// ExcelUtil<MallOrdertDao> util = new ExcelUtil(MallOrdertDao.class);
// String filename = util.encodingFilename(name);
// //写入文件
// fileOutputStream = new FileOutputStream(util.getAbsoluteFile(filename));
// workbook.write(fileOutputStream);
// return AjaxResult.success("导出成功!",filename);
// } catch (IOException e) {
// e.printStackTrace();
// throw new BusinessException("导出Excel失败,请联系网站管理员!");
// } finally {
// if (workbook != null) {
// try {
// workbook.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (fileOutputStream != null) {
// try {
// fileOutputStream.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
// }
//
// //固定表头
// private List<String> fixedCells() {
// List<String> cells = new ArrayList<>();
// cells.add("订单编号");
// cells.add("购买人手机号");
// cells.add("快递费");
// cells.add("平台券优惠券金额");
// cells.add("店铺券优惠金额");
// cells.add("收货人");
// cells.add("收货人电话");
// cells.add("快递地址");
// cells.add("支付方式");
// cells.add("支付时间");
// cells.add("下单时间");
// cells.add("快递公司");
// cells.add("物流单号");
// return cells;
// }
//
// //追加表头
// private List<String> appendCells() {
// List<String> cells = new ArrayList<>();
// cells.add("商品id");
// cells.add("商品名");
// cells.add("一级分类");
// cells.add("二级分类");
// cells.add("款式");
// cells.add("数量");
// cells.add("单价");
// cells.add("价格");
// cells.add("订单skuId");
// return cells;
// }
//
//}
...@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -28,7 +29,7 @@ public class ExportServiceImpl implements IExportService { ...@@ -28,7 +29,7 @@ public class ExportServiceImpl implements IExportService {
public List<OrderExportVo> exportOrderByPerformanceIdAll(String performancesId) { public List<OrderExportVo> exportOrderByPerformanceIdAll(String performancesId) {
List<OrderExportDao> list = performancesMapper.exportOrderByPerformanceIdAll(performancesId); List<OrderExportDao> list = performancesMapper.exportOrderByPerformanceIdAll(performancesId);
List<OrderExportVo> voList = new ArrayList(); List<OrderExportVo> voList = new ArrayList();
for (OrderExportDao item :list){ for (OrderExportDao item : list) {
voList.add(OrderExportVo.getNew().copyOrderExportVo(item)); voList.add(OrderExportVo.getNew().copyOrderExportVo(item));
} }
return voList; return voList;
...@@ -38,7 +39,7 @@ public class ExportServiceImpl implements IExportService { ...@@ -38,7 +39,7 @@ public class ExportServiceImpl implements IExportService {
public List<OrderExportVo> exportOrderByPerformanceIdPay(String performancesId) { public List<OrderExportVo> exportOrderByPerformanceIdPay(String performancesId) {
List<OrderExportDao> list = performancesMapper.exportOrderByPerformanceIdPay(performancesId); List<OrderExportDao> list = performancesMapper.exportOrderByPerformanceIdPay(performancesId);
List<OrderExportVo> voList = new ArrayList(); List<OrderExportVo> voList = new ArrayList();
for (OrderExportDao item :list){ for (OrderExportDao item : list) {
voList.add(OrderExportVo.getNew().copyOrderExportVo(item)); voList.add(OrderExportVo.getNew().copyOrderExportVo(item));
} }
return voList; return voList;
...@@ -50,9 +51,9 @@ public class ExportServiceImpl implements IExportService { ...@@ -50,9 +51,9 @@ public class ExportServiceImpl implements IExportService {
try { try {
Date beginDate = sdf.parse(beginTime); Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime); Date endDate = sdf.parse(endTime);
List<OrderExportDao> list = performancesMapper.exportOrderByOrderTime(beginDate,endDate); List<OrderExportDao> list = performancesMapper.exportOrderByOrderTime(beginDate, endDate);
List<OrderDetailedExportVo> voList = new ArrayList(); List<OrderDetailedExportVo> voList = new ArrayList();
for (OrderExportDao item :list){ for (OrderExportDao item : list) {
voList.add(OrderDetailedExportVo.getNew().copyOrderExportVo(item)); voList.add(OrderDetailedExportVo.getNew().copyOrderExportVo(item));
} }
return voList; return voList;
...@@ -68,9 +69,9 @@ public class ExportServiceImpl implements IExportService { ...@@ -68,9 +69,9 @@ public class ExportServiceImpl implements IExportService {
try { try {
Date beginDate = sdf.parse(beginTime); Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime); Date endDate = sdf.parse(endTime);
List<OrderExportDao> list = performancesMapper.exportOrderByShowTime(beginDate,endDate); List<OrderExportDao> list = performancesMapper.exportOrderByShowTime(beginDate, endDate);
List<OrderDetailedByShowDateExportVo> voList = new ArrayList(); List<OrderDetailedByShowDateExportVo> voList = new ArrayList();
for (OrderExportDao item :list){ for (OrderExportDao item : list) {
voList.add(OrderDetailedByShowDateExportVo.getNew().copyOrderExportVo(item)); voList.add(OrderDetailedByShowDateExportVo.getNew().copyOrderExportVo(item));
} }
return voList; return voList;
...@@ -84,7 +85,7 @@ public class ExportServiceImpl implements IExportService { ...@@ -84,7 +85,7 @@ public class ExportServiceImpl implements IExportService {
public List<OrderDetailedByShowIdExportVo> exportOrderByShowId(String showId) { public List<OrderDetailedByShowIdExportVo> exportOrderByShowId(String showId) {
List<OrderExportDao> list = performancesMapper.exportOrderByShowId(showId); List<OrderExportDao> list = performancesMapper.exportOrderByShowId(showId);
List<OrderDetailedByShowIdExportVo> voList = new ArrayList(); List<OrderDetailedByShowIdExportVo> voList = new ArrayList();
for (OrderExportDao item :list){ for (OrderExportDao item : list) {
voList.add(OrderDetailedByShowIdExportVo.getNew().copyOrderExportVo(item)); voList.add(OrderDetailedByShowIdExportVo.getNew().copyOrderExportVo(item));
} }
return voList; return voList;
...@@ -96,9 +97,9 @@ public class ExportServiceImpl implements IExportService { ...@@ -96,9 +97,9 @@ public class ExportServiceImpl implements IExportService {
try { try {
Date beginDate = sdf.parse(beginTime); Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime); Date endDate = sdf.parse(endTime);
List<MemberOrderExportDao> list = performancesMapper.exportMemberOrder(beginDate,endDate); List<MemberOrderExportDao> list = performancesMapper.exportMemberOrder(beginDate, endDate);
List<OrderMemberExportVo> voList = new ArrayList(); List<OrderMemberExportVo> voList = new ArrayList();
for (MemberOrderExportDao item :list){ for (MemberOrderExportDao item : list) {
voList.add(OrderMemberExportVo.getNew().copyMemberOrderExportVo(item)); voList.add(OrderMemberExportVo.getNew().copyMemberOrderExportVo(item));
} }
return voList; return voList;
...@@ -114,9 +115,9 @@ public class ExportServiceImpl implements IExportService { ...@@ -114,9 +115,9 @@ public class ExportServiceImpl implements IExportService {
try { try {
Date beginDate = sdf.parse(beginTime); Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime); Date endDate = sdf.parse(endTime);
List<CommodityOrderExportDao> list = performancesMapper.exportCommodityOrder(beginDate,endDate); List<CommodityOrderExportDao> list = performancesMapper.exportCommodityOrder(beginDate, endDate);
List<OrderCommodityExportVo> voList = new ArrayList(); List<OrderCommodityExportVo> voList = new ArrayList();
for (CommodityOrderExportDao item :list){ for (CommodityOrderExportDao item : list) {
voList.add(OrderCommodityExportVo.getNew().copyCommodityOrderExportVo(item)); voList.add(OrderCommodityExportVo.getNew().copyCommodityOrderExportVo(item));
} }
return voList; return voList;
......
...@@ -9,7 +9,10 @@ import java.util.function.Predicate; ...@@ -9,7 +9,10 @@ import java.util.function.Predicate;
public class CollectionUtil { public class CollectionUtil {
private static final HashMap<String, String> STRING_STRING_HASH_MAP = new HashMap<>(); private static final HashMap<String, String> STRING_STRING_HASH_MAP = new HashMap<>();
private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>(); private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>();
private static final HashMap<String, List<String>> STRING_LIST_HASH_MAP = new HashMap<>();
private static final HashMap<String, Integer> STRING_INTEGER_HASH_MAP = new HashMap<>(); private static final HashMap<String, Integer> STRING_INTEGER_HASH_MAP = new HashMap<>();
private static final HashMap<String, BigDecimal> STRING_BIG_DECIMAL_HASH_MAP = new HashMap<>();
private static final HashMap<String, Map<String, Object>> STRING_MAP_HASH_MAP = new HashMap<>();
private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>(); private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>();
private static final LinkedList<Object[]> OBJECTS_LINKED_LIST = new LinkedList<>(); private static final LinkedList<Object[]> OBJECTS_LINKED_LIST = new LinkedList<>();
private static final LinkedMultiValueMap<String, String> STRING_STRING_LINKED_MULTI_VALUE_MAP = new LinkedMultiValueMap<>(); private static final LinkedMultiValueMap<String, String> STRING_STRING_LINKED_MULTI_VALUE_MAP = new LinkedMultiValueMap<>();
...@@ -20,10 +23,12 @@ public class CollectionUtil { ...@@ -20,10 +23,12 @@ public class CollectionUtil {
private static final ArrayList<BigDecimal> BIG_DECIMALS_ARRAY_LIST = new ArrayList<>(); private static final ArrayList<BigDecimal> BIG_DECIMALS_ARRAY_LIST = new ArrayList<>();
private static final ArrayList<BigDecimal> BIGDECIMAL_ARRAY_LIST = new ArrayList<>(); private static final ArrayList<BigDecimal> BIGDECIMAL_ARRAY_LIST = new ArrayList<>();
public static HashMap<String, String> mapStringString() { public static HashMap<String, String> mapStringString() {
return (HashMap<String, String>) STRING_STRING_HASH_MAP.clone(); return (HashMap<String, String>) STRING_STRING_HASH_MAP.clone();
} }
public static HashMap<String, List<String>> mapStringList() {
return (HashMap<String, List<String>>) STRING_LIST_HASH_MAP.clone();
}
public static HashMap<String, Object> mapStringObject() { public static HashMap<String, Object> mapStringObject() {
return (HashMap<String, Object>) STRING_OBJECT_HASH_MAP.clone(); return (HashMap<String, Object>) STRING_OBJECT_HASH_MAP.clone();
...@@ -33,6 +38,14 @@ public class CollectionUtil { ...@@ -33,6 +38,14 @@ public class CollectionUtil {
return (HashMap<String, Integer>) STRING_INTEGER_HASH_MAP.clone(); return (HashMap<String, Integer>) STRING_INTEGER_HASH_MAP.clone();
} }
public static HashMap<String, BigDecimal> mapStringBigDecimal() {
return (HashMap<String, BigDecimal>) STRING_BIG_DECIMAL_HASH_MAP.clone();
}
public static HashMap<String, Map<String, Object>> mapHashMap() {
return (HashMap<String, Map<String, Object>>) STRING_MAP_HASH_MAP.clone();
}
public static LinkedList<String> linkedListString() { public static LinkedList<String> linkedListString() {
return (LinkedList<String>) STRING_LINKED_LIST.clone(); return (LinkedList<String>) STRING_LINKED_LIST.clone();
} }
......
...@@ -149,4 +149,35 @@ public class IDGenerator { ...@@ -149,4 +149,35 @@ public class IDGenerator {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println(getWriteOffCode()); System.out.println(getWriteOffCode());
} }
/**
* 获取兑换码
* @param num 次数
* @param sec 单次巡管
* @param bol 是否添加特殊字符
* @return
*/
public static String createCode(int num,int sec,boolean bol) {
StringBuffer str = new StringBuffer();
for (int k=0;k<num;k++) {
for(int i=0;i < sec;i++){
int intVal=(int)(Math.random()*58+65);
if(intVal >= 91 && intVal <= 122){
i--;
}
if(intVal < 91 || intVal > 122){
if(intVal%2==0){
str.append((char)intVal);
}else{
str.append((int)(Math.random()*10));
}
}
}
if(bol){
str.append("-");
}
}
return str.toString()+"CH";
}
} }
...@@ -274,6 +274,8 @@ public class MQConst { ...@@ -274,6 +274,8 @@ public class MQConst {
GOBLIN_STORE_ORDER_OPERA("goblin:stream:order:store", "group.order:store", "商铺订单操作"), GOBLIN_STORE_ORDER_OPERA("goblin:stream:order:store", "group.order:store", "商铺订单操作"),
GOBLIN_USER_ORDER_OPERA("goblin:stream:order:user", "group.order:user", "用户订单操作"), GOBLIN_USER_ORDER_OPERA("goblin:stream:order:user", "group.order:user", "用户订单操作"),
GOBLIN_XLS_OPERA("goblin:stream:xls", "group.xls", "xls文件操作"), GOBLIN_XLS_OPERA("goblin:stream:xls", "group.xls", "xls文件操作"),
GOBLIN_PHONE_CODE_OPERA("goblin:stream:phone:code","group.phone:code","批量空投操作"),
GOBLIN_CODE_OPERA("goblin:stream:code","group.code","修改兑换码操作人"),
GOBLIN_UN_PAY_0("goblin:stream:order:back:0", "group.order:back", "回滚关闭订单库存队列"), GOBLIN_UN_PAY_0("goblin:stream:order:back:0", "group.order:back", "回滚关闭订单库存队列"),
GOBLIN_UN_PAY_1("goblin:stream:order:back:1", "group.order:back", "回滚关闭订单库存队列"), GOBLIN_UN_PAY_1("goblin:stream:order:back:1", "group.order:back", "回滚关闭订单库存队列"),
......
...@@ -100,6 +100,7 @@ liquidnet: ...@@ -100,6 +100,7 @@ liquidnet:
smile: smile:
url: http://devsmile.zhengzai.tv url: http://devsmile.zhengzai.tv
order: order:
url: http://devorder.zhengzai.tv
url-pay: url-pay:
pay: http://devdragon.zhengzai.tv/dragon/pay/dragonPay pay: http://devdragon.zhengzai.tv/dragon/pay/dragonPay
applePay: http://devdragon.zhengzai.tv/dragon/notify/apple/purchase applePay: http://devdragon.zhengzai.tv/dragon/notify/apple/purchase
......
...@@ -100,6 +100,7 @@ liquidnet: ...@@ -100,6 +100,7 @@ liquidnet:
smile: smile:
url: http://testsmile.zhengzai.tv url: http://testsmile.zhengzai.tv
order: order:
url: http://testorder.zhengzai.tv
url-pay: url-pay:
pay: http://testdragon.zhengzai.tv/dragon/pay/dragonPay pay: http://testdragon.zhengzai.tv/dragon/pay/dragonPay
applePay: http://testdragon.zhengzai.tv/dragon/notify/apple/purchase applePay: http://testdragon.zhengzai.tv/dragon/notify/apple/purchase
......
...@@ -106,6 +106,7 @@ global-auth: ...@@ -106,6 +106,7 @@ global-auth:
- ${liquidnet.info.context}/goblin/paySuccess - ${liquidnet.info.context}/goblin/paySuccess
- ${liquidnet.info.context}/goblin/nft/syncOrder - ${liquidnet.info.context}/goblin/nft/syncOrder
- ${liquidnet.info.context}/goblin/nft/refundSyncOrder - ${liquidnet.info.context}/goblin/nft/refundSyncOrder
- ${liquidnet.info.context}/goblin/nft/airdrop
# ----------------------------------------------------------- # -----------------------------------------------------------
# ----------------------------------------------------------- # -----------------------------------------------------------
......
...@@ -60,7 +60,7 @@ info: ...@@ -60,7 +60,7 @@ info:
# ----------------------------------------------------------- # -----------------------------------------------------------
mybatis-plus: mybatis-plus:
mapper-locations: classpath*:com.liquidnet.service.*.mapper/*Mapper.xml mapper-locations: classpath*:com.liquidnet.service.*.mapper/*Mapper.xml
# ----------------------------------------------------------- # -----------------------------------------------------------
spring: spring:
application: application:
name: ${liquidnet.info.name} name: ${liquidnet.info.name}
......
...@@ -44,4 +44,20 @@ public interface AdamUserMapper extends BaseMapper<AdamUser> { ...@@ -44,4 +44,20 @@ public interface AdamUserMapper extends BaseMapper<AdamUser> {
"limit #{rows},#{offset}" "limit #{rows},#{offset}"
}) })
List<AdamUserInfoDto> selectMultiForUserInfoDto(@Param("rows") int rows, @Param("offset") int offset); List<AdamUserInfoDto> selectMultiForUserInfoDto(@Param("rows") int rows, @Param("offset") int offset);
// /**
// * 根据手机号获取 用户信息
// *
// * @param mobile
// * @return
// */
// AdamUserInfoDto selectByPhone(@Param("mobile") String mobile);
/**
* 根据手机号批量获取
*
* @param mobiles
* @return
*/
List<AdamUserInfoDto> selectByPhones(@Param("mobiles") String mobiles);
} }
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamUserMapper"> <mapper namespace="com.liquidnet.service.adam.mapper.AdamUserMapper">
<resultMap id="BaseResult" type="com.liquidnet.service.adam.dto.AdamUserInfoDto">
<result column="uid" property="uid" jdbcType="VARCHAR"/>
<result column="mobile" property="mobile" jdbcType="VARCHAR"/>
</resultMap>
<!-- <select id="selectByPhone" resultMap="BaseResult">-->
<!-- select uid, mobile-->
<!-- from adam_user-->
<!-- where mobile = #{mobile,jdbcType=VARCHAR}-->
<!-- </select>-->
<select id="selectByPhones" resultMap="BaseResult">
select uid,mobile from adam_user where mobile in
<foreach collection="mobiles.split(',')" item="mobile" open="(" separator="," close=")">
#{mobile}
</foreach>
</select>
<update id="executeForDM"> <update id="executeForDM">
TRUNCATE TABLE ${tn} TRUNCATE TABLE ${tn}
......
package com.liquidnet.service.goblin.dto;
import lombok.Data;
@Data
public class MallOrdertDao {
//订单id
private String orderId;
//订单编号
private String orderCode;
//购买人手机号
private String userMobile;
//快递费
private String priceExpress;
//平台券优惠金额
private String priceCoupon;
//店铺券优惠金额
private String storePriceCoupon;
//收货人
private String expressContacts;
//收货人电话
private String expressPhone;
//快递地址
private String expressDetailAddress;
//商品id
private String spuId;
//商品名
private String name;
//一级分类
private String cate1Name;
//二级分类
private String cate2Name;
//款式
private String skuName;
//数量
private String num;
//单价
private String skuPrice;
//价格
private String skuPriceActual;
//订单skuId
private String orderSkuId;
//支付方式
private String payType;
//支付时间
private String payTime;
//下单时间
private String createdAt;
//快递公司
private String logisticsCompany;
//物流单号
private String mailNo;
}
...@@ -249,6 +249,9 @@ public class GoblinGoodsSku implements Serializable { ...@@ -249,6 +249,9 @@ public class GoblinGoodsSku implements Serializable {
private LocalDateTime deletedAt; private LocalDateTime deletedAt;
private Integer upchain;
/** /**
* 物流模版id * 物流模版id
*/ */
......
package com.liquidnet.service.goblin.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;
/**
* @Author: wll
* @Description: nft 兑换活动表
* @Date:Create:in 2022/4/19 2:14 下午
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExActivity implements Serializable,Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 活动id
*/
private String activityId;
private String uid;
/**
* 活动标题
*/
private String title;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
/**
* 总数量
*/
private Integer countNumber;
/**
* 使用数量
*/
private Integer useNumber;
/**
* 未使用数量
*/
private Integer unUseNumber;
private Integer isDisplay;
private final static GoblinNftExActivity obj = new GoblinNftExActivity();
public static GoblinNftExActivity getNew(){
try {
return (GoblinNftExActivity) obj.clone();
}catch (CloneNotSupportedException e){
return new GoblinNftExActivity();
}
}
}
package com.liquidnet.service.goblin.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;
import java.util.List;
/**
* @Author: wll
* @Description: NFT兑换码表
* @Date:Create:in 2022/4/19 1:55 下午
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExCode implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 兑换码id
*/
private String codeId;
/**
* 活动id
*/
private String activityId;
/**
* 兑换码
*/
private String code;
/**
* 款式id
*/
private String skuId;
/**
* 盲盒款式id
*/
private String boxSkuId;
/**
* 兑换码状态 1 未兑换 2 已兑换
*/
private Integer state;
/**
* 兑换用户id
*/
private String redeemUid;
/**
* 操作用户id
*/
private String adminUid;
/**
* 兑换时间
*/
private LocalDateTime redeemAt;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
/**
* 类型 默认无参 1:明盒、盲盒 2:空投盲盒/空投明盒
*/
private Integer isDrivi;
private String sktName;
private static final GoblinNftExCode obj = new GoblinNftExCode();
public static GoblinNftExCode getNew() {
try {
return (GoblinNftExCode) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinNftExCode();
}
}
}
package com.liquidnet.service.goblin.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;
/**
* <p>
*
* </p>
*
* @author jiangxiulong
* @since 2022-04-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExCodeTask implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
private String taskId;
private String activityId;
private String storeId;
private String spuId;
private String skuId;
private String unbox;
private Integer exStock;
private Integer exLimit;
private Integer typ;
private LocalDateTime exStartTime;
private LocalDateTime exStopTime;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private final static GoblinNftExCodeTask obj = new GoblinNftExCodeTask();
public static GoblinNftExCodeTask getNew(){
try {
return (GoblinNftExCodeTask) obj.clone();
}catch (CloneNotSupportedException e){
return new GoblinNftExCodeTask();
}
}
}
package com.liquidnet.service.goblin.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 兑换码定时任务生成副表
* </p>
*
* @author jiangxiulong
* @since 2022-04-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExCodeTaskRelation implements Serializable {
private static final long serialVersionUID = 1L;
private String mid;
/**
* 定时id
*/
private String taskId;
/**
* sku_id
*/
private String skuId;
/**
* 库存
*/
private Integer stock;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
private final static GoblinNftExCodeTaskRelation obj = new GoblinNftExCodeTaskRelation();
public static GoblinNftExCodeTaskRelation getNew(){
try {
return (GoblinNftExCodeTaskRelation) obj.clone();
}catch (CloneNotSupportedException e){
return new GoblinNftExCodeTaskRelation();
}
}
}
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/19 2:23 下午
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinNftExSku {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 活动id
*/
private String activityId;
/**
* 商品id
*/
private String spuId;
/**
* 款式id
*/
private String skuId;
/**
* 是否盲盒 0:否 1:是
*/
private String unbox;
/**
* 兑换库存
*/
private Integer exStock;
/**
* 兑换限购
*/
private Integer exLimit;
/**
* 店铺id
*/
private String storeId;
/**
* 兑换生效开始时间
*/
private LocalDateTime exStartTime;
/**
* 兑换生效结束时间
*/
private LocalDateTime exStopTime;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
private static final GoblinNftExSku obj = new GoblinNftExSku();
public static GoblinNftExSku getNew(){
try{
return (GoblinNftExSku) obj.clone();
}catch (CloneNotSupportedException e){
return new GoblinNftExSku();
}
}
}
...@@ -80,12 +80,12 @@ public class GoblinUserDigitalArtwork implements Serializable { ...@@ -80,12 +80,12 @@ public class GoblinUserDigitalArtwork implements Serializable {
private String tradingAt; private String tradingAt;
/** /**
* 获得方式[1-购买|2-兑换|3-赠送|5-受赠] * 获得方式[1-购买|2-兑换|3-赠送|5-受赠|31-空投赠送]
*/ */
private Integer source; private Integer source;
/** /**
* 藏品状态[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败] * 藏品状态[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败|5-待收取]
*/ */
private Integer state; private Integer state;
......
...@@ -2,6 +2,11 @@ package com.liquidnet.service.goblin.mapper; ...@@ -2,6 +2,11 @@ package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinGoodsSku; import com.liquidnet.service.goblin.entity.GoblinGoodsSku;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.goblin.entity.GoblinNftExCode;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* <p> * <p>
...@@ -11,6 +16,28 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,6 +16,28 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author liquidnet * @author liquidnet
* @since 2021-12-27 * @since 2021-12-27
*/ */
@Repository
public interface GoblinGoodsSkuMapper extends BaseMapper<GoblinGoodsSku> { public interface GoblinGoodsSkuMapper extends BaseMapper<GoblinGoodsSku> {
/**
* 根据skuName获取
* @param skuName
* @return
*/
List<GoblinGoodsSku> selectSkuLikeName(@Param("skuName") String skuName);
/**
* 根据skuIds查询sku
* @param skuIds
* @return
*/
List<GoblinGoodsSku> selectBySkuIds(@Param("skuIds") String skuIds);
/**
* 根据spuIds获取spu下的sku
* @param spuIds
* @return
*/
List<GoblinGoodsSku> selectBySpuIds(@Param("spuIds") String spuIds);
} }
package com.liquidnet.service.goblin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.goblin.entity.GoblinNftExActivity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* NFT兑换活动表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-19
*/
@Repository
public interface GoblinNftExActivityMapper extends BaseMapper<GoblinNftExActivity> {
/**
* 添加ntf兑换活动数据
* @param goblinNftExActivity
* @return
*/
int addGoblinNftExActivity(GoblinNftExActivity goblinNftExActivity);
/**
* 分页回去nft兑换活动数据
* @param title
* @param startTime
* @param endTime
* @return
*/
List<GoblinNftExActivity> selectPageList(@Param("title") String title, @Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("uid")String uid);
/**
* 根据活动ids 获取活动
* @param activityId
* @return
*/
GoblinNftExActivity selectByActivityId(@Param("activityId") String activityId);
/**
* 验重
* @param title
* @return
*/
GoblinNftExActivity selectByTitle(@Param("title") String title,@Param("uid")String uid);
/**
* 获取
* @return
*/
int selectActivityCount(@Param("title") String title, @Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("uid") String uid);
}
package com.liquidnet.service.goblin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.goblin.entity.GoblinNftExCode;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* NFT兑换码表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-19
*/
@Repository
public interface GoblinNftExCodeMapper extends BaseMapper<GoblinNftExCode> {
/**
* 批量添加兑换码信息
*
* @param goblinNftExCodes
* @return
*/
int addGoblinNftExCodes(@Param("goblinNftExCodes") List<GoblinNftExCode> goblinNftExCodes);
/**
* 根据活动ids查询
*
* @param activityIds
* @return
*/
List<GoblinNftExCode> selectByActivityIds(@Param("activityIds") String activityIds);
/**
* 条件查询 兑换码
*
* @param goblinNftExCode
* @return
*/
List<GoblinNftExCode> selectGoblinNftCode(GoblinNftExCode goblinNftExCode);
/**
* 根据codeIds 获取
*
* @param codeIds
* @return
*/
List<GoblinNftExCode> selectByIds(@Param("codeIds") String codeIds);
/**
* 批量修改
*
* @param goblinNftExCodes
* @return
*/
int updateCodes(@Param("goblinNftExCodes") List<GoblinNftExCode> goblinNftExCodes);
/*
* 根据code获取兑换码信息
*/
GoblinNftExCode selectGoblinNftCodeByCode(@Param("code") String code);
/*
* 获取数量
*/
int selectGoblinNftCodeCount(GoblinNftExCode goblinNftExCode);
/**
* 修改操作用户
*
* @param goblinNftExCode
* @return
*/
int updateCodeAdminUid(GoblinNftExCode goblinNftExCode);
/**
* 根据活动id获取可用的兑换码
*
* @param activityId
* @return
*/
List<GoblinNftExCode> selectCodeAvailableByActivityId(@Param("activityId") String activityId);
/**
* 批量修改
*
* @param codes
* @param adminUid
* @return
*/
int updateCodeAdminUids(@Param("codes") String codes, @Param("adminUid") String adminUid);
}
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinNftExCodeTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import lombok.experimental.PackagePrivate;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wanglele
* @since 2022-04-27
*/
@Repository
public interface GoblinNftExCodeTaskMapper extends BaseMapper<GoblinNftExCodeTask> {
/**
* 获取所有定时任务
* @return
*/
List<GoblinNftExCodeTask> selectByActivity();
/**
* 批量添加定时任务
* @param goblinNftExCodeTasks
* @return
*/
int addGoblinNftExCodeTasks(@Param("goblinNftExCodeTasks") List<GoblinNftExCodeTask> goblinNftExCodeTasks);
/**
* 批量删除定时
* @param taskIds
* @return
*/
int deleteByTaskIds(@Param("taskIds") String taskIds);
/**
* 批量修改定时
* @param taskIds
* @return
*/
int updateByTaskIds(@Param("taskIds") String taskIds);
/**
* 根据活动ids获取定时
* @param activityIds
* @return
*/
List<GoblinNftExCodeTask> selectByActivityIds(@Param("activityIds") String activityIds);
}
package com.liquidnet.service.goblin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.goblin.entity.GoblinNftExCodeTaskRelation;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 兑换码定时任务生成副表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-28
*/
@Repository
public interface GoblinNftExCodeTaskRelationMapper extends BaseMapper<GoblinNftExCodeTaskRelation> {
/**
* 根据定时任务ids查询
* @param taskIds
* @return
*/
List<GoblinNftExCodeTaskRelation> selectByTaskIds(@Param("taskIds") String taskIds);
/**
* 批量添加定时任务附表
* @param goblinNftExCodeTaskRelations
* @return
*/
int inserts(@Param("goblinNftExCodeTaskRelations") List<GoblinNftExCodeTaskRelation> goblinNftExCodeTaskRelations);
}
package com.liquidnet.service.goblin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.goblin.entity.GoblinNftExSku;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* NFT兑换活动关联SKU表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-19
*/
@Repository
public interface GoblinNftExSkuMapper extends BaseMapper<GoblinNftExSku> {
/**
* 批量添加兑换活动和sku的关联
* @param goblinNftExSkus
* @return
*/
int addGoblinNftExSkus(@Param("goblinNftExSkus") List<GoblinNftExSku> goblinNftExSkus);
/**
* 根据活动ids查询兑换和sku关联信息
* @param activityIds
* @return
*/
List<GoblinNftExSku> selectGoblinNftExSkuByActivityIds(@Param("activityIds")String activityIds);
}
package com.liquidnet.service.goblin.mapper; package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.dto.MallOrdertDao;
import com.liquidnet.service.goblin.entity.GoblinStoreOrder; import com.liquidnet.service.goblin.entity.GoblinStoreOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +18,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +18,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface GoblinStoreOrderMapper extends BaseMapper<GoblinStoreOrder> { public interface GoblinStoreOrderMapper extends BaseMapper<GoblinStoreOrder> {
List<MallOrdertDao> exportMallOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime, @Param("states") List<String>
states, @Param("mailType") Integer mailType, @Param("storeId") String storeId);
} }
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper"> <mapper namespace="com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper">
<resultMap id="BaseResult" type="com.liquidnet.service.goblin.entity.GoblinGoodsSku">
<result column="spu_id" property="spuId" jdbcType="VARCHAR"/>
<result column="sku_id" property="skuId" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="unbox" property="unbox" jdbcType="VARCHAR"/>
<result column="hit_ratio" property="hitRatio" jdbcType="DECIMAL"/>
<result column="sku_type" property="skuType" jdbcType="INTEGER"/>
<result column="status" property="status" jdbcType="VARCHAR"/>
<result column="shelves_status" property="shelvesStatus" jdbcType="VARCHAR"/>
<result column="sku_appear" property="skuAppear" jdbcType="VARCHAR"/>
<result column="sku_canbuy" property="skuCanbuy" jdbcType="VARCHAR"/>
<result column="del_flg" property="delFlg" jdbcType="VARCHAR"/>
<result column="soldout_status" property="soldoutStatus" jdbcType="VARCHAR"/>
<result column="sale_start_time" property="saleStartTime" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="selectSkuLikeName" resultMap="BaseResult">
select sku_id from goblin_goods_sku
where
<bind name="likeSkuName" value="'%'+skuName+'%'"/>
name like #{likeSkuName}
</select>
<select id="selectBySkuIds" resultMap="BaseResult">
select sku_id,name,sku_pic,hit_ratio,unbox,sku_type,status,shelves_status,sku_canbuy,sku_appear,del_flg,soldout_status,sale_start_time from goblin_goods_sku where
sku_id in
<foreach collection="skuIds.split(',')" item="skuId" open="(" separator="," close=")">
#{skuId,jdbcType=VARCHAR}
</foreach>
</select>
<select id="selectBySpuIds" resultMap="BaseResult">
select spu_id,sku_id,hit_ratio,unbox,sku_type,status,shelves_status,sku_appear,del_flg,sku_canbuy,soldout_status,sale_start_time from goblin_goods_sku where
spu_id in
<foreach collection="spuIds.split(',')" item="spuId" open="(" separator="," close=")">
#{spuId,jdbcType=VARCHAR}
</foreach>
</select>
</mapper> </mapper>
<?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.goblin.mapper.GoblinNftExActivityMapper">
<resultMap id="BaseResult" type="com.liquidnet.service.goblin.entity.GoblinNftExActivity">
<result column="activity_id" property="activityId" jdbcType="VARCHAR"/>
<result column="uid" property="uid" jdbcType="VARCHAR"/>
<result column="title" property="title" jdbcType="VARCHAR"/>
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="selectByTitle" resultMap="BaseResult">
select activity_id, uid, title, created_at
from goblin_nft_ex_activity
where title = #{title} and uid = #{uid}
</select>
<select id="selectPageList" resultMap="BaseResult">
select activity_id,uid,title,created_at from goblin_nft_ex_activity
<where>
<if test="uid != null and uid != ''">
and uid = #{uid,jdbcType=VARCHAR}
</if>
<if test="title != null and title != ''">
<bind name="likeTitle" value="'%' + title + '%'"/>
and title like #{likeTitle}
</if>
<if test="startTime != null">
and created_at &gt; #{startTime,jdbcType=TIMESTAMP}
</if>
<if test="endTime != null">
and created_at &lt; #{endTime,jdbcType=TIMESTAMP}
</if>
</where>
order by created_at desc
</select>
<select id="selectByActivityId" resultMap="BaseResult">
select activity_id, title, created_at
from goblin_nft_ex_activity
where activity_id = #{activityId,jdbcType=VARCHAR}
</select>
<select id="selectActivityCount" resultType="java.lang.Integer">
select count(0)
from goblin_nft_ex_activity
<where>
<if test="uid != null and uid != ''">
and uid = #{uid,jdbcType=VARCHAR}
</if>
<if test="title != null and title != ''">
<bind name="likeTitle" value="'%' + title + '%'"/>
and title like #{likeTitle}
</if>
<if test="startTime != null">
and created_at &gt; #{startTime,jdbcType=TIMESTAMP}
</if>
<if test="endTime != null">
and created_at &lt; #{endTime,jdbcType=TIMESTAMP}
</if>
</where>
</select>
<insert id="addGoblinNftExActivity" parameterType="com.liquidnet.service.goblin.entity.GoblinNftExActivity">
insert into goblin_nft_ex_activity
(
<if test="activityId != null and activityId != null">
activity_id,
</if>
<if test="uid != null and uid != ''">
uid,
</if>
<if test="title != null and title != ''">
title,
</if>
<if test="createdAt != null">
created_at
</if>
) values(
<if test="activityId != null and activityId != null">
#{activityId,jdbcType=VARCHAR},
</if>
<if test="uid != null and uid != ''">
#{uid,jdbcType=VARCHAR},
</if>
<if test="title != null and title != ''">
#{title,jdbcType=VARCHAR},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP}
</if>
)
</insert>
</mapper>
<?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.goblin.mapper.GoblinNftExCodeMapper">
<resultMap id="BeseResult" type="com.liquidnet.service.goblin.entity.GoblinNftExCode">
<result column="code_id" property="codeId" jdbcType="VARCHAR"/>
<result column="activity_id" property="activityId" jdbcType="VARCHAR"/>
<result column="code" property="code" jdbcType="VARCHAR"/>
<result column="sku_id" property="skuId" jdbcType="VARCHAR"/>
<result column="box_sku_id" property="boxSkuId" jdbcType="VARCHAR"/>
<result column="state" property="state" jdbcType="INTEGER"/>
<result column="redeem_uid" property="redeemUid" jdbcType="VARCHAR"/>
<result column="redeem_at" property="redeemAt" jdbcType="TIMESTAMP"/>
<result column="admin_uid" property="adminUid" jdbcType="VARCHAR"/>
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="selectByIds" resultMap="BeseResult">
select code_id,activity_id,sku_id,box_sku_id,state,code from goblin_nft_ex_code
where code_id in
<foreach collection="codeIds.split(',')" item="codeId" open="(" separator="," close=")">
#{codeId,jdbcType=VARCHAR}
</foreach>
</select>
<select id="selectGoblinNftCodeByCode" resultMap="BeseResult">
select code_id, activity_id, code, box_sku_id, state
from goblin_nft_ex_code
where code = #{code}
</select>
<insert id="addGoblinNftExCodes">
insert into goblin_nft_ex_code (code_id,activity_id,code,sku_id,box_sku_id,state,created_at)
values
<foreach collection="goblinNftExCodes" item="goblinNftExCode" separator=",">
(
#{goblinNftExCode.codeId},
#{goblinNftExCode.activityId},
#{goblinNftExCode.code},
#{goblinNftExCode.skuId},
#{goblinNftExCode.boxSkuId},
#{goblinNftExCode.state},
#{goblinNftExCode.createdAt}
)
</foreach>
</insert>
<update id="updateCodes">
update goblin_nft_ex_code
<set>
state = 3 , updated_at = now()
</set>
where code_id in
<foreach collection="goblinNftExCodes" item="goblinNftExCode" index="index" open="(" separator="," close=")">
#{goblinNftExCode.codeId}
</foreach>
</update>
<update id="updateCodeAdminUid" parameterType="com.liquidnet.service.goblin.entity.GoblinNftExCode">
update goblin_nft_ex_code
<set>
admin_uid = #{adminUid}
</set>
where code_id = #{codeId}
</update>
<update id="updateCodeAdminUids">
update goblin_nft_ex_code
<set>
admin_uid = #{adminUid}
</set>
where code in
<foreach collection="codes.split(',')" item="code" open="(" separator="," close=")">
#{code}
</foreach>
</update>
<select id="selectGoblinNftCode" parameterType="com.liquidnet.service.goblin.entity.GoblinNftExCode"
resultMap="BeseResult">
select
DISTINCT
gnec.code,gnec.code_id,gnec.sku_id,gnec.box_sku_id,gnec.activity_id,gnec.state,gnec.redeem_uid,gnec.redeem_at,gnec.admin_uid,gnec.created_at
from goblin_nft_ex_code gnec inner join goblin_nft_ex_sku gnes on gnec.sku_id = gnes.sku_id and gnes.activity_id
= gnec.activity_id
<where>
<if test="code != null and code != ''">
and gnec.code = #{code,jdbcType=VARCHAR}
</if>
<if test="activityId != null and activityId != ''">
and gnec.activity_id = #{activityId,jdbcType=VARCHAR}
</if>
<if test="state != null">
<choose>
<when test="state == 1">
and (now() BETWEEN gnes.ex_start_time and gnes.ex_stop_time) and
gnec.state =1
</when>
<when test="state == 2">
and gnec.state = 2
</when>
<when test="state == 3">
and (((now() &gt; gnes.ex_stop_time) AND gnec.state = 1) ||
gnec.state = 3)
</when>
</choose>
</if>
<if test="redeemUid != null and redeemUid != ''">
and gnec.redeem_uid = #{redeemUid,jdbcType=VARCHAR}
</if>
<if test="skuId != null and skuId != ''">
and gnec.sku_id in
<foreach collection="skuId.split(',')" item="sId" open="(" separator="," close=")">
#{sId,jdbcType=VARCHAR}
</foreach>
</if>
<if test="isDrivi != null">
<choose>
<when test="isDrivi == 1">
and gnec.admin_uid = ''
</when>
<when test="isDrivi == 2">
and gnec.admin_uid != ''
</when>
</choose>
</if>
</where>
</select>
<select id="selectCodeAvailableByActivityId" resultMap="BeseResult">
select DISTINCT gnec.code,
gnec.code_id,
gnec.sku_id,
gnec.box_sku_id,
gnec.activity_id,
gnec.state,
gnec.redeem_uid,
gnec.redeem_at,
gnec.admin_uid,
gnec.created_at
from goblin_nft_ex_code gnec
inner join goblin_nft_ex_sku gnes
on gnec.sku_id = gnes.sku_id and gnec.activity_id = #{activityId,jdbcType=VARCHAR} and
gnec.state = 1 and (now() BETWEEN gnes.ex_start_time and gnes.ex_stop_time)
</select>
<select id="selectGoblinNftCodeCount" parameterType="com.liquidnet.service.goblin.entity.GoblinNftExCode"
resultType="java.lang.Integer">
select count(DISTINCT gnec.code)
from goblin_nft_ex_code gnec inner join goblin_nft_ex_sku gnes
on
gnec.sku_id = gnes.sku_id and gnes.activity_id = gnec.activity_id
<where>
<if test="code != null and code != ''">
and gnec.code = #{code,jdbcType=VARCHAR}
</if>
<if test="activityId != null and activityId != ''">
and gnec.activity_id = #{activityId,jdbcType=VARCHAR}
</if>
<if test="state != null">
<choose>
<when test="state == 1">
and gnec.sku_id = gnes.sku_id and (now() BETWEEN gnes.ex_start_time and gnes.ex_stop_time) and
gnec.state =1
</when>
<when test="state == 2">
and gnec.state = 2
</when>
<when test="state == 3">
and gnec.sku_id = gnes.sku_id and (((now() &gt; gnes.ex_stop_time) AND gnec.state = 1) ||
gnec.state = 3)
</when>
</choose>
</if>
<if test="redeemUid != null and redeemUid != ''">
and gnec.redeem_uid = #{redeemUid,jdbcType=VARCHAR}
</if>
<if test="skuId != null and skuId != ''">
and gnec.sku_id in
<foreach collection="skuId.split(',')" item="sId" open="(" separator="," close=")">
#{sId,jdbcType=VARCHAR}
</foreach>
</if>
<if test="isDrivi != null">
<choose>
<when test="isDrivi == 1">
and gnec.admin_uid = ''
</when>
<when test="isDrivi == 2">
and gnec.admin_uid != ''
</when>
</choose>
</if>
</where>
</select>
<select id="selectByActivityIds" resultMap="BeseResult">
select code_id,sku_id,box_sku_id,activity_id,state from goblin_nft_ex_code where
activity_id in
<foreach collection="activityIds.split(',')" item="activityId" open="(" close=")" separator=",">
#{activityId,jdbcType=VARCHAR}
</foreach>
</select>
</mapper>
<?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.goblin.mapper.GoblinNftExCodeTaskMapper">
<resultMap id="BaseResult" type="com.liquidnet.service.goblin.entity.GoblinNftExCodeTask">
<result column="task_id" property="taskId" jdbcType="VARCHAR"/>
<result column="activity_id" property="activityId" jdbcType="VARCHAR"/>
<result column="store_id" property="storeId" jdbcType="VARCHAR"/>
<result column="spu_id" property="spuId" jdbcType="VARCHAR"/>
<result column="sku_id" property="skuId" jdbcType="VARCHAR"/>
<result column="unbox" property="unbox" jdbcType="VARCHAR"/>
<result column="ex_stock" property="exStock" jdbcType="INTEGER"/>
<result column="ex_limit" property="exLimit" jdbcType="INTEGER"/>
<result column="ex_start_time" property="exStartTime" jdbcType="TIMESTAMP"/>
<result column="ex_stop_time" property="exStopTime" jdbcType="TIMESTAMP"/>
<result column="typ" property="typ" jdbcType="INTEGER"/>
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="selectByActivity" resultMap="BaseResult">
SELECT a.task_id,
a.activity_id,
a.store_id,
a.spu_id,
a.sku_id,
a.unbox,
a.ex_stock,
a.ex_limit,
a.ex_start_time,
a.ex_stop_time,
a.created_at
FROM goblin_nft_ex_code_task a,
(
SELECT activity_id
FROM goblin_nft_ex_code_task where typ = 1
GROUP BY activity_id LIMIT 1
) b
where a.activity_id = b.activity_id
and a.typ = 1
</select>
<select id="selectByActivityIds" resultMap="BaseResult">
select activity_id from goblin_nft_ex_code_task where typ = 1 and activity_id in
<foreach collection="activityIds.split(',')" item="activityId" open="(" separator="," close=")">
#{activityId}
</foreach>
</select>
<insert id="addGoblinNftExCodeTasks">
insert into goblin_nft_ex_code_task
(task_id,activity_id,store_id,spu_id,sku_id,unbox,ex_stock,ex_limit,ex_start_time,ex_stop_time,typ,created_at)
values
<foreach collection="goblinNftExCodeTasks" item="goblinNftExCodeTask" separator=",">
(
#{goblinNftExCodeTask.taskId},
#{goblinNftExCodeTask.activityId},
#{goblinNftExCodeTask.storeId},
#{goblinNftExCodeTask.spuId},
#{goblinNftExCodeTask.skuId},
#{goblinNftExCodeTask.unbox},
#{goblinNftExCodeTask.exStock},
#{goblinNftExCodeTask.exLimit},
#{goblinNftExCodeTask.exStartTime},
#{goblinNftExCodeTask.exStopTime},
#{goblinNftExCodeTask.typ},
#{goblinNftExCodeTask.createdAt}
)
</foreach>
</insert>
<delete id="deleteByTaskIds">
delete from goblin_nft_ex_code_task where task_id in
<foreach collection="taskIds.split(',')" item="taskId" open="(" separator="," close=")">
#{taskId}
</foreach>
</delete>
<update id="updateByTaskIds">
update goblin_nft_ex_code_task
<set>
typ = 0 , updated_at = now()
</set>
where task_id in
<foreach collection="taskIds.split(',')" item="taskId" index="index" open="(" separator="," close=")">
#{taskId}
</foreach>
</update>
</mapper>
<?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.goblin.mapper.GoblinNftExCodeTaskRelationMapper">
<resultMap id="BaseResult" type="com.liquidnet.service.goblin.entity.GoblinNftExCodeTaskRelation">
<result column="task_id" property="taskId" jdbcType="VARCHAR"/>
<result column="sku_id" property="skuId" jdbcType="VARCHAR"/>
<result column="stock" property="stock" jdbcType="VARCHAR"/>
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="selectByTaskIds" resultMap="BaseResult">
select task_id,sku_id,stock,created_at,updated_at from goblin_nft_ex_code_task_relation where task_id in
<foreach collection="taskIds.split(',')" item="taskId" open="(" separator="," close=")">
#{taskId}
</foreach>
</select>
<insert id="inserts">
insert into goblin_nft_ex_code_task_relation (task_id,sku_id,stock,created_at)
values
<foreach collection="goblinNftExCodeTaskRelations" item="goblinNftExCodeTaskRelation" separator=",">
(
#{goblinNftExCodeTaskRelation.taskId},
#{goblinNftExCodeTaskRelation.skuId},
#{goblinNftExCodeTaskRelation.stock},
#{goblinNftExCodeTaskRelation.createdAt}
)
</foreach>
</insert>
</mapper>
<?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.goblin.mapper.GoblinNftExSkuMapper">
<resultMap id="BaseResult" type="com.liquidnet.service.goblin.entity.GoblinNftExSku">
<result column="activity_id" property="activityId" jdbcType="VARCHAR"/>
<result column="sku_id" property="skuId" jdbcType="VARCHAR"/>
<result column="store_id" property="storeId" jdbcType="VARCHAR"/>
<result column="spu_id" property="spuId" jdbcType="VARCHAR"/>
<result column="unbox" property="unbox" jdbcType="VARCHAR"/>
<result column="ex_stock" property="exStock" jdbcType="INTEGER"/>
<result column="ex_limit" property="exLimit" jdbcType="INTEGER"/>
<result column="ex_start_time" property="exStartTime" jdbcType="TIMESTAMP"/>
<result column="ex_stop_time" property="exStopTime" jdbcType="TIMESTAMP"/>
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
</resultMap>
<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>
</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)
values
<foreach collection="goblinNftExSkus" item="goblinNftExSku" separator=",">
(
#{goblinNftExSku.activityId},
#{goblinNftExSku.spuId},
#{goblinNftExSku.skuId},
#{goblinNftExSku.storeId},
#{goblinNftExSku.unbox},
#{goblinNftExSku.exStock},
#{goblinNftExSku.exLimit},
#{goblinNftExSku.exStartTime},
#{goblinNftExSku.exStopTime},
#{goblinNftExSku.createdAt}
)
</foreach>
</insert>
</mapper>
...@@ -2,4 +2,85 @@ ...@@ -2,4 +2,85 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.goblin.mapper.GoblinStoreOrderMapper"> <mapper namespace="com.liquidnet.service.goblin.mapper.GoblinStoreOrderMapper">
<resultMap id="exportMallOrderDaoResult" type="com.liquidnet.service.goblin.dto.MallOrdertDao">
<result column="order_id" property="orderId"/>
<result column="order_code" property="orderCode"/>
<result column="user_mobile" property="userMobile"/>
<result column="price_express" property="priceExpress"/>
<result column="price_coupon" property="priceCoupon"/>
<result column="store_price_coupon" property="storePriceCoupon"/>
<result column="express_contacts" property="expressContacts"/>
<result column="express_phone" property="expressPhone"/>
<result column="express_detail_address" property="expressDetailAddress"/>
<result column="spu_id" property="spuId"/>
<result column="name" property="name"/>
<result column="cate1_name" property="cate1Name"/>
<result column="cate2_name" property="cate2Name"/>
<result column="sku_name" property="skuName"/>
<result column="num" property="num"/>
<result column="sku_price" property="skuPrice"/>
<result column="sku_price_actual" property="skuPriceActual"/>
<result column="order_sku_id" property="orderSkuId"/>
<result column="pay_type" property="payType"/>
<result column="pay_time" property="payTime"/>
<result column="created_at" property="createdAt"/>
<result column="logistics_company" property="logisticsCompany"/>
<result column="mail_no" property="mailNo"/>
</resultMap>
<select id="exportMallOrder" resultMap="exportMallOrderDaoResult">
select
gso.order_id as order_id,
gso.order_code as order_code,
gso.user_mobile as user_mobile,
gso.price_express as price_express,
gso.price_coupon as price_coupon,
gso.store_price_coupon as store_price_coupon,
goa.express_contacts as express_contacts,
goa.express_phone as express_phone,
CONCAT(goa.express_address,' ',goa.express_address_detail) as express_detail_address,
gso.pay_type as pay_type,
gso.pay_time as pay_time,
gso.created_at as created_at,
gm.logistics_company as logistics_company,
gm.mail_no as mail_no,
gos.spu_id as spu_id,
gg.name as name,
gg.cate1_name as cate1_name,
gg.cate2_name as cate2_name,
gos.sku_name as sku_name,
gos.num as num,
gos.sku_price as sku_price,
gos.sku_price_actual as sku_price_actual,
gos.order_sku_id as order_sku_id
from goblin_store_order as gso
inner join goblin_order_sku as gos on gos.order_id = gso.order_id
inner join (select spu_id, gg.name, gsgc1.name as cate1_name, gsgc2.name as cate2_name
from goblin_goods as gg
left join goblin_self_goods_category as gsgc1 on gsgc1.cate_id = gg.cate_fid
left join goblin_self_goods_category as gsgc2 on gsgc2.cate_id = gg.cate_sid) as gg
on gos.spu_id = gg.spu_id
inner join goblin_order_attr as goa on goa.order_id = gso.order_id
left join goblin_mail as gm on gm.order_id = gso.order_id
<where>
and gso.store_id = #{storeId}
<if test="beginTime != null and endTime != null">
and gso.created_at between #{beginTime} and #{endTime}
</if>
<if test="states != null">
and gso.status in
<foreach collection="states" item="item" index="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
<if test="mailType != null and mailType == 1">
and gm.mail_no is null
</if>
<if test="mailType != null and mailType == 2">
and gm.mail_no is not null
</if>
</where>
group by gos.order_sku_id
</select>
</mapper> </mapper>
...@@ -81,4 +81,5 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> { ...@@ -81,4 +81,5 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List<MemberOrderExportDao> exportMemberOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime); List<MemberOrderExportDao> exportMemberOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
//商品订单信息 //商品订单信息
List<CommodityOrderExportDao> exportCommodityOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime); List<CommodityOrderExportDao> exportCommodityOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
} }
...@@ -99,6 +99,7 @@ ...@@ -99,6 +99,7 @@
<result column="status" property="status"/> <result column="status" property="status"/>
<result column="refund_at" property="refundAt"/> <result column="refund_at" property="refundAt"/>
</resultMap> </resultMap>
<!-- <resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">--> <!-- <resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">-->
<!-- <result column="performance_title" property="performanceTitle"/>--> <!-- <result column="performance_title" property="performanceTitle"/>-->
<!-- <result column="user_mobile" property="userMobile"/>--> <!-- <result column="user_mobile" property="userMobile"/>-->
...@@ -1056,5 +1057,4 @@ GROUP BY user_mobile; ...@@ -1056,5 +1057,4 @@ GROUP BY user_mobile;
group by do.code) temtable group by temtable.code group by do.code) temtable group by temtable.code
</select> </select>
</mapper> </mapper>
...@@ -25,4 +25,9 @@ public interface FeignPlatformGoblinTaskClient { ...@@ -25,4 +25,9 @@ public interface FeignPlatformGoblinTaskClient {
@PostMapping("spu/goblin/setCount") @PostMapping("spu/goblin/setCount")
ResponseDto<String> setCount(); ResponseDto<String> setCount();
@PostMapping("codeTask/generateCode")
ResponseDto<String> codeCount();
} }
...@@ -39,4 +39,4 @@ public class ServiceConsumerKylinApplication implements CommandLineRunner { ...@@ -39,4 +39,4 @@ public class ServiceConsumerKylinApplication implements CommandLineRunner {
e.printStackTrace(); e.printStackTrace();
} }
} }
} }
\ No newline at end of file
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.common.cache.redis.config.RedisStreamConfig;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerGoblinCodeReceiver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class ConsumerGoblinCodeStreamConfig extends RedisStreamConfig {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Autowired
ConsumerGoblinCodeReceiver consumerGoblinCodeReceiver;
// public Subscription receiveCodeExamine(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
// return listenerContainer.receiveAutoAck(Consumer.from(MQConst.GoblinQueue.GOBLIN_CODE_OPERA.getGroup(), getConsumerName(MQConst.GoblinQueue.GOBLIN_CODE_OPERA.name() + t)),
// StreamOffset.create(MQConst.GoblinQueue.GOBLIN_CODE_OPERA.getKey(), ReadOffset.lastConsumed()), consumerGoblinCodeReceiver);
// }
//
// @Bean
// public Subscription codeExamine0(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receiveCodeExamine(listenerContainer, 0);
// listenerContainer.start();
// return subscription;
// }
@Bean//
public List<Subscription> subscriptionCodeExamine(RedisConnectionFactory factory) {
List<Subscription> subscriptionList = new ArrayList<>();
MQConst.GoblinQueue stream = MQConst.GoblinQueue.GOBLIN_CODE_OPERA;
this.initStream(stringRedisTemplate, stream.getKey(), stream.getGroup());
for (int i = 0; i < 1; i++) {
StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer = this.buildStreamMessageListenerContainer(factory);
subscriptionList.add(listenerContainer.receiveAutoAck(
Consumer.from(stream.getGroup(), getConsumerName(stream.name() + i)),
StreamOffset.create(stream.getKey(), ReadOffset.lastConsumed()), consumerGoblinCodeReceiver
));
listenerContainer.start();
}
return subscriptionList;
}
}
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.common.cache.redis.config.RedisStreamConfig;
import com.liquidnet.service.base.constant.MQConst;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerGoblinPhoneCodeReceiver;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class ConsumerGoblinPhoneCodeStreamConfig extends RedisStreamConfig {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Autowired
ConsumerGoblinPhoneCodeReceiver consumerGoblinPhoneCodeReceiver;
// public Subscription receivePhoneCodeExamine(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
// return listenerContainer.receiveAutoAck(Consumer.from(MQConst.GoblinQueue.GOBLIN_PHONE_CODE_OPERA.getGroup(), getConsumerName(MQConst.GoblinQueue.GOBLIN_PHONE_CODE_OPERA.name() + t)),
// StreamOffset.create(MQConst.GoblinQueue.GOBLIN_PHONE_CODE_OPERA.getKey(), ReadOffset.lastConsumed()), consumerGoblinPhoneCodeReceiver);
// }
//
// @Bean
// public Subscription phoneCodeExamine0(RedisConnectionFactory factory) {
// var listenerContainer = this.buildStreamMessageListenerContainer(factory);
// var subscription = receivePhoneCodeExamine(listenerContainer, 0);
// listenerContainer.start();
// return subscription;
// }
@Bean//
public List<Subscription> subscriptionPhoneCodeExamine(RedisConnectionFactory factory) {
List<Subscription> subscriptionList = new ArrayList<>();
MQConst.GoblinQueue stream = MQConst.GoblinQueue.GOBLIN_PHONE_CODE_OPERA;
this.initStream(stringRedisTemplate, stream.getKey(), stream.getGroup());
for (int i = 0; i < 1; i++) {
StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer = this.buildStreamMessageListenerContainer(factory);
subscriptionList.add(listenerContainer.receiveAutoAck(
Consumer.from(stream.getGroup(), getConsumerName(stream.name() + i)),
StreamOffset.create(stream.getKey(), ReadOffset.lastConsumed()), consumerGoblinPhoneCodeReceiver
));
listenerContainer.start();
}
return subscriptionList;
}
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.stream.StreamListener;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.util.*;
@Slf4j
public abstract class AbstractHttpRedisReceiver implements StreamListener<String, MapRecord<String, String, String>> {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Value("${liquidnet.service.order.url}")
private String orderUrl;
@Override
public void onMessage(MapRecord<String, String, String> message) {
String redisStreamKey = this.getRedisStreamKey();
log.debug("CONSUMER MSG[streamKey:{},messageId:{},stream:{},body:{}]", redisStreamKey, message.getId(), message.getStream(), message.getValue());
boolean result = this.consumerMessageHandler(message.getValue());
log.info("CONSUMER MSG RESULT:{} ==> [{}]MESSAGE_ID:{}", result, redisStreamKey, message.getId());
try {
stringRedisTemplate.opsForStream().acknowledge(getRedisStreamGroup(), message);
} catch (Exception e) {
log.error("#CONSUMER MSG EX_ACK ==> [{}]RESULT:{},MESSAGE:{}", redisStreamKey, result, message.getValue(), e);
}
try {
stringRedisTemplate.opsForStream().delete(redisStreamKey, message.getId());
} catch (Exception e) {
log.error("#CONSUMER MSG EX_DEL ==> [{}]RESULT:{},MESSAGE:{}", redisStreamKey, result, message.getValue(), e);
}
}
private boolean consumerMessageHandler(Map<String, String> message) {
try {
String codestr = message.get("codes");
String userIds = message.get("userIds");
String phonestr = message.get("phones");
String adminUid = message.get("adminUid");
List<String> codeList = Arrays.asList(codestr.split(","));
List<String> userIdList = Arrays.asList(userIds.split(","));
List<String> phoneList = Arrays.asList(phonestr.split(","));
LinkedList<Object[]> addLink = CollectionUtil.linkedListObjectArr();
for (int i = 0; i < userIdList.size(); i++) {
MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("code", codeList.get(i));
params.add("userId", userIdList.get(i));
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
String post = HttpUtil.post(orderUrl + "/order/goblin/nft/airdrop", params, headers);
ResponseDto<Boolean> rsp = JsonUtils.fromJson(post, new TypeReference<ResponseDto<Boolean>>() {
});
if (rsp.isSuccess()) {
addLink.add(new Object[]{adminUid, codeList.get(i)});
} else {
log.error("airdrop send fail:[{}]" + phoneList.get(i));
}
}
if (addLink != null && !addLink.isEmpty()) {
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_activity.code.admin"));
String sqlData = SqlMapping.gets(sqls, addLink);
sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_CODE_OPERA.getKey(), sqlData);
}
} catch (Exception e) {
log.error("airdrop send fail:[{}]");
}
return true;
}
public void sendMsgByRedis(String streamKey, String jsonMsg) {
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put(MQConst.QUEUE_MESSAGE_KEY, jsonMsg);
stringRedisTemplate.opsForStream().add(StreamRecords.mapBacked(map).withStreamKey(streamKey));
}
protected abstract String getRedisStreamKey();
protected abstract String getRedisStreamGroup();
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class ConsumerGoblinCodeReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.GoblinQueue.GOBLIN_CODE_OPERA.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.GoblinQueue.GOBLIN_CODE_OPERA.getGroup();
}
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class ConsumerGoblinPhoneCodeReceiver extends AbstractHttpRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.GoblinQueue.GOBLIN_PHONE_CODE_OPERA.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.GoblinQueue.GOBLIN_PHONE_CODE_OPERA.getGroup();
}
}
...@@ -3,4 +3,7 @@ goblin_order.close.order=UPDATE goblin_store_order SET status = ? ,updated_at = ...@@ -3,4 +3,7 @@ goblin_order.close.order=UPDATE goblin_store_order SET status = ? ,updated_at =
goblin_order.close.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WHERE order_sku_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) goblin_order.close.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WHERE order_sku_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
goblin_user_coupon.updateState=UPDATE goblin_user_coupon SET state = ? , used_for = ? ,updated_at = ? where ucoupon_id = ? goblin_user_coupon.updateState=UPDATE goblin_user_coupon SET state = ? , used_for = ? ,updated_at = ? where ucoupon_id = ?
#-------- NFT ------- #-------- NFT -------
goblin_nft_order.update.close=UPDATE goblin_nft_order SET status = ?, updated_at = ?, cancel_time = ?, cancel_reason = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) goblin_nft_order.update.close=UPDATE goblin_nft_order SET status = ?, updated_at = ?, cancel_time = ?, cancel_reason = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
\ No newline at end of file
#---- 兑换码操作
goblin_activity.code.admin=UPDATE goblin_nft_ex_code SET admin_uid = ? where code = ?
\ No newline at end of file
...@@ -43,4 +43,14 @@ public class PlatformGoblinTaskHandler { ...@@ -43,4 +43,14 @@ public class PlatformGoblinTaskHandler {
} }
} }
@XxlJob(value = "sev-platform:codeCount")
public void codeCount() {// 兑换码定时生成
try {
XxlJobHelper.handleSuccess("结果:" + feignPlatformGoblinTaskClient.codeCount().toJson());
} catch (Exception e) {
XxlJobHelper.log(e);
XxlJobHelper.handleFail();
}
}
} }
...@@ -96,8 +96,8 @@ create table goblin_user_digital_artwork ...@@ -96,8 +96,8 @@ create table goblin_user_digital_artwork
trading_txhash varchar(256) null comment '发放HASH', trading_txhash varchar(256) null comment '发放HASH',
trading_at varchar(25) null comment '交易时间', trading_at varchar(25) null comment '交易时间',
source tinyint null comment '获得方式[1-购买|2-兑换|3-赠送|5-受赠]', source tinyint null comment '获得方式[1-购买|2-兑换|3-赠送|5-受赠|31-空投赠送]',
state tinyint default 0 comment '藏品状态[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败]', state tinyint default 0 comment '藏品状态[0-生成中/未开启|1-已生成/已开启|2-生成失败/开启失败|5-待收取]',
del_flg char default '0' comment '删除标记[0-未删除|1-删除]', del_flg char default '0' comment '删除标记[0-未删除|1-删除]',
opening_at datetime null comment '盲盒开启时间', opening_at datetime null comment '盲盒开启时间',
...@@ -245,7 +245,7 @@ CREATE TABLE `goblin_goods_anticipate_value` ( ...@@ -245,7 +245,7 @@ CREATE TABLE `goblin_goods_anticipate_value` (
`update_date` datetime NULL DEFAULT NULL COMMENT '修改时间', `update_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
`del_tag` int NOT NULL DEFAULT 0 COMMENT '删除(0:未删除1:已删除)', `del_tag` int NOT NULL DEFAULT 0 COMMENT '删除(0:未删除1:已删除)',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约关联sku和spu表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约关联sku和spu表' ROW_FORMAT = Dynamic;
# -- >>------------------------------------------------------------------------------------ # -- >>------------------------------------------------------------------------------------
...@@ -253,11 +253,33 @@ DROP TABLE IF EXISTS `goblin_goods_anticipate`; ...@@ -253,11 +253,33 @@ DROP TABLE IF EXISTS `goblin_goods_anticipate`;
CREATE TABLE `goblin_goods_anticipate` ( CREATE TABLE `goblin_goods_anticipate` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键id', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键id',
`ant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'ant_id', `ant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'ant_id',
`people` bigint NOT NULL COMMENT '预约人数(达到一定人数可以预约)',
`type` int NOT NULL COMMENT '预约类型(1:预约提醒,2:预约获得购买资格)',
`rule` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '预约规则', `rule` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '预约规则',
`created_date` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `created_date` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`del_tag` int NOT NULL DEFAULT 0 COMMENT '删除(0:未删除1:已删除)', `del_tag` int NOT NULL DEFAULT 0 COMMENT '删除(0:未删除1:已删除)',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约规则表' ROW_FORMAT = Dynamic;
# -- >>------------------------------------------------------------------------------------
DROP TABLE IF EXISTS `goblin_goods_anticipate_help`;
CREATE TABLE `goblin_goods_anticipate_help` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varbinary(255) NOT NULL COMMENT '分享sid',
`help_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '助力人uid',
`created_date` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约他人助力记录表' ROW_FORMAT = Dynamic;
# -- >>------------------------------------------------------------------------------------
DROP TABLE IF EXISTS `goblin_goods_anticipate_share`;
CREATE TABLE `goblin_goods_anticipate_share` (
`sid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID',
`uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户uid',
`sku_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'sku_Id',
`created_date` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`sid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约创建助力表' ROW_FORMAT = Dynamic;
# -- >>------------------------------------------------------------------------------------ # -- >>------------------------------------------------------------------------------------
# -- >>------------------------------------------------------------------------------------ # -- >>------------------------------------------------------------------------------------
# -- >>------------------------------------------------------------------------------------ # -- >>------------------------------------------------------------------------------------
......
use
dev_ln_scene;
-- >>------------------------------------------------------------------------------------
DROP TABLE IF EXISTS `goblin_nft_ex_code`;
CREATE TABLE `goblin_nft_ex_code`
(
`mid` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT,
`code_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '兑换码id',
`activity_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '活动id',
`sku_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '款式id',
`box_sku_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '盲盒抽取的款式id',
`code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '兑换码',
`state` tinyint(0) UNSIGNED NULL DEFAULT 1 COMMENT '兑换码状态 1未兑换 2已兑换 3已失效',
`redeem_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '兑换用户id',
`redeem_at` datetime(0) NULL DEFAULT NULL COMMENT '兑换时间',
`admin_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '操作用户id',
`created_at` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`mid`) USING BTREE,
INDEX `idx_nft_code_id`(`code_id`) USING BTREE,
INDEX `idx_nft_activity_id`(`activity_id`) USING BTREE,
INDEX `idx_nft_sku_id`(`sku_id`) USING BTREE,
INDEX `idx_nft_code`(`code`) USING BTREE,
INDEX `idx_nft_redeem_uid`(`redeem_uid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'NFT兑换码表' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `goblin_nft_ex_activity`;
CREATE TABLE `goblin_nft_ex_activity`
(
`mid` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT,
`uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`activity_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '活动id',
`title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '活动标题',
`created_at` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
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;
DROP TABLE IF EXISTS `goblin_nft_ex_sku`;
CREATE TABLE `goblin_nft_ex_sku`
(
`mid` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT,
`activity_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '活动id',
`store_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '店铺id',
`spu_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '商品id',
`sku_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '款式id',
`unbox` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否盲盒[0-否|1-是]',
`ex_stock` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换库存',
`ex_limit` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换限购',
`ex_start_time` datetime(0) NULL DEFAULT NULL COMMENT '兑换生效开始时间',
`ex_stop_time` datetime(0) NULL DEFAULT NULL COMMENT '兑换生效结束时间',
`created_at` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`mid`) USING BTREE,
INDEX `idx_nft_ex_activity_id`(`activity_id`) USING BTREE,
INDEX `idx_nft_ex_spu_id`(`spu_id`) USING BTREE,
INDEX `idx_nft_ex_sku_id`(`sku_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'NFT兑换活动关联SKU表' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `goblin_nft_ex_code_task`;
CREATE TABLE `goblin_nft_ex_code_task`
(
`mid` bigint(0) NOT NULL AUTO_INCREMENT,
`task_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '定时id',
`activity_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动id',
`store_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '店铺id',
`spu_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'spuid',
`sku_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'skuid',
`unbox` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '是否盲盒[0-否|1-是]',
`ex_stock` int(0) NOT NULL COMMENT '兑换库存',
`ex_limit` int(0) NOT NULL COMMENT '兑换限购',
`ex_start_time` datetime(0) NOT NULL COMMENT '兑换生效开始时间',
`ex_stop_time` datetime(0) NOT NULL COMMENT '兑换生效结束时间',
`typ` tinyint(0) NULL DEFAULT NULL COMMENT '是否生效 0:否 1:是',
`created_at` datetime(0) NOT NULL COMMENT '创建时间',
`updated_at` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`mid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '兑换码定时任务表' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `goblin_nft_ex_code_task_relation`;
CREATE TABLE `goblin_nft_ex_code_task_relation`
(
`mid` bigint(0) NOT NULL AUTO_INCREMENT,
`task_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '定时id',
`sku_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'sku_id',
`stock` int(0) NOT NULL COMMENT '库存',
`created_at` datetime(0) NOT NULL COMMENT '创建时间',
`updated_at` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`mid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '兑换码定时任务生成副表' ROW_FORMAT = Dynamic;
# 预约关联表新增创建时间
ALTER TABLE `goblin_goods_anticipate_user` ADD `created_date` datetime NULL DEFAULT NULL COMMENT '创建时间';
# goblin_goods_anticipate 预约表新增字段
ALTER TABLE `goblin_goods_anticipate` ADD `people` bigint NOT NULL COMMENT '预约人数(达到一定人数可以预约)';
ALTER TABLE `goblin_goods_anticipate` ADD `type` int NOT NULL COMMENT '预约类型(1:预约提醒,2:预约获得购买资格)';
# -- >>------------------------------------------------------------------------------------
DROP TABLE IF EXISTS `goblin_goods_anticipate_help`;
CREATE TABLE `goblin_goods_anticipate_help` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varbinary(255) NOT NULL COMMENT '分享sid',
`help_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '助力人uid',
`created_date` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约他人助力记录表' ROW_FORMAT = Dynamic;
# -- >>------------------------------------------------------------------------------------
DROP TABLE IF EXISTS `goblin_goods_anticipate_share`;
CREATE TABLE `goblin_goods_anticipate_share` (
`sid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID',
`uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户uid',
`sku_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'sku_Id',
`created_date` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`sid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约创建助力表' ROW_FORMAT = Dynamic;
...@@ -96,7 +96,7 @@ public class MybatisPlusCodeGenerator { ...@@ -96,7 +96,7 @@ public class MybatisPlusCodeGenerator {
String resourcePath = "/Users/hujiachen/Downloads/tmp"; String resourcePath = "/Users/hujiachen/Downloads/tmp";
String directory = "com.liquidnet.service.goblin"; String directory = "com.liquidnet.service.goblin";
String[] dbTableArray = new String[]{ String[] dbTableArray = new String[]{
"goblin_marketing_zhengzai_relation" "goblin_marketing_zhengzai_relation"
}; };
doGenerator(resourcePath, dsc, directory, dbTableArray); doGenerator(resourcePath, dsc, directory, dbTableArray);
......
...@@ -2,13 +2,15 @@ package com.liquidnet.service.goblin.controller; ...@@ -2,13 +2,15 @@ package com.liquidnet.service.goblin.controller;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.vo.HelpValueVo;
import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService; import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* <p> * <p>
* 预约表 前端控制器 * 预约表 前端控制器
...@@ -19,7 +21,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -19,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@Api(tags = "预约相关") @Api(tags = "预约相关(前)")
@RequestMapping("/anticipate") @RequestMapping("/anticipate")
public class GoblinGoodsAnticipateController { public class GoblinGoodsAnticipateController {
...@@ -28,14 +30,72 @@ public class GoblinGoodsAnticipateController { ...@@ -28,14 +30,72 @@ public class GoblinGoodsAnticipateController {
@ApiOperation("用户预约 (只能预约不能取消)") @ApiOperation("用户预约 (只能预约不能取消)")
@PostMapping("/userAbout") @PostMapping("/userAbout")
public ResponseDto<Object> userAbout(@RequestParam(name = "skuId", required = true) String skuId) { @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "skuId", value = "skuId"),
})
public ResponseDto<Boolean> userAbout(@RequestParam(name = "skuId") String skuId) {
return goblinGoodsAnticipateService.userAbout(skuId); return goblinGoodsAnticipateService.userAbout(skuId);
} }
@ApiOperation("根据skuId和uid查询") @ApiOperation("根据skuId是否预约")
@GetMapping("/selectAnticipateBySkuIdAndUid") @GetMapping("/selectAnticipateBySkuIdAndUid")
public ResponseDto<Boolean> selectAnticipate(@RequestParam(name = "skuId") String skuId){ @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "skuId", value = "skuId"),
})
public ResponseDto<Boolean> selectAnticipate(@RequestParam(name = "skuId") String skuId) {
return goblinGoodsAnticipateService.selectAnticipate(skuId); return goblinGoodsAnticipateService.selectAnticipate(skuId);
} }
@ApiOperation("用户分享,根据sku发起助力")
@PostMapping("/share")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "skuId", value = "skuId"),
})
public ResponseDto<String> share(@RequestParam(name = "skuId") String skuId) {
return goblinGoodsAnticipateService.share(skuId);
}
@ApiOperation("用户为他人助力")
@PostMapping("help")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "sid", value = "创建分享生成的sid"),
})
@ApiResponses({
@ApiResponse(code = 0, message = "助力成功"),
@ApiResponse(code = 150001, message = "本人为本人助力"),
@ApiResponse(code = 150002, message = "重复助力"),
@ApiResponse(code = 150003, message = "分享不存在"),
@ApiResponse(code = 150004, message = "助力已结束")
})
public ResponseDto<String> help(@RequestParam(name = "sid") String sid) {
return goblinGoodsAnticipateService.help(sid);
}
@ApiOperation("查询用户是否助力该分享")
@GetMapping("helpSid")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "sid", value = "创建分享生成的sid"),
})
public ResponseDto<Boolean> helpSid(@RequestParam(name = "sid") String sid) {
return goblinGoodsAnticipateService.helpSid(sid);
}
@ApiOperation("获取当前助力信息")
@PostMapping("getHelpValue")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "sid", value = "创建分享生成的sid"),
})
public ResponseDto<HelpValueVo> getHelpValue(@RequestParam(name = "sid") String sid) {
return goblinGoodsAnticipateService.getHelpValue(sid);
}
@ApiOperation("是否开启助力(返回助力的sid,返回null则没有开启助力)")
@GetMapping("getTurnOnHelp")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "skuId", value = "skuId"),
})
public ResponseDto<String> getTurnOnHelp(@RequestParam(name = "skuId") String skuId) {
return goblinGoodsAnticipateService.getTurnOnHelp(skuId);
}
} }
package com.liquidnet.service.goblin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.service.IGoblinImportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.Null;
import java.util.List;
@Controller
@Api(tags = "订单导入")
@RequestMapping("/import")
public class GoblinImportController {
private String prefix = "zhengzai/kylin/performances/orderImport";
@Autowired
IGoblinImportService iGoblinImportService;
/**
* 导入对订单发货
*/
@PostMapping("/OrderExpress")
@ApiOperation("快递发货")
@ResponseBody
public ResponseDto<String> importOrderExpress(MultipartFile file) throws Exception {
// ExcelUtil<OrderMallOrderVo> util = new ExcelUtil(OrderMallOrderVo.class);
// List<OrderMallOrderVo> MallOrdertVoList = util.importExcel(file.getInputStream());
return iGoblinImportService.importExpress(file);
}
}
package com.liquidnet.service.goblin.controller; package com.liquidnet.service.goblin.controller;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.PagedResult; import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinNftGoodsSkuInfoVo; import com.liquidnet.service.goblin.dto.vo.GoblinNftGoodsSkuInfoVo;
...@@ -56,22 +57,6 @@ public class GoblinNftGoodsAppController { ...@@ -56,22 +57,6 @@ public class GoblinNftGoodsAppController {
return ResponseDto.success(vo); return ResponseDto.success(vo);
} }
@PostMapping("exchange")
// @ApiOperation("兑换")
@ApiImplicitParams({
@ApiImplicitParam(type = "from", required = true, dataType = "String", name = "code", value = "兑换码", example = "1"),
})
public ResponseDto exchange(
@RequestParam("code") String code
) {
Boolean res = goblinNftGoodsAppService.exchange(code);
if (res) {
return ResponseDto.success();
} else {
return ResponseDto.failure();
}
}
@PostMapping("payType") @PostMapping("payType")
@ApiOperation("设置payType") @ApiOperation("设置payType")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -87,4 +72,29 @@ public class GoblinNftGoodsAppController { ...@@ -87,4 +72,29 @@ public class GoblinNftGoodsAppController {
public ResponseDto<Integer> getPayType() { public ResponseDto<Integer> getPayType() {
return ResponseDto.success(redisUtils.getPayType()); return ResponseDto.success(redisUtils.getPayType());
} }
@PostMapping("nftTec")
@ApiOperation("设置 技术部nft特效开关")
@ApiImplicitParams({
@ApiImplicitParam(type = "from", required = true, dataType = "String", name = "value", value = "状态[0-关闭|1-开启]"),
})
public ResponseDto<Boolean> setOpenNftTec(@RequestParam("value") Integer value) {
redisUtils.setOpenNftTec(CurrentUtil.getCurrentUid(), value);
return ResponseDto.success();
}
@GetMapping("nftTec")
@ApiOperation("获取 技术部nft特效开关")
public ResponseDto<Integer> getOpenNftTec() {
return ResponseDto.success(redisUtils.getOpenNftTec(CurrentUtil.getCurrentUid()));
}
@GetMapping("hasNftTec")
@ApiOperation("获取 是否拥有技术nft权限")
public ResponseDto<Integer> getBuyNftTec() {
return ResponseDto.success(redisUtils.getBuyNftTec(CurrentUtil.getCurrentUid()));
}
} }
...@@ -71,7 +71,7 @@ public class GoblinUserDigitalArtworkController { ...@@ -71,7 +71,7 @@ public class GoblinUserDigitalArtworkController {
@RequestParam String artworkId) { @RequestParam String artworkId) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
GoblinUserDigitalArtworkVo userDigitalArtworkVo = goblinRedisUtils.getUserDigitalArtworkVo(artworkId); GoblinUserDigitalArtworkVo userDigitalArtworkVo = goblinRedisUtils.getUserDigitalArtworkVo(artworkId);
if (null == userDigitalArtworkVo || !currentUid.equals(userDigitalArtworkVo.getUid())) { if (null == userDigitalArtworkVo || !currentUid.equals(userDigitalArtworkVo.getUid()) || userDigitalArtworkVo.getDelFlg().equals("1")) {
return ResponseDto.failure(ErrorMapping.get("140100")); return ResponseDto.failure(ErrorMapping.get("140100"));
} }
GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(userDigitalArtworkVo.getSkuId()); GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(userDigitalArtworkVo.getSkuId());
...@@ -98,6 +98,7 @@ public class GoblinUserDigitalArtworkController { ...@@ -98,6 +98,7 @@ public class GoblinUserDigitalArtworkController {
switch (userDigitalArtworkVo.getSource()) { switch (userDigitalArtworkVo.getSource()) {
case 1: case 1:
case 2: case 2:
case 31:
unboxingRstVo = goblinUserDigitalArtworkService.unboxingForBuyOrExchange(currentUid, userDigitalArtworkVo); unboxingRstVo = goblinUserDigitalArtworkService.unboxingForBuyOrExchange(currentUid, userDigitalArtworkVo);
break; break;
case 3: case 3:
...@@ -110,4 +111,29 @@ public class GoblinUserDigitalArtworkController { ...@@ -110,4 +111,29 @@ public class GoblinUserDigitalArtworkController {
goblinRedisUtils.del(GoblinRedisConst.USER_DIGITAL_ARTWORK_UNBOX.concat(artworkId)); goblinRedisUtils.del(GoblinRedisConst.USER_DIGITAL_ARTWORK_UNBOX.concat(artworkId));
return null == unboxingRstVo ? ResponseDto.failure(ErrorMapping.get("140102")) : ResponseDto.success(unboxingRstVo); return null == unboxingRstVo ? ResponseDto.failure(ErrorMapping.get("140102")) : ResponseDto.success(unboxingRstVo);
} }
@ApiOperationSupport(order = 4)
@ApiOperation(value = "收取藏品", notes = "空投藏品,收下后执行上链操作。<br />响应【data】值描述:藏品状态 0-生成中|1-已生成|2-生成失败")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "artworkId", value = "藏品ID"),
})
@PostMapping("accept")
public ResponseDto<Integer> accept(@NotBlank(message = "藏品ID不能为空")
@RequestParam String artworkId) {
String currentUid = CurrentUtil.getCurrentUid();
GoblinUserDigitalArtworkVo userDigitalArtworkVo = goblinRedisUtils.getUserDigitalArtworkVo(artworkId);
if (null == userDigitalArtworkVo || !currentUid.equals(userDigitalArtworkVo.getUid())
|| userDigitalArtworkVo.getDelFlg().equals("1") || userDigitalArtworkVo.getSource() != 31) {
return ResponseDto.failure(ErrorMapping.get("140105"));
}
Integer acceptState = userDigitalArtworkVo.getState();
if (5 != acceptState) {// 非待收取状态,直接返回藏品状态
return ResponseDto.success(acceptState);
} else if (goblinRedisUtils.markUnboxUserDigitalArtwork(artworkId) > 1) {
return ResponseDto.failure(ErrorMapping.get("140000"));
}
boolean acceptRstFlg = goblinUserDigitalArtworkService.accept(currentUid, userDigitalArtworkVo);
goblinRedisUtils.del(GoblinRedisConst.USER_DIGITAL_ARTWORK_UNBOX.concat(artworkId));
return acceptRstFlg ? ResponseDto.success(0) : ResponseDto.failure(ErrorMapping.get("140106"));
}
} }
...@@ -5,14 +5,18 @@ import com.github.pagehelper.PageInfo; ...@@ -5,14 +5,18 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam; import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateValueParam; import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateValueParam;
import com.liquidnet.service.goblin.dto.manage.vo.AnticipateValueVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService; import com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.math.BigInteger; import java.math.BigInteger;
/** /**
...@@ -25,7 +29,7 @@ import java.math.BigInteger; ...@@ -25,7 +29,7 @@ import java.math.BigInteger;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@Api(tags = "预约相关") @Api(tags = "预约相关(后)")
@RequestMapping("/goblin/anticipate") @RequestMapping("/goblin/anticipate")
public class GoblinGoodsAnticipateMgController { public class GoblinGoodsAnticipateMgController {
...@@ -34,7 +38,7 @@ public class GoblinGoodsAnticipateMgController { ...@@ -34,7 +38,7 @@ public class GoblinGoodsAnticipateMgController {
@ApiOperation("创建预约信息") @ApiOperation("创建预约信息")
@PostMapping("/add") @PostMapping("/add")
public ResponseDto<Object> add(@RequestBody GoblinGoodsAnticipateAddParam goodsAnticipateAddParam) { public ResponseDto<String> add(@RequestBody GoblinGoodsAnticipateAddParam goodsAnticipateAddParam) {
return goblinGoodsAnticipateMgService.add(goodsAnticipateAddParam); return goblinGoodsAnticipateMgService.add(goodsAnticipateAddParam);
} }
...@@ -46,20 +50,27 @@ public class GoblinGoodsAnticipateMgController { ...@@ -46,20 +50,27 @@ public class GoblinGoodsAnticipateMgController {
@ApiOperation("修改预约人数") @ApiOperation("修改预约人数")
@PostMapping("/updatePeople") @PostMapping("/updatePeople")
public ResponseDto<Object> updatePeople(@RequestParam(name = "skuId", required = true) String skuId, @RequestParam(name = "people", required = true) BigInteger people) { @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "skuId", value = "skuId"),
@ApiImplicitParam(type = "query", dataType = "BigInteger", name = "people", value = "要修改的人数")
})
public ResponseDto<Boolean> updatePeople(@RequestParam(name = "skuId") String skuId, @RequestParam(name = "people", required = true) BigInteger people) {
return goblinGoodsAnticipateMgService.updatePeople(skuId, people); return goblinGoodsAnticipateMgService.updatePeople(skuId, people);
} }
@ApiOperation("删除预约") // @ApiOperation("删除预约")
@DeleteMapping("/delete") // @DeleteMapping("/delete")
public ResponseDto<Object> delete(@RequestParam(name = "skuId") String skuId) { // @ApiImplicitParams({
return goblinGoodsAnticipateMgService.delete(skuId); // @ApiImplicitParam(type = "query", dataType = "String", name = "skuId", value = "skuId"),
} // })
// public ResponseDto<Boolean> delete(@RequestParam(name = "skuId") String skuId) {
// return goblinGoodsAnticipateMgService.delete(skuId);
// }
// @ApiOperation("更具sku获取信息") // @ApiOperation("更具sku获取信息")
// @GetMapping("/getAnticipateValueBySkuId") // @GetMapping("/getAnticipateValueBySkuId")
// public ResponseDto<AnticipateValueVo> getAnticipateValueBySkuId(@RequestParam(name = "skuId") String skuId){ // public AnticipateValueVo getAnticipateValueBySkuId(@RequestParam(name = "skuId") String skuId){
// return goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(skuId); // return goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(skuId,1);
// } // }
} }
...@@ -2,6 +2,7 @@ package com.liquidnet.service.goblin.controller.manage; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.goblin.controller.manage;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinMailVo; import com.liquidnet.service.goblin.dto.vo.GoblinMailVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo; import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo;
...@@ -134,7 +135,7 @@ public class GoblinStoreOrderController { ...@@ -134,7 +135,7 @@ public class GoblinStoreOrderController {
public ResponseDto<Boolean> express(@RequestParam(value = "orderId", required = true) @Valid String orderId, public ResponseDto<Boolean> express(@RequestParam(value = "orderId", required = true) @Valid String orderId,
@RequestParam(value = "orderSkuIds", required = false) @Valid String orderSkuIds, @RequestParam(value = "orderSkuIds", required = false) @Valid String orderSkuIds,
@RequestParam(value = "mailNo", required = true) @Valid String mailNo) { @RequestParam(value = "mailNo", required = true) @Valid String mailNo) {
return goblinStoreOrderService.express(orderId, orderSkuIds, mailNo); return goblinStoreOrderService.express(orderId, orderSkuIds, mailNo, CurrentUtil.getCurrentUid());
} }
@ApiOperation(value = "修改快递单号") @ApiOperation(value = "修改快递单号")
......
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