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

Commit 0aefc2ca authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev_stone' into dev_20111115

# Conflicts:
#	liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/constant/MQConst.java
#	liquidnet-bus-config/liquidnet-config/liquidnet-service-sweet.yml
#	liquidnet-bus-feign/liquidnet-api-feign-adam/src/main/java/com/liquidnet/service/feign/adam/api/FeignAdamBaseClient.java
#	liquidnet-bus-feign/pom.xml
#	liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/config/ConsumerCandyCouponReceiveRedisStreamConfig.java
#	liquidnet-bus-service/liquidnet-service-consumer-all/pom.xml
#	liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/OrderUtils.java
#	liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/kylin/DataImpl.java
parents 41217419 a7951a76
drop table if exists stone_score_logs;
create table stone_score_logs
(
mid bigint unsigned auto_increment primary key,
logs_id varchar(64) default '' comment 'id',
uid varchar(64) default '' comment '用户id',
score decimal(8, 2) default 0 comment '积分',
content varchar(255) default '' comment '积分动态明细',
reason varchar(255) default '' comment '变更原因',
created_at datetime ,
updated_at datetime ,
comment text
) engine = InnoDB comment '积分日志表';
drop table if exists stone_score_items;
create table stone_score_items
(
mid bigint unsigned auto_increment primary key,
item_id varchar(64) default '' comment 'id',
target_id varchar(64) default '' comment '目标id',
target_title varchar(64) default '' comment '目标名称',
type integer default 0 comment '目标类型[1-券|1x-商品维度|2x-演出维度]',
img varchar(255) default '' comment '展示图',
score decimal(8, 2) default 0 comment '所需积分',
price decimal(8, 2) default 0 comment '所需金额',
general_total int default 0 comment '总库存[-999-不限]',
general_surplus int default 0 comment '剩余库存',
limit_count int default 0 comment '限购数量[0-不限]',
details longtext default NULL comment '商品详情',
notice longtext default NULL comment '注意事项',
status int default 0 comment '状态[-999-全部-1-删除|0-未上架|1-已上架|2-定时上架]',
start_time datetime NULL COMMENT '定时上架-时间',
end_time datetime NULL COMMENT '定时下架-时间',
created_at datetime ,
updated_at datetime ,
comment text
) engine = InnoDB comment '积分物品表';
drop table if exists stone_score_user;
create table stone_score_user
(
mid bigint unsigned auto_increment primary key,
score_id varchar(64) default '' comment 'id',
uid varchar(64) default '' comment '用户id',
status int default 1 comment '状态[1-正常|2-冻结]',
created_at datetime ,
updated_at datetime ,
comment text
) engine = InnoDB comment '积分用户表';
drop table if exists stone_score_order;
create table stone_score_order
(
mid bigint unsigned auto_increment primary key,
order_id varchar(64) default '' comment 'id',
uid varchar(64) default '' comment '用户id',
user_name varchar(255) NOT NULL DEFAULT '' COMMENT '用户昵称',
user_mobile varchar(255) NOT NULL DEFAULT '' COMMENT '用户手机号',
item_id varchar(255) NOT NULL DEFAULT '' COMMENT '积分物品id',
target_title varchar(255) NOT NULL DEFAULT '' COMMENT '物品名称',
order_code varchar(255) NOT NULL DEFAULT '' COMMENT '订单号',
number int(32) NOT NULL DEFAULT 0 COMMENT '数量',
price decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '单价',
score decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '积分',
price_express decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '快递价格',
price_actual decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '实付价格',
pay_type varchar(255) NOT NULL DEFAULT '' COMMENT '选择支付方式[SCORE-积分]',
payment_type varchar(255) NULL DEFAULT '' COMMENT '实际支付方式[SCORE-积分]',
payment_id varchar(255) NULL DEFAULT '' COMMENT '支付的订单号',
time_pay varchar(255) NULL DEFAULT '' COMMENT '支付时间',
pay_countdown_minute int(32) NOT NULL DEFAULT 15 COMMENT '订单过期时间(分钟)',
status tinyint NOT NULL DEFAULT 0 COMMENT '订单状态[0-待付款|1-已付款|2-已关闭|3-正在退款|4-已退款|5-待关闭|6-部分退款]',
pay_status tinyint NOT NULL DEFAULT 0 COMMENT '支付状态[0-未支付|1-已支付|2-支付失败]',
created_at datetime ,
updated_at datetime ,
comment text
) engine = InnoDB comment '积分订单表';
\ No newline at end of file
......@@ -10,7 +10,7 @@ import java.util.List;
@Data
public class AdamRscPolymer01Vo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = -4945093532123934888L;
@ApiModelProperty(position = 1, value = "会员身份[0-非会员,1-会员]")
@ApiModelProperty(position = 1, value = "标记[0-普通用户|2-过期会员|10-老会员|11-新会员]")
private int membership;
@ApiModelProperty(position = 2, value = "收货地址")
private AdamAddressesVo addressesVo;
......
......@@ -23,6 +23,9 @@ public class AdamUserInfoSimpleVo implements java.io.Serializable, Cloneable {
private String mobile;
@ApiModelProperty(position = 14, value = "昵称[32]")
private String nickname;
@ApiModelProperty(position = 15, value = "头像")
private String avatar;
private static final AdamUserInfoSimpleVo obj = new AdamUserInfoSimpleVo();
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-bus-api</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-service-stone-api</artifactId>
<dependencies>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-stone-do</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.liquidnet.service.stone.constant;
public class StoneConstant {
//ctx
private static final String CTX="stone:";
//user
public static final String USER=CTX.concat("user:");
//item
public static final String ITEM=CTX.concat("item:");
//logsList 积分日志列表
public static final String LOGS_LIST=ITEM.concat("logs:list:");
//orderList 积分订单列表
public static final String ORDER_LIST=ITEM.concat("order:list:");
//orderList 积分订单列表
public static final String ORDER_DETAILS=ITEM.concat("order:details:");
//剩余库存
public static final String SURPLUS_GENERAL = ":surplusGeneral";
//剩余积分
public static final String SURPLUS_SCORE = ":surplusScore";
//已用积分
public static final String USE_SCORE = ":useScore";
//限购
public static final String ITEM_LIMIT = ITEM.concat("limit:");
}
package com.liquidnet.service.stone.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ApiModel(value = "StoneItemBuildParam", description = "新建积分物品")
@Data
public class StoneItemBuildParam {
@ApiModelProperty(required = false, value = "积分物品id[创建不传]", example = "1")
private String itemId;
@NotBlank(message = "目标物品不能为空")
@ApiModelProperty(required = true, value = "目标物品id", example = "1")
private String targetId;
@NotBlank(message = "目标物品不能为空")
@ApiModelProperty(required = true, value = "目标物品标题", example = "测试券1")
private String targetTitle;
@NotBlank(message = "展示图不能为空")
@ApiModelProperty(required = true, value = "展示图", example = "https://image.baidu.com/search/albumsdetail?tn=albumsdetail&word=%E7%8C%AB&album_tab=%E5%8A%A8%E7%89%A9&album_id=692&rn=30&fr=searchresult&dyTabStr=MCwzLDYsMSw0LDUsOCw3LDIsOQ%3D%3D")
private String img;
@NotBlank(message = "所需积分不能为空")
@ApiModelProperty(required = true, value = "所需积分", example = "10")
private BigDecimal score;
@NotBlank(message = "总库存不能为空")
@ApiModelProperty(required = true, value = "总库存[-999-不限]", example = "100")
private Integer generalTotal;
@NotBlank(message = "限购数量为空")
@ApiModelProperty(required = true, value = "限购数量[0-不限]", example = "1")
private Integer limitCount;
@NotBlank(message = "商品详情不能为空")
@ApiModelProperty(required = true, value = "商品详情", example = "商品详情")
private String details;
@NotBlank(message = "注意事项不能为空")
@ApiModelProperty(required = true, value = "注意事项", example = "注意事项")
private String notice;
@NotBlank(message = "上架状态不能为空")
@ApiModelProperty(required = true, value = "上架状态[1-不限|2-定时|7-下线]", example = "1")
private Integer status;
@ApiModelProperty(required = false, value = "上架时间[status = 2 必传]", example = "2021-10-20T12:52:42")
private String startTime;
@ApiModelProperty(required = false, value = "下架时间[status = 2 必传]", example = "2021-10-21T12:52:42")
private String endTime;
}
package com.liquidnet.service.stone.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class StoneListParam {
/**
* 名称
*/
@ApiModelProperty(required = false, value = "名称", example = "测试券1")
private String title;
/**
* 状态[-999-全部|1-上架中|2-待上架|7-已下架]
*/
@ApiModelProperty(required = false, value = "状态[-999-全部|1-上架中|2-待上架|7-已下架]", example = "1")
private Integer state;
/**
* 状态[1-券]
*/
@ApiModelProperty(required = false, value = "状态[1-券]", example = "1")
private Integer type;
}
package com.liquidnet.service.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import com.liquidnet.service.stone.vo.StoneScoreItemVo;
import java.util.List;
/**
* <p>
* 积分物品表 服务类
* </p>
*
* @author liquidnet
* @since 2021-10-19
*/
public interface IStoneScoreItemsService {
PageInfo<List<StoneItemListVo>> itemList(Integer page, Integer size);
ResponseDto<StoneScoreItemVo> itemDetails(String itemId);
}
package com.liquidnet.service.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.vo.StoneLogsListVo;
import com.liquidnet.service.stone.vo.StoneUserVo;
import java.util.HashMap;
import java.util.List;
/**
* <p>
* 积分日志表 服务类
* </p>
*
* @author liquidnet
* @since 2021-10-19
*/
public interface IStoneScoreLogsService {
/**
* 减少积分
*
* @param uid 用户ID
* @param score 变更积分 正数
* @param taskId [2111-admin访问]
* @param content 变更原因
* @return
*/
String deScore(String uid, Integer score, Integer taskId, String content);
/**
* 增加积分
*
* @param uid 用户ID
* @param score 变更积分 正数
* @param taskId [2111-admin访问]
* @param content 变更原因
* @return
*/
String inScore(String uid, Integer score, Integer taskId, String content);
/**
* 做任务
*
* @param taskId [
* taskId 0 每日任务:签到
* taskId 1 每日任务:购买演出
* taskId 2 每日任务:购买商品
* taskId 3 每日任务:划卡
* taskId 4 一次性任务:关注公众号
* taskId 5 一次性任务:完善信息
* taskId 6 一次性任务:完善头像
* taskId 7 一次性任务:打开消息推送
* taskId 8 一次性任务:体验在场
* ]
* @return
*/
ResponseDto<HashMap<String,Object>> doTask(Integer taskId,String uid);
ResponseDto<StoneUserVo> taskDetail();
/**
* 积分详情
* @param page
* @return
*/
PageInfo<List<StoneLogsListVo>> logList(Integer page);
}
package com.liquidnet.service.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import com.liquidnet.service.stone.vo.StoneOrderListVo;
import java.util.List;
/**
* <p>
* 积分订单表 服务类
* </p>
*
* @author liquidnet
* @since 2021-10-19
*/
public interface IStoneScoreOrderService {
ResponseDto<String> order(String itemId, Integer number);
PageInfo<List<StoneOrderListVo>> orderList(Integer page);
}
package com.liquidnet.service.stone.service;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
/**
* <p>
* 积分用户表 服务类
* </p>
*
* @author liquidnet
* @since 2021-10-19
*/
public interface IStoneScoreUserService {
/**
* 获取积分商城 用户信息
* @return
*/
StoneScoreListDto stoneUserInfo();
}
package com.liquidnet.service.stone.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.stone.entity.StoneScoreItems;
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;
@Data
@ApiModel
public class StoneItemListVo implements Serializable, Cloneable {
/**
* id
*/
@ApiModelProperty(value = "id", example = "1")
private String itemId;
/**
* 积分物品封面图
*/
@ApiModelProperty(value = "积分物品封面图", example = "http://xxxxx.png")
private String img;
/**
* 积分物品名称
*/
@ApiModelProperty(value = "积分物品名称", example = "测试券")
private String targetTitle;
/**
* 目标类型[1-券|1x-商品维度|2x-演出维度]
*/
@ApiModelProperty(value = "目标类型[1-券|1x-商品维度|2x-演出维度]", example = "1")
private Integer type;
/**
* 积分
*/
@ApiModelProperty(value = "积分", example = "100.00")
private Integer score;
/**
* 价格
*/
@ApiModelProperty(value = "价格", example = "0.00")
private BigDecimal price;
/**
* 状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]
*/
@ApiModelProperty(value = "状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]", example = "1")
private Integer status;
private static final StoneItemListVo obj = new StoneItemListVo();
public static StoneItemListVo getNew() {
try {
return (StoneItemListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneItemListVo();
}
}
public StoneItemListVo copy(StoneScoreItems source) {
if (null == source) return this;
this.setItemId(source.getItemId());
this.setImg(source.getImg());
this.setTargetTitle(source.getTargetTitle());
this.setType(source.getType());
this.setScore(source.getScore().intValue());
this.setPrice(source.getPrice());
LocalDateTime now = LocalDateTime.now();
if (source.getStatus() == 2) {
if (now.isBefore(source.getStartTime())) {//未上架
this.setStatus(2);
} else if (now.isAfter(source.getEndTime())) {//已下架
this.setStatus(7);
} else {
this.setStatus(1);//上架中
}
}else{
this.setStatus(source.getStatus());
}
return this;
}
}
package com.liquidnet.service.stone.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
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;
@Data
@ApiModel
public class StoneLogsListVo implements Serializable, Cloneable {
/**
* id
*/
@ApiModelProperty(value = "id", example = "1")
private String logsId;
/**
* 积分物品封面图
*/
@ApiModelProperty(value = "积分", example = "10")
private Integer score;
/**
* 积分物品名称
*/
@ApiModelProperty(value = "内容", example = "购买商品")
private String content;
/**
* 目标类型[1-券|1x-商品维度|2x-演出维度]
*/
@ApiModelProperty(value = "创建时间", example = "2021-12-12 12:00:01")
private String createdAt;
private static final StoneLogsListVo obj = new StoneLogsListVo();
public static StoneLogsListVo getNew() {
try {
return (StoneLogsListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneLogsListVo();
}
}
public StoneLogsListVo copy(StoneScoreLogs source) {
if (null == source) return this;
this.setLogsId(source.getLogsId());
this.setScore(source.getScore().intValue());
this.setContent(source.getContent());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
return this;
}
}
package com.liquidnet.service.stone.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.entity.StoneScoreOrder;
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;
@Data
@ApiModel
public class StoneOrderListVo implements Serializable, Cloneable {
@ApiModelProperty(value = "orderId", example = "1")
private String orderId;
@ApiModelProperty(value = "积分物品封面图", example = "http://xxxxx.png")
private String img;
@ApiModelProperty(value = "用户id", example = "1")
private String uid;
@ApiModelProperty(value = "积分物品名称", example = "测试券")
private String targetTitle;
@ApiModelProperty(value = "购买数量", example = "1")
private Integer number;
@ApiModelProperty(value = "支付积分", example = "100.00")
private Integer score;
@ApiModelProperty(value = "支付价格", example = "0.00")
private BigDecimal price;
@ApiModelProperty(value = "状态状态[0-待支付|1-已支付|2-已关闭]", example = "1")
private Integer status;
@ApiModelProperty(value = "订单号", example = "123123")
private String orderCode;
@ApiModelProperty(value = "创建时间", example = "2021-12-01 12:21:32")
private String createdAt;
private static final StoneOrderListVo obj = new StoneOrderListVo();
public static StoneOrderListVo getNew() {
try {
return (StoneOrderListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneOrderListVo();
}
}
public StoneOrderListVo copy(StoneScoreOrder source,String img,String uid) {
if (null == source) return this;
this.setOrderId(source.getItemId());
this.setImg(img);
this.setUid(uid);
this.setTargetTitle(source.getTargetTitle());
this.setNumber(source.getNumber());
this.setScore(source.getScore().intValue());
this.setPrice(source.getPrice());
this.setStatus(source.getStatus());
this.setOrderCode(source.getOrderCode());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
return this;
}
}
package com.liquidnet.service.stone.vo;
import com.liquidnet.service.stone.entity.StoneScoreItems;
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;
/**
* <p>
* 积分物品表
* </p>
*
* @author liquidnet
* @since 2021-10-19
*/
@Data
@ApiModel
public class StoneScoreItemVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(position = 0, value = "积分物品id")
private String itemId;
@ApiModelProperty(position = 1, value = "积分物品名称")
private String targetTitle;
@ApiModelProperty(position = 2, value = "目标类型[1-券|1x-商品维度|2x-演出维度]")
private Integer type;
@ApiModelProperty(position = 3, value = "展示图")
private String img;
@ApiModelProperty(position = 4, value = "所需积分")
private Integer score;
@ApiModelProperty(position = 5, value = "所需金额")
private BigDecimal price;
@ApiModelProperty(position = 6, value = "限购数量[0-不限]")
private Integer limitCount;
@ApiModelProperty(position = 7, value = "商品详情")
private String details;
@ApiModelProperty(position = 8, value = "注意事项")
private String notice;
@ApiModelProperty(position = 8, value = "积分状态[1-积分充足|2-积分不足]")
private Integer scoreStatus;
@ApiModelProperty(position = 8, value = "限购状态[1-可购买|2-已限购]")
private Integer limitStatus;
@ApiModelProperty(position = 9, value = "状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄|9-即将售罄]")
private Integer status;
private static final StoneScoreItemVo obj = new StoneScoreItemVo();
public static StoneScoreItemVo getNew() {
try {
return (StoneScoreItemVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneScoreItemVo();
}
}
public StoneScoreItemVo copy(StoneScoreItems source, Integer scoreStatus, Integer limitStatus) {
if (null == source) return this;
this.setItemId(source.getItemId());
this.setTargetTitle(source.getTargetTitle());
this.setType(source.getType());
this.setImg(source.getImg());
this.setScore(source.getScore().intValue());
this.setPrice(source.getPrice());
this.setLimitCount(source.getLimitCount());
this.setDetails(source.getDetails());
this.setNotice(source.getNotice());
this.setScoreStatus(scoreStatus);
this.setLimitStatus(limitStatus);
LocalDateTime now = LocalDateTime.now();
if (source.getStatus() == 2) {
if (now.isAfter(source.getStartTime())) {//未上架
this.setStatus(2);
} else if (now.isBefore(source.getEndTime())) {//已下架
this.setStatus(7);
} else {
this.setStatus(1);//上架中
}
} else {
this.setStatus(source.getStatus());
}
return this;
}
}
......@@ -29,6 +29,12 @@
<version>4.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-sweet-do</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
package com.liquidnet.service.sweet.constant;
/**
*
*/
public class SweetConstant {
public final static String REDIS_KEY_SWEET_MANUAL_PUSH_LIST = "sweet:manual:pushList";
......@@ -20,59 +17,6 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_LUCK_DRAW_ALL = "sweet:luckDraw:num:";//中奖总量
public final static String REDIS_KEY_SWEET_LUCK_DRAW_PRESENT_MOBILE = "sweet:luckDraw:present:mobile:";//中奖库存
public final static String REDIS_KEY_SWEET_WECHAT_USER_INFO="sweet:wechatUser:unionId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_INFO_STR="sweet:wechatUser:unionIdStr:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID="sweet:wechatUser:openId:";
public final static String REDIS_KEY_SWEET_ANSWER_PHONE="sweet:answer:phone:";
// public enum ManualPosition {
// artist("艺人","artist"),
// signingTime("签售时间","signingTime"),
// foodAndAmusement("吃喝玩乐","foodAndAmusement"),
// siteMap("现场地图","siteMap"),
// howToReach("如何到达","howToReach"),
// relatedProduct ("官方售卖","relatedProduct"),
// officialSupport("官方支持","officialSupport"),
// audienceNotice("观众须知","audienceNotice"),
// preventionGuidelines("防疫指南","preventionGuidelines"),
// notice("通知","notice"),
// strategy("观演攻略","strategy");
//
// private String message;
// private String code;
//
// private ManualPosition(String message, String code) {
// this.message = message;
// this.code = code;
// }
//
// public void setCode(String code) {
// this.code = code;
// }
//
// public String getCode() {
// return code;
// }
//
// public void setMessage(String message) {
// this.message = message;
// }
//
// public String getMessage() {
// return message;
// }
//
// public static String getMessage(String code) {
// for (ManualPosition c : ManualPosition.values()) {
// if (c.getCode().equalsIgnoreCase(code)) {
// return c.message;
// }
// }
// return null;
// }
// }
public final static String REDIS_KEY_SWEET_MDSK_MANUAL_PUSH_LIST = "sweet:mdsk:manual:pushList";
public final static String REDIS_KEY_SWEET_MDSK_MANUAL_TIME_LIST = "sweet:mdsk:manual:timeList:manual:";
public final static String REDIS_KEY_SWEET_MDSK_MANUAL_NOTIFY_LIST = "sweet:mdsk:manual:notify:manual:";
......@@ -81,4 +25,37 @@ 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_ARTISTS_DETAILS = "sweet:mdsk:artists:details:";
public final static String REDIS_KEY_SWEET_MDSK_SHOP = "sweet:mdsk:artists:shop:manual:";
// 积分活动
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST = "sweet:integralActivity:list";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_INFO = "sweet:integralActivity:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_NUM = "sweet:integralActivity:prizeNum:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_WINNERS_NUM = "sweet:integralActivity:prizeWinnersNum:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_ALL_LIST = "sweet:integralActivity:Draw:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER = "sweet:integralActivity:Draw:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER = "sweet:integralActivity:DrawIn:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO = "sweet:integralActivity:DrawInfo:drawId:";
// 答题活动
public final static String REDIS_KEY_SWEET_ANSWER_PHONE = "sweet:answer:phone:";
// 城市投票活动
public final static String REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST = ":StatList";
public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE = ":cityCode:";
public final static String REDIS_KEY_SWEET_CITY_VOTE = "sweet:cityVote";
public final static String REDIS_KEY_SWEET_CITY_VOTE_USER = ":user:";
public final static String REDIS_KEY_SWEET_CITY_VOTE_STAT_UPDATE_TIME = ":updateTime";
// 微信用户相关
public final static String REDIS_KEY_SWEET_WECHAT_USER_INFO = "sweet:wechatUser:zhengzai:unionId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY = "sweet:wechatUser:modernsky:unionId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID = "sweet:wechatUser:zhengzai:openId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID_MODERNSKY = "sweet:wechatUser:modernsky:openId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE = "sweet:wechatUser:zhengzai:phone:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE_MODERNSKY = "sweet:wechatUser:modernsky:phone:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID_UID = "sweet:wechatUser:zhengzai:uid:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID_UID_MODERNSKY = "sweet:wechatUser:modernsky:uid:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS = "sweet:wechatUsers:unionId:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_TYPE = "type:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_RELATION_PHONE = "sweet:wechatUsersRelation:mobile:";
public final static String REDIS_KEY_SWEET_WECHAT_USERS_RELATION_UNIONID = "sweet:wechatUsersRelation:unionId:";
}
package com.liquidnet.service.sweet.dto.param.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* SweetIntegralActivityDrawListSearchParam
* </p>
*
* @author jiangxiulong
* @since 2021-10-22
*/
@Data
@ApiModel(value = "SweetIntegralActivityDrawListSearchParam", description = "积分活动中奖列表搜索入参")
public class SweetIntegralActivityDrawListSearchParam implements Serializable {
private static final long serialVersionUID = 1309409469948421735L;
@ApiModelProperty(value = "integralActivityId", example = "0")
private String integralActivityId;
@ApiModelProperty(value = "奖品名称")
private String prizeTitle;
@ApiModelProperty(value = "奖品类型")
private Integer prizeType;
@ApiModelProperty(value = "用户昵称")
private String nickname;
@ApiModelProperty(value = "发放状态")
private Integer receivingStatus;
@ApiModelProperty(value = "是否中奖")
private Integer isWin;
@ApiModelProperty(value = "页数", example = "0")
private Integer pageSize;
@ApiModelProperty(value = "数量", example = "20")
private Integer pageNum;
}
package com.liquidnet.service.sweet.dto.param.admin;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.time.DateUtils;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* SweetIntegralActivityFromParam
* </p>
*
* @author jiangxiulong
* @since 2021-10-20
*/
@Data
@ApiModel(value = "SweetIntegralActivityFromParam", description = "积分活动创建活动入参")
public class SweetIntegralActivityFromParam implements Serializable, Cloneable {
private static final long serialVersionUID = -648510827144997014L;
@ApiModelProperty(value = "活动id[创建不传] 编辑必须要传", example = "429803743878963206506461")
private String integralActivityId;
@ApiModelProperty(required = true, value = "活动名称", example = "大转盘抽奖")
@NotBlank(message = "activityTitle不能为空")
private String activityTitle;
@ApiModelProperty(required = true, value = "活动图片", example = "test.png")
@NotBlank(message = "activityImg不能为空")
private String activityImg;
@ApiModelProperty(required = true, value = "活动类型 1转盘", example = "1")
@NotNull(message = "activityType不能为空")
private Integer activityType;
@ApiModelProperty(required = true, value = "活动玩一次所需积分", example = "1")
@NotNull(message = "activityNum不能为空")
private Integer activityNum;
@ApiModelProperty(required = true, value = "活动时间类型 1长期 2开始结束时间", example = "1")
@NotNull(message = "timeType不能为空") @Min(value = 1, message = "timeType无效") @Max(value = 2, message = "timeType无效")
private Integer timeType;
@ApiModelProperty(value = "如果活动有时间限制 开始时间", example = "2021-01-01 23:20:20")
private String startTime;
@ApiModelProperty(value = "如果活动有时间限制 结束时间", example = "2021-01-01 23:20:20")
private String endTime;
@ApiModelProperty(required = true, value = "快递费用类型 1包邮 2到付", example = "2")
@NotNull(message = "expressFeeType不能为空") @Min(value = 1, message = "expressFeeType无效") @Max(value = 2, message = "expressFeeType无效")
private Integer expressFeeType;
@ApiModelProperty(required = true, value = "活动规则", example = "这里是活动规则")
@NotBlank(message = "activityTitle不能为空")
private String activityRules;
@ApiModelProperty(required = true, value = "是否上线 1未上线 2已上线", example = "2")
@NotNull(message = "isOnline不能为空") @Min(value = 1, message = "isOnline无效") @Max(value = 2, message = "isOnline无效")
private Integer isOnline;
@Valid
@ApiModelProperty(value = "奖品列表", example = "")
@NotNull(message = "prizeList不能为空")
private List<SweetIntegralActivityPrizeFormParam> prizeList;
private static final SweetIntegralActivityFromParam obj = new SweetIntegralActivityFromParam();
public static SweetIntegralActivityFromParam getNew() {
try {
return (SweetIntegralActivityFromParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetIntegralActivityFromParam();
}
}
public SweetIntegralActivity copy(SweetIntegralActivityFromParam source) {
SweetIntegralActivity sweetIntegralActivity = SweetIntegralActivity.getNew();
if (null == source) return null;
sweetIntegralActivity.setIntegralActivityId(source.getIntegralActivityId());
sweetIntegralActivity.setActivityTitle(source.getActivityTitle());
sweetIntegralActivity.setActivityImg(source.getActivityImg());
sweetIntegralActivity.setActivityType(source.getActivityType());
sweetIntegralActivity.setActivityNum(source.getActivityNum());
sweetIntegralActivity.setTimeType(source.getTimeType());
if (null != source.getStartTime() && !source.getStartTime().isEmpty()) {
LocalDateTime startTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(source.getStartTime());
sweetIntegralActivity.setStartTime(startTime);
}
if (null != source.getEndTime() && !source.getEndTime().isEmpty()) {
LocalDateTime endTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(source.getEndTime());
sweetIntegralActivity.setEndTime(endTime);
}
sweetIntegralActivity.setExpressFeeType(source.getExpressFeeType());
sweetIntegralActivity.setActivityRules(source.getActivityRules());
sweetIntegralActivity.setIsOnline(source.getIsOnline());
return sweetIntegralActivity;
}
}
\ No newline at end of file
package com.liquidnet.service.sweet.dto.param.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* SweetIntegralActivityListSearchParam
* </p>
*
* @author jiangxiulong
* @since 2021-10-20
*/
@Data
@ApiModel(value = "SweetIntegralActivityListSearchParam", description = "积分活动列表搜索入参")
public class SweetIntegralActivityListSearchParam implements Serializable {
private static final long serialVersionUID = 6917807562233084828L;
@ApiModelProperty(position = 11, value = "活动名称")
private String activityTitle;
@ApiModelProperty(value = "页数", example = "0")
private Integer pageSize;
@ApiModelProperty(value = "数量", example = "20")
private Integer pageNum;
}
package com.liquidnet.service.sweet.dto.param.admin;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* SweetIntegralActivityPrizeFormParam
* </p>
*
* @author jiangxiulong
* @since 2021-10-21
*/
@Data
@ApiModel(value = "SweetIntegralActivityPrizeFormParam", description = "积分活动创建奖品入参")
public class SweetIntegralActivityPrizeFormParam implements Serializable,Cloneable {
private static final long serialVersionUID = 9194454546358707259L;
@ApiModelProperty(value = "奖品id 创建不传 编辑必传", example = "429803743878963206506461")
private String prizeId;
@ApiModelProperty(value = "活动id[创建不传] 编辑必传", example = "1")
private String integralActivityId;
@ApiModelProperty(required = true, value = "奖品名称", example = "优惠券")
@NotBlank(message = "prizeTitle不能为空")
private String prizeTitle;
@ApiModelProperty(required = true, value = "初始展示奖品图片", example = "test.png")
@NotBlank(message = "prizeImgInit不能为空")
private String prizeImgInit;
@ApiModelProperty(required = true, value = "中奖选中奖品图片", example = "test.png")
@NotBlank(message = "prizeImgSelect不能为空")
private String prizeImgSelect;
@ApiModelProperty(required = true, value = "奖品类型 1谢谢惠顾 2积分 3代金券 4满减券 5优先购买券 6实物", example = "1")
@NotNull(message = "prizeType不能为空")
private Integer prizeType;
@ApiModelProperty(required = false, value = "单次奖励数量如积分 中奖给多少物", example = "1")
private Integer prizeTypeNum;
@ApiModelProperty(value = "关联id 如商品id 券id 选择奖品的时候必传", example = "429803743878963206506461")
private String relationId;
@ApiModelProperty(required = true, value = "奖品数量", example = "100")
@NotNull(message = "prizeNum不能为空")
private Integer prizeNum;
@ApiModelProperty(required = true, value = "限制的中奖人数", example = "10")
@NotNull(message = "winnersNum不能为空")
private Integer winnersNum;
@ApiModelProperty(required = true, value = "中奖概率", example = "1")
@NotNull(message = "winningProbability不能为空")
private BigDecimal winningProbability;
private static final SweetIntegralActivityPrizeFormParam obj = new SweetIntegralActivityPrizeFormParam();
public static SweetIntegralActivityPrizeFormParam getNew() {
try {
return (SweetIntegralActivityPrizeFormParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetIntegralActivityPrizeFormParam();
}
}
public SweetIntegralActivityPrize copy(SweetIntegralActivityPrizeFormParam source) {
SweetIntegralActivityPrize sweetIntegralActivityPrize = SweetIntegralActivityPrize.getNew();
if (null == source) return null;
sweetIntegralActivityPrize.setIntegralActivityId(source.getIntegralActivityId());
sweetIntegralActivityPrize.setPrizeId(source.getPrizeId());
sweetIntegralActivityPrize.setPrizeTitle(source.getPrizeTitle());
sweetIntegralActivityPrize.setPrizeImgInit(source.getPrizeImgInit());
sweetIntegralActivityPrize.setPrizeImgSelect(source.getPrizeImgSelect());
sweetIntegralActivityPrize.setPrizeType(source.getPrizeType());
sweetIntegralActivityPrize.setPrizeTypeNum(source.getPrizeTypeNum());
sweetIntegralActivityPrize.setRelationId(source.getRelationId());
sweetIntegralActivityPrize.setPrizeNum(source.getPrizeNum());
sweetIntegralActivityPrize.setWinnersNum(source.getWinnersNum());
sweetIntegralActivityPrize.setWinningProbability(source.getWinningProbability());
return sweetIntegralActivityPrize;
}
}
package com.liquidnet.service.sweet.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class IntegralActivityDrawVo implements Serializable, Cloneable {
private static final long serialVersionUID = -6777064807434774549L;
@ApiModelProperty(value = "抽奖id")
private String drawId;
@ApiModelProperty(value = "关联活动id")
private String integralActivityId;
@ApiModelProperty(value = "活动玩一次所需积分")
private Integer activityNum;
@ApiModelProperty(value = "关联奖品id")
private String prizeId;
@ApiModelProperty(value = "奖品名称")
private String prizeTitle;
@ApiModelProperty(value = "奖品类型 1谢谢惠顾 2积分 3代金券 4满减券 5优先购买券 6实物")
private Integer prizeType;
@ApiModelProperty(value = "关联id 如商品id 券id")
private String relationId;
@ApiModelProperty(value = "单次奖励数量如积分 中奖给多少")
private Integer prizeTypeNum;
@ApiModelProperty(value = "关联用户id")
private String userId;
@ApiModelProperty(value = "关联用户昵称")
private String nickname;
@ApiModelProperty(value = "adam收货地址addresses_id")
private String receivingAddressesId;
@ApiModelProperty(value = "adam收货人姓名")
private String receivingName;
@ApiModelProperty(value = "adam收货人手机号")
private String receivingPhone;
@ApiModelProperty(value = "adam收货人完整地址 空格隔离省市区详细地址")
private String receivingAddress;
@ApiModelProperty(value = "发放状态 1未发放 2已发放 3无需发放")
private Integer receivingStatus;
@ApiModelProperty(value = "创建时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
private static final IntegralActivityDrawVo obj = new IntegralActivityDrawVo();
public static IntegralActivityDrawVo getNew() {
try {
return (IntegralActivityDrawVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new IntegralActivityDrawVo();
}
}
public IntegralActivityDrawVo copy(SweetIntegralActivityDraw source) {
if (null == this) return this;
this.setDrawId(source.getDrawId());
this.setIntegralActivityId(source.getIntegralActivityId());
this.setActivityNum(source.getActivityNum());
this.setPrizeId(source.getPrizeId());
this.setPrizeTitle(source.getPrizeTitle());
this.setPrizeType(source.getPrizeType());
this.setPrizeTypeNum(source.getPrizeTypeNum());
this.setRelationId(source.getRelationId());
this.setUserId(source.getUserId());
this.setNickname(source.getNickname());
this.setReceivingAddressesId(source.getReceivingAddressesId());
this.setReceivingName(source.getReceivingName());
this.setReceivingPhone(source.getReceivingPhone());
this.setReceivingAddress(source.getReceivingAddress());
this.setReceivingStatus(source.getReceivingStatus());
this.setCreatedAt(source.getUpdatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
}
package com.liquidnet.service.sweet.dto.vo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class IntegralActivityVo implements Serializable, Cloneable {
private static final long serialVersionUID = -303399210433737206L;
@ApiModelProperty(value = "活动id")
private String integralActivityId;
@ApiModelProperty(value = "活动名称")
private String activityTitle;
@ApiModelProperty(value = "活动图片")
private String activityImg;
@ApiModelProperty(value = "活动类型 1转盘")
private Integer activityType;
@ApiModelProperty(value = "活动玩一次所需积分")
private Integer activityNum;
@ApiModelProperty(value = "活动时间类型 1长期 2开始结束时间")
private Integer timeType;
@ApiModelProperty(value = "如果活动有时间限制 开始时间")
private LocalDateTime startTime;
@ApiModelProperty(value = "如果活动有时间限制 结束时间")
private LocalDateTime endTime;
@ApiModelProperty(value = "快递费用类型 1包邮 2到付")
private Integer expressFeeType;
@ApiModelProperty(value = "活动规则")
private String activityRules;
@ApiModelProperty(value = "是否上线 1未上线 2已上线")
private Integer isOnline;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updatedAt;
@ApiModelProperty(value = "奖品列表")
private List<SweetIntegralActivityPrize> prizeList;
private static final IntegralActivityVo obj = new IntegralActivityVo();
public static IntegralActivityVo getNew() {
try {
return (IntegralActivityVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new IntegralActivityVo();
}
}
public IntegralActivityVo copy(SweetIntegralActivity source) {
if (null == this) return this;
this.setIntegralActivityId(source.getIntegralActivityId());
this.setActivityTitle(source.getActivityTitle());
this.setActivityImg(source.getActivityImg());
this.setActivityType(source.getActivityType());
this.setActivityNum(source.getActivityNum());
this.setTimeType(source.getTimeType());
this.setStartTime(source.getStartTime());
this.setEndTime(source.getEndTime());
this.setExpressFeeType(source.getExpressFeeType());
this.setActivityRules(source.getActivityRules());
this.setIsOnline(source.getIsOnline());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
}
package com.liquidnet.service.sweet.dto.vo.admin;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize;
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;
/**
* <p>
* SweetIntegralActivityVo
* </p>
*
* @author jiangxiulong
* @since 2021-10-20
*/
@Data
@ApiModel
public class SweetIntegralActivityPrizeVo implements Serializable, Cloneable {
private static final long serialVersionUID = 4229281062171296759L;
@ApiModelProperty(value = "奖品id")
private String prizeId;
@ApiModelProperty(value = "关联活动id")
private String integralActivityId;
@ApiModelProperty(value = "奖品名称")
private String prizeTitle;
@ApiModelProperty(required = true, value = "初始展示奖品图片")
private String prizeImgInit;
@ApiModelProperty(required = true, value = "中奖选中奖品图片")
private String prizeImgSelect;
@ApiModelProperty(value = "奖品类型 1谢谢惠顾 2积分 3代金券 4满减券 5优先购买券 6实物")
private Integer prizeType;
@ApiModelProperty(value = "单次奖励数量如积分 中奖给多少物")
private Integer prizeTypeNum;
@ApiModelProperty(value = "关联id 如商品id 券id")
private String relationId;
@ApiModelProperty(value = "奖品数量")
private Integer prizeNum;
@ApiModelProperty(value = "限制的中奖人数")
private Integer winnersNum;
@ApiModelProperty(value = "中奖概率")
private BigDecimal winningProbability;
@ApiModelProperty(value = "创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
@ApiModelProperty(value = "已发出数量")
private Integer winPrizeNum;
private static final SweetIntegralActivityPrizeVo obj = new SweetIntegralActivityPrizeVo();
public static SweetIntegralActivityPrizeVo getNew() {
try {
return (SweetIntegralActivityPrizeVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetIntegralActivityPrizeVo();
}
}
public SweetIntegralActivityPrizeVo copy(SweetIntegralActivityPrize source) {
if (null == source) return this;
this.setPrizeId(source.getPrizeId());
this.setIntegralActivityId(source.getIntegralActivityId());
this.setPrizeTitle(source.getPrizeTitle());
this.setPrizeImgInit(source.getPrizeImgInit());
this.setPrizeImgSelect(source.getPrizeImgSelect());
this.setPrizeType(source.getPrizeType());
this.setPrizeTypeNum(source.getPrizeTypeNum());
this.setRelationId(source.getRelationId());
this.setPrizeNum(source.getPrizeNum());
this.setWinnersNum(source.getWinnersNum());
this.setWinningProbability(source.getWinningProbability());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
}
package com.liquidnet.service.sweet.dto.vo.admin;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* SweetIntegralActivityVo
* </p>
*
* @author jiangxiulong
* @since 2021-10-20
*/
@Data
@ApiModel
public class SweetIntegralActivityVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1599981143175023116L;
@ApiModelProperty(value = "活动id")
private String integralActivityId;
@ApiModelProperty(value = "活动名称")
private String activityTitle;
@ApiModelProperty(value = "活动图片")
private String activityImg;
@ApiModelProperty(value = "活动类型 1转盘")
private Integer activityType;
@ApiModelProperty(value = "活动玩一次所需积分")
private Integer activityNum;
@ApiModelProperty(value = "活动时间类型 1长期 2开始结束时间")
private Integer timeType;
@ApiModelProperty(value = "如果活动有时间限制 开始时间")
private LocalDateTime startTime;
@ApiModelProperty(value = "如果活动有时间限制 结束时间")
private LocalDateTime endTime;
@ApiModelProperty(value = "快递费用类型 1包邮 2到付")
private Integer expressFeeType;
@ApiModelProperty(value = "活动规则")
private String activityRules;
@ApiModelProperty(value = "是否上线 1未上线 2已上线")
private Integer isOnline;
@ApiModelProperty(value = "创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
@ApiModelProperty(value = "奖品列表")
private List<SweetIntegralActivityPrizeVo> prizeList;
private static final SweetIntegralActivityVo obj = new SweetIntegralActivityVo();
public static SweetIntegralActivityVo getNew() {
try {
return (SweetIntegralActivityVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetIntegralActivityVo();
}
}
public SweetIntegralActivityVo copy(SweetIntegralActivity source) {
if (null == source) return this;
this.setIntegralActivityId(source.getIntegralActivityId());
this.setActivityTitle(source.getActivityTitle());
this.setActivityImg(source.getActivityImg());
this.setActivityType(source.getActivityType());
this.setActivityNum(source.getActivityNum());
this.setTimeType(source.getTimeType());
this.setStartTime(source.getStartTime());
this.setEndTime(source.getEndTime());
this.setExpressFeeType(source.getExpressFeeType());
this.setActivityRules(source.getActivityRules());
this.setIsOnline(source.getIsOnline());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
}
......@@ -4,7 +4,10 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@ApiModel(value = "SweetOpenSendMsgParam", description = "发送模版消息公共接口入参")
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.param.SweetAntigenicQuestionParam;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetAntigenicQuestion;
/**
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetArtists;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetStage;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetCityVote;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.param.SweetCityVoteParam;
import com.liquidnet.service.sweet.vo.SweetCItyVoteStatVo;
......
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 积分活动抽奖记录表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-10-26
*/
public interface ISweetIntegralActivityDrawService extends IService<SweetIntegralActivityDraw> {
ResponseDto<SweetIntegralActivityPrizeVo> create(String integralActivityId);
ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(Integer type, String integralActivityId, Integer pageNum);
ResponseDto<List<IntegralActivityDrawVo>> winPrizeUser(String integralActivityId);
ResponseDto perfectAddress(String drawId, String receivingAddressesId);
ResponseDto<IntegralActivityDrawVo> detail(String drawId);
}
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 积分活动表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-10-25
*/
public interface ISweetIntegralActivityService extends IService<SweetIntegralActivity> {
ResponseDto<List<IntegralActivityVo>> getList();
ResponseDto<IntegralActivityVo> detail(String integralActivityId);
}
package com.liquidnet.service.sweet.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListMDSKDto;
import com.liquidnet.service.sweet.entity.SweetManualArtistsMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电子宣传手册艺人表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualArtistsMdskService extends IService<SweetManualArtistsMdsk> {
ResponseDto<PageInfo<SweetManualArtistListMDSKDto>> 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<SweetManualArtistListMDSKDto> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListMDSKDto;
import com.liquidnet.service.sweet.entity.SweetManualArtistsMdsk;
/**
* <p>
* 电子宣传手册艺人表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualArtistsMdskService extends IService<SweetManualArtistsMdsk> {
ResponseDto<PageInfo<SweetManualArtistListMDSKDto>> 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<SweetManualArtistListMDSKDto> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import com.liquidnet.service.sweet.entity.SweetManualArtists;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetManualNotify;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualDto;
import com.liquidnet.service.sweet.dto.SweetManualMDSKDto;
import com.liquidnet.service.sweet.entity.SweetManualMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电子宣传手册表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualMdskService extends IService<SweetManualMdsk> {
ResponseDto<PageInfo<SweetManualMDSKDto>> getManualList(int page, int size, String name);
ResponseDto<SweetManualMDSKDto> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualMDSKDto;
import com.liquidnet.service.sweet.entity.SweetManualMdsk;
/**
* <p>
* 电子宣传手册表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualMdskService extends IService<SweetManualMdsk> {
ResponseDto<PageInfo<SweetManualMDSKDto>> getManualList(int page, int size, String name);
ResponseDto<SweetManualMDSKDto> 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;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualNotify;
import com.liquidnet.service.sweet.entity.SweetManualNotifyMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电子宣传手册通知表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualNotifyMdskService extends IService<SweetManualNotifyMdsk> {
ResponseDto<PageInfo<SweetManualNotifyMdsk>> getList(Integer page, Integer size, String title, String manualId);
ResponseDto<Boolean> add(String manualId,String title, String content);
ResponseDto<SweetManualNotifyMdsk> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualNotifyMdsk;
/**
* <p>
* 电子宣传手册通知表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualNotifyMdskService extends IService<SweetManualNotifyMdsk> {
ResponseDto<PageInfo<SweetManualNotifyMdsk>> getList(Integer page, Integer size, String title, String manualId);
ResponseDto<Boolean> add(String manualId,String title, String content);
ResponseDto<SweetManualNotifyMdsk> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualNotify;
import com.baomidou.mybatisplus.extension.service.IService;
import io.swagger.models.auth.In;
import java.util.List;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualDto;
import com.liquidnet.service.sweet.entity.SweetManual;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetStage;
import io.swagger.models.auth.In;
import java.util.List;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualShop;
import com.liquidnet.service.sweet.entity.SweetManualShopMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 电子宣传手册商铺表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualShopMdskService extends IService<SweetManualShopMdsk> {
ResponseDto<List<SweetManualShopMdsk>> getList(String manualId, Integer type);
ResponseDto<SweetManualShopMdsk> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualShopMdsk;
import java.util.List;
/**
* <p>
* 电子宣传手册商铺表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualShopMdskService extends IService<SweetManualShopMdsk> {
ResponseDto<List<SweetManualShopMdsk>> getList(String manualId, Integer type);
ResponseDto<SweetManualShopMdsk> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualShop;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
......
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualSort;
import com.liquidnet.service.sweet.entity.SweetManualSortMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电子宣传手册显示内容表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualSortMdskService extends IService<SweetManualSortMdsk> {
ResponseDto<SweetManualSortMdsk> get(String manualId);
ResponseDto<Boolean> add(String manualId,String content);
}
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualSortMdsk;
/**
* <p>
* 电子宣传手册显示内容表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetManualSortMdskService extends IService<SweetManualSortMdsk> {
ResponseDto<SweetManualSortMdsk> get(String manualId);
ResponseDto<Boolean> add(String manualId,String content);
}
package com.liquidnet.service.sweet.service;
import com.github.pagehelper.PageInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetManualSort;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetStage;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetRichtext;
import com.liquidnet.service.sweet.entity.SweetRichtextMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电子宣传手册富文本表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetRichtextMdskService extends IService<SweetRichtextMdsk> {
ResponseDto<SweetRichtextMdsk> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetRichtextMdsk;
/**
* <p>
* 电子宣传手册富文本表 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetRichtextMdskService extends IService<SweetRichtextMdsk> {
ResponseDto<SweetRichtextMdsk> 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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetRichtext;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetStage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.sweet.entity.SweetUserRelationMdsk;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户 收藏/喜欢等状态 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetUserRelationMdskService extends IService<SweetUserRelationMdsk> {
}
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetUserRelationMdsk;
/**
* <p>
* 用户 收藏/喜欢等状态 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-09
*/
public interface ISweetUserRelationMdskService extends IService<SweetUserRelationMdsk> {
}
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.sweet.entity.SweetUserRelation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.sweet.entity.SweetUserRelation;
/**
* <p>
......
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.sweet.entity.SweetWechatUsersRelation;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 微信用户信息关联表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-11-04
*/
public interface ISweetWechatUsersRelationService extends IService<SweetWechatUsersRelation> {
}
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.sweet.entity.SweetWechatUsers;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 微信用户信息表包含小程序公众号 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-11-04
*/
public interface ISweetWechatUsersService extends IService<SweetWechatUsers> {
}
package com.liquidnet.service.sweet.utils;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize;
import java.util.ArrayList;
import java.util.LinkedList;
public class SweetNewObjectUtil {
private static final ArrayList<SweetIntegralActivityPrizeVo> sweetIntegralActivityPrizeVoArrayList = new ArrayList<>();
private static final ArrayList<SweetIntegralActivityPrize> sweetIntegralActivityPrizeArrayList = new ArrayList<>();
private static final LinkedList<IntegralActivityDrawVo> sweetIntegralActivityDrawVoLinkedList = new LinkedList<>();
private static final PagedResult<IntegralActivityDrawVo> sweetIntegralActivityDrawVoPagedResult = new PagedResult<>();
public static ArrayList<SweetIntegralActivityPrizeVo> getSweetIntegralActivityPrizeVoArrayList() {
return (ArrayList<SweetIntegralActivityPrizeVo>) sweetIntegralActivityPrizeVoArrayList.clone();
}
public static LinkedList<IntegralActivityDrawVo> getSweetIntegralActivityDrawVoLinkedList() {
return (LinkedList<IntegralActivityDrawVo>) sweetIntegralActivityDrawVoLinkedList.clone();
}
public static PagedResult<IntegralActivityDrawVo> getSweetIntegralActivityDrawVoPagedResult() {
return (PagedResult<IntegralActivityDrawVo>) sweetIntegralActivityDrawVoPagedResult.clone();
}
public static ArrayList<SweetIntegralActivityPrize> getSweetIntegralActivityPrizeArrayList() {
return (ArrayList<SweetIntegralActivityPrize>) sweetIntegralActivityPrizeArrayList.clone();
}
}
package com.liquidnet.service.sweet.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.liquidnet.service.sweet.dto.SweetCityVoteStatDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class SweetCItyVoteStatVo implements Serializable, Cloneable {
......
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.entity.SweetManualShop;
import com.liquidnet.service.sweet.entity.SweetManualShopMdsk;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.entity.SweetAnswer;
import io.swagger.annotations.Api;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class SweetPrizeVo implements Serializable, Cloneable {
......
package com.liquidnet.service.sweet.vo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class SweetWechatUsersRelationVo implements Serializable, Cloneable {
private static final long serialVersionUID = -7943731833999082046L;
/**
* wechat_relation_id
*/
private String wechatRelationId;
/**
* unionId
*/
private String unionId;
/**
* adam用户id
*/
private String userId;
/**
* adam用户手机号
*/
private String userPhone;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
private static final SweetWechatUsersRelationVo obj = new SweetWechatUsersRelationVo();
public static SweetWechatUsersRelationVo getNew() {
try {
return (SweetWechatUsersRelationVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetWechatUsersRelationVo();
}
}
}
package com.liquidnet.service.sweet.vo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class SweetWechatUsersVo implements Serializable, Cloneable {
private static final long serialVersionUID = -8639044068603169141L;
/**
* wechat_id
*/
private String wechatId;
/**
* openId
*/
private String openId;
/**
* unionId
*/
private String unionId;
/**
* 服务类型 1正在 2摩登 21草莓 22五百里 23mdsk 24正在
*/
private Integer type;
/**
* 小程序解密手机号
*/
private String phoneNumber;
/**
* 小程序解密手机号
*/
private String purePhoneNumber;
/**
* 小程序解密地区码
*/
private String countryCode;
/**
* 昵称
*/
private String nickname;
/**
* 性别
*/
private String sexDesc;
/**
* 性别 男1
*/
private Integer sex;
/**
* 头像
*/
private String headImgUrl;
/**
* zh_CN
*/
private String language;
/**
* 国家
*/
private String country;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 关注时间
*/
private LocalDateTime subscribeTime;
/**
* ADD_SCENE_SEARCH 关注方式
*/
private String subscribeScene;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
private static final SweetWechatUsersVo obj = new SweetWechatUsersVo();
public static SweetWechatUsersVo getNew() {
try {
return (SweetWechatUsersVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetWechatUsersVo();
}
}
}
......@@ -20,6 +20,7 @@
<module>liquidnet-service-sweet-api</module>
<module>liquidnet-service-chime-api</module>
<module>liquidnet-service-candy-api</module>
<module>liquidnet-service-stone-api</module>
</modules>
<dependencies>
<dependency>
......
......@@ -111,6 +111,12 @@
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-sweet-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
......
package com.liquidnet.client.admin.web.controller.zhengzai.adam;
import com.liquidnet.client.admin.common.annotation.Log;
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.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamUserAdminService;
import com.liquidnet.service.adam.entity.AdamUser;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户Controller
*
* @author ruoyi
* @date 2021-05-24
*/
@Controller
@RequestMapping("local")
public class LocalAdminController extends BaseController
{
private String prefix = "zhengzai/stone";
@Autowired
private IAdamUserAdminService adamUserService;
@GetMapping("/integralList")
public String integralList()
{
return prefix + "/integralList";
}
@GetMapping("/integralStore")
public String integralStore()
{
return prefix + "/integralStore";
}
@GetMapping("/LuckyDraw")
public String LuckyDraw()
{
return prefix + "/LuckyDraw";
}
@GetMapping("/integralOrder")
public String integralOrder()
{
return prefix + "/integralOrder";
}
@GetMapping("/integralDetail")
public String integralDetail()
{
return prefix + "/integralDetail";
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.stone;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
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.stone.service.IItemService;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.param.StoneItemBuildParam;
import com.liquidnet.service.stone.param.StoneListParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
@Api(tags = "积分物品")
@Controller
@RequestMapping("stone/item")
public class StoneItemController extends BaseController {
private String prefix = "zhengzai/stone";
@Autowired
private IItemService iItemService;
@GetMapping("integralStore")
@ApiOperation(value = "积分商品:列表View")
public String integralStore(ModelMap mmap) {
return prefix + "/integralStore";
}
@GetMapping("integralStoreEdit")
@ApiOperation(value = "积分商品:详情View")
public String integralStoreEdit (ModelMap mmap) {
return prefix + "/integralStoreEdit";
}
@Log(title = "积分商品:列表")
@ApiOperation(value = "积分商品:列表")
@PostMapping("list")
@ResponseBody
public TableDataInfo list(StoneListParam listParam) {
PageInfo<StoneScoreItems> result = iItemService.itemList(listParam.getTitle(), listParam.getState(), listParam.getType());
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(0);
rspData.setRows(result.getList());
rspData.setTotal(result.getTotal());
return rspData;
}
@Log(title = "积分商品:修改状态")
@PutMapping("change/status")
@ApiOperation(value = "积分商品:修改状态")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "itemId", value = "积分物品ID"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "status", value = "状态[-1-删除|1-上架|7-下架]"),
})
public AjaxResult status(@RequestParam("itemId") String itemId, @RequestParam("status") Integer status) {
String result = iItemService.changeStatus(itemId, status);
return AjaxResult.success(result);
}
@Log(title = "积分商品:详情")
@GetMapping("details")
@ApiOperation(value = "积分商品:详情")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "itemId", value = "积分物品ID"),
})
public AjaxResult details(@RequestParam("itemId") String itemId) {
StoneScoreItems result = iItemService.itemDetails(itemId);
return AjaxResult.success(result);
}
@Log(title = "积分商品:创建")
@PostMapping("")
@ApiOperation(value = "积分商品:创建")
@ResponseBody
public AjaxResult createItem(StoneItemBuildParam param) {
String result = iItemService.createItem(param);
return AjaxResult.success(result);
}
@Log(title = "积分商品:修改")
@PutMapping("")
@ApiOperation(value = "积分商品:修改")
@ResponseBody
public AjaxResult updateItem(StoneItemBuildParam param) {
String result = iItemService.updateItem(param);
return AjaxResult.success(result);
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.stone;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
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.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.stone.service.IItemService;
import com.liquidnet.client.admin.zhengzai.stone.service.IScoreService;
import com.liquidnet.client.admin.zhengzai.stone.service.dto.StoneScoreListExportDto;
import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.param.StoneItemBuildParam;
import com.liquidnet.service.stone.param.StoneListParam;
import com.liquidnet.service.stone.param.StoneScoreListParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Api(tags = "积分明细")
@Controller
@RequestMapping("stone/logs")
public class StoneLogsController extends BaseController {
private String prefix = "zhengzai/stone";
@Autowired
private IScoreService iScoreService;
@GetMapping("integralStore")
@ApiOperation(value = "积分明细:列表View", position = 0)
public String integralStore(ModelMap mmap) {
return prefix + "/integralList";
}
@GetMapping("integralStoreEdit")
@ApiOperation(value = "积分明细:详情View", position = 1)
public String integralStoreEdit(ModelMap mmap) {
return prefix + "/integralDetail";
}
@Log(title = "积分明细:列表")
@ApiOperation(value = "积分明细:列表", position = 2)
@PostMapping("list")
@ResponseBody
public TableDataInfo list(StoneScoreListParam listParam) {
PageInfo<StoneScoreListDto> result = iScoreService.list(listParam);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(0);
rspData.setRows(result.getList());
rspData.setTotal(result.getTotal());
return rspData;
}
@Log(title = "积分明细:修改状态")
@PutMapping("change/status")
@ApiOperation(value = "积分明细:修改状态", position = 3)
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "用户id"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "status", value = "状态[1-正常|2-冻结]"),
})
public AjaxResult status(@RequestParam("uid") String uid, @RequestParam("status") Integer status) {
String result = iScoreService.changeStatus(uid, status);
return AjaxResult.success(result);
}
@Log(title = "积分明细:详情")
@GetMapping("details")
@ApiOperation(value = "积分明细:详情", position = 4)
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "用户id"),
})
public AjaxResult details(@RequestParam("uid") String uid) {
StoneUserScoreDetailVo result = iScoreService.userScoreDetail(uid);
return AjaxResult.success(result);
}
@Log(title = "积分明细:导出列表[根据uid]")
@PostMapping("list/export")
@ResponseBody
public AjaxResult export(String uidString) {
List<StoneScoreListExportDto> list = iScoreService.listExport(uidString.split(","));
ExcelUtil<StoneScoreListExportDto> util = new ExcelUtil(StoneScoreListExportDto.class);
return util.exportExcel(list, "积分导出");
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.sweet;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
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.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* <p>
* 积分活动表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2021-10-20
*/
@Api(tags = "积分活动管理")
@Validated
@Controller
@RequestMapping("/sweet/integralActivity")
public class SweetIntegralActivityController extends BaseController {
private String prefix = "zhengzai/sweet/integralActivity";
@Autowired
private ISweetIntegralActivityService iSweetIntegralActivityService;
@Log(title = "积分活动创建", businessType = BusinessType.INSERT)
@RequiresPermissions("sweet:integralActivity:create")
@PostMapping("create")
@ApiOperation(value = "积分活动创建")
@ResponseBody
public AjaxResult create(@Valid @RequestBody SweetIntegralActivityFromParam param) {
Integer result = iSweetIntegralActivityService.createForm(param);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@Log(title = "积分活动编辑", businessType = BusinessType.UPDATE)
@RequiresPermissions("sweet:integralActivity:update")
@PutMapping("update")
@ApiOperation(value = "积分活动编辑")
@ResponseBody
public AjaxResult update(@Valid @RequestBody SweetIntegralActivityFromParam param) {
Integer result = iSweetIntegralActivityService.updateForm(param);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@Log(title = "积分活动上下线", businessType = BusinessType.UPDATE)
@RequiresPermissions("sweet:integralActivity:isOnline")
@ApiOperation(value = "积分活动上下线")
@PutMapping("isOnline")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "integralActivityId", value = "活动id"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "isOnline", value = "是否上线 1下线 2上线"),
})
public AjaxResult isOnline(
@RequestParam("integralActivityId") @NotEmpty(message = "integralActivityId不能为空") String integralActivityId,
@RequestParam("isOnline") @NotNull(message = "isOnline不能为空") @Min(value = 1, message = "isOnline无效") @Max(value = 2, message = "isOnline无效") Integer isOnline
) {
Integer result = iSweetIntegralActivityService.isOnline(integralActivityId, isOnline);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@Log(title = "积分活动详情", businessType = BusinessType.DETAIL)
@GetMapping("details")
@ApiOperation(value = "积分活动详情")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "query", required = true, dataType = "String", name = "integralActivityId", value = "活动id"),
})
public AjaxResult details(@RequestParam("integralActivityId") String integralActivityId) {
SweetIntegralActivityVo result = iSweetIntegralActivityService.detail(integralActivityId);
return AjaxResult.success(result);
}
@Log(title = "积分活动列表数据", businessType = BusinessType.LIST)
@RequiresPermissions("sweet:integralActivity:list")
@ApiOperation(value = "积分活动列表数据")
@PostMapping("list")
@ResponseBody
public TableDataInfo list(SweetIntegralActivityListSearchParam listParam) {
PageInfo<SweetIntegralActivityDto> result = iSweetIntegralActivityService.list(listParam);
return getDataTable(result.getList());
}
@GetMapping("listView")
@ApiOperation(value = "积分活动列表view")
public String listView() {
return prefix + "/list";
}
@GetMapping("formView")
@ApiOperation(value = "积分活动添加编辑view")
public String formView() {
return prefix + "/form";
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.sweet;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
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.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.sweet.dto.SweetActivityDrawExcelListDao;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityDrawService;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityDrawListSearchParam;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 积分活动抽奖记录表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2021-10-22
*/
@Api(tags = "积分活动管理")
@Validated
@Controller
@RequestMapping("/sweet/IntegralActivityDraw")
public class SweetIntegralActivityDrawController extends BaseController {
private String prefix = "zhengzai/sweet/integralActivityDraw";
@Autowired
private ISweetIntegralActivityDrawService iSweetIntegralActivityDrawService;
@Log(title = "积分活动中奖列表数据", businessType = BusinessType.LIST)
@RequiresPermissions("sweet:integralActivityDraw:list")
@ApiOperation(value = "积分活动中奖列表数据")
@PostMapping("list")
@ResponseBody
public TableDataInfo list(SweetIntegralActivityDrawListSearchParam listParam) {
PageInfo<SweetIntegralActivityDraw> result = iSweetIntegralActivityDrawService.drawList(listParam);
return getDataTable(result.getList());
}
@Log(title = "积分活动导出中奖列表数据", businessType = BusinessType.EXPORT)
@RequiresPermissions("kylin:integralActivityDraw:exportExcel")
@PostMapping("/export")
@ResponseBody
public AjaxResult export(@RequestParam("ids") String integralActivityId) {
List<SweetActivityDrawListDao> list = iSweetIntegralActivityDrawService.selectExcelList(integralActivityId);
ExcelUtil<SweetActivityDrawExcelListDao> excelUtil = new ExcelUtil<>(SweetActivityDrawExcelListDao.class);
List<SweetActivityDrawExcelListDao> excelList = new ArrayList<>();
list.forEach(r -> {
excelList.add(SweetActivityDrawExcelListDao.getNew().copy(r));
});
return excelUtil.exportExcel(excelList, "积分活动导出中奖列表数据");
}
@Log(title = "积分活动中奖发货", businessType = BusinessType.UPDATE)
@RequiresPermissions("sweet:integralActivityDraw:receivingStatus")
@ApiOperation(value = "积分活动中奖发货")
@PutMapping("receivingStatus")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "drawId", value = "抽奖id")
})
public AjaxResult receivingStatus(
@RequestParam("drawId") @NotEmpty(message = "drawId不能为空") String drawId
) {
Integer result = iSweetIntegralActivityDrawService.receivingStatus(drawId);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@GetMapping("listView/{id}")
@ApiOperation(value = "积分活动中奖列表view")
public String listView(@PathVariable("id") String id, ModelMap mmap) {
mmap.put("integralActivityId", id);
return prefix + "/list";
}
}
......@@ -271,12 +271,9 @@
searchData.reduce((cur,next) => {
if (!obj[next.performancesId]) {
obj[next.performancesId] = true
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','${next.title}')">${next.title}</li>`
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','performancesId')">${next.title}</li>`
}
},[]) //设置cur默认类型为数组,并且初始值为空的数组
// searchData.forEach((item,index)=>{
// str+= `<li class="selectData" onclick="selectOne('${item.performancesId}','${item.title}')">${item.title}</li>`
// })
$('#dataList').html(str);
} else {
$('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>');
......@@ -292,7 +289,7 @@
if (res.data.length>0) {
searchData = res.data;
searchData.forEach((item,index)=>{
str+= `<li class="selectData" onclick="selectOne('${item.id}','${item.title}')">${item.title}</li>`
str+= `<li class="selectData" onclick="selectOne('${item.id}','id')">${item.title}</li>`
})
$('#dataList').html(str);
} else {
......@@ -301,7 +298,11 @@
})
};
function selectOne(id,name) {
$("#searchIpt").val(name);
searchData.some(item => {
if (item[name] == id) {
return $("#searchIpt").val(item.title);
}
})
showId = id;
if (typeOne == 2) {
return
......
......@@ -223,7 +223,7 @@
searchData.reduce((cur,next) => {
if (!obj[next.performancesId]) {
obj[next.performancesId] = true
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','${next.title}')">${next.title}</li>`
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','performancesId')">${next.title}</li>`
}
},[]) //设置cur默认类型为数组,并且初始值为空的数组
$('#dataList').html(str);
......@@ -233,7 +233,11 @@
})
};
function selectOne(id,name) {
$("#searchIpt").val(name);
searchData.some(item => {
if (item[name] == id) {
return $("#searchIpt").val(item.title);
}
})
showId = id;
let str = `<option value="" label="">所有</option>`;
let obj = {};
......
......@@ -243,7 +243,7 @@
if (res.data.length>0) {
searchData = res.data;
searchData.forEach((item,index)=>{
str+= `<li class="selectData" onclick="selectOne('${item.id}','${item.title}')">${item.title}</li>`
str+= `<li class="selectData" onclick="selectOne('${item.id}','id')">${item.title}</li>`
})
$('#dataList').html(str);
} else {
......@@ -252,7 +252,11 @@
})
};
function selectOne(id,name) {
$("#searchIpt").val(name);
searchData.some(item => {
if (item[name] == id) {
return $("#searchIpt").val(item.title);
}
})
showId = id;
};
$("input[name=typeTwo]").change(function(e){
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('积分详情')" />
<style>
#toolbar p {
margin: 0;
padding: 0;
padding-bottom: 12px;
border-bottom: 2px solid skyblue;
}
.top_data {
display: flex;
padding: 20px;
}
.top_data_img span {
display: inline-block;
width: 70px;
height: 70px;
background: #ccc;
border-radius: 50%;
}
.top_data_right {
margin-left: 12px;
display: flex;
flex-direction: column;
justify-content: center;
}
.top_data_right .name .nameSp{
margin-left: 12px;
}
.userData {
margin-top: 14px;
display: flex;
}
.userData p {
margin-right: 12px;
}
</style>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<div class="top_data">
<div class="top_data_img">
<span></span>
</div>
<div class="top_data_right">
<div class="name"><span id="name">张三</span><span class="nameSp">17788774478</span></div>
<div class="userData">
<p>积分状态:<span id="status">正常</span></p>
<p>总积分:<span id="scoreAll">1000</span></p>
<p>已使用积分:<span id="scoreUse">300</span></p>
<p>剩余积分:<span id="scoreRest">700</span></p>
</div>
</div>
</div>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<p>积分变更记录</p>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "stone/logs";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
var couType = [[${couType}]];
$(function () {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add/{id}",
removeUrl: prefix + "/cancel/{id}",
// updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export",
sortName: "createdAt",
sortOrder: "desc",
modalName: "积分",
columns: [
{
field: 'valFace',
title: '时间',
formatter: function (value, row, index) {
return '¥' + value;
}
},
{
field: 'eventAmt',
title: '类型'
},
{
field: 'bindType',
title: '任务名称',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
field: 'busiType',
title: '获得积分',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicCouponBusiType, value);
}
},
{
field: 'title',
title: '变更原因'
}
]
};
$.table.init(options);
});
getAllData();
function getAllData() {
let uid = getUrlParms('id');
let data = {
uid
}
$.ajax({
type: 'get',
url: prefix + '/details',
data,
success:function(e) {
console.log(e)
if (e.code == 0) {
const { dto } = e.data;
$('#name').text(dto.nickName);
let statusName = '';
$('#scoreAll').text(dto.scoreAll);
$('#scoreUse').text(dto.scoreUse);
$('#scoreRest').text(dto.scoreRest);
if (dto.status == 1) {
statusName = '正常'
} else {
statusName = '冻结'
}
$('#status').text(statusName);
}
}
})
}
function getUrlParms(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}
/* 查看码列表 */
function couponCodeList(couponId) {
var url = 'candy/coupon/code?couponId=' + couponId;
$.modal.openTab("积分明细列表", url);
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('积分明细')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="coupon-form">
<div class="select-list">
<ul>
<input type="hidden" name="couType" th:value="${couType}"/>
<li>
<input type="text" name="mobile" placeholder="请输入手机号码"/>
</li>
<li>
状态:
<select name="status" id="">
<option value="0">全部</option>
<option value="1">正常</option>
<option value="2">冻结</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-warning" onclick="exportSelected()" shiro:hasPermission="monitor:job:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "stone/logs";
var prefix2 = ctx + "local";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
var couType = [[${couType}]];
$(function () {
var options = {
url: prefix + "/list",
detailUrl: prefix + "/integralStoreEdit?id={id}",
removeUrl: prefix + "/cancel/{id}",
// updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export",
sortName: "createdAt",
sortOrder: "desc",
modalName: "积分",
columns: [
{
checkbox: true
},
{
field: 'nickName',
title: '呢称'
},
{
field: 'mobile',
title: '手机号'
},
{
field: 'scoreAll',
title: '总积分'
},
{
field: 'scoreUse',
title: '已使用积分'
},
{
field: 'scoreRest',
title: '剩余积分'
},
{
field: 'status',
title: '积分状态',
formatter: function (value, row, index) {
if (value == 0) {
return "全部"
} else if (value == 1) {
return "正常"
} else {
return "冻结"
}
}
},
{
title: '操作',
// align: 'center',
formatter: function (value, row, index) {
let dataArr = [];
dataArr.push(`<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="$.operate.detailTab('${row.uid}')"><i class="fa fa-search"></i>查看</span>`)
if (row.status == 1) {
dataArr.push(`<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="openModal('${row.uid}', 2, '冻结后,用户将不可使用积分功能')">冻结</span>`)
} else if (row.status == 2) {
dataArr.push(`<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="openModal('${row.uid}', 1, '移除冻结后,用户积分账户立即恢复正常使用')">移除冻结</span>`)
}
return dataArr.join(' ')
}
}]
};
$.table.init(options);
});
function openModal(uid, status, title) {
$.modal.confirm(title, function() {
let data = {
status,
uid
}
$.ajax({
type: 'put',
url: prefix + '/change/status',
data,
success:function(e) {
console.log(e)
}
})
});
}
// 导出数据
function exportSelected() {
var userIds = $.table.selectColumns("uid");
// var dataParam = $("#export-form").serializeArray();
var tipMsg = "确定导出所有数据吗?";
console.log(userIds, 'kakn')
if($.common.isNotEmpty(userIds)){
tipMsg = "确定导出勾选" + userIds.length + "条数据吗?";
// dataParam.push({ "name": "uid", "value": userIds });
} else {
layer.msg('请勾选要导出的数据!')
return;
}
// console.log(userIds.toString(), 'dataParam')
$.modal.confirm(tipMsg, function() {
$.post('list/export', {uidString: userIds.toString()}, function(result) {
if (result.code == web_status.SUCCESS) {
window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true;
$("button[name=refresh]").click();
} else {
$.modal.alertError(result.msg);
}
});
});
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('积分明细')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="coupon-form">
<div class="select-list">
<ul>
<input type="hidden" name="couType" th:value="${couType}"/>
<li>
<input type="text" name="title" placeholder="请输入商品名称"/>
</li>
<li>
状态:
<select name="state" id="">
<option value="">全部</option>
<option value="">上架中</option>
<option value="">待上架</option>
<option value="">已下架</option>
</select>
</li>
<li>
类型:
<select name="type" id="">
<option value="">全部</option>
<option value=""></option>
<option value="">商品</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-warning" th:onclick="$.operate.addTab(1)">
<i class="fa fa-download"></i> 添加商品
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "stone/item";
var prefix2 = ctx;
var couType = [[${couType}]];
$(function () {
var options = {
url: prefix2 + "stone/item/list",
createUrl: prefix + "/integralStoreEdit",
detailUrl: prefix + "/integralStoreEdit/${id}",
removeUrl: prefix2 + "cancel/{id}",
updateUrl: prefix + "/integralStoreEdit?id={id}",
// exportUrl: prefix + "/export",
sortName: "createdAt",
sortOrder: "desc",
modalName: "商品",
columns: [
{
field: '',
title: '序号',
formatter: function (value, row, index) {
return index + 1
}
},
{
field: 'targetTitle',
title: '商品名称'
},
{
field: 'status',
title: '状态',
formatter: function(value, row, index) {
if (value == 1) {
return "不限"
} else if (value == 2) {
return "定时"
} else {
return "下线"
}
}
},
{
field: 'busiType',
title: '类型',
formatter: function(value, row, index) {
return '券'
}
},
{
field: 'score',
title: '所需积分'
},
{
field: 'limitCount',
title: '每人限兑次数'
},
{
field: 'generalSurplus',
title: '已兑换数量'
},
{
field: 'generalTotal',
title: '剩余库存'
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
// align: 'center',
formatter: function (value, row, index) {
let dataArr = [];
return `<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="$.operate.editTab('${row.itemId}')">编辑</span>
<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="openShelvesModal('${row.itemId}', 7, '确定下架此商品吗?')">下架</span>
<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="openShelvesModal('${row.itemId}', '-1', '确定删除此商品吗?')">删除</span>`
}
}]
};
$.table.init(options);
});
/* 查看码列表 */
function couponCodeList(couponId) {
var url = 'candy/coupon/code?couponId=' + couponId;
$.modal.openTab("积分明细列表", url);
}
function openShelvesModal(id, status, notice) {
// console.log('111111')
$.modal.confirm(notice, function() {
console.log(id, status)
$.ajax({
type: 'put',
url: '/stone/item/change/status',
data: {
itemId: id,
status
},
success:function(e) {
console.log(e)
layer.msg("操作成功!")
$("button[name=refresh]").click()
}
})
});
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('积分活动列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>活动名称:</label>
<input type="text" name="activityTitle"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.addTab(1)" shiro:hasPermission="sweet:integralActivity:create">
<i class="fa fa-plus"></i> 添加
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]];
var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]];
var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]];
var exportExcelFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:export')}]];
var prefix = ctx + "sweet/integralActivity";
function exportExcel(integralActivityId) {
var data = {"ids": integralActivityId};
$.table.exportExcel("", data)
}
$(function () {
var options = {
url: prefix + "/list",
updateUrl: prefix + "/formView?id={id}", // /update/{id}
createUrl: prefix + "/formView",
detailUrl: "/sweet/IntegralActivityDraw/listView/{id}",
exportUrl: "/sweet/IntegralActivityDraw/export",
modalName: "积分活动",
columns: [{
checkbox: true
},
{
field: 'activityTitle',
title: '活动名称'
},
{
field: 'activityImg',
title: '活动图片',
formatter: function (value, row, index) {
return $.table.imageView(value, "300", "600");
}
},
{
field: 'activityType',
title: '活动类型',
formatter: function (value, row) {
var activityType = row.activityType;
if (row.activityType == 1) {
activityType = "转盘";
} else {
activityType = "未知";
}
return activityType;
}
},
{
field: 'prizeNum',
title: '奖品数量'
},
{
field: 'drawNum',
title: '已发出'
},
{
field: '',
title: '奖品剩余',
formatter: function (value, row) {
var prizeNum = row.prizeNum;
var drawNum = row.drawNum;
return prizeNum - drawNum;
}
},
{
field: 'isOnline',
title: '活动状态',
formatter: function (value, row) {
var isOnline = row.isOnline;
if (row.isOnline == 1) {
isOnline = "未上线";
} else {
isOnline = "已上线";
}
return isOnline;
}
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + drawListFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.integralActivityId + '\')"><i class="fa fa-edit"></i>查看抽奖名单</a> ');
actions.push('<a class="btn btn-success btn-xs ' + updateFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.integralActivityId + '\')"></i>编辑</a> ');
actions.push(`<a class="btn btn-danger btn-xs ${isOnlineFlag}" href="javascript:void(0)" onclick="openModal('${row.integralActivityId}','${row.isOnline}')"></i>上下线</a> `);
actions.push('<a class="btn btn-warning btn-xs ' + exportExcelFlag + '" href="javascript:void(0)" onclick="exportExcel(\'' + row.integralActivityId + '\')"></i>导出抽奖信息</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
function openModal(id, data) {
console.log(id, data, 'dhsa')
let title = '';
let lineId = null;
if (data == 1) {
title = '上线';
lineId = 2
} else {
title = '下线';
lineId = 1
}
$.modal.confirm(`确定要${title}此活动吗`, function() {
$.ajax({
type: 'put',
url: '/sweet/integralActivity/isOnline',
data: {integralActivityId: id, isOnline: lineId},
success:function(e) {
console.log(e)
$("button[name=refresh]").click();
}
})
});
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('积分活动中奖列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<input hidden type="text" name="integralActivityId" th:value="${integralActivityId}">
<li>
<label>奖品名称:</label>
<input type="text" name="prizeTitle"/>
</li>
<li>
<label>奖品类型:</label>
<select name="prizeType"
th:with="type=${@dict.getType('zhengzai_sweet_draw_prize_type')}">
<option value="">全部</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>用户昵称:</label>
<input type="text" name="nickname"/>
</li>
<li>
<label>发放状态:</label>
<select name="receivingStatus">
<option value="">全部</option>
<option value="1">未发放</option>
<option value="2">已发放</option>
<option value="3">无需发放</option>
</select>
</li>
<li>
<label>是否中奖:</label>
<select name="isWin">
<option value="">全部</option>
<option value="1">未中奖</option>
<option value="2">已中奖</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prizeType = [[${@dict.getType('zhengzai_sweet_draw_prize_type')}]];
var receivingStatusFlag = [[${@permission.hasPermi('sweet:IntegralActivityDraw:receivingStatus')}]];
var prefix = ctx + "sweet/IntegralActivityDraw";
$(function () {
var options = {
url: prefix + "/list",
modalName: "积分活动中奖记录",
columns: [{
checkbox: true
},
{
field: 'prizeTitle',
title: '奖品名称'
},
{
field: 'prizeType',
title: '奖品类型',
formatter: function (value, row) {
return $.table.selectDictLabel(prizeType, value);
}
},
{
field: 'prizeTypeNum',
title: '数量'
},
{
field: 'nickname',
title: '用户昵称'
},
{
field: 'receivingName',
title: '收货人姓名'
},
{
field: 'receivingPhone',
title: '收货人电话'
},
{
field: 'receivingAddress',
title: '收货人姓名地址'
},
{
field: 'receivingStatus',
title: '发放状态',
formatter: function (value, row) {
var receivingStatus = row.receivingStatus;
switch (receivingStatus) {
case 1:
receivingStatus = "未发放";
break;
case 2:
receivingStatus = "已发放";
break;
case 2:
receivingStatus = "无需发放";
break;
}
return receivingStatus;
}
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs ' + receivingStatusFlag + '" href="javascript:void(0)" onclick="openModal(\'' + row.drawId + '\')"></i>发放</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
function openModal(id) {
$.modal.confirm(`确定要发放吗?`, function () {
$.ajax({
type: 'put',
url: '/sweet/IntegralActivityDraw/receivingStatus',
data: {drawId: id},
success: function (e) {
console.log(e)
if (e.code == 0) {
layer.msg('发放成功!')
$("button[name=refresh]").click();
}
}
})
});
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -38,6 +38,11 @@
<artifactId>liquidnet-service-candy-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-stone-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
......@@ -114,6 +119,18 @@
<version>0.0.20131108.vaadin1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-sweet-do</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-sweet-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -312,7 +312,10 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
}
public static void main(String[] args) {
Long a=IDGenerator.getDamaiCode("397341627879178278349754");
Long a=IDGenerator.getDamaiCode("385930697698099233332997");
Long b=IDGenerator.getDamaiCode("385931515691868195803932");
System.out.println(a);
System.out.println(b);
}
}
package com.liquidnet.client.admin.zhengzai.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.param.StoneItemBuildParam;
import java.util.List;
public interface IItemService {
/**
* 获取 积分商品 列表
*
* @param title 名称
* @param status 状态[-999-全部|1-上架中|2-待上架|7-已下架]
* @param type 类型[1-券]
* @return
*/
PageInfo<StoneScoreItems> itemList(String title, Integer status, Integer type);
/**
* 修改 积分物品 状态
*
* @param itemId ID
* @param status 状态[-1-删除|1-上架|7-下架]
* @return
*/
String changeStatus(String itemId, Integer status);
/**
* 获取 积分物品 详情
*
* @param itemId ID
* @return
*/
StoneScoreItems itemDetails(String itemId);
String createItem(StoneItemBuildParam param);
String updateItem(StoneItemBuildParam param);
}
package com.liquidnet.client.admin.zhengzai.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.stone.service.dto.StoneScoreListExportDto;
import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.param.StoneScoreListParam;
import java.util.ArrayList;
import java.util.List;
public interface IScoreService {
PageInfo<StoneScoreListDto> list(StoneScoreListParam param);
List<StoneScoreListExportDto> listExport(String[] uidList);
/**
* 修改 用户积分状态
*
* @param uid 用户ID
* @param status 状态[-999-全部|1-正常|2-冻结]
* @return
*/
String changeStatus(String uid, Integer status);
/**
* 获取 用户积分 详情
*
* @param uid 用户ID
* @return
*/
StoneUserScoreDetailVo userScoreDetail(String uid);
}
package com.liquidnet.client.admin.zhengzai.stone.service.vo;
import io.swagger.annotations.ApiModelProperty;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import lombok.Data;
import java.util.List;
@Data
public class StoneUserScoreDetailVo {
@ApiModelProperty(required = false, value = "用户积分信息")
public StoneScoreListDto dto;
@ApiModelProperty(required = false, value = "积分详情")
public List<StoneScoreLogs> scoreLogs;
}
package com.liquidnet.client.admin.zhengzai.sweet.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.sweet.dto.SweetActivityDrawListDao;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityDrawListSearchParam;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 积分活动抽奖记录表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-10-22
*/
public interface ISweetIntegralActivityDrawService extends IService<SweetIntegralActivityDraw> {
PageInfo<SweetIntegralActivityDraw> drawList(SweetIntegralActivityDrawListSearchParam listParam);
List<SweetActivityDrawListDao> selectExcelList(String integralActivityId);
Integer receivingStatus(String drawId);
}
package com.liquidnet.common.feign.constant;
public class FeignConst {
public static final String HEADER_INNER_REQUIRED = "Inner-Required";
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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