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

Commit 9d82795d authored by GaoHu's avatar GaoHu

Merge branch 'master' into gaohu_0805_smileBUG

parents 7222109b 12e0d45b
......@@ -345,6 +345,7 @@ public class GoblinRedisConst {
/* ----------------------------------------------------------------- */
public static final String GOBLIN_ORDER_LOG = PREFIX.concat("order:log:");//无用
public static final String GOBLIN_EXPRESS_PRICE = PREFIX.concat("express:price");//快递费
/* ----------------------------------------------------------------- */
public static final String GOBLIN_NUM_LIST = PREFIX.concat("nft:num:");//$key+":"+$skuId 根据skuId获取序号list
......
package com.liquidnet.service.goblin.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel(value = "GoblinMixSearchDto", description = "Mix搜素")
@Data
public class GoblinMixSearchDto implements Serializable, Cloneable {
private static final long serialVersionUID = 8425727558228094908L;
@ApiModelProperty(position = 0, value = "活动id")
private String mixId;
@ApiModelProperty(position = 1, value = "活动名称")
private String name;
@ApiModelProperty(position = 5, value = "组合名称")
private String sellName;
private static final GoblinMixSearchDto obj = new GoblinMixSearchDto();
public static GoblinMixSearchDto getNew() {
try {
return (GoblinMixSearchDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinMixSearchDto();
}
}
}
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 GoblinGoodsCheckVo implements Serializable, Cloneable {
@ApiModelProperty(value = "名单id")
private Integer status;
@ApiModelProperty(value = "优先购名称")
private List<String> spuId;
private static final GoblinGoodsCheckVo obj = new GoblinGoodsCheckVo();
public static GoblinGoodsCheckVo getNew() {
try {
return (GoblinGoodsCheckVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinGoodsCheckVo();
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class GoblinMixCheckVo implements Serializable, Cloneable {
@ApiModelProperty(value = "名单id")
private Integer status;
@ApiModelProperty(value = "优先购名称")
private String mixId;
private static final GoblinMixCheckVo obj = new GoblinMixCheckVo();
public static GoblinMixCheckVo getNew() {
try {
return (GoblinMixCheckVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinMixCheckVo();
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class GoblinNftCheckVo implements Serializable, Cloneable {
@ApiModelProperty(value = "名单id")
private Integer status;
@ApiModelProperty(value = "优先购名称")
private String skuId;
private static final GoblinNftCheckVo obj = new GoblinNftCheckVo();
public static GoblinNftCheckVo getNew() {
try {
return (GoblinNftCheckVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinNftCheckVo();
}
}
package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinNftCheckVo;
import com.liquidnet.service.goblin.dto.vo.GoblinNftPayResultVo;
import com.liquidnet.service.goblin.param.GoblinNftOrderPayAgainParam;
import com.liquidnet.service.goblin.param.GoblinNftOrderPayCallbackParam;
......@@ -22,6 +23,9 @@ public interface IGoblinNftOrderService {
ResponseDto<Integer> checkOrderResult(String orderId);
ResponseDto<GoblinNftCheckVo> checkOrderResult2(String orderId);
String syncOrder(GoblinNftOrderPayCallbackParam syncOrderParam);
String refundSyncOrder(GoblinNftOrderRefundCallbackParam refundCallbackParam);
......
......@@ -2,6 +2,7 @@ package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsCheckVo;
import com.liquidnet.service.goblin.dto.vo.GoblinMailVo;
import com.liquidnet.service.goblin.dto.vo.GoblinPayInnerResultVo;
import com.liquidnet.service.goblin.param.PayAgainParam;
......@@ -25,6 +26,8 @@ public interface IGoblinOrderService {
ResponseDto<Integer> checkOrderResultMaterCode(String materCode);
ResponseDto<GoblinGoodsCheckVo> checkOrderResultMaterCode2(String materCode);
String huiFuSync(HttpServletRequest request);
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam;
import com.liquidnet.service.goblin.dto.manage.MixOrderParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMixCheckVo;
import com.liquidnet.service.goblin.dto.vo.GoblinPayInnerResultVo;
import com.liquidnet.service.goblin.param.PayAgainParam;
import com.liquidnet.service.goblin.param.RefundCallbackParam;
......@@ -18,5 +19,5 @@ public interface IMixOrderService {
ResponseDto<Integer> checkOrderResultMaterCode(String materCode);
ResponseDto<GoblinMixCheckVo> checkOrderResultMaterCode2(String materCode);
}
......@@ -96,6 +96,10 @@ public class KylinRedisConst {
public static final String ACTIVE_TICKET_AR_TICKET = "kylin:active:ar:ticket:";//互动券
public static final String ACTIVE_TICKET_AR_USER = "kylin:active:ar:user:";//互动券 绑定的用户
public static final String ACTIVE_USE_AR_COUNT = "kylin:ar:use:count";//ar激活码使用量
public static final String RECOMMEND_ACTIVE = "kylin:active:recommend:";// 推荐活动
/**
* 巡演券
......@@ -105,5 +109,8 @@ public class KylinRedisConst {
public static final String COUPON_COUNT = "kylin:coupon:count:";//$key + $uid:$performance_id
public static final String MEMBER_COUNT = "kylin:member:count:";//$key + $uid:$performance_id
//订单关联 Ar激活码
public static final String ORDER_AR_CODE = "kylin:ar:order:";//$key + $orderId
}
package com.liquidnet.service.kylin.dto.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 推荐活动表
* </p>
*
* @author liquidnet
* @since 2022-07-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinRecommendActiveParam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Long mid;
/**
* 推荐活动id
*/
@ApiModelProperty(value = "推荐活动id")
private String recommendId;
/**
* 开启时间
*/
@ApiModelProperty(value = "开启时间yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
@NotNull(message = "开启时间必传")
private LocalDateTime startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间yyyy-MM-dd HH:mm:ss")
@NotNull(message = "结束时间必传")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern=DateUtil.DATE_FULL_STR)
private LocalDateTime endTime;
/**
* 活动名称
*/
@ApiModelProperty(value = "活动名称")
@NotBlank(message = "活动名称必传")
private String activeName;
/**
* 1NFT2组合购3演出4商品
*/
@ApiModelProperty(value = "1NFT2组合购3演出4商品")
@NotNull(message = "关联类型必传")
private Integer activeType;
/**
* 活动绑定id
*/
@ApiModelProperty(value = "活动绑定id")
@NotBlank(message = "关联名称必传")
private String activeBindId;
/**
* 0未删除1已删除
*/
@ApiModelProperty(value = "0未删除1已删除")
private Integer delTag;
/**
* 创建时间
*/
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern=DateUtil.DATE_FULL_STR)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdAt;
/**
* 修改时间
*/
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern=DateUtil.DATE_FULL_STR)
@ApiModelProperty(value = "修改时间")
private LocalDateTime updatedAt;
/**
* 0开启,1未开启
*/
@ApiModelProperty(value = "0开启,1未开启")
@NotNull(message = "状态必传")
private Integer status;
private List<KylinRecommendActiveRelationParam> list;
}
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 推荐活动关联表
* </p>
*
* @author liquidnet
* @since 2022-07-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinRecommendActiveRelationParam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Long mid;
/**
* 推荐活动关系id
*/
@ApiModelProperty(value = "推荐活动关系id")
private String recommendRelationId;
/**
* 推荐商品id
*/
@ApiModelProperty(value = "推荐商品id")
private String recommendBindId;
/**
* 1NFT2组合购3演出4商品
*/
@ApiModelProperty(value = "1NFT2组合购3演出4商品")
private Integer type;
/**
* 推荐活动id(关联id)
*/
@ApiModelProperty(value = "推荐活动id(关联id)")
private String recommendActiveId;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
/**
*
*/
@ApiModelProperty(value = "排序")
private Integer indexs;
}
package com.liquidnet.service.kylin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ApiModel(value = "GoblinGoodsInfoVo", description = "商品SPU详情[不包含具体SKU,SKU详情参见'GoblinGoobsSkuInfoVo']")
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class GoblinGoodsInfoVo implements Serializable, Cloneable {
private static final long serialVersionUID = -4712015317981742851L;
@ApiModelProperty(position = 10, value = "店铺ID")
private String storeId;
@ApiModelProperty(position = 11, value = "商品ID[64]")
private String spuId;
@ApiModelProperty(position = 12, value = "商品编码[默认为系统编码,也可手动输入商家自己的编码]")
private String spuNo;
@ApiModelProperty(position = 12, value = "商品类型[0-常规|1-数字藏品]")
private int spuType;
@ApiModelProperty(position = 13, value = "商品名称[100]")
private String name;
@ApiModelProperty(position = 14, value = "商品副标题[128]")
private String subtitle;
@ApiModelProperty(position = 15, value = "销售价-原价[20,2]")
private BigDecimal sellPrice;
@ApiModelProperty(position = 16, value = "价格区间MIN[20,2]")
private BigDecimal priceGe;
@ApiModelProperty(position = 17, value = "价格区间MAX[20,2]")
private BigDecimal priceLe;
@ApiModelProperty(position = 18, value = "商品简介[256]")
private String intro;
@ApiModelProperty(position = 19, value = "商品详情", example = "商品详情...")
private String details;
@ApiModelProperty(position = 19, value = "注意事项", example = "注意事项...")
private String attention;
@ApiModelProperty(position = 20, value = "封面图片地址[256]")
private String coverPic;
@ApiModelProperty(position = 21, value = "商品视频地址")
private String video;
@ApiModelProperty(position = 22, value = "规格展现方式[1-常规|2-组合]")
private String specMode;
@ApiModelProperty(position = 23, value = "商品一级分类ID[30]")
private String cateFid;
@ApiModelProperty(position = 24, value = "商品二级分类ID[30]")
private String cateSid;
@ApiModelProperty(position = 25, value = "商品三级分类ID[30]")
private String cateTid;
@ApiModelProperty(position = 26, value = "店铺一级分类ID[30]")
private String storeCateFid;
@ApiModelProperty(position = 27, value = "店铺二级分类ID[30]")
private String storeCateSid;
@ApiModelProperty(position = 28, value = "店铺三级分类ID[31]")
private String storeCateTid;
@ApiModelProperty(position = 29, value = "品牌ID[30]")
private String brandId;
@ApiModelProperty(position = 30, value = "上架处理方式[1-等待手动上架|2-直接上架售卖|3-预约定时上架]")
private String shelvesHandle;
@ApiModelProperty(position = 31, value = "预约上架时间[上架处理方式为3-预约定时上架时需要指定]")
private String shelvesTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 31, value = "开售时间")
private LocalDateTime saleStartTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 31, value = "停售时间")
private LocalDateTime saleStopTime;
@ApiModelProperty(position = 32, value = "商品有效期[YYYY-MM-DD]")
private String spuValidity;
@ApiModelProperty(position = 33, value = "是否虚拟商品[0-否|1-是]")
private String virtualFlg;
@ApiModelProperty(position = 34, value = "审核状态[0-编辑中|1-审核中|2-审核不通过|3-审核通过]")
private String status;
@ApiModelProperty(position = 35, value = "审核拒绝原因[256]")
private String reason;
@ApiModelProperty(position = 36, value = "商品上架状态[0-待上架|1-下架|2-违规|3-上架]")
private String shelvesStatus;
@ApiModelProperty(position = 37, value = "是否隐藏[0-默认展示|1-隐藏]")
private String spuAppear;
@ApiModelProperty(position = 37, value = "是否购买[0-否|1-是]")
private String spuCanbuy;
@ApiModelProperty(position = 37, value = "创作者")
private String author;
@ApiModelProperty(position = 37, value = "发行方")
private String publisher;
@ApiModelProperty(position = 38, value = "删除标记[0-未删除|1-删除]")
private String delFlg;
@ApiModelProperty(position = 39, value = "上架时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime shelvesAt;
@ApiModelProperty(position = 40, value = "商品图片列表")
private List<String> imageList;
@ApiModelProperty(position = 41, value = "物流模版")
private String logisticsTemplate;
private String createdBy;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
private String updatedBy;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
private String deletedBy;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime deletedAt;
/* @ApiModelProperty(position = 51, value = "规格信息")
private List<GoblinGoodsSpecVo> specVoList;
@ApiModelProperty(position = 52, value = "商品标签列表")
private List<GoblinGoodsTagVo> tagVoList;
@ApiModelProperty(position = 53, value = "商品服务支持列表")
private List<GoblinServiceSupportVo> serviceSupportVoList;
@ApiModelProperty(position = 54, value = "音乐人、艺术家、IP列表")
private List<GoblinGoodsExtagVo> extagVoList;
@ApiModelProperty(position = 55, value = "AR标签")
private List<GoblinGoodsExtagVo> artagVoList;*/
@ApiModelProperty(position = 56, value = "SPU包含的SKU_ID列表")
private List<String> skuIdList;
/* ------------------------------------------------------------ */
@ApiModelProperty(position = 60, value = "活动Id")
private String marketId;
@ApiModelProperty(position = 64, value = "活动类型")
private String marketType;
@ApiModelProperty(position = 63, value = "演出id")
private String performanceId;
@ApiModelProperty(position = 61, value = "销量")
private Integer count;
@ApiModelProperty(position = 62, value = "商铺名称")
private String storeName;
/*@ApiModelProperty(position = 63, value = "skuList")
private List<GoblinGoodsSkuInfoVo> goblinOrderSkuVos;
public String getMarketType() {
if (marketId == null) {
return "";
} else if (marketId.contains("ZZ")) {
return GoblinStatusConst.MarketPreStatus.getPre(marketId);
}
return "";
}*/
private static final GoblinGoodsInfoVo obj = new GoblinGoodsInfoVo();
public static GoblinGoodsInfoVo getNew() {
try {
return (GoblinGoodsInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinGoodsInfoVo();
}
}
}
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode
public class GoblinMixAppDetailsVo implements Serializable, Cloneable {
@ApiModelProperty(position = 0, value = "活动id")
private String mixId;
@ApiModelProperty(position = 1, value = "活动名称")
private String name;
@ApiModelProperty(position = 2, value = "开始时间")
private String timeStart;
@ApiModelProperty(position = 3, value = "结束时间")
private String timeEnd;
@ApiModelProperty(position = 5, value = "组合名称")
private String sellName;
@ApiModelProperty(position = 9, value = "商品简介/购买须知")
private String intro;
@ApiModelProperty(position = 10, value = "封面图片地址")
private String coverPic;
@ApiModelProperty(position = 11, value = "商品视频地址/数字昌平视频地址")
private String video;
@ApiModelProperty(position = 12, value = "商品详情/藏品详情")
private String details;
@ApiModelProperty(position = 13, value = "展示文件类型[1-图片|2-视频]")
private Integer watchType;
@ApiModelProperty(position = 14, value = "详情图片地址")
private String detailUrl;
@ApiModelProperty(position = 17, value = "限购数量[0-无限]")
private Integer limit;
@ApiModelProperty(position = 18, value = "白名单类型[0-会员|1-指定用户|2-全部用户]")
private Integer whiteType;
/* @ApiModelProperty(position = 20, value = "配置详情")
private List<GoblinMixDetailsItemVo> item;*/
@ApiModelProperty(position = 22, value = "状态[6-活动中|7-停用|8-售罄|9-等待开始|10-活动结束]")
private Integer status;
@ApiModelProperty(position = 24, value = "IOS支付方式[0-第三方支付|1-苹果支付]")
private Integer payType;
@ApiModelProperty(position = 25, value = "店铺名称]")
private String storeName;
@ApiModelProperty(position = 23, value = "销售价格")
private BigDecimal sellPrice;
@ApiModelProperty(position = 23, value = "原价")
private BigDecimal price;
@ApiModelProperty(position = 22, value = "上架时间")
private String shelvesTime;
private static final GoblinMixAppDetailsVo obj = new GoblinMixAppDetailsVo();
public static GoblinMixAppDetailsVo getNew() {
try {
return (GoblinMixAppDetailsVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinMixAppDetailsVo();
}
}
/* public GoblinMixAppDetailsVo copy(GoblinMixDetailsVo source,String storeName) {
if (null == source) return this;
this.setMixId(source.getMixId());
this.setName(source.getName());
this.setTimeStart(source.getTimeStart());
this.setTimeEnd(source.getTimeEnd());
this.setSellName(source.getSellName());
this.setIntro(source.getIntro());
this.setCoverPic(source.getCoverPic());
this.setVideo(source.getVideo());
this.setDetails(source.getDetails());
this.setWatchType(source.getWatchType());
this.setDetailUrl(source.getDetailUrl());
this.setLimit(source.getLimit());
this.setWhiteType(source.getWhiteType());
this.setItem(source.getItem());
this.setPayType(source.getPayType());
this.setStoreName(storeName);
this.setPrice(source.getPrice());
this.setSellPrice(source.getSellPrice());
return this;
}*/
}
package com.liquidnet.service.kylin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.util.List;
@ApiModel(value = "GoblinNftGoodsSkuInfoVo", description = "NFT商品SKU信息")
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable {
private static final long serialVersionUID = -519573757075729441L;
@ApiModelProperty(position = 10, value = "商品单品ID")
private String skuId;
@ApiModelProperty(position = 11, value = "商品ID[64]")
private String spuId;
@ApiModelProperty(position = 13, value = "单品的名称[100]")
private String name;
@ApiModelProperty(position = 14, value = "单品的副标题[128]")
private String subtitle;
@ApiModelProperty(position = 15, value = "单品详情展示文件URL[256]")
private String skuWatch;
private String coverPic;
@ApiModelProperty(position = 16, value = "展示文件类型[1-图片|2-视频|3-模型]")
private String watchType;
@ApiModelProperty(position = 17, value = "展示预览图URL[256]")
private String skuWatchPic;
@ApiModelProperty(position = 18, value = "单品库存")
private Integer skuStock;
@ApiModelProperty(position = 21, value = "单品现价[20,2]")
private BigDecimal price;
@ApiModelProperty(position = 22, value = "IOS商品价格[20,2]")
private BigDecimal priceV;
@ApiModelProperty(position = 23, value = "单品详情", example = "单品详情...")
private String details;
@ApiModelProperty(position = 26, value = "限量 0无限制 X限购数量")
private Integer buyLimit;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 27, value = "开售时间")
private LocalDateTime saleStartTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 28, value = "系统时间")
private LocalDateTime systime;
@ApiModelProperty(position = 33, value = "是否购买[0-否|1-是]")
private String skuCanbuy;
@ApiModelProperty(position = 34, value = "购买限制[0-全部用户|1-仅会员|2-指定用户 暂时没有这个选项 不用判断 只处理0和1就行]")
private String buyFactor;
/* @ApiModelProperty(position = 54, value = "单品音乐人标签[藏品类型时使用]")
private List<GoblinGoodsExtagVo> extagVoList;
@ApiModelProperty(position = 55, value = "spu相关信息")
private GoblinNftGoodsDetailSpuInfoVo goblinNftGoodsDetailSpuInfoVo;*/
@ApiModelProperty(position = 57, value = "是否还有库存 0没有库存 1有库存 即售罄")
private int isStock;
@ApiModelProperty(position = 58, value = "当前用户还可以购买数量 有限购的时候用")
private int canBuyNum;
@ApiModelProperty(position = 59, value = "预约开始时间")
private String aboutStartDate;
@ApiModelProperty(position = 60, value = "预约结束时间")
private String aboutEndDate;
@ApiModelProperty(position = 61, value = "预约状态(0:未开始,1:可预约,3:已结束)")
private Integer state;
@ApiModelProperty(position = 62, value = "预约规则")
private String rule;
@ApiModelProperty(position = 63, value = "预约人数")
private BigInteger aboutPeople;
@ApiModelProperty(position = 64, value = "前三预约头像")
private List<String> aboutAvatarList;
@ApiModelProperty("预约类型(1:预约提醒,2:预约获得购买资格)")
private Integer type;
@ApiModelProperty("设置预约人数")
private Integer peopleType;
@ApiModelProperty(position = 65, value = "是否开启兑换 1未开启 2已开启")
private int isExchange;
@ApiModelProperty(position = 66, value = "待支付订单数量")
private int notPayNum;
@ApiModelProperty(position = 67, value = "单品AR文件URL-iOS版")
private String arUrlIos;
@ApiModelProperty(position = 68, value = "单品AR文件URL-Android版")
private String arUrlAndroid;
@ApiModelProperty(position = 69, value = "标签[0-提前购买|1-分段购买]")
private Integer tagType;
@ApiModelProperty(position = 70, value = "分批购活动id")
private String listId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 71, value = "sku正常开售时间")
private LocalDateTime baseSaleStartTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
@ApiModelProperty(position = 72, value = "下个分段购开始时间,如果为null则没有")
private LocalDateTime nextSaleStartTime;
@ApiModelProperty(position = 73, value = "创作者")
private String author;
@ApiModelProperty(position = 74, value = "发行方")
private String publisher;
private static final GoblinNftGoodsSkuInfoVo obj = new GoblinNftGoodsSkuInfoVo();
public static GoblinNftGoodsSkuInfoVo getNew() {
try {
return (GoblinNftGoodsSkuInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinNftGoodsSkuInfoVo();
}
}
/*public GoblinNftGoodsSkuInfoVo copy(GoblinGoodsSkuInfoVo source, AnticipateValueVo anticipateValueVo) {
if (null == source) return this;
this.setSkuId(source.getSkuId());
this.setSpuId(source.getSpuId());
this.setName(source.getName());
this.setSubtitle(source.getSubtitle());
this.setSkuWatch(source.getSkuWatch());
this.setWatchType(source.getWatchType());
this.setSkuWatchPic(source.getSkuWatchPic());
this.setSkuStock(source.getSkuStock());
this.setPrice(source.getPrice());
this.setPriceV(source.getPriceV());
this.setDetails(source.getDetails());
this.setBuyLimit(source.getBuyLimit());
this.setSaleStartTime(source.getSaleStartTime());
this.setSkuCanbuy(source.getSkuCanbuy());
this.setBuyFactor(source.getBuyFactor());
this.setExtagVoList(source.getExtagVoList());
if (anticipateValueVo != null) {
if (anticipateValueVo.getAboutEndDate() != null) {
this.setAboutEndDate(DateUtil.Formatter.yyyyMMddHHmmss.format(anticipateValueVo.getAboutEndDate()));
}
if (anticipateValueVo.getAboutEndDate() != null) {
this.setAboutStartDate(DateUtil.Formatter.yyyyMMddHHmmss.format(anticipateValueVo.getAboutStartDate()));
}
this.setType(anticipateValueVo.getType());
this.setPeopleType(anticipateValueVo.getPeopleType());
this.setState(anticipateValueVo.getState());
this.setRule(anticipateValueVo.getRule());
this.setAboutPeople(anticipateValueVo.getAboutPeople());
this.setAboutAvatarList(anticipateValueVo.getAboutAvatarList());
}
this.setArUrlIos(source.getArUrlIos());
this.setArUrlAndroid(source.getArUrlAndroid());
return this;
}*/
}
package com.liquidnet.service.kylin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 推荐活动关联表
* </p>
* @since 2022-07-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinRecommendActiveRelationVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "mid")
private Long mid;
/**
* 推荐活动关系id
*/
@ApiModelProperty(value = "推荐活动关系id")
private String recommendRelationId;
/**
* 推荐商品id
*/
@ApiModelProperty(value = "推荐商品id")
private String recommendBindId;
/**
* 1NFT2组合购3演出4商品
*/
@ApiModelProperty(value = "1NFT2组合购3演出4商品")
private Integer type;
/**
* 推荐活动id(关联id)
*/
@ApiModelProperty(value = "推荐活动id(关联id)")
private String recommendActiveId;
/**
* 创建时间
*/
@ApiModelProperty(value = "推荐活动id(关联id)")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
/**
* 修改时间
*/
@ApiModelProperty(value = "推荐活动id(关联id)")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
/**
* 0未删除1已删除
*/
@ApiModelProperty(value = "0未删除1已删除")
private Integer delTag;
/**
* 排序
*/
@ApiModelProperty(value = "排序")
private Integer indexs;
@ApiModelProperty(value = "演出的vo")
private KylinPerformanceVo kylinPerformanceVo;
private GoblinNftGoodsSkuInfoVo goblinNftGoodsSkuInfoVo;
private GoblinGoodsInfoVo goblinGoodsInfoVo;
private GoblinMixAppDetailsVo goblinMixAppDetailsVo;
private boolean isCount;
private static final KylinRecommendActiveRelationVo obj = new KylinRecommendActiveRelationVo();
public static KylinRecommendActiveRelationVo getNew() {
try {
return (KylinRecommendActiveRelationVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinRecommendActiveRelationVo();
}
}
}
package com.liquidnet.service.kylin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 推荐活动表
* </p>
*
* @author liquidnet
* @since 2022-07-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinRecommendActiveVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long mid;
/**
* 推荐活动id
*/
@ApiModelProperty(value = "推荐活动id")
private String recommendId;
/**
* 开启时间
*/
@ApiModelProperty(value = "开启时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime endTime;
/**
* 1NFT2组合购3演出4商品
*/
@ApiModelProperty(value = "1NFT2组合购3演出4商品")
private Integer activeType;
/**
* 活动绑定id
*/
@ApiModelProperty(value = "活动绑定id")
private String activeBindId;
/**
* 0未删除1已删除
*/
@ApiModelProperty(value = "0未删除1已删除")
private Integer delTag;
/**
* 创建时间
*/
@ApiModelProperty(value = "0未删除1已删除")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
/**
* 修改时间
*/
@ApiModelProperty(value = "0未删除1已删除")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
/**
* 0开启,1未开启
*/
@ApiModelProperty(value = "0开启,1未开启")
private Integer status;
@ApiModelProperty(value = "推荐活动")
private List<KylinRecommendActiveRelationVo> list;
@ApiModelProperty(value = "演出的vo")
private KylinPerformanceVo kylinPerformanceVo;
@ApiModelProperty(value = "NFT的vo")
private GoblinNftGoodsSkuInfoVo goblinNftGoodsSkuInfoVo;
@ApiModelProperty(value = "商品的vo")
private GoblinGoodsInfoVo goblinGoodsInfoVo;
@ApiModelProperty(value = "组合购的vo")
private GoblinMixAppDetailsVo goblinMixAppDetailsVo;
private String name;
private static final KylinRecommendActiveVo obj = new KylinRecommendActiveVo();
public static KylinRecommendActiveVo getNew() {
try {
return (KylinRecommendActiveVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinRecommendActiveVo();
}
}
}
package com.liquidnet.service.kylin.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderDtoParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import java.util.List;
import java.util.HashMap;
/**
* <p>
......@@ -30,6 +28,6 @@ public interface IKylinOrderTicketsOrderService {
String syncOrder(SyncOrderParam syncOrderParam);
//去 PHP pay检查 订单状态
ResponseDto<Integer> checkOrderResult(String orderId);
ResponseDto<HashMap<String,Object>> checkOrderResult(String orderId);
}
......@@ -70,4 +70,7 @@ public interface IKylinOrderTicketsService {
//退款撤回
ResponseDto<Boolean> orderRefundWithdraw(String orderRefundsId);
//获取 订单Ar激活码
ResponseDto<List<String>> getOrderArCode(String orderId);
}
package com.liquidnet.service.kylin.service;
import com.liquidnet.service.kylin.dto.vo.KylinRecommendActiveVo;
import com.liquidnet.service.kylin.entity.KylinRecommendActive;
import java.text.ParseException;
import java.util.List;
/**
* 推荐活动接口
*/
public interface IKylinRecommendActiveService {
KylinRecommendActiveVo getRecommendById(List<KylinRecommendActive> list) throws ParseException;
}
package com.liquidnet.service.kylin.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.entity.KylinRecommendActiveRelation;
import java.util.List;
/**
* <p>
* 推荐活动关联表 服务类
*/
public interface IKylinRecommendActiveRelationService extends IService<KylinRecommendActiveRelation> {
boolean addKylinRecommendActiveRelation(KylinRecommendActiveRelation kylinRecommendActiveRelation);
boolean addListKylinRecommendActiveRelation(List<KylinRecommendActiveRelation> kylinRecommendActiveRelation);
boolean deleteKylinRecommendActiveRelation(KylinRecommendActiveRelation kylinRecommendActiveRelation);
}
package com.liquidnet.service.kylin.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.entity.KylinRecommendActive;
import com.liquidnet.service.kylin.entity.KylinRecommendActiveRelation;
import java.util.List;
/**
* <p>
* 推荐活动表 服务类
* </p>
*
* @author liquidnet
* @since 2022-07-27
*/
public interface IKylinRecommendActiveService extends IService<KylinRecommendActive> {
boolean addKylinRecommendActive(KylinRecommendActive kylinRecommendActive, List<KylinRecommendActiveRelation> kylinRecommendActiveRelations);
boolean updateKylinRecommendActive(KylinRecommendActive kylinRecommendActive);
List<KylinRecommendActive> pageKylinAcitve(int pageSize, int pageNumber);
KylinRecommendActive getKylinRecommendActiveById(int mid);
KylinRecommendActive getByRecommendId(String id);
int validateTime(KylinRecommendActive kylinRecommendActive);
void updateRedis(KylinRecommendActive kylinRecommendActive);
}
......@@ -27,13 +27,21 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_RELATION = "sweet:mdsk:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_MDSK_SHOP = "sweet:mdsk:artists:shop:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_PUSH_LIST = "sweet:mdsk:manual:pushList";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_TIME_LIST = "sweet:mdsk:manual:timeList:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_NOTIFY_LIST = "sweet:mdsk:manual:notify:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_RICH_TEXT = "sweet:mdsk:manual:richText:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_SORT = "sweet:mdsk:manual:sort:manual:";
public final static String REDIS_KEY_SWEET_TFC_ARTISTS_RELATION = "sweet:mdsk:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_TFC_SHOP = "sweet:mdsk:artists:shop:manual:";
public final static String REDIS_KEY_SWEET_FIVE_MANUAL_PUSH_LIST = "sweet:five:manual:pushList";
public final static String REDIS_KEY_SWEET_FIVE_MANUAL_TIME_LIST = "sweet:five:manual:timeList:manual:";
public final static String REDIS_KEY_SWEET_FIVE_MANUAL_NOTIFY_LIST = "sweet:five:manual:notify:manual:";
public final static String REDIS_KEY_SWEET_FIVE_MANUAL_RICH_TEXT = "sweet:five:manual:richText:manual:";
public final static String REDIS_KEY_SWEET_FIVE_MANUAL_SORT = "sweet:five:manual:sort:manual:";
public final static String REDIS_KEY_SWEET_FIVE_ARTISTS_RELATION = "sweet:five:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_FIVE_SHOP = "sweet:five:artists:shop:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_PUSH_LIST = "sweet:tfc:manual:pushList";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_TIME_LIST = "sweet:tfc:manual:timeList:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_NOTIFY_LIST = "sweet:tfc:manual:notify:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_RICH_TEXT = "sweet:tfc:manual:richText:manual:";
public final static String REDIS_KEY_SWEET_TFC_MANUAL_SORT = "sweet:tfc:manual:sort:manual:";
public final static String REDIS_KEY_SWEET_TFC_ARTISTS_RELATION = "sweet:tfc:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_TFC_SHOP = "sweet:tfc:artists:shop:manual:";
// 积分活动
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST = "sweet:integralActivity:list";
......
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListFiveDto;
import com.liquidnet.service.sweet.entity.SweetManualArtistsFive;
/**
* <p>
* 电子宣传手册艺人表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualArtistsFiveService extends IService<SweetManualArtistsFive> {
ResponseDto<PageInfo<SweetManualArtistListFiveDto>> getList(Integer page, Integer size, String manualId);
ResponseDto<Boolean> add(String manualId,String artistId, String stageId,String performanceStart,String performanceEnd,String signatureStart,String signatureEnd);
ResponseDto<SweetManualArtistListFiveDto> details(String manualRelationId);
ResponseDto<Boolean> change(String manualRelationId,String manualId,String artistId, String stageId,String performanceStart,String performanceEnd,String signatureStart,String signatureEnd);
ResponseDto<Boolean> delete(String manualRelationId,String manualId);
}
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualFiveDto;
import com.liquidnet.service.sweet.entity.SweetManualFive;
/**
* <p>
* 电子宣传手册表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualFiveService extends IService<SweetManualFive> {
ResponseDto<PageInfo<SweetManualFiveDto>> getManualList(int page, int size, String name);
ResponseDto<SweetManualFiveDto> details(String manualId);
//关闭开启
ResponseDto<Boolean> changeStatus(String manualId, String performancesId, Integer status);
//发布与否
ResponseDto<Boolean> changeRelease(String manualId, Integer isRelease);
}
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualNotifyFive;
/**
* <p>
* 电子宣传手册通知表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualNotifyFiveService extends IService<SweetManualNotifyFive> {
ResponseDto<PageInfo<SweetManualNotifyFive>> getList(Integer page, Integer size, String title, String manualId);
ResponseDto<Boolean> add(String manualId,String title, String content);
ResponseDto<SweetManualNotifyFive> details(String manualId);
ResponseDto<Boolean> change(String manualId,String manualNotifyId, String title, String content);
ResponseDto<Boolean> delete(String manualId);
}
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualShopFive;
import java.util.List;
/**
* <p>
* 电子宣传手册商铺表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualShopFiveService extends IService<SweetManualShopFive> {
ResponseDto<List<SweetManualShopFive>> getList(String manualId, Integer type);
ResponseDto<SweetManualShopFive> details(String manualShopId);
ResponseDto<Boolean> add(String manualId,String title,String picUrl,String describe,Integer type,Integer isRecommend,Integer sort);
ResponseDto<Boolean> change(String manualShopId,String manualId,String title,String picUrl,String describe,Integer type,Integer isRecommend,Integer sort);
ResponseDto<Boolean> delete(String manualShopId,String manualId);
}
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualSortFive;
/**
* <p>
* 电子宣传手册显示内容表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualSortFiveService extends IService<SweetManualSortFive> {
ResponseDto<SweetManualSortFive> get(String manualId);
ResponseDto<Boolean> add(String manualId,String content);
}
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetRichtextFive;
/**
* <p>
* 电子宣传手册富文本表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetRichtextFiveService extends IService<SweetRichtextFive> {
ResponseDto<SweetRichtextFive> get(String manualId, Integer type);
ResponseDto<Boolean> add(String manualId,String details, String local, String pirUrl, Integer type);
ResponseDto<Boolean> change(String manualId,String details,String local,String pirUrl,Integer type);
}
package com.liquidnet.service.sweet.service.five;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetUserRelationFive;
/**
* <p>
* 用户 收藏/喜欢等状态 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetUserRelationFiveService extends IService<SweetUserRelationFive> {
}
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.entity.SweetManualShopFive;
import com.liquidnet.service.sweet.entity.SweetManualShopMdsk;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@ApiModel
public class SweetManualShopFiveAllVo implements Serializable ,Cloneable {
@ApiModelProperty("推荐")
private List<SweetManualShopFive> recommend;
@ApiModelProperty("吃喝")
private List<SweetManualShopFive> eat;
@ApiModelProperty("玩乐")
private List<SweetManualShopFive> play;
private static final SweetManualShopFiveAllVo obj = new SweetManualShopFiveAllVo();
public static SweetManualShopFiveAllVo getNew() {
try {
return (SweetManualShopFiveAllVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetManualShopFiveAllVo();
}
}
}
......@@ -709,4 +709,38 @@ create table gen_table_column (
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
primary key (column_id)
) engine=innodb auto_increment=1 comment = '代码生成业务表字段';
\ No newline at end of file
) engine=innodb auto_increment=1 comment = '代码生成业务表字段';
DROP TABLE IF EXISTS `kylin_recommend_active`;
CREATE TABLE `kylin_recommend_active` (
`mid` bigint(20) NOT NULL AUTO_INCREMENT,
`recommend_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '推荐活动id',
`start_time` timestamp NULL DEFAULT NULL COMMENT '开启时间',
`end_time` timestamp NULL DEFAULT NULL COMMENT '结束时间',
`active_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '活动名称',
`active_type` int(2) DEFAULT NULL COMMENT '1NFT2组合购3演出4商品',
`active_bind_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '活动绑定id',
`del_tag` int(2) DEFAULT NULL COMMENT '0未删除1已删除',
`created_at` datetime DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
`status` int(2) DEFAULT NULL COMMENT '0开启,1未开启',
PRIMARY KEY (`mid`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='推荐活动表';
SET FOREIGN_KEY_CHECKS = 1;
DROP TABLE IF EXISTS `kylin_recommend_active_relation`;
CREATE TABLE `kylin_recommend_active_relation` (
`mid` bigint(20) NOT NULL AUTO_INCREMENT,
`recommend_relation_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '推荐活动关系id',
`recommend_bind_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '推荐商品id',
`type` int(255) DEFAULT NULL COMMENT '1NFT2组合购3演出4商品',
`recommend_active_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '推荐活动id(关联id)',
`created_at` datetime DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
`del_tag` int(2) DEFAULT NULL COMMENT '0未删除1已删除',
`indexs` int(11) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`mid`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='推荐活动关联表';
SET FOREIGN_KEY_CHECKS = 1;
......@@ -122,8 +122,8 @@ public class LocalAdminController extends BaseController
return storePrefix + "/placingOrder/activityList";
}
@GetMapping("/addNewActivity")
public String addNewActivity()
{
public String addNewActivity(ModelMap mmap) {
mmap.put("platformUrl", platformUrl);
return storePrefix + "/placingOrder/addNewActivity";
}
@GetMapping("/activityStoreList")
......@@ -206,5 +206,20 @@ public class LocalAdminController extends BaseController
{
return candyPrefix + "/coupon/mgt/relevancyShow";
}
@GetMapping("/affiliatedActivity") // 关联活动
public String affiliatedActivity()
{
return activityPrefix + "/affiliatedActivity/list";
}
@GetMapping("/affiliatedActivityadd") // 关联活动-编辑
public String affiliatedActivityadd()
{
return activityPrefix + "/affiliatedActivity/add";
}
@GetMapping("/affiliatedActivityEdit") // 关联活动-编辑
public String affiliatedActivityEdit()
{
return activityPrefix + "/affiliatedActivity/edit";
}
}
......@@ -40,10 +40,18 @@ public class GoblinCommonController extends BaseController {
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "title", value = "商品名称[模糊]"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "type", value = "商品类型[0-常规|1-数字藏品]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "shelvesStatus", value = "上线状态"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "spuAppear", value = "显示状态"),
})
@ResponseBody
public AjaxResult goodsSearch(String title, Integer type) {
return AjaxResult.success(goblinCommonService.goodsSearch(title, type));
public AjaxResult goodsSearch(String title, Integer type,String shelvesStatus,String spuAppear) {
if("".equals(shelvesStatus)){
shelvesStatus=null;
}
if("".equals(spuAppear)){
spuAppear=null;
}
return AjaxResult.success(goblinCommonService.goodsSearch(title, type,shelvesStatus,spuAppear));
}
@Log(title = "商品搜索", businessType = BusinessType.LIST)
......@@ -51,10 +59,24 @@ public class GoblinCommonController extends BaseController {
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "title", value = "商品名称[模糊]"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "type", value = "商品类型[0-常规|1-数字藏品]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "shelvesStatus", value = "上线状态"),
})
@ResponseBody
public AjaxResult skuSearch(String title, Integer type) {
return AjaxResult.success(goblinCommonService.skuSearch(title, type));
public AjaxResult skuSearch(String title, Integer type,String shelvesStatus) {
if("".equals(shelvesStatus)){
shelvesStatus=null;
}
return AjaxResult.success(goblinCommonService.skuSearch(title, type,shelvesStatus));
}
@Log(title = "混合售搜索", businessType = BusinessType.LIST)
@GetMapping("mix")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "title", value = "混合售售卖名称[模糊]"),
})
@ResponseBody
public AjaxResult mixSearch(String title) {
return AjaxResult.success(goblinCommonService.mixSearch(title));
}
/** ------------------------------------------------------------------------ **/
......
......@@ -55,7 +55,7 @@ public class GoblinSelfZhengzaiController extends BaseController {
@RequestParam(value = "createdAt", required = false) String ct) {
LocalDateTime now = LocalDateTime.now();
PageHelper.startPage(page, size);
List<GoblinSelfMarketingDto> list = goblinZhengzaiMarketService.zhengzaiList(page, size,purchaseName, status, st, et, ct).getData();
List<GoblinSelfMarketingDto> list = goblinZhengzaiMarketService.zhengzaiList(page, size, purchaseName, status, st, et, ct).getData();
for (GoblinSelfMarketingDto item : list) {
if (item.getStatus() != 7) {
if (now.isBefore(item.getStartTime())) {
......@@ -94,9 +94,8 @@ public class GoblinSelfZhengzaiController extends BaseController {
@ApiOperation("修改活动-正在下单")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ResponseBody
public ResponseDto<String> purchasingUpdate(GoblinStoreZhengzaiParam goblinStoreZhengzaiParam) {
goblinZhengzaiMarketService.zhengzaiUpdate(goblinStoreZhengzaiParam.getMarketId(), goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getPerformanceId(), goblinStoreZhengzaiParam.getPerformanceImg(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime());
return ResponseDto.success();
public ResponseDto<Boolean> purchasingUpdate(GoblinStoreZhengzaiParam goblinStoreZhengzaiParam) {
return goblinZhengzaiMarketService.zhengzaiUpdate(goblinStoreZhengzaiParam.getMarketId(), goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getPerformanceId(), goblinStoreZhengzaiParam.getPerformanceImg(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime());
}
@PostMapping("zhengzai/details")
......@@ -111,12 +110,24 @@ public class GoblinSelfZhengzaiController extends BaseController {
@PostMapping("zhengzai/store")
@ApiOperation("活动详情-正在下单-新增店铺")
@ApiOperation("活动详情-正在下单-新增/修改店铺")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> purchasingStore(@RequestBody List<GoblinInsertZhengzaiParam> params) {
return goblinZhengzaiMarketService.zhengzaiStore(params);
}
@PostMapping("zhengzai/store/del")
@ApiOperation("活动详情-正在下单-删除店铺")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "marketId", value = "活动id", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺id", example = "0"),
})
public ResponseDto<Boolean> zhengzaiDelStore(@RequestParam(value = "marketId") @Valid String marketId,
@RequestParam(value = "storeId") @Valid String storeId) {
return goblinZhengzaiMarketService.zhengzaiDelStore(marketId, storeId);
}
// @PostMapping("zhengzai/store/update")
// @ApiOperation("活动详情-正在下单-修改店铺")
// @ApiResponse(code = 200, message = "接口返回对象参数")
......
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRecommendActiveRelationServiceImpl;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRecommendActiveServiceImpl;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.kylin.dto.param.KylinRecommendActiveParam;
import com.liquidnet.service.kylin.dto.param.KylinRecommendActiveRelationParam;
import com.liquidnet.service.kylin.entity.KylinRecommendActive;
import com.liquidnet.service.kylin.entity.KylinRecommendActiveRelation;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 推荐活动表 前端控制器
* </p>
*/
@Api(tags = "推荐活动controller")
@RestController
@RequestMapping("/kylin-recommend-active")
public class KylinRecommendActiveController extends BaseController {
@Autowired
private KylinRecommendActiveServiceImpl kylinRecommendActiveService;
@Autowired
private KylinRecommendActiveRelationServiceImpl kylinRecommendActiveRelationService;
@PostMapping("addKylinRecommendActive")
@ApiOperation(value = "增加活动")
@ResponseBody
public AjaxResult addKylinRecommendActive(@Validated @RequestBody KylinRecommendActiveParam kylinRecommendActiveParam,BindingResult result) {
if (result!=null&&result.hasErrors()) {
List<ObjectError> errors = result.getAllErrors();
if (errors != null) {
return AjaxResult.error(errors.get(0).getDefaultMessage());
}
}
KylinRecommendActive kylinRecommendActive = new KylinRecommendActive();
BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActive);
if (kylinRecommendActiveService.validateTime(kylinRecommendActive) == 0) {
List<KylinRecommendActiveRelation> list = new ArrayList<KylinRecommendActiveRelation>();
if (kylinRecommendActiveParam.getList() != null) {
for(KylinRecommendActiveRelationParam r:kylinRecommendActiveParam.getList()){
KylinRecommendActiveRelation kylinRecommendActiveRelation = new KylinRecommendActiveRelation();
if(StringUtil.isBlank(r.getRecommendBindId())){
return AjaxResult.error("操作失败", "推荐商品id不能为空");
}else if(null==r.getType()){
return AjaxResult.error("操作失败", "推荐类型不能为空");
}
BeanUtils.copyProperties(r, kylinRecommendActiveRelation);
list.add(kylinRecommendActiveRelation);
}
/* kylinRecommendActiveParam.getList().forEach(r -> {
});*/
}
kylinRecommendActiveService.addKylinRecommendActive(kylinRecommendActive, list);
return AjaxResult.success("操作成功", "");
} else {
return AjaxResult.error("该时间段已经重复,请重新选择");
}
}
@PostMapping("addKylinRecommendActiveRelation")
@ApiOperation(value = "增加活动推荐")
@ResponseBody
public AjaxResult addKylinRecommendActiveRelation(@RequestBody KylinRecommendActiveRelationParam kylinRecommendActiveParam) {
KylinRecommendActiveRelation kylinRecommendActiveRelation = new KylinRecommendActiveRelation();
BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActiveRelation);
kylinRecommendActiveRelationService.addKylinRecommendActiveRelation(kylinRecommendActiveRelation);
return AjaxResult.success("操作成功", "");
}
@PostMapping("addOrUpdateListKylinRecommendActiveRelation")
@ApiOperation(value = "增加或者修改活动推荐List")
@ResponseBody
public AjaxResult addOrUpdateListKylinRecommendActiveRelation(@RequestBody List<KylinRecommendActiveRelationParam> kylinRecommendActiveParam) {
for(KylinRecommendActiveRelationParam k:kylinRecommendActiveParam){
if(StringUtil.isBlank(k.getRecommendBindId())){
return AjaxResult.error("操作失败", "推荐商品id不能为空");
}else if(StringUtil.isBlank(k.getRecommendActiveId())){
return AjaxResult.error("操作失败", "推荐活动id不能为空");
}else if(null==k.getType()){
return AjaxResult.error("操作失败", "推荐类型不能为空");
}
}
if(kylinRecommendActiveParam.size()>20){
return AjaxResult.error("操作失败", "推荐活动不允许超过20个!!!");
}
List<KylinRecommendActiveRelation> list=new ArrayList<>();
for(KylinRecommendActiveRelationParam ky:kylinRecommendActiveParam){
KylinRecommendActiveRelation kylinRecommendActiveRelation = new KylinRecommendActiveRelation();
BeanUtils.copyProperties(ky, kylinRecommendActiveRelation);
list.add(kylinRecommendActiveRelation);
}
kylinRecommendActiveRelationService.addListKylinRecommendActiveRelation(list);
return AjaxResult.success("操作成功", "");
}
@PostMapping("delKylinRecommendActiveRelation")
@ApiOperation(value = "删除活动推荐(传入互动推荐里面的mid)")
@ResponseBody
public AjaxResult delKylinRecommendActiveRelation(@RequestBody KylinRecommendActiveRelation kylinRecommendActiveRelation) {
kylinRecommendActiveRelationService.deleteKylinRecommendActiveRelation(kylinRecommendActiveRelation);
return AjaxResult.success("操作成功", "");
}
@PostMapping("updateKylinRecommendActive")
@ApiOperation(value = "修改活动")
@ResponseBody
public AjaxResult updateKylinRecommendActive(@Validated @RequestBody KylinRecommendActiveParam kylinRecommendActiveParam, BindingResult result) {
/*BindingResult result = exception.getBindingResult();*/
if (result!=null&&result.hasErrors()) {
List<ObjectError> errors = result.getAllErrors();
if (errors != null) {
return AjaxResult.error(errors.get(0).getDefaultMessage());
}
}
KylinRecommendActive kylinRecommendActive = new KylinRecommendActive();
BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActive);
if (kylinRecommendActiveService.validateTime(kylinRecommendActive) == 0) {
kylinRecommendActiveService.updateKylinRecommendActive(kylinRecommendActive);
return AjaxResult.success("操作成功", "");
} else {
return AjaxResult.error("该时间段已经重复,请重新选择");
}
}
@PostMapping("pageActive")
@ApiOperation(value = "分页活动")
@ResponseBody
public TableDataInfo pageActive(@RequestParam(name = "pageSize", required = true) int pageSize, @RequestParam(name = "pageNum", required = true) int pageNum) {
//return AjaxResult.success(kylinAcitveService.pageKylinAcitve(pageSize,pageNum));
return getDataTable(kylinRecommendActiveService.pageKylinAcitve(pageSize, pageNum));
}
@PostMapping("getActiveById")
@ApiOperation(value = "通过id获得活动")
@ResponseBody
public KylinRecommendActive getActiveById(@RequestParam(name = "mid", required = true) int mid) {
return kylinRecommendActiveService.getKylinRecommendActiveById(mid);
}
}
......@@ -325,7 +325,7 @@
</div>
</ul>
</div>
<div class="member-coupes" onclick="addCoupes(this)">+添加券<br/>*全场券不需要重复添加</div>
<div class="member-coupes" onclick="addCoupes(this)">+添加券<br/>*全场券不需要重复添加,需要先保存再添加券</div>
<div class="go-member-item" onclick="addColumn(this)">继续添加</div>
<div class="go-member-item save_mermber" onclick="saveColumn(this, 1)">保存</div>
</div>
......@@ -381,7 +381,7 @@
</div>
</ul>
</div>
<div class="member-coupes" onclick="addCoupes(this)">+添加券<br/>*全场券不需要重复添</div>
<div class="member-coupes" onclick="addCoupes(this)">+添加券<br/>*全场券不需要重复添,需要先保存再添加券</div>
<div class="go-member-item" onclick="addColumn(this)">继续添加</div>
<div class="go-member-item save_mermber" onclick="saveColumn(this, 1)">保存</div>
<div class="go-member-item del_mermber" onclick="saveColumn(this, 2)">删除</div>
......@@ -707,6 +707,7 @@
$('.alltrack_limit').show();
$('.alltrack_radio').hide();
} else {
$('.alltrack_radio').show();
$('.alltrack').show();
$('.alltrack_limit').hide();
if (typeRadio == 2) {
......@@ -836,9 +837,11 @@
function addCoupes (obj) {
var addItemIndex = $('.member-coupes').index($(obj));
console.log(addItemIndex)
$('.parentsIndex').val(addItemIndex);
$('.pop_oper').val(1);
$('.coupe_pop').show();
if(addItemIndex < memberRightsList.length){
$('.parentsIndex').val(addItemIndex);
$('.pop_oper').val(1);
$('.coupe_pop').show();
}
}
// 编辑券
......
......@@ -266,7 +266,7 @@
let playMethod = '1'; // 叠加/限制
function search() {
let data = {
status: '(3,6,9)',
status: '(3,6,8,9)',
title: searchVal
}
let str = '';
......
......@@ -261,7 +261,7 @@
let playMethod = '0'; // 叠加/限制
function search() {
let data = {
status: '(3,6,9)',
status: '(3,6,8,9)',
title: searchVal
}
let str = '';
......
......@@ -269,7 +269,7 @@
let playMethod = '1'; // 叠加/限制
function search() {
let data = {
status: '(3,6,9)',
status: '(3,6,8,9)',
title: searchVal
}
let str = '';
......
......@@ -212,7 +212,7 @@
let selectThreeName = ''; // 选中演出三级的名称
function search() {
let data = {
status: '(3,6,9)',
status: '(3,6,8,9)',
title: searchVal
}
let str = '';
......
......@@ -70,7 +70,7 @@
$('#remoteSearch').remoteSearchPerformance({
ajax: {
url: "/goblin/common/sku?type=1",
url: "/goblin/common/sku?type=1&shelvesStatus=3",
type: "get"
},
chose: function (text, val) {
......
package com.liquidnet.client.admin.zhengzai.goblin.service;
import com.liquidnet.service.goblin.dto.GoblinGoodsSearchDto;
import com.liquidnet.service.goblin.dto.GoblinMixSearchDto;
import com.liquidnet.service.goblin.dto.GoblinSkusSearchDto;
import com.liquidnet.service.goblin.dto.GoblinStoreSearchDto;
......@@ -11,9 +12,11 @@ import java.util.List;
*/
public interface IGoblinCommonService {
List<GoblinStoreSearchDto> storeSearch(String name,List<String> status);
List<GoblinStoreSearchDto> storeSearch(String name, List<String> status);
List<GoblinGoodsSearchDto> goodsSearch(String name, Integer type);
List<GoblinGoodsSearchDto> goodsSearch(String name, Integer type,String shelvesStatus,String spuAppear);
List<GoblinSkusSearchDto> skuSearch(String name, Integer type);
List<GoblinSkusSearchDto> skuSearch(String name, Integer type,String shelvesStatus);
List<GoblinMixSearchDto> mixSearch(String name);
}
......@@ -101,6 +101,13 @@ public interface IGoblinZhengzaiMarketService {
*/
ResponseDto<Boolean> zhengzaiStore(List<GoblinInsertZhengzaiParam> params);
/**
* 删除正在下单 可参与活动店铺
*
* @return
*/
ResponseDto<Boolean> zhengzaiDelStore(String marketId ,String storeId);
/**
* 编辑正在下单 可参与活动店铺
*
......
......@@ -5,13 +5,16 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinCommonService;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.goblin.dto.GoblinGoodsSearchDto;
import com.liquidnet.service.goblin.dto.GoblinMixSearchDto;
import com.liquidnet.service.goblin.dto.GoblinSkusSearchDto;
import com.liquidnet.service.goblin.dto.GoblinStoreSearchDto;
import com.liquidnet.service.goblin.entity.GoblinGoods;
import com.liquidnet.service.goblin.entity.GoblinGoodsSku;
import com.liquidnet.service.goblin.entity.GoblinMix;
import com.liquidnet.service.goblin.entity.GoblinStoreInfo;
import com.liquidnet.service.goblin.mapper.GoblinGoodsMapper;
import com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper;
import com.liquidnet.service.goblin.mapper.GoblinMixMapper;
import com.liquidnet.service.goblin.mapper.GoblinStoreInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -38,6 +41,8 @@ public class GoblinCommonServiceImpl implements IGoblinCommonService {
GoblinGoodsMapper goblinGoodsMapper;
@Autowired
GoblinGoodsSkuMapper goblinGoodsSkuMapper;
@Autowired
GoblinMixMapper goblinMixMapper;
@Override
public List<GoblinStoreSearchDto> storeSearch(String name, List<String> status) {
......@@ -57,14 +62,22 @@ public class GoblinCommonServiceImpl implements IGoblinCommonService {
}
@Override
public List<GoblinGoodsSearchDto> goodsSearch(String name, Integer type) {
public List<GoblinGoodsSearchDto> goodsSearch(String name, Integer type, String shelvesStatus, String spuAppear) {
if (type == null) {//普通商品
type = 1;
}
LambdaQueryWrapper<GoblinGoods> queryWrapper = Wrappers.lambdaQuery(GoblinGoods.class);
queryWrapper.ne(GoblinGoods::getDelFlg, "1");
queryWrapper.eq(GoblinGoods::getShelvesStatus, "3");
queryWrapper.eq(GoblinGoods::getSpuAppear, "0");
if (shelvesStatus != null) {
queryWrapper.eq(GoblinGoods::getShelvesStatus, shelvesStatus);
} else {
// queryWrapper.eq(GoblinGoods::getShelvesStatus, "3");
}
if (spuAppear != null) {
queryWrapper.eq(GoblinGoods::getSpuAppear, spuAppear);
} else {
/* queryWrapper.eq(GoblinGoods::getSpuAppear, "1");*/
}
queryWrapper.eq(GoblinGoods::getSpuType, type);
if (StringUtil.isNotBlank(name)) {
queryWrapper.like(GoblinGoods::getName, name);
......@@ -81,13 +94,17 @@ public class GoblinCommonServiceImpl implements IGoblinCommonService {
}
@Override
public List<GoblinSkusSearchDto> skuSearch(String name, Integer type) {
public List<GoblinSkusSearchDto> skuSearch(String name, Integer type, String shelvesStatus) {
if (type == null) {//普通商品
type = 1;
}
LambdaQueryWrapper<GoblinGoodsSku> queryWrapper = Wrappers.lambdaQuery(GoblinGoodsSku.class);
queryWrapper.ne(GoblinGoodsSku::getDelFlg, "1");
queryWrapper.eq(GoblinGoodsSku::getShelvesStatus, "3");
if (shelvesStatus != null) {
queryWrapper.eq(GoblinGoodsSku::getShelvesStatus, shelvesStatus);
} else {
// queryWrapper.eq(GoblinGoodsSku::getShelvesStatus, "3");
}
// queryWrapper.eq(GoblinGoodsSku::getSpuAppear, "0");
queryWrapper.eq(GoblinGoodsSku::getSkuType, type);
if (StringUtil.isNotBlank(name)) {
......@@ -103,4 +120,23 @@ public class GoblinCommonServiceImpl implements IGoblinCommonService {
}
return dtoList;
}
@Override
public List<GoblinMixSearchDto> mixSearch(String name) {
LambdaQueryWrapper<GoblinMix> queryWrapper = Wrappers.lambdaQuery(GoblinMix.class);
queryWrapper.ne(GoblinMix::getDelTag, "1");
if (StringUtil.isNotBlank(name)) {
queryWrapper.like(GoblinMix::getSellName, name);
}
List<GoblinMix> list = goblinMixMapper.selectList(queryWrapper.last("limit 20"));
List<GoblinMixSearchDto> dtoList = new ArrayList<>();
for (GoblinMix item : list) {
GoblinMixSearchDto dto = GoblinMixSearchDto.getNew();
dto.setMixId(item.getMixId());
dto.setName(item.getName());
dto.setSellName(item.getSellName());
dtoList.add(dto);
}
return dtoList;
}
}
......@@ -119,11 +119,17 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
@Override
public ResponseDto<String> zhengzaiInsert(String purchaseName, String performanceId, String img, String st, String et) {
int count = goblinSelfMarketingMapper.selectCount(Wrappers.lambdaUpdate(GoblinSelfMarketing.class).eq(GoblinSelfMarketing::getPerformanceId, performanceId).eq(GoblinSelfMarketing::getDelFlag, 0));
if (count > 0) {
return ResponseDto.failure("该演出已关联活动");
}
GoblinSelfMarketing selfMarketing = GoblinSelfMarketing.getNew();
String SelfMarketId = IDGenerator.nextTimeId2();
selfMarketing.setSelfMarketId(SelfMarketId);
selfMarketing.setName(purchaseName);
selfMarketing.setPerformanceId(performanceId);
selfMarketing.setPerformanceImg(img);
selfMarketing.setType(GoblinStatusConst.MarketingStatus.SELF_TYPE_ZHENGZAI.getValue());
selfMarketing.setStartTime(LocalDateTime.parse(st, DTF_YMD_HMS));
selfMarketing.setEndTime(LocalDateTime.parse(et, DTF_YMD_HMS));
......@@ -147,9 +153,19 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
@Override
public ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String performanceId, String img, String st, String et) {
// GoblinSelfMarketingVo data =goblinRedisUtils.getSelfMarket(marketId);
// if(data.getPerformanceId().equals(performanceId)){
//
// }else {
int count = goblinSelfMarketingMapper.selectCount(Wrappers.lambdaUpdate(GoblinSelfMarketing.class).eq(GoblinSelfMarketing::getPerformanceId, performanceId).ne(GoblinSelfMarketing::getSelfMarketId,marketId).eq(GoblinSelfMarketing::getDelFlag, 0));
if (count > 0) {
return ResponseDto.failure("该演出已关联活动");
}
// }
GoblinSelfMarketing selfMarketing = GoblinSelfMarketing.getNew();
selfMarketing.setSelfMarketId(marketId);
selfMarketing.setName(purchaseName);
selfMarketing.setPerformanceImg(img);
selfMarketing.setType(GoblinStatusConst.MarketingStatus.SELF_TYPE_ZHENGZAI.getValue());
selfMarketing.setStartTime(LocalDateTime.parse(st, DTF_YMD_HMS));
selfMarketing.setEndTime(LocalDateTime.parse(et, DTF_YMD_HMS));
......@@ -173,7 +189,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
@Override
public ResponseDto<GoblinSelfMarketingVo> zhengzaiDetails(String marketId) {
GoblinSelfMarketing bean = goblinSelfMarketingMapper.selectOne(Wrappers.lambdaUpdate(GoblinSelfMarketing.getNew()).eq(GoblinSelfMarketing::getSelfMarketId, marketId));
GoblinSelfMarketing bean = goblinSelfMarketingMapper.selectOne(Wrappers.lambdaUpdate(GoblinSelfMarketing.getNew()).eq(GoblinSelfMarketing::getSelfMarketId, marketId).eq(GoblinSelfMarketing::getDelFlag, 0));
GoblinSelfMarketingVo vo = GoblinSelfMarketingVo.getNew();
BeanUtils.copyProperties(bean, vo);
vo.setStartTime(DateUtil.Formatter.yyyyMMddHHmmss.format(bean.getStartTime()));
......@@ -209,6 +225,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
entity.setSelfMarketId(marketId);
entity.setStoreId(storeId);
entity.setShowTime(LocalDateTime.parse(showTime, DTF_YMD_HMS));
entity.setCreatedAt(LocalDateTime.now());
if (goblinRedisUtils.getZhengzaiRelation(storeId).contains(marketId)) {
return ResponseDto.failure("禁止重复添加");
}
......@@ -264,6 +281,28 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
return ResponseDto.success();
}
@Override
public ResponseDto<Boolean> zhengzaiDelStore(String marketId, String storeId) {
try {
GoblinMarketingZhengzaiRelation entity = GoblinMarketingZhengzaiRelation.getNew();
entity.setDelTag(1);
entity.setUpdatedAt(LocalDateTime.now());
entity.setStoreId(storeId);
entity.setSelfMarketId(marketId);
//mysql
goblinMarketingZhengzaiRelationMapper.update(entity, Wrappers.lambdaUpdate(GoblinMarketingZhengzaiRelation.getNew()).eq(GoblinMarketingZhengzaiRelation::getSelfMarketId, marketId).eq(GoblinMarketingZhengzaiRelation::getStoreId, storeId));
//mongo
goblinMongoUtils.delZhengzaiRelation(marketId, storeId);
//redis
goblinRedisUtils.delZhengzaiRelation(marketId, storeId);
goblinRedisUtils.delStoreSelfRelation(marketId, storeId);
return ResponseDto.success();
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure("删除失败");
}
}
@Override
public ResponseDto<Boolean> zhengzaiStoreUpdate(List<GoblinInsertZhengzaiParam> params) {
for (GoblinInsertZhengzaiParam item : params) {
......
......@@ -45,6 +45,21 @@ public class GoblinRedisUtils {
redisDataSourceUtil.getRedisGoblinUtil().del(redisKey);
}
/**
* 删除店铺活动
*
* @param selfMarketId
*/
public GoblinSelfMarketingVo getSelfMarket(String selfMarketId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_SELF_MARKET.concat(selfMarketId);
Object obj = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey);
if(obj==null){
return GoblinSelfMarketingVo.getNew();
}else{
return (GoblinSelfMarketingVo) obj;
}
}
/**
* 正在下单 可参加商户
*
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.entity.KylinRecommendActive;
import com.liquidnet.service.kylin.entity.KylinRecommendActiveRelation;
import com.liquidnet.service.kylin.mapper.KylinRecommendActiveRelationMapper;
import com.liquidnet.service.kylin.service.admin.IKylinRecommendActiveRelationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.beans.Transient;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 推荐活动关联表 服务实现类
* </p>
*
* @author liquidnet
* @since 2022-07-27
*/
@Service
public class KylinRecommendActiveRelationServiceImpl extends ServiceImpl<KylinRecommendActiveRelationMapper, KylinRecommendActiveRelation> implements IKylinRecommendActiveRelationService {
@Autowired
private KylinRecommendActiveServiceImpl kylinRecommendActiveService;
@Autowired
private KylinRecommendActiveRelationMapper kylinRecommendActiveRelationMapper;
@Override
public boolean addKylinRecommendActiveRelation(KylinRecommendActiveRelation kylinRecommendActiveRelation) {
kylinRecommendActiveRelation.setDelTag(0);
kylinRecommendActiveRelation.setUpdatedAt(LocalDateTime.now());
kylinRecommendActiveRelation.setCreatedAt(LocalDateTime.now());
kylinRecommendActiveRelation.setRecommendRelationId(IDGenerator.nextSnowId());
kylinRecommendActiveRelationMapper.insert(kylinRecommendActiveRelation);
//更新 redis
KylinRecommendActive byRecommendId = kylinRecommendActiveService.getByRecommendId(kylinRecommendActiveRelation.getRecommendActiveId());
kylinRecommendActiveService.updateRedis(byRecommendId);
return true;
}
@Override
@Transient
public boolean addListKylinRecommendActiveRelation(List<KylinRecommendActiveRelation> list) {
//先删除 这个活动的 推荐活动
LambdaQueryWrapper<KylinRecommendActiveRelation> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(KylinRecommendActiveRelation::getRecommendActiveId,list.get(0).getRecommendActiveId());
kylinRecommendActiveRelationMapper.delete(lambdaQueryWrapper);
//然后插入
for(KylinRecommendActiveRelation ky:list){
ky.setDelTag(0);
ky.setCreatedAt(LocalDateTime.now());
ky.setUpdatedAt(LocalDateTime.now());//recommendRelationId
ky.setRecommendRelationId(IDGenerator.nextSnowId());
ky.setRecommendRelationId(list.get(0).getRecommendActiveId());
kylinRecommendActiveRelationMapper.insert(ky);
}
//更新 redis
KylinRecommendActive byRecommendId = kylinRecommendActiveService.getByRecommendId(list.get(0).getRecommendActiveId());
kylinRecommendActiveService.updateRedis(byRecommendId);
return true;
}
@Override
public boolean deleteKylinRecommendActiveRelation(KylinRecommendActiveRelation kylinRecommendActiveRelation) {
kylinRecommendActiveRelation.setDelTag(1);
kylinRecommendActiveRelationMapper.updateById(kylinRecommendActiveRelation);
//更新 redis
KylinRecommendActive byRecommendId = kylinRecommendActiveService.getByRecommendId(kylinRecommendActiveRelation.getRecommendActiveId());
kylinRecommendActiveService.updateRedis(byRecommendId);
return true;
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.KylinExpressModuleVo;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress;
......@@ -504,4 +505,30 @@ public class DataUtils {
return (String) obj;
}
}
//删除 订单Ar激活码
public void delOrderArCode(String orderId){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
redisDataSourceUtil.getRedisKylinUtil().del(rdk);
}
//添加 订单Ar激活码
public void addOrderArCode(String orderId,String arCode){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
List<String> data = getOrderArCode(orderId);
data.add(arCode);
redisDataSourceUtil.getRedisKylinUtil().set(rdk,data);
}
//获取 订单Ar激活码
public List<String> getOrderArCode(String orderId){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
Object obj = redisDataSourceUtil.getRedisKylinUtil().get(rdk);
if(obj==null){
return CollectionUtil.arrayListString();
}else{
return (List<String>) obj;
}
}
}
......@@ -17,8 +17,8 @@ ruoyi:
liquidnet:
url-banner:
url6: "/kylin/performances/recommend/performance/status?pageNum=1&pageSize=50&status=(3,6,7,8,9,10)" #票务
url7: "/goblin/common/goods?type=0" #商品
url9: "/goblin/common/sku?type=1" #NFT
url7: "/goblin/common/goods?type=0&shelvesStatus=3&spuAppear=1" #商品
url9: "/goblin/common/sku?type=1&shelvesStatus=3" #NFT
url14: "${liquidnet.client.admin.phpMallUrl}/admin/good/collective/quick?page=1&per_page=50" #商品集合
# 开发环境配置
......
......@@ -138,6 +138,7 @@ global-auth:
- ${liquidnet.info.context}/performance/calendarPerformances
- ${liquidnet.info.context}/performance/*
- ${liquidnet.info.context}/myPerformance/*
- ${liquidnet.info.context}/recommendActive/*
# 场地摄像头列表
- ${liquidnet.info.context}/camera/list
- ${liquidnet.info.context}/inner/**
......
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
......@@ -40,6 +40,7 @@ public class GoblinMix implements Serializable {
/**
* 混合名称
*/
@TableField(value = "`name`")
private String name;
/**
......@@ -55,6 +56,7 @@ public class GoblinMix implements Serializable {
/**
* 状态[6-启用|7-停用]
*/
@TableField(value = "`status`")
private Integer status;
/**
......@@ -120,6 +122,7 @@ public class GoblinMix implements Serializable {
/**
* 限购数量[0-不限购]
*/
@TableField(value = "`limit`")
private Integer limit;
/**
......@@ -145,11 +148,12 @@ public class GoblinMix implements Serializable {
/**
* 店铺id
*/
private Integer storeId;
private String storeId;
/**
* 补充字段
*/
@TableField(value = "`comment`")
private String comment;
/**
......
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