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

Commit f541152f authored by 洪全海's avatar 洪全海
parents 872d944b 02f75308
...@@ -39,6 +39,10 @@ ...@@ -39,6 +39,10 @@
<groupId>org.mongodb</groupId> <groupId>org.mongodb</groupId>
<artifactId>bson</artifactId> <artifactId>bson</artifactId>
</dependency> </dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
</dependency>
</dependencies> </dependencies>
......
package com.liquidnet.commons.lang.util;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
import java.util.Map;
//@Component
public class JwtUtil {
/**
* 过期时间15分钟
*/
private static final long EXPIRE_TIME = 15 * 60 * 1000;
/**
* token私钥
*/
private static final String TOKEN_SECRET = "DD5654D654DSD5S1D65S4D65S1D12354";
/**
* 用户登录成功后生成Jwt token
* 使用Hs256算法
*
* @param claims 保存在Payload(有效载荷)中的内容
* @return token字符串
*/
public static String create(Map<String, Object> claims) {
long nowMillis = System.currentTimeMillis();
long expMillis = System.currentTimeMillis() + EXPIRE_TIME;
// 创建一个JwtBuilder,设置jwt的body
JwtBuilder builder = Jwts.builder()
// 保存在Payload(有效载荷)中的内容, 自定义一些数据保存在这里
.setClaims(claims)
// iat: jwt的签发时间
.setIssuedAt(new Date(nowMillis))
// 设置过期时间
.setExpiration(new Date(expMillis))
// 使用HS256算法和签名使用的秘钥生成密文
.signWith(SignatureAlgorithm.HS256, TOKEN_SECRET);
return builder.compact();
}
/**
* 解析token,获取到Payload(有效载荷)中的内容,包括验证签名,判断是否过期
*
* @param token 令牌
* @return
*/
public static Claims parse(String token) {
// 得到DefaultJwtParser
return Jwts.parser()
// 设置签名的秘钥
.setSigningKey(TOKEN_SECRET)
// 设置需要解析的token
.parseClaimsJws(token).getBody();
}
}
...@@ -4,10 +4,9 @@ import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; ...@@ -4,10 +4,9 @@ import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
...@@ -17,9 +16,9 @@ import springfox.documentation.spi.DocumentationType; ...@@ -17,9 +16,9 @@ import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2 @Configuration
@EnableKnife4j @EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class) @EnableSwagger2
public class Swagger2Config { public class Swagger2Config {
@Autowired @Autowired
private Environment environment; private Environment environment;
......
...@@ -126,13 +126,8 @@ ...@@ -126,13 +126,8 @@
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId> <artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version> <version>2.0.4</version>
</dependency> </dependency>
<!-- <dependency>-->
<!-- <groupId>io.swagger</groupId>-->
<!-- <artifactId>swagger-annotations</artifactId>-->
<!-- <version>1.5.22</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>com.belerweb</groupId> <groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId> <artifactId>pinyin4j</artifactId>
......
...@@ -62,8 +62,8 @@ eureka: ...@@ -62,8 +62,8 @@ eureka:
zuul: zuul:
prefix: / prefix: /
host: host:
max-per-route-connections: 1000 max-per-route-connections: 15000
max-total-connections: 2000 max-total-connections: 60000
routes: routes:
liquidnet-service-adam: /adam/** liquidnet-service-adam: /adam/**
liquidnet-service-kylin: /kylin/** liquidnet-service-kylin: /kylin/**
...@@ -75,7 +75,14 @@ zuul: ...@@ -75,7 +75,14 @@ zuul:
# XXXFilter: # 类的名字 # XXXFilter: # 类的名字
# pre: # 类型 # pre: # 类型
# disable: true # disable: true
# -----------------------------------------------------------
common:
login:
url: /adam/login
exclude:
auth:
url: /adam/login,/adam/v2/api-docs,/kylin/v2/api-docs
# -----------------------------------------------------------
#解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service #解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service
#这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。 #这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。
#开启eureka负载均衡策略 #开启eureka负载均衡策略
...@@ -86,3 +93,11 @@ ribbon: ...@@ -86,3 +93,11 @@ ribbon:
# ribbon: # ribbon:
# listOfServers: 192.168.137.1:9001 # listOfServers: 192.168.137.1:9001
# ----------------------------------------------------------- # -----------------------------------------------------------
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000
# -----------------------------------------------------------
package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamAddressesParam", description = "添加/编辑收获地址入参")
@Data
public class AdamAddressesParam implements java.io.Serializable {
private static final long serialVersionUID = -2626425843975309892L;
@ApiModelProperty(position = 10, required = false, value = "收获地址ID,编辑时必传[64]")
private String addrId;
@ApiModelProperty(position = 11, required = true, value = "入场人名称[50]", example = "Swagger")
private String name;
@ApiModelProperty(position = 12, required = true, value = "手机号[11]", example = "13111111111")
private String phone;
@ApiModelProperty(position = 13, required = true, value = "省份[30]", example = "北京")
private String province;
@ApiModelProperty(position = 14, required = true, value = "城市[30]", example = "北京城区")
private String city;
@ApiModelProperty(position = 15, required = true, value = "区县[30]", example = "朝阳区")
private String county;
@ApiModelProperty(position = 16, required = true, value = "详细地址[100]", example = "广渠路1号创1958园区")
private String address;
}
package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamCollectParam", description = "添加收藏入参")
@Data
public class AdamCollectParam implements java.io.Serializable {
private static final long serialVersionUID = 7397579764049783649L;
@ApiModelProperty(position = 11, required = true, value = "内容ID[64]", example = "Swagger")
private String contentId;
@ApiModelProperty(position = 12, required = true, value = "内容类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG")
private String type;
@ApiModelProperty(position = 13, required = true, value = "内容标题[255]", example = "13111111111")
private String contentTitle;
@ApiModelProperty(position = 14, required = true, value = "内容快照[30]", example = "北京")
private String contentImg;
@ApiModelProperty(position = 15, required = false, value = "持续时间,单位S,VIDEO类型时必传[30]", example = "100")
private Long duration;
}
...@@ -4,20 +4,18 @@ import io.swagger.annotations.ApiModel; ...@@ -4,20 +4,18 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ApiModel(value = "AdamEntersParam", description = "添加入场人参数") @ApiModel(value = "AdamEntersParam", description = "添加/编辑入场人入参")
@Data @Data
public class AdamEntersParam implements java.io.Serializable { public class AdamEntersParam implements java.io.Serializable {
private static final long serialVersionUID = 5940725094369061032L; private static final long serialVersionUID = 5940725094369061032L;
@ApiModelProperty(position = 10, required = false, value = "入场人ID[50]") @ApiModelProperty(position = 10, required = false, value = "入场人ID,编辑时必传[50]")
private String entersId; private String entersId;
@ApiModelProperty(position = 11, required = true, value = "入场人名称[50]", example = "Swagger") @ApiModelProperty(position = 11, required = true, value = "入场人名称[50]", example = "Swagger")
private String name; private String name;
@ApiModelProperty(position = 12, required = true, value = "入场人手机号[11]", example = "13100000000") @ApiModelProperty(position = 12, required = true, value = "入场人手机号[11]", example = "13100000000")
private String mobile; private String mobile;
@ApiModelProperty(position = 13, required = true, value = "证件类型1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5") @ApiModelProperty(position = 13, required = true, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5")
private Integer type; private Integer type;
@ApiModelProperty(position = 14, required = true, value = "入场人证件号[11]", example = "110101110001010111") @ApiModelProperty(position = 14, required = true, value = "入场人证件号[11]", example = "110101110001010111")
private String idCard; private String idCard;
@ApiModelProperty(position = 15, required = true, value = "是否是默认入场人:0-否,1-是", allowableValues = "0,1")
private Boolean isDefault;
} }
...@@ -4,18 +4,18 @@ import io.swagger.annotations.ApiModel; ...@@ -4,18 +4,18 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ApiModel(value = "AdamEntersParam", description = "添加入场人参数") @ApiModel(value = "AdamEntersResult", description = "入场人响应")
@Data @Data
public class AdamEntersResult implements java.io.Serializable { public class AdamEntersResult implements java.io.Serializable {
private static final long serialVersionUID = 5940725094369061032L; private static final long serialVersionUID = 3219448286221952517L;
@ApiModelProperty(position = 10, required = true, value = "入场人名称[50]", example = "Swagger") @ApiModelProperty(position = 10, required = true, value = "入场人名称[50]", example = "Swagger")
private String name; private String name;
@ApiModelProperty(position = 11, required = true, value = "入场人手机号[11]", example = "13100000000") @ApiModelProperty(position = 11, required = true, value = "入场人手机号[11]", example = "13100000000")
private String mobile; private String mobile;
@ApiModelProperty(position = 12, required = true, value = "证件类型1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5") @ApiModelProperty(position = 12, required = true, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5")
private Integer type; private Integer type;
@ApiModelProperty(position = 13, required = true, value = "入场人证件号[11]", example = "110101110001010111") @ApiModelProperty(position = 13, required = true, value = "入场人证件号[11]", example = "110101110001010111")
private String idCard; private String idCard;
@ApiModelProperty(position = 14, required = true, value = "是否是默认入场人:0-否,1-是", allowableValues = "0,1") @ApiModelProperty(position = 14, required = true, value = "是否为默认:0-否,1-是", allowableValues = "0,1")
private Boolean isDefault; private Boolean isDefault;
} }
package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamUserInfoParam", description = "个人资料编辑参数")
@Data
public class AdamUserInfoParam implements java.io.Serializable {
private static final long serialVersionUID = -1084524066864012398L;
@ApiModelProperty(position = 11, required = true, value = "头像[255]")
private String avatar;
@ApiModelProperty(position = 12, required = true, value = "背景[255]")
private String background;
@ApiModelProperty(position = 13, required = true, value = "昵称[32]")
private String nickName;
@ApiModelProperty(position = 14, required = true, value = "性别[32]")
private String sex;
@ApiModelProperty(position = 15, required = true, value = "生日[YYYY-MM-DD]")
private String birthday;
@ApiModelProperty(position = 16, required = true, value = "常住地/区域[100]")
private String area;
@ApiModelProperty(position = 17, required = true, value = "签名[255]")
private String signature;
@ApiModelProperty(position = 18, required = true, value = "标签[500]")
private String tagMe;
}
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamEnters;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamAddressesVo", description = "收获地址")
@Data
public class AdamAddressesVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 5258094625450569125L;
@ApiModelProperty(position = 10, value = "收获地址ID[64]")
private String addrId;
@ApiModelProperty(position = 11, value = "姓名[30]")
private String name;
@ApiModelProperty(position = 12, value = "手机号[11]")
private String phone;
@ApiModelProperty(position = 13, value = "省份[30]")
private String province;
@ApiModelProperty(position = 14, value = "城市[30]")
private String city;
@ApiModelProperty(position = 15, value = "区县[30]")
private String county;
@ApiModelProperty(position = 16, value = "详细地址[100]")
private String address;
@ApiModelProperty(position = 18, value = "是否为默认:0-否,1-是")
private Boolean isDefault;
private static final AdamAddressesVo obj = new AdamAddressesVo();
public static AdamAddressesVo getNew() {
try {
return (AdamAddressesVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamAddressesVo();
}
public AdamAddressesVo copy(AdamAddresses source) {
this.setAddrId(source.getAddressesId());
this.setName(source.getName());
this.setPhone(source.getPhone());
this.setProvince(source.getProvince());
this.setCity(source.getCity());
this.setCounty(source.getCounty());
this.setAddress(source.getAddress());
this.setIsDefault(source.getIsDefault());
return this;
}
}
...@@ -15,11 +15,11 @@ public class AdamEntersVo implements java.io.Serializable, Cloneable { ...@@ -15,11 +15,11 @@ public class AdamEntersVo implements java.io.Serializable, Cloneable {
private String name; private String name;
@ApiModelProperty(position = 12, value = "入场人手机号[11]") @ApiModelProperty(position = 12, value = "入场人手机号[11]")
private String mobile; private String mobile;
@ApiModelProperty(position = 13, value = "证件类型1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证") @ApiModelProperty(position = 13, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证")
private Integer type; private Integer type;
@ApiModelProperty(position = 14, value = "入场人证件号[11]") @ApiModelProperty(position = 14, value = "入场人证件号[11]")
private String idCard; private String idCard;
@ApiModelProperty(position = 15, value = "是否是默认入场人:0-否,1-是") @ApiModelProperty(position = 15, value = "是否为默认:0-否,1-是")
private Boolean isDefault; private Boolean isDefault;
private static final AdamEntersVo obj = new AdamEntersVo(); private static final AdamEntersVo obj = new AdamEntersVo();
......
package com.liquidnet.service.adam.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "ThirdPartInfoVo", description = "用户第三方信息")
@Data
public class AdamThirdPartInfoVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = -3239086191919676121L;
@ApiModelProperty(position = 10, value = "Third Party ID[64]")
private String thirdPartyId;
@ApiModelProperty(position = 11, value = "用户ID[64]")
private String uid;
@ApiModelProperty(position = 12, value = "第三方ID[64]")
private String openId;
@ApiModelProperty(position = 13, value = "昵称[64]")
private String nickname;
@ApiModelProperty(position = 14, value = "头像[255]")
private String avatar;
@ApiModelProperty(position = 14, value = "平台类型[20]")
private String platform;
@ApiModelProperty(position = 14, value = "状态[1-绑定,2-解绑]")
private int state;
private static final AdamThirdPartInfoVo obj = new AdamThirdPartInfoVo();
public static AdamThirdPartInfoVo getNew() {
try {
return (AdamThirdPartInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamThirdPartInfoVo();
}
}
package com.liquidnet.service.adam.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamUserInfoVo", description = "用户详情")
@Data
public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 8479869354894030303L;
@ApiModelProperty(position = 10, value = "用户ID[64]")
private String uid;
@ApiModelProperty(position = 11, value = "昵称[32]")
private String username;
@ApiModelProperty(position = 12, value = "性别[32]")
private String sex;
@ApiModelProperty(position = 13, value = "生日[YYYY-MM-DD]")
private String birthday;
@ApiModelProperty(position = 14, value = "常住地/区域")
private String area;
@ApiModelProperty(position = 15, value = "个性签名")
private String signature;
@ApiModelProperty(position = 16, value = "头像")
private String avatar;
@ApiModelProperty(position = 17, value = "背景图")
private String background;
@ApiModelProperty(position = 18, value = "标签")
private String tagMe;
@ApiModelProperty(position = 19, value = "")
private String rongCloudToken;
// @ApiModelProperty(position = 20, value = "隐私配置")
// private
private static final AdamUserInfoVo obj = new AdamUserInfoVo();
public static AdamUserInfoVo getNew() {
try {
return (AdamUserInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamUserInfoVo();
}
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 收货地址 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
public interface IAdamAddressesService extends IService<AdamAddresses> {
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamCollection;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 收藏 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamCollectionService extends IService<AdamCollection> {
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamDeviceToken;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* TOKEN 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
public interface IAdamDeviceTokenService extends IService<AdamDeviceToken> {
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 实名信息 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamRealNameService extends IService<AdamRealName> {
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户第三方账号信息 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamThirdPartyService extends IService<AdamThirdParty> {
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 正在现场用户信息 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamUserInfoService extends IService<AdamUserInfo> {
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamUser;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamUserService extends IService<AdamUser> {
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 收货地址
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamAddresses implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String addressesId;
private String uid;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String phone;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 区县
*/
private String county;
/**
* 详细地址
*/
private String address;
/**
* 是否为默认:0-否,1-是,第一个默认1
*/
private Boolean isDefault;
/**
* 状态:0-INIT,1-NORMAL,2-INVALID
*/
private Integer state;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private LocalDateTime deletedAt;
private String comment;
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 收藏
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamCollection implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String uid;
private String contentId;
private String contentTitle;
private String contentImg;
private Long duration;
/**
* 收藏类型
*/
private String type;
/**
* 1-正常,2-删除
*/
private Integer state;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* TOKEN
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamDeviceToken implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String uid;
private String android;
private String ios;
private String ipad;
private Integer isLast;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
...@@ -52,12 +52,12 @@ public class AdamEnters implements Serializable { ...@@ -52,12 +52,12 @@ public class AdamEnters implements Serializable {
private String idCard; private String idCard;
/** /**
* 是否是默认入场人:0-否,1-是,客户第一个入场人默认1 * 是否为默认:0-否,1-是,第一个默认1
*/ */
private Boolean isDefault; private Boolean isDefault;
/** /**
* 状态0-INIT,1-NORMAL,2-INVALID * 状态:0-INIT,1-NORMAL,2-INVALID
*/ */
private Integer state; private Integer state;
......
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 实名信息
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamRealName implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String realNameId;
private String uid;
/**
* 1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证
*/
private String type;
/**
* 真实姓名
*/
private String name;
/**
* 证件号码
*/
private String idCard;
/**
* 0-INIT,1-NORMAL,2-INVALID
*/
private Integer state;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 用户第三方账号信息
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamThirdParty implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String uid;
/**
* 第三方ID
*/
private String openId;
/**
* 第三方头像
*/
private String avatar;
/**
* 第三方昵称
*/
private String nickName;
/**
* 平台名称
*/
private String platform;
/**
* 0-INIT,1-NORMAL,2-INVALID
*/
private Integer state;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 用户
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamUser implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String uid;
private String mobile;
private String passwd;
private String payCode;
/**
* 1-NORMAL,2-INVALID
*/
private Integer state;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private LocalDateTime closedAt;
private String comment;
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 用户信息
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamUserInfo implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String uid;
/**
* 昵称
*/
private String nickName;
/**
* 性别
*/
private String sex;
/**
* 生日YYYY-MM-DD
*/
private LocalDate birthday;
/**
* 常住地/区域
*/
private String area;
/**
* 个性签名
*/
private String signature;
/**
* 头像
*/
private String avatar;
/**
* 背景图
*/
private String background;
/**
* 身份二维码
*/
private String qrCode;
/**
* 身份二维码
*/
private String qrPic;
/**
* 音乐标签
*/
private String tagMe;
private String comment;
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 收货地址 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
public interface AdamAddressesMapper extends BaseMapper<AdamAddresses> {
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamCollection;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 收藏 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface AdamCollectionMapper extends BaseMapper<AdamCollection> {
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamDeviceToken;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* TOKEN Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
public interface AdamDeviceTokenMapper extends BaseMapper<AdamDeviceToken> {
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 实名信息 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface AdamRealNameMapper extends BaseMapper<AdamRealName> {
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户第三方账号信息 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface AdamThirdPartyMapper extends BaseMapper<AdamThirdParty> {
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 正在现场用户信息 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface AdamUserInfoMapper extends BaseMapper<AdamUserInfo> {
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
public interface AdamUserMapper extends BaseMapper<AdamUser> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamAddressesMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamCollectionMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamDeviceTokenMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamRealNameMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamThirdPartyMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamUserInfoMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamUserMapper">
</mapper>
...@@ -9,42 +9,46 @@ create table adam_third_party ...@@ -9,42 +9,46 @@ create table adam_third_party
uid varchar(64) default '', uid varchar(64) default '',
open_id varchar(64) comment '第三方ID', open_id varchar(64) comment '第三方ID',
avatar varchar(255) comment '第三方头像', avatar varchar(255) comment '第三方头像',
nickname varchar(64) comment '第三方昵称', nick_name varchar(64) comment '第三方昵称',
platform varchar(20) comment '平台名称', platform varchar(20) comment '平台名称',
state tinyint comment '0-INIT,1-NORMAL,2-INVALID', state tinyint comment '0-INIT,1-NORMAL,2-INVALID',
created_at datetime, created_at datetime,
updated_at datetime updated_at datetime,
comment text
) engine = InnoDB comment '用户第三方账号信息'; ) engine = InnoDB comment '用户第三方账号信息';
create index idx_adam_third_party_open_id on adam_third_party (uid);
create unique index uidx_third_party_uid_open_id on adam_third_party (uid, open_id);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_login; # drop table if exists adam_login;
create table adam_login # create table adam_login
( # (
mid int unsigned auto_increment primary key, # mid int unsigned auto_increment primary key,
mobile varchar(16), # mobile varchar(16),
platform varchar(20) comment '平台名称', # platform varchar(20) comment '平台名称',
entrance varchar(20) comment '入口标记:Wechat、H5、App', # entrance varchar(20) comment '入口标记:Wechat、H5、App',
source varchar(20) comment '来源终端', # source varchar(20) comment '来源终端',
version varchar(20) comment '终端版本', # version varchar(20) comment '终端版本',
client_ip varchar(20), # client_ip varchar(20),
client_area varchar(30), # client_area varchar(30),
created_at datetime # created_at datetime
) engine = InnoDB comment '登录记录'; # ) engine = InnoDB comment '登录记录';
create index idx_adam_login_mobile on adam_login (mobile); # create index idx_login_mobile on adam_login (mobile);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_device_tokens; drop table if exists adam_device_token;
create table adam_device_token create table adam_device_token
( (
mid int unsigned auto_increment primary key, mid int unsigned auto_increment primary key,
uid varchar(64) not null, uid varchar(64) not null,
# user_id varchar(255) null,
android varchar(255) null, android varchar(255) null,
ios varchar(255) null, ios varchar(255) null,
ipad varchar(255) null, ipad varchar(255) null,
is_last tinyint, is_last tinyint,
created_at datetime not null, created_at datetime not null,
updated_at datetime updated_at datetime,
comment text
) engine = InnoDB comment 'TOKEN'; ) engine = InnoDB comment 'TOKEN';
create index idx_device_token_uid on adam_device_token (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_user; drop table if exists adam_user;
create table adam_user create table adam_user
...@@ -58,13 +62,13 @@ create table adam_user ...@@ -58,13 +62,13 @@ create table adam_user
created_at datetime not null, created_at datetime not null,
updated_at datetime, updated_at datetime,
closed_at datetime, closed_at datetime,
is_real tinyint comment '是否实名:0-NO,1-YES', comment text
vip_level tinyint comment '会员标识/级别'
) ENGINE = InnoDB comment '用户'; ) ENGINE = InnoDB comment '用户';
create unique index uidx_adam_user_uid on adam_user (uid);
create unique index uidx_user_uid on adam_user (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_user_info_zz; drop table if exists adam_user_info;
create table adam_user_info_zz create table adam_user_info
( (
mid int unsigned auto_increment primary key, mid int unsigned auto_increment primary key,
uid varchar(64) not null, uid varchar(64) not null,
...@@ -77,24 +81,28 @@ create table adam_user_info_zz ...@@ -77,24 +81,28 @@ create table adam_user_info_zz
background varchar(255) comment '背景图', background varchar(255) comment '背景图',
qr_code varchar(255) comment '身份二维码', qr_code varchar(255) comment '身份二维码',
qr_pic varchar(255) comment '身份二维码', qr_pic varchar(255) comment '身份二维码',
tag_music varchar(500) comment '音乐标签' tag_me varchar(500) comment '音乐标签',
) engine = InnoDB comment '正在现场用户信息'; comment text
create unique index idx_adam_user_info_zz_uid on adam_user_info_zz (uid); ) engine = InnoDB comment '用户信息';
create unique index idx_user_info_uid on adam_user_info (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_real_name; drop table if exists adam_real_name;
create table adam_real_name create table adam_real_name
( (
mid int unsigned auto_increment primary key, mid int unsigned auto_increment primary key,
real_name_id varchar(64) not null,
uid varchar(64) not null, uid varchar(64) not null,
type enum ('1','2','3','4','5') not null default '1' comment '1大陆身份证 2港澳通行证 3台胞证 4护照 5军官证', type enum ('1','2','3','4','5') not null default '1' comment '1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证',
name varchar(20) not null comment '真实姓名', name varchar(20) not null comment '真实姓名',
id_card varchar(30) not null comment '证件号码', id_card varchar(50) not null comment '证件号码',
state tinyint not null comment '0-INIT,1-NORMAL,2-INVALID', state tinyint not null comment '0-INIT,1-NORMAL,2-INVALID',
created_at datetime not null, created_at datetime not null,
updated_at datetime, updated_at datetime,
comment text comment text
) engine = InnoDB comment '实名信息'; ) engine = InnoDB comment '实名信息';
create unique index idx_adam_real_name_uid on adam_real_name (uid);
create unique index idx_real_name_uid on adam_real_name (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_enters; drop table if exists adam_enters;
create table adam_enters create table adam_enters
...@@ -107,77 +115,79 @@ create table adam_enters ...@@ -107,77 +115,79 @@ create table adam_enters
name varchar(50) not null default '' comment '入场人名称', name varchar(50) not null default '' comment '入场人名称',
mobile varchar(20) not null default '' comment '入场人手机号', mobile varchar(20) not null default '' comment '入场人手机号',
id_card varchar(20) not null default '' comment '入场人身份号码,或护照号码', id_card varchar(20) not null default '' comment '入场人身份号码,或护照号码',
is_default boolean not null default false comment '是否是默认入场人:0-否,1-是,客户第一个入场人默认1', is_default boolean not null default false comment '是否为默认:0-否,1-是,第一个入默认1',
# is_certification enum ('yes','no') not null default 'no' comment '入场人的身份证号是否认证', # is_certification enum ('yes','no') not null default 'no' comment '入场人的身份证号是否认证',
state tinyint not null comment '状态0-INIT,1-NORMAL,2-INVALID', state tinyint not null comment '状态:0-INIT,1-NORMAL,2-INVALID',
created_at datetime not null, created_at datetime not null,
updated_at datetime, updated_at datetime,
deleted_at datetime, deleted_at datetime,
comment text comment text
) engine = InnoDB comment ='入场人'; ) engine = InnoDB comment ='入场人';
create unique index uidx_adam_enters_id on adam_enters (enters_id); create unique index uidx_enters_id on adam_enters (enters_id);
create index idx_adam_enters_uid on adam_enters (uid); create index idx_enters_uid on adam_enters (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_addresses; drop table if exists adam_addresses;
create table adam_addresses create table adam_addresses
( (
mid int unsigned auto_increment not null primary key, mid int unsigned auto_increment not null primary key,
# `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id关联',
# `string_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '用户StringID',
addresses_id varchar(64) not null, addresses_id varchar(64) not null,
uid varchar(64) not null, uid varchar(64) not null,
name varchar(255) not null comment '姓名', name varchar(30) not null comment '姓名',
phone varchar(255) not null comment '手机号', phone varchar(30) not null comment '手机号',
province varchar(255) not null comment '省份', province varchar(30) not null comment '省份',
city varchar(255) not null comment '城市', city varchar(30) not null comment '城市',
county varchar(255) not null comment '区县', county varchar(30) not null comment '区县',
address varchar(255) not null comment '详细地址', address varchar(100) not null comment '详细地址',
is_default tinyint not null default 0 comment '0-非默认,1-默认', is_default boolean not null default false comment '是否为默认:0-否,1-是,第一个默认1',
# is_certification enum ('yes','no') not null default 'no' comment '入场人的身份证号是否认证',
state tinyint not null comment '状态:0-INIT,1-NORMAL,2-INVALID',
created_at datetime not null, created_at datetime not null,
updated_at datetime, updated_at datetime,
deleted_at datetime, deleted_at datetime,
comment text comment text
) engine = InnoDB comment '收货地址'; ) engine = InnoDB comment '收货地址';
create unique index uidx_adam_addresses_id on adam_addresses (addresses_id); create unique index uidx_addresses_id on adam_addresses (addresses_id);
create index idx_adam_addresses_uid on adam_addresses (uid); create index idx_addresses_uid on adam_addresses (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_feedback; # drop table if exists adam_feedback;
create table adam_feedback # create table adam_feedback
( # (
mid int unsigned auto_increment not null primary key, # mid int unsigned auto_increment not null primary key,
uid varchar(64) not null, # uid varchar(64) not null,
type enum ('complaints', 'bug', 'order', 'video', 'other') not null comment '反馈类型', # type enum ('complaints', 'bug', 'order', 'video', 'other') not null comment '反馈类型',
comment varchar(255) not null comment '反馈内容', # comment varchar(255) not null comment '反馈内容',
reply_comment varchar(255) null comment '回复内容', # reply_comment varchar(255) null comment '回复内容',
source varchar(255) not null comment '来源终端', # source varchar(255) not null comment '来源终端',
version varchar(255) not null comment '终端版本', # version varchar(255) not null comment '终端版本',
model varchar(255) default '' not null comment '设备', # model varchar(255) default '' not null comment '设备',
status enum ('notreply', 'replied', 'processed') default 'notreply' not null comment '状态', # status enum ('notreply', 'replied', 'processed') default 'notreply' not null comment '状态',
mobile varchar(50) not null comment '手机号', # mobile varchar(50) not null comment '手机号',
admin_id int default 0 not null comment '处理人', # admin_id int default 0 not null comment '处理人',
admin_name varchar(255) default '' not null comment '处理人姓名', # admin_name varchar(255) default '' not null comment '处理人姓名',
admin_time datetime null comment '处理时间', # admin_time datetime null comment '处理时间',
created_at datetime not null, # created_at datetime not null,
updated_at datetime # updated_at datetime
) engine = InnoDB comment '反馈'; # ) engine = InnoDB comment '反馈';
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_collection; drop table if exists adam_collection;
create table adam_collection create table adam_collection
( (
mid int unsigned auto_increment primary key, mid int unsigned auto_increment primary key,
uid varchar(64) not null, uid varchar(64) not null,
duration bigint default 0 null, content_id varchar(64),
content_id int unsigned,
content_title varchar(255), content_title varchar(255),
content_img varchar(255), content_img varchar(255),
type enum ('VIDEO', 'TICKET', 'SITE', 'ARTIST', 'BAND', 'BRAND', 'STYLE', 'GOODS', 'MUSIC', 'SONG') default 'VIDEO' not null comment '收藏类型,默认视频', duration bigint default 0 not null,
status tinyint default 1 not null comment '1正常 2删除', type varchar(30) not null comment '收藏类型:VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG',
state tinyint default 1 not null comment '1-正常,2-删除',
created_at datetime not null, created_at datetime not null,
updated_at datetime updated_at datetime,
comment text
) engine = InnoDB comment '收藏'; ) engine = InnoDB comment '收藏';
create index idx_adam_collection_uid on adam_collection (uid);
create unique index uidx_collection_uid_content_id on adam_collection (uid, content_id);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_disposed; drop table if exists adam_disposed;
create table adam_disposed create table adam_disposed
...@@ -189,13 +199,13 @@ create table adam_disposed ...@@ -189,13 +199,13 @@ create table adam_disposed
content_id int unsigned, content_id int unsigned,
content_title varchar(255), content_title varchar(255),
content_img varchar(255), content_img varchar(255),
type enum ('VIDEO', 'TICKET', 'SITE', 'ARTIST', 'BAND', 'BRAND', 'STYLE', 'GOODS', 'MUSIC', 'SONG') default 'VIDEO' not null comment '收藏类型,默认视频', type varchar(30) not null comment '收藏类型:VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG',
status tinyint default 1 not null comment '1正常 2删除', status tinyint default 1 not null comment '1正常 2删除',
created_at datetime not null, created_at datetime not null,
updated_at datetime updated_at datetime
) engine = InnoDB comment '想去'; ) engine = InnoDB comment '想去';
create index idx_adam_disposed_uid on adam_disposed (uid); create index idx_disposed_uid on adam_disposed (uid);
create index idx_adam_disposed_content on adam_disposed (content_id); create index idx_disposed_content on adam_disposed (content_id);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_member; drop table if exists adam_member;
create table adam_member create table adam_member
...@@ -225,18 +235,18 @@ create table adam_member ...@@ -225,18 +235,18 @@ create table adam_member
drop table if exists adam_member_price; drop table if exists adam_member_price;
create table adam_member_price create table adam_member_price
( (
mid int usingned auto_increment primary key, mid int unsigned auto_increment primary key,
member_price_id varchar(255) comment '会员价格id', member_price_id varchar(255) comment '会员价格id',
member_id int NOT NULL COMMENT '会员种类ID', member_id int NOT NULL COMMENT '会员种类ID',
status tinyint NOT NULL DEFAULT '0' COMMENT '0不可用、1上线中、2已下线', status tinyint NOT NULL DEFAULT '0' COMMENT '0不可用、1上线中、2已下线',
name varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '会员包名称', name varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '会员包名称',
price decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '会员包价格', price decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '会员包价格',
price_fixed decimal(8,2) comment '折扣价', price_fixed decimal(8, 2) comment '折扣价',
days int NOT NULL DEFAULT '0' COMMENT '会员包天数', days int NOT NULL DEFAULT '0' COMMENT '会员包天数',
detail text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '会员包须知', detail text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '会员包须知',
created_at datetime, created_at datetime,
updated_at datetime updated_at datetime
) );
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_member_order; drop table if exists adam_member_order;
create table adam_member_order create table adam_member_order
...@@ -244,7 +254,7 @@ create table adam_member_order ...@@ -244,7 +254,7 @@ create table adam_member_order
mid int unsigned auto_increment primary key, mid int unsigned auto_increment primary key,
order_no varchar(64), order_no varchar(64),
uid varchar(64), uid varchar(64),
mode tinyint comment '购买方式1-buy,2-code', mode tinyint comment '购买方式:1-buy,2-code',
price decimal(8, 2) comment '原价', price decimal(8, 2) comment '原价',
price_paid decimal(8, 2) comment '实际支付', price_paid decimal(8, 2) comment '实际支付',
member_name varchar(64), member_name varchar(64),
......
...@@ -31,13 +31,6 @@ ...@@ -31,13 +31,6 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-sequence</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId> <artifactId>spring-boot-starter-data-mongodb</artifactId>
......
package com.liquidnet.service.adam.config;
import com.liquidnet.common.swagger.config.Swagger2Config;
import org.springframework.context.annotation.Configuration;
/**
* @author AnJiabin <jiabin.an@lightnet.io>
* @version V1.0
* @Description: TODO
* @class: Swagger2Config
* @Package com.liquidnet.stellar.configuration
* @Copyright: LightNet @ Copyright (c) 2020
* @date 2020/9/10 13:55
*/
@Configuration
class AdamSwagger2Config extends Swagger2Config {
}
package com.liquidnet.service.adam.config.swagger;
import com.liquidnet.common.swagger.config.SwaggerApiTags;
/**
* Swagger tags标签管理
*
* @author Li Chen
*/
public interface AdamSwaggerApiTags extends SwaggerApiTags {
}
package com.liquidnet.service.adam.config.swagger;
import com.liquidnet.common.swagger.config.SwaggerApiVersionConstant;
/**
* swagger-api版本号常量类
*
* @author lichen
*/
public interface AdamSwaggerApiVersionConstant extends SwaggerApiVersionConstant {
}
package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.AdamAddressesParam;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 收货地址 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Api(tags = "收获地址")
@Slf4j
@RestController
@RequestMapping("addr")
public class AdamAddressesController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "添加收获地址")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamAddressesParam parameter) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "收获地址列表")
@GetMapping("list")
public ResponseDto<List<AdamAddressesVo>> list() {
// TODO: 2021/4/29 获取登录UID
String uid = "1";
List<AdamAddressesVo> voList = new ArrayList<>();
voList.add(AdamAddressesVo.getNew());
voList.add(AdamAddressesVo.getNew());
// TODO: 2021/5/10
return ResponseDto.success(voList);
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "设置默认收货地址")
@PostMapping("def/{addrId}")
public ResponseDto<Object> def(@PathVariable String addrId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "编辑收获地址")
@PostMapping("edit")
public ResponseDto<Object> edit(@RequestBody AdamAddressesParam parameter) {
// TODO: 2021/4/28 校验、获取登录UID
String uid = "1";
// TODO: 2021/5/11
return ResponseDto.success();
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "删除收获地址")
@PostMapping("del/{addrId}")
public ResponseDto<Object> del(@PathVariable String addrId) {
// TODO: 2021/4/28 校验、获取登录UID
String uid = "1";
// TODO: 2021/5/11
return ResponseDto.success();
}
}
package com.liquidnet.service.adam.controller;
import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.AdamCollectParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 收藏 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Api(tags = "收藏")
@Slf4j
@RestController
@RequestMapping("collect")
public class AdamCollectionController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "添加收藏")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamCollectParam parameter) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "删除收藏")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
})
@PostMapping("del")
public ResponseDto<Object> del(@RequestParam String type, @RequestParam String contentId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "收藏列表 -> 返回结构待定:遵循原PHP.API查询Collection内容")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "pageNum", value = "页展示条数"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "pageSize", value = "页码"),
})
@PostMapping("list")
public ResponseDto<PageInfo> list(@RequestParam String type, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "获取特定内容的收藏用户列表 -> 返回结构待定")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
})
@PostMapping("list/user")
public ResponseDto<Object> listUser(@RequestParam String type, @RequestParam String contentId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "获取收藏状态")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
})
@GetMapping("state")
public ResponseDto<Object> state(@RequestParam String type, @RequestParam String contentId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
}
}
...@@ -29,28 +29,12 @@ import java.util.List; ...@@ -29,28 +29,12 @@ import java.util.List;
@Api(tags = "入场人") @Api(tags = "入场人")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/enters") @RequestMapping("enters")
public class AdamEntersController { public class AdamEntersController {
@Autowired @Autowired
IAdamEntersService adamEntersService; IAdamEntersService adamEntersService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "入场人列表")
@GetMapping("list")
public ResponseDto<List<AdamEntersVo>> list() {
// TODO: 2021/4/29 获取登录UID
String uid = "1";
List<AdamEntersVo> voList = new ArrayList<>();
adamEntersService.list(uid).forEach(i -> {
voList.add(AdamEntersVo.getNew().copy(i));
});
return ResponseDto.success(voList);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "添加入场人") @ApiOperation(value = "添加入场人")
@PostMapping("add") @PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamEntersParam parameter) { public ResponseDto<Object> add(@RequestBody AdamEntersParam parameter) {
...@@ -70,20 +54,37 @@ public class AdamEntersController { ...@@ -70,20 +54,37 @@ public class AdamEntersController {
return ResponseDto.success(); return ResponseDto.success();
} }
@ApiOperationSupport(order = 2)
@ApiOperation(value = "入场人列表")
@GetMapping("list")
public ResponseDto<List<AdamEntersVo>> list() {
// TODO: 2021/4/29 获取登录UID
String uid = "1";
List<AdamEntersVo> voList = new ArrayList<>();
adamEntersService.list(uid).forEach(i -> {
voList.add(AdamEntersVo.getNew().copy(i));
});
return ResponseDto.success(voList);
}
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@ApiOperation(value = "入场人详情") @ApiOperation(value = "设置默认入场人")
@PostMapping("query/{id}") @PostMapping("def/{entersId}")
public ResponseDto<AdamEntersVo> query(@PathVariable(name = "id") String entersId) { public ResponseDto<Object> def(@PathVariable String entersId) {
// TODO: 2021/4/28 校验、获取登录UID // TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1"; String uid = "1";
AdamEnters info = adamEntersService.query(uid, entersId); // TODO: 2021/5/10
return ResponseDto.success(AdamEntersVo.getNew().copy(info)); return ResponseDto.success();
} }
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
@ApiOperation(value = "入场人编辑") @ApiOperation(value = "编辑入场人")
@PostMapping("edit") @PostMapping("edit")
public ResponseDto<Object> edit(@RequestBody AdamEntersParam parameter) { public ResponseDto<Object> edit(@RequestBody AdamEntersParam parameter) {
// TODO: 2021/4/28 校验、获取登录UID // TODO: 2021/4/28 校验、获取登录UID
...@@ -101,9 +102,9 @@ public class AdamEntersController { ...@@ -101,9 +102,9 @@ public class AdamEntersController {
} }
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
@ApiOperation(value = "入场人删除") @ApiOperation(value = "删除入场人")
@PostMapping("del/{id}") @PostMapping("del/{entersId}")
public ResponseDto<Object> del(@PathVariable(name = "id") String entersId) { public ResponseDto<Object> del(@PathVariable String entersId) {
// TODO: 2021/4/28 校验、获取登录UID // TODO: 2021/4/28 校验、获取登录UID
String uid = "1"; String uid = "1";
...@@ -111,4 +112,16 @@ public class AdamEntersController { ...@@ -111,4 +112,16 @@ public class AdamEntersController {
return ResponseDto.success(); return ResponseDto.success();
} }
// @ApiOperationSupport(order = 5)
// @ApiOperation(value = "入场人详情")
// @PostMapping("query/{id}")
// public ResponseDto<AdamEntersVo> query(@PathVariable(name = "id") String entersId) {
// // TODO: 2021/4/28 校验、获取登录UID
// String uid = "1";
//
// AdamEnters info = adamEntersService.query(uid, entersId);
//
// return null == info ? ResponseDto.success() : ResponseDto.success(AdamEntersVo.getNew().copy(info));
// }
} }
package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.JwtUtil;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@Api(tags = "用户登录")
@Slf4j
@RestController
@RequestMapping("login")
public class AdamUserAuthController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "手机号密码登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", dataType = "String", name = "password", value = "密码"),
})
@PostMapping(value = {""})
public ResponseDto<Object> loginByPwd(@RequestParam String mobile, @RequestParam String password) {
log.info("mobile:{},pwd:{}", mobile, password);
Map<String, Object> claimsMap = new HashMap<>(), rstMap = new HashMap<>();
claimsMap.put("username", "zhanggb");
claimsMap.put("uid", "2021");
String token = JwtUtil.create(claimsMap);
log.info("token:{}", token);
rstMap.put("token", token);
rstMap.put("userInfo", AdamUserInfoVo.getNew());
rstMap.put("thiredPartInfo", AdamThirdPartInfoVo.getNew());
// TODO: 2021/5/10 会员信息
rstMap.put("cardsInfo", null);
return ResponseDto.success(rstMap);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "发送验证码")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
})
@GetMapping(value = {"send/{mobile}"})
public ResponseDto<Object> sendSms(@PathVariable String mobile) {
log.info("send to mobile:{}", mobile);
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "手机号验证码登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "验证码"),
})
@PostMapping(value = {"sms"})
public ResponseDto<Object> loginBySms(@RequestParam String mobile, @RequestParam String code) {
log.info("mobile:{},pwd:{}", mobile, code);
Map<String, Object> claimsMap = new HashMap<>(), rstMap = new HashMap<>();
claimsMap.put("username", "zhanggb");
claimsMap.put("uid", "2021");
String token = JwtUtil.create(claimsMap);
log.info("token:{}", token);
rstMap.put("token", token);
rstMap.put("userInfo", AdamUserInfoVo.getNew());
rstMap.put("thiredPartInfo", AdamThirdPartInfoVo.getNew());
// TODO: 2021/5/10 会员信息
rstMap.put("cardsInfo", null);
return ResponseDto.success(token);
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "手机号一键登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "accessToken", value = "访问令牌"),
})
@PostMapping(value = {"tpa/mobile"})
public ResponseDto<Object> loginByTpaMobile(@RequestParam String accessToken) {
log.info("login by mobile access token:{}", accessToken);
// TODO: 2021/5/10
Map<String, Object> claimsMap = new HashMap<>(), rstMap = new HashMap<>();
claimsMap.put("username", "zhanggb");
claimsMap.put("uid", "2021");
String token = JwtUtil.create(claimsMap);
log.info("token:{}", token);
rstMap.put("token", token);
rstMap.put("userInfo", AdamUserInfoVo.getNew());
rstMap.put("thiredPartInfo", AdamThirdPartInfoVo.getNew());
// TODO: 2021/5/10 会员信息
rstMap.put("cardsInfo", null);
return ResponseDto.success(rstMap);
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "第三方账号登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "openId", value = "第三方OPENID"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "nickName", value = "昵称"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "avatar", value = "头像"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "平台类型", allowableValues = "WEIBO,WECHAT,QQ"),
})
@PostMapping(value = {"tpa"})
public ResponseDto<Object> loginByTpa(@RequestParam String openId, @RequestParam String nickname,
@RequestParam String avatar, @RequestParam String platform) {
log.info("login by tpa openId:{}, nickname:{}, avatar: {}, platform:{}", openId, nickname, avatar, platform);
// TODO: 2021/5/10
Map<String, Object> claimsMap = new HashMap<>(), rstMap = new HashMap<>();
claimsMap.put("username", "zhanggb");
claimsMap.put("uid", "2021");
String token = JwtUtil.create(claimsMap);
log.info("token:{}", token);
rstMap.put("token", token);
rstMap.put("userInfo", AdamUserInfoVo.getNew());
rstMap.put("thiredPartInfo", AdamThirdPartInfoVo.getNew());
// TODO: 2021/5/10 会员信息
rstMap.put("cardsInfo", null);
return ResponseDto.success(rstMap);
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "第三方账号注册")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "openId", value = "第三方OPENID"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "nickname", value = "昵称"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "avatar", value = "头像"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "平台类型", allowableValues = "WEIBO,WECHAT,QQ"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "验证码"),
})
@PostMapping(value = {"tpa/reg"})
public ResponseDto<Object> loginByTpaRegister(@RequestParam String openId, @RequestParam String nickname,
@RequestParam String avatar, @RequestParam String platform,
@RequestParam String mobile, @RequestParam String code) {
log.info("login by tpa openId:{},nickname:{},avatar:{},platform:{},mobile:{},code:{}",
openId, nickname, avatar, platform, mobile, code);
// TODO: 2021/5/10
Map<String, Object> claimsMap = new HashMap<>(), rstMap = new HashMap<>();
claimsMap.put("username", "zhanggb");
claimsMap.put("uid", "2021");
String token = JwtUtil.create(claimsMap);
log.info("token:{}", token);
rstMap.put("token", token);
rstMap.put("userInfo", AdamUserInfoVo.getNew());
rstMap.put("thiredPartInfo", AdamThirdPartInfoVo.getNew());
// TODO: 2021/5/10 会员信息
rstMap.put("cardsInfo", null);
return ResponseDto.success(rstMap);
}
}
package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "用户中心")
@Slf4j
@RestController
@RequestMapping("user")
public class AdamUserController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "个人资料编辑")
@PostMapping(value = {"edit"})
public ResponseDto<AdamUserInfoVo> edit(@RequestBody AdamUserInfoParam adamUserInfoParam) {
log.info("adamUserInfoParam:{}", JsonUtils.toJson(adamUserInfoParam));
// TODO: 2021/5/10
return ResponseDto.success(AdamUserInfoVo.getNew());
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "手机号修改")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "新手机号"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "验证码"),
})
@PostMapping(value = {"edit/mobile"})
public ResponseDto<Object> editMobile(@RequestParam String mobile, @RequestParam String code) {
log.info("mobile:{},code:{}", mobile, code);
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "密码修改")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "password", value = "密码"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "验证码"),
})
@PostMapping(value = {"edit/pwd"})
public ResponseDto<Object> editPwd(@RequestParam String mobile, @RequestParam String password, @RequestParam String code) {
log.info("mobile:{},password:{},code:{}", mobile, password, code);
// TODO: 2021/5/10
return ResponseDto.success();
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "绑定第三方账号")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "openId", value = "第三方OPENID"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "nickName", value = "昵称"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "avatar", value = "头像"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "平台类型", allowableValues = "WEIBO,WECHAT,QQ"),
})
@PostMapping(value = {"tpa/bind"})
public ResponseDto<List<AdamThirdPartInfoVo>> bindTpa(@RequestParam String openId, @RequestParam String nickname,
@RequestParam String avatar, @RequestParam String platform) {
log.info("bind tpa openId:{}, nickname:{}, avatar: {}, platform:{}", openId, nickname, avatar, platform);
// TODO: 2021/5/10
List<AdamThirdPartInfoVo> voList = new ArrayList<>();
voList.add(AdamThirdPartInfoVo.getNew());
return ResponseDto.success(voList);
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "解绑第三方账号")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "平台类型", allowableValues = "WEIBO,WECHAT,QQ"),
})
@PostMapping(value = {"tpa/unbind/{platform}"})
public ResponseDto<List<AdamThirdPartInfoVo>> unbindTpa(@PathVariable String platform) {
log.info("unbind tpa.platform:{}", platform);
// TODO: 2021/5/10
List<AdamThirdPartInfoVo> voList = new ArrayList<>();
voList.add(AdamThirdPartInfoVo.getNew());
return ResponseDto.success(voList);
}
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.mapper.AdamAddressesMapper;
import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 收货地址 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Service
public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, AdamAddresses> implements IAdamAddressesService {
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamCollection;
import com.liquidnet.service.adam.mapper.AdamCollectionMapper;
import com.liquidnet.service.adam.service.IAdamCollectionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 收藏 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Service
public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, AdamCollection> implements IAdamCollectionService {
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamDeviceToken;
import com.liquidnet.service.adam.mapper.AdamDeviceTokenMapper;
import com.liquidnet.service.adam.service.IAdamDeviceTokenService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* TOKEN 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Service
public class AdamDeviceTokenServiceImpl extends ServiceImpl<AdamDeviceTokenMapper, AdamDeviceToken> implements IAdamDeviceTokenService {
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.mapper.AdamRealNameMapper;
import com.liquidnet.service.adam.service.IAdamRealNameService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 实名信息 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Service
public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, AdamRealName> implements IAdamRealNameService {
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.liquidnet.service.adam.mapper.AdamThirdPartyMapper;
import com.liquidnet.service.adam.service.IAdamThirdPartyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户第三方账号信息 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Service
public class AdamThirdPartyServiceImpl extends ServiceImpl<AdamThirdPartyMapper, AdamThirdParty> implements IAdamThirdPartyService {
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.liquidnet.service.adam.mapper.AdamUserInfoMapper;
import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 正在现场用户信息 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Service
public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, AdamUserInfo> implements IAdamUserInfoService {
}
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.adam.service.IAdamUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-10
*/
@Service
public class AdamUserServiceImpl extends ServiceImpl<AdamUserMapper, AdamUser> implements IAdamUserService {
}
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 轮播图 banner 搜索 需要的参数 前端api
* </p>
* @author jiangxiulong
* @since 2021-05-10 11:19 上午
*/
@Data
public class BannersApiSearchParam implements Serializable {
@ApiModelProperty(value = "展示的位置", example = "11")
private String position;
@ApiModelProperty(value = "当前用户省份code", example = "4")
private String provinceCode;
}
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PerformanceAdminListParam {
@ApiModelProperty(value = "演出名称", example = "")
private String title;
@ApiModelProperty(value = "-2全部状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退", example = "-2")
private int status;
@ApiModelProperty(value = "城市名称", example = "")
private String cityName;
@ApiModelProperty(value = "-2全部,0审核中,2审核拒绝", example = "0")
private int auditStatus;
@ApiModelProperty(value = "停售时间", example = "2000-01-01 12:00:00")
private String stopSellTime;
@ApiModelProperty(value = "页数", example = "0")
private int page;
@ApiModelProperty(value = "数量", example = "20")
private int size;
@ApiModelProperty(value = "排序字段", hidden = true)
private String orderItem;
@ApiModelProperty(value = "排序方式", hidden = true)
private String orderSc;
}
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class PerformancePartnerListParam {
@ApiModelProperty(value = "演出名称", example = "")
private String title;
@ApiModelProperty(value = "-2全部(不包括未提交)0未发布演出列表;3审核通过;6上线;7下架;8已结束;", example = "0")
private int status;
@ApiModelProperty(value = "-2全部,-1未提交审核,0审核中,1审核通过,2审核拒绝", example = "0")
private int auditStatus;
@ApiModelProperty(value = "演出开始时间", example = "2000-01-01 12:00:00")
private String timeStart;
@ApiModelProperty(value = "演出结束时间", example = "2000-01-01 12:00:00")
private String timeEnd;
@ApiModelProperty(value = "排序类型 1创建时间倒序 2创建时间正序 3演出时间倒序 4演出时间正序", example = "0")
private int orderType;
@ApiModelProperty(value = "停售时间", example = "2000-01-01 12:00:00")
private String stopSellTime;
@ApiModelProperty(value = "页数", example = "0")
private int page;
@ApiModelProperty(value = "数量", example = "20")
private int size;
@ApiModelProperty(value = "排序字段", hidden = true)
private String orderItem;
@ApiModelProperty(value = "排序方式", hidden = true)
private String orderSc;
public void setOrderType(int orderType) {
this.orderType = orderType;
switch (orderType) {
case 1: {
orderItem = "created_at";
orderSc = "desc";
}
case 2: {
orderItem = "created_at";
orderSc = "asc";
}
case 3: {
orderItem = "time_start";
orderSc = "desc";
}
case 4: {
orderItem = "time_start";
orderSc = "asc";
}
}
}
}
...@@ -16,6 +16,9 @@ public class PerformanceStep1Param implements Serializable { ...@@ -16,6 +16,9 @@ public class PerformanceStep1Param implements Serializable {
@ApiModelProperty(value = "封面图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png") @ApiModelProperty(value = "封面图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
private String imgPoster; private String imgPoster;
@ApiModelProperty(value = "第三方id", example = "0")
private String merchantId;
@ApiModelProperty(value = "演出名称", example = "测试演出") @ApiModelProperty(value = "演出名称", example = "测试演出")
private String title; private String title;
......
...@@ -23,9 +23,6 @@ public class PerformanceStep2Param implements Serializable { ...@@ -23,9 +23,6 @@ public class PerformanceStep2Param implements Serializable {
@ApiModelProperty(value = "是否提交 1提交 0不提交(不验证参数)", example = "0") @ApiModelProperty(value = "是否提交 1提交 0不提交(不验证参数)", example = "0")
private int isSubmit; private int isSubmit;
@ApiModelProperty(value = "第三方id", example = "0")
private String merchantId;
@ApiModelProperty(value = "场次数据",hidden = true) @ApiModelProperty(value = "场次数据",hidden = true)
private List<TicketTimesTicketCreatePartnerVo> ticketTimes; private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
} }
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -17,6 +18,7 @@ import java.util.List; ...@@ -17,6 +18,7 @@ import java.util.List;
*/ */
@Data @Data
@ApiModel
public class BannersVo implements Serializable { public class BannersVo implements Serializable {
@ApiModelProperty(value = "Banner主键ID") @ApiModelProperty(value = "Banner主键ID")
private String bannersId; private String bannersId;
......
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel
public class PagerVo<T> { public class PagerVo<T> {
@ApiModelProperty(value = "返回记录集合") @ApiModelProperty(value = "返回记录集合")
......
...@@ -3,15 +3,16 @@ package com.liquidnet.service.kylin.dto.vo; ...@@ -3,15 +3,16 @@ package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations; import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus; import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List;
@ApiModel
@Data @Data
public class PerformanceVo { public class PerformanceVo {
...@@ -29,7 +30,6 @@ public class PerformanceVo { ...@@ -29,7 +30,6 @@ public class PerformanceVo {
private String price; private String price;
@ApiModelProperty(value = "开售时间") @ApiModelProperty(value = "开售时间")
private String sellTime; private String sellTime;
@ApiModelProperty(value = "城市id") @ApiModelProperty(value = "城市id")
private String cityId; private String cityId;
@ApiModelProperty(value = "场地id") @ApiModelProperty(value = "场地id")
......
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinTicketTimes; import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,6 +9,7 @@ import java.time.format.DateTimeFormatter; ...@@ -8,6 +9,7 @@ import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel
public class TicketTimesVo { public class TicketTimesVo {
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
......
...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.dto.vo; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinTicketRelations; import com.liquidnet.service.kylin.entity.KylinTicketRelations;
import com.liquidnet.service.kylin.entity.KylinTicketStatus; import com.liquidnet.service.kylin.entity.KylinTicketStatus;
import com.liquidnet.service.kylin.entity.KylinTickets; import com.liquidnet.service.kylin.entity.KylinTickets;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -10,6 +11,7 @@ import java.math.BigDecimal; ...@@ -10,6 +11,7 @@ import java.math.BigDecimal;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
@Data @Data
@ApiModel
public class TicketVo { public class TicketVo {
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
......
package com.liquidnet.service.kylin.dto.vo.partner;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PerformancePartnerListVo {
//演出数据
@ApiModelProperty(value = "主键id")
private String performancesId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "开演时间")
private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "总库存")
private int totalGeneral;
@ApiModelProperty(value = "销售库存")
private int saleGeneral;
@ApiModelProperty(value = "总销售金额")
private int totalSalePrice;
@ApiModelProperty(value = "剩余库存")
private int surplusGeneral;
@ApiModelProperty(value = "演出状态")
private int status;
@ApiModelProperty(value = "提交审核状态 -1未提交审核,0提交审核,1审核通过,2审核拒绝")
private int auditStatus;
@ApiModelProperty(value = "拒绝理由")
private String rejectTxt;
@ApiModelProperty(value = "创建时间")
private String createdAt;
@ApiModelProperty(value = "返回数据赋值",hidden = true)
public void setStatus0Data(PerformanceCreateParam item){
this.performancesId=item.getPerformancesId();
this.title=item.getTitle();
this.timeStart=item.getTimeStart();
this.timeEnd=item.getTimeEnd();
this.totalGeneral=0;
this.saleGeneral=0;
this.totalSalePrice=0;
this.status=0;
this.auditStatus=-1;
this.rejectTxt="";
this.createdAt=item.getCreatedAt();
}
}
package com.liquidnet.service.kylin.service.admin; package com.liquidnet.service.kylin.service.admin;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
...@@ -17,4 +22,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc ...@@ -17,4 +22,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
PerformanceCreatePartnerVo performanceDetails(String performancesId); PerformanceCreatePartnerVo performanceDetails(String performancesId);
boolean performanceAudit(String performancesId,int status ,String rejectTxt); boolean performanceAudit(String performancesId,int status ,String rejectTxt);
PageInfo<PerformanceAdminListDao> getList(PerformanceAdminListParam performanceAdminListParam);
} }
package com.liquidnet.service.kylin.service.partner; package com.liquidnet.service.kylin.service.partner;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam; import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
...@@ -20,11 +23,13 @@ public interface IKylinPerformancesPartnerService extends IService<KylinPerforma ...@@ -20,11 +23,13 @@ public interface IKylinPerformancesPartnerService extends IService<KylinPerforma
boolean createStep2(PerformanceStep2Param step1Param); boolean createStep2(PerformanceStep2Param step1Param);
PerformanceStep1Param getStep1(String performancesId); PerformanceCreateParam getStep1(String performancesId);
PerformanceStep2Param getStep2(String performancesId); PerformanceStep2Param getStep2(String performancesId);
boolean onLinePerformance(String performancesId); boolean onLinePerformance(String performancesId);
boolean outLinePerformance(String performancesId); boolean outLinePerformance(String performancesId);
PageInfo<PerformancePartnerListDao> getList(PerformancePartnerListParam performancePartnerListParam);
} }
package com.liquidnet.service.kylin.dao;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PerformanceAdminListDao {
//演出数据
@ApiModelProperty(value = "主键id")
private String performancesId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "开演时间")
private String timeStart;
@ApiModelProperty(value = "主办方")
private String sponsor;
@ApiModelProperty(value = "演出状态")
private int status;
@ApiModelProperty(value = "提审时间")
private String auditTime;
@ApiModelProperty(value = "提交审核状态 -1未提交审核,0提交审核,1审核通过,2审核拒绝")
private int auditStatus;
@ApiModelProperty(value = "总库存")
private int totalGeneral;
@ApiModelProperty(value = "销售库存")
private int saleGeneral;
@ApiModelProperty(value = "总销售金额")
private int totalSalePrice;
@ApiModelProperty(value = "剩余库存")
private int surplusGeneral;
@ApiModelProperty(value = "拒绝理由")
private String rejectTxt;
@ApiModelProperty(value = "创建时间")
private String createdAt;
// 提审账号
}
package com.liquidnet.service.kylin.dao;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PerformancePartnerListDao {
//演出数据
@ApiModelProperty(value = "主键id")
private String performancesId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "开演时间")
private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "总库存")
private int totalGeneral;
@ApiModelProperty(value = "销售库存")
private int saleGeneral;
@ApiModelProperty(value = "总销售金额")
private int totalSalePrice;
@ApiModelProperty(value = "总销售金额")
private int surplusGeneral;
@ApiModelProperty(value = "演出状态")
private int status;
@ApiModelProperty(value = "提交审核状态 -1未提交审核,0提交审核,1审核通过,2审核拒绝")
private int auditStatus;
@ApiModelProperty(value = "拒绝理由")
private String rejectTxt;
@ApiModelProperty(value = "创建时间")
private String createdAt;
}
...@@ -134,6 +134,11 @@ public class KylinPerformances implements Serializable { ...@@ -134,6 +134,11 @@ public class KylinPerformances implements Serializable {
*/ */
private LocalDateTime timeEnd; private LocalDateTime timeEnd;
/**
* 提审时间
*/
private LocalDateTime auditTime;
/** /**
* 拒绝理由 * 拒绝理由
*/ */
......
package com.liquidnet.service.kylin.mapper; package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.dao.FieldMisListDao;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
* 演出 Mapper 接口 * 演出 Mapper 接口
...@@ -13,4 +19,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +19,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> { public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
//列表
List<PerformancePartnerListDao> partnerPerformanceList(Map<String,Object> map);
//列表
List<PerformanceAdminListDao> misPerformanceList(Map<String,Object> map);
} }
...@@ -2,4 +2,184 @@ ...@@ -2,4 +2,184 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.KylinPerformancesMapper"> <mapper namespace="com.liquidnet.service.kylin.mapper.KylinPerformancesMapper">
<resultMap id="partnerPerformanceListResult" type="com.liquidnet.service.kylin.dao.PerformancePartnerListDao">
<result column="performances_id" property="performancesId"/>
<result column="title" property="title"/>
<result column="time_start" property="timeStart"/>
<result column="time_end" property="timeEnd"/>
<result column="total_general" property="totalGeneral"/>
<result column="sale_general" property="saleGeneral"/>
<result column="total_sale_price" property="totalSalePrice"/>
<result column="surplus_general" property="surplusGeneral"/>
<result column="status" property="status"/>
<result column="audit_status" property="auditStatus"/>
<result column="reject_txt" property="rejectTxt"/>
<result column="created_at" property="createdAt"/>
</resultMap>
<resultMap id="misPerformanceListResult" type="com.liquidnet.service.kylin.dao.PerformanceAdminListDao">
<result column="performances_id" property="performancesId"/>
<result column="title" property="title"/>
<result column="time_start" property="timeStart"/>
<result column="time_end" property="timeEnd"/>
<result column="total_general" property="totalGeneral"/>
<result column="sale_general" property="saleGeneral"/>
<result column="total_sale_price" property="totalSalePrice"/>
<result column="surplus_general" property="surplusGeneral"/>
<result column="status" property="status"/>
<result column="audit_status" property="auditStatus"/>
<result column="reject_txt" property="rejectTxt"/>
<result column="sort" property="sort"/>
<result column="audit_time" property="auditTime"/>
<result column="sponsor" property="sponsor"/>
<result column="created_at" property="createdAt"/>
</resultMap>
<!-- 列表封装 -->
<sql id="partner_performance_list_Column">
</sql>
<!-- 第三方演出列表 (不包含退票信息) -->
<select id="partnerPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult">
SELECT
p.performances_id ,
p.title ,
p.time_start ,
p.time_end ,
t.total_general ,
IFNULL(ot.sale_general , 0) AS 'sale_general' ,
IFNULL(ot.total_sale_price , 0) AS 'total_sale_price' ,
IFNULL(
(
t.total_general - ot.sale_general
) ,
0
) AS 'surplus_general' ,
ps.`status` ,
ps.audit_status ,
p.reject_txt ,
p.created_at
FROM
kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id
LEFT JOIN kylin_performance_relations AS pr ON p.performances_id = pr.performance_id
LEFT JOIN(
SELECT
ttr.performance_id ,
ts.ticket_id ,
sum(ts.total_general) AS 'total_general'
FROM
kylin_ticket_status AS ts
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = ts.ticket_id
LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id
) AS t ON p.performances_id = t.performance_id
LEFT JOIN(
SELECT
sum(ot.number) AS 'sale_general' ,
sum(ot.price_actual) AS 'total_sale_price' ,
ote.performance_id AS 'performance_id'
FROM
kylin_order_tickets AS ot
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id
WHERE
ots.`status` = 0
OR ots.`status` = 1
) AS ot ON ot.performance_id = p.performances_id
<where>
<if test="title!=''">
AND title LIKE LIKE concat('%', #{title}, '%')
</if>
<if test="status!='-2'">
AND ps.STATUS = #{status}
</if>
<if test="auditStatus!='-2'">
AND ps.audit_status = #{auditStatus}
</if>
<if test="timeStart!=''">
AND p.time_start BETWEEN #{timeStart} AND #{timeEnd}
</if>
<if test="stopSellTime!=''">
AND p.time_end LIKE concat('%', #{stopSellTime}, '%')
</if>
</where>
ORDER BY #{orderItem} #{orderSc}
</select>
<!-- Mis演出列表 (不包含退票信息) -->
<select id="misPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult">
SELECT
p.performances_id ,
p.sponsor,
p.audit_time,
p.sort,
p.title ,
p.time_start ,
p.time_end ,
t.total_general ,
IFNULL(ot.sale_general , 0) AS 'sale_general' ,
IFNULL(ot.total_sale_price , 0) AS 'total_sale_price' ,
IFNULL(
(
t.total_general - ot.sale_general
) ,
0
) AS 'surplus_general' ,
ps.`status` ,
ps.audit_status ,
p.reject_txt ,
p.created_at
FROM
kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id
LEFT JOIN kylin_performance_relations AS pr ON p.performances_id = pr.performance_id
LEFT JOIN(
SELECT
ttr.performance_id ,
ts.ticket_id ,
sum(ts.total_general) AS 'total_general'
FROM
kylin_ticket_status AS ts
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = ts.ticket_id
LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id
) AS t ON p.performances_id = t.performance_id
LEFT JOIN(
SELECT
sum(ot.number) AS 'sale_general' ,
sum(ot.price_actual) AS 'total_sale_price' ,
ote.performance_id AS 'performance_id'
FROM
kylin_order_tickets AS ot
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id
WHERE
ots.`status` = 0
OR ots.`status` = 1
) AS ot ON ot.performance_id = p.performances_id
<where>
<if test="title!=''">
AND title LIKE LIKE concat('%', #{title}, '%')
</if>
<if test="cityName!=''">
AND city_name LIKE LIKE concat('%', #{cityName}, '%')
</if>
<if test="status!='-2'">
AND ps.STATUS = #{status}
</if>
<if test="status=='-2'">
AND ps.STATUS >= 3
</if>
<if test="auditStatus!='-2'">
AND ps.audit_status = #{auditStatus}
</if>
<if test="auditStatus=='-2'">
AND (ps.audit_status = 0 or ps.audit_status = 2)
</if>
<if test="stopSellTime!=''">
AND p.time_end LIKE concat('%', #{stopSellTime}, '%')
</if>
</where>
ORDER BY #{orderItem} #{orderSc}
</select>
</mapper> </mapper>
...@@ -133,6 +133,7 @@ CREATE TABLE `kylin_performances` ...@@ -133,6 +133,7 @@ CREATE TABLE `kylin_performances`
`notice_image` text DEFAULT NULL COMMENT '购票须知', `notice_image` text DEFAULT NULL COMMENT '购票须知',
`time_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '演出开始时间', `time_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '演出开始时间',
`time_end` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '演出结束时间', `time_end` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '演出结束时间',
`audit_time` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '提审时间',
`reject_txt` varchar(255) NOT NULL DEFAULT '' COMMENT '拒绝理由', `reject_txt` varchar(255) NOT NULL DEFAULT '' COMMENT '拒绝理由',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '权重 高则在上', `sort` int(11) NOT NULL DEFAULT 0 COMMENT '权重 高则在上',
`comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment', `comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment',
......
...@@ -18,14 +18,6 @@ ...@@ -18,14 +18,6 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<!-- api -->
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-sequence</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- common --> <!-- common -->
<dependency> <dependency>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
......
package com.liquidnet.service.kylin.config;
import com.liquidnet.common.swagger.config.Swagger2Config;
import org.springframework.context.annotation.Configuration;
/**
* ExampleSwagger2Config.class
*
* @author zhanggb
* Created by IntelliJ IDEA at 2020/9/25
*/
@Configuration
public class KylinSwagger2Config extends Swagger2Config {
}
package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersApiSearchParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.BannersVo;
import com.liquidnet.service.kylin.dto.vo.PagerVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl;
import com.mongodb.client.AggregateIterable;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 轮播图 前端接口控制器
* </p>
*
* @author jiangxiulong
* @since 2021-05-10
*/
@Api(tags = "前端-banner")
@RestController
@RequestMapping("banners")
public class KylinBannersController {
@Autowired
private KylinBannersServiceImpl kylinBannersServiceImpl;
@GetMapping("")
@ApiOperation(value = "banner列表")
public ResponseDto<List<BannersVo>> blist(
@RequestParam(value = "position") String position,
@RequestParam(value = "provinceCode", defaultValue = "") String provinceCode
) {
BannersApiSearchParam bannersApiSearchParam = new BannersApiSearchParam();
bannersApiSearchParam.setPosition(position);
bannersApiSearchParam.setProvinceCode(provinceCode);
List result = kylinBannersServiceImpl.blist(bannersApiSearchParam);
if (result.size() > 0) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取列表失败");
}
}
}
...@@ -10,10 +10,12 @@ import com.liquidnet.service.kylin.entity.KylinBanners; ...@@ -10,10 +10,12 @@ import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl; import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import net.bytebuddy.implementation.bytecode.constant.DefaultValue;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.groups.Default;
import java.util.List; import java.util.List;
/** /**
...@@ -67,9 +69,21 @@ public class KylinBannersAdminController { ...@@ -67,9 +69,21 @@ public class KylinBannersAdminController {
} }
} }
@PostMapping("list") @GetMapping("list")
@ApiOperation(value = "banner列表") @ApiOperation(value = "banner列表")
public ResponseDto<PagerVo<BannerDetailsListDao>> bannerList(@RequestBody BannersSearchParam bannersSearchParam) { public ResponseDto<PagerVo<BannerDetailsListDao>> bannerList(
@RequestParam(value = "bannersName", defaultValue = "") String bannersName,
@RequestParam(value = "isOnline", defaultValue = "1") Integer isOnline,
@RequestParam(value = "promotionType", defaultValue = "") Integer promotionType,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size
) {
BannersSearchParam bannersSearchParam = new BannersSearchParam();
bannersSearchParam.setBannersName(bannersName);
bannersSearchParam.setIsOnline(isOnline);
bannersSearchParam.setPromotionType(promotionType);
bannersSearchParam.setPage(page);
bannersSearchParam.setSize(size);
List<BannerDetailsListDao> result = kylinBannersServiceImpl.bannerList(bannersSearchParam); List<BannerDetailsListDao> result = kylinBannersServiceImpl.bannerList(bannersSearchParam);
Long total = kylinBannersServiceImpl.bannerListCount(bannersSearchParam); Long total = kylinBannersServiceImpl.bannerListCount(bannersSearchParam);
......
package com.liquidnet.service.kylin.controller.admin; package com.liquidnet.service.kylin.controller.admin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl; import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* <p> * <p>
...@@ -29,6 +31,19 @@ public class KylinPerformancesAdminController { ...@@ -29,6 +31,19 @@ public class KylinPerformancesAdminController {
@Autowired @Autowired
private KylinPerformancesAdminServiceImpl performancesAdminService; private KylinPerformancesAdminServiceImpl performancesAdminService;
@PostMapping(value = "list")
@ApiOperation(value = "获取列表")
@ApiResponse(response = PerformanceAdminListDao.class, code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceAdminListDao>> performanceDetails(@RequestBody PerformanceAdminListParam performanceAdminListParam) {
PageInfo<PerformanceAdminListDao> result = null;
result = performancesAdminService.getList(performanceAdminListParam);
if (null != result) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取演出详情失败");
}
}
@GetMapping(value = "details") @GetMapping(value = "details")
@ApiOperation(value = "获取演出详情") @ApiOperation(value = "获取演出详情")
@ApiResponse(response = PerformanceCreatePartnerVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = PerformanceCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
......
package com.liquidnet.service.kylin.controller.partner; package com.liquidnet.service.kylin.controller.partner;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.service.impl.partner.KylinPerformancesPartnerServiceImpl; import com.liquidnet.service.kylin.service.impl.partner.KylinPerformancesPartnerServiceImpl;
...@@ -18,6 +22,19 @@ public class PerformancePartnerController { ...@@ -18,6 +22,19 @@ public class PerformancePartnerController {
@Autowired @Autowired
private KylinPerformancesPartnerServiceImpl performancesPartnerService; private KylinPerformancesPartnerServiceImpl performancesPartnerService;
@PostMapping(value = "list")
@ApiOperation(value = "演出列表")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformancePartnerListDao>> getList(@RequestBody PerformancePartnerListParam performancePartnerListParam) {
PageInfo<PerformancePartnerListDao> result = null;
result = performancesPartnerService.getList(performancePartnerListParam);
if (null == result) {
return ResponseDto.failure("列表获取失败");
} else {
return ResponseDto.success(result);
}
}
@PostMapping(value = "step1") @PostMapping(value = "step1")
@ApiOperation(value = "创建演出第一步") @ApiOperation(value = "创建演出第一步")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
...@@ -45,8 +62,8 @@ public class PerformancePartnerController { ...@@ -45,8 +62,8 @@ public class PerformancePartnerController {
@GetMapping(value = "step1") @GetMapping(value = "step1")
@ApiOperation(value = "获取演出第一步数据") @ApiOperation(value = "获取演出第一步数据")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceStep1Param> createStep1(@RequestParam("performancesId") String performancesId) { public ResponseDto<PerformanceCreateParam> createStep1(@RequestParam("performancesId") String performancesId) {
PerformanceStep1Param result = performancesPartnerService.getStep1(performancesId); PerformanceCreateParam result = performancesPartnerService.getStep1(performancesId);
if (result==null) { if (result==null) {
return ResponseDto.failure("获取数据失败"); return ResponseDto.failure("获取数据失败");
} else { } else {
......
...@@ -8,6 +8,7 @@ import com.liquidnet.commons.lang.util.IDGenerator; ...@@ -8,6 +8,7 @@ import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao; import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersApiSearchParam;
import com.liquidnet.service.kylin.dto.param.BannersParam; import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam; import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.BannersVo; import com.liquidnet.service.kylin.dto.vo.BannersVo;
...@@ -76,19 +77,15 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -76,19 +77,15 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
for (String fieldId : positionList) { for (String fieldId : positionList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, createdAtString); KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, createdAtString);
kylinBannersRelationsMapper.insert(relations); kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(kylinBannersRelations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, kylinBannersRelations.getBannersRelationsId(), kylinBannersRelations);
} }
List<String> provincesList = bannersParam.getProvincesList(); List<String> provincesList = bannersParam.getProvincesList();
if (!provincesList.isEmpty()) { if (!provincesList.isEmpty()) {
for (String fieldId : provincesList) { for (String fieldId : provincesList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, createdAtString); KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, createdAtString);
kylinBannersRelationsMapper.insert(relations); kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(kylinBannersRelations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, kylinBannersRelations.getBannersRelationsId(), kylinBannersRelations);
} }
} else {
provincesList = new ArrayList();
} }
// 处理缓存数据 // 处理缓存数据
...@@ -99,6 +96,8 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -99,6 +96,8 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
// 处理基础数据 防止缓存中无字段 // 处理基础数据 防止缓存中无字段
bannersVo.setIsDeleted(1); bannersVo.setIsDeleted(1);
bannersVo.setUpdatedAt(""); bannersVo.setUpdatedAt("");
bannersVo.setPositionList(positionList);
bannersVo.setProvincesList(provincesList);
if (StringUtils.isNullOrEmpty(bannersParam.getTargetObj())) { if (StringUtils.isNullOrEmpty(bannersParam.getTargetObj())) {
bannersVo.setTargetObj(""); bannersVo.setTargetObj("");
} }
...@@ -138,54 +137,35 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -138,54 +137,35 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
bannersMapper.update(params, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId)); bannersMapper.update(params, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId));
List<String> positionList = bannersParam.getPositionList(); List<String> positionList = bannersParam.getPositionList();
// 删除之前的再添加 KylinBannersRelations kylinBannersRelations = new KylinBannersRelations();
List<String> relationsIds = kylinBannersRelationsMapper.getBannersRelationsField("banners_relations_id",bannersId, 1); // 入数据库 先删除之前的
kylinBannersRelationsMapper.delete( kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 1) new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 1)
); );
mongoTemplate.remove(
Query.query(Criteria.where("bannersId").is(bannersId).and("fieldIdType").is(1)),
KylinBannersRelations.class.getSimpleName()
);
for (String relationsId : relationsIds) {
redisUtil.hdel(KylinRedisConst.BANNERSRELATIONS, relationsId);
}
KylinBannersRelations kylinBannersRelations = new KylinBannersRelations();
for (String fieldId : positionList) { for (String fieldId : positionList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, updatedAtString); KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, updatedAtString);
kylinBannersRelationsMapper.insert(relations); kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(relations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, relations.getBannersRelationsId(), relations);
} }
List<String> provincesList = bannersParam.getProvincesList(); List<String> provincesList = bannersParam.getProvincesList();
if (!provincesList.isEmpty()) { if (!provincesList.isEmpty()) {
// 删除之前的再添加 // 入数据库 先删除之前的
List<String> relationsIdss = kylinBannersRelationsMapper.getBannersRelationsField("banners_relations_id",bannersId, 2);
kylinBannersRelationsMapper.delete( kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 2) new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 2)
); );
mongoTemplate.remove(
Query.query(Criteria.where("bannersId").is(bannersId).and("fieldIdType").is(2)),
KylinBannersRelations.class.getSimpleName()
);
for (String relationsId : relationsIdss) {
redisUtil.hdel(KylinRedisConst.BANNERSRELATIONS, relationsId);
}
for (String fieldId : provincesList) { for (String fieldId : provincesList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, updatedAtString); KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, updatedAtString);
kylinBannersRelationsMapper.insert(relations); kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(relations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, relations.getBannersRelationsId(), relations);
} }
} else {
provincesList = new ArrayList();
} }
// 处理缓存数据 // 处理缓存数据
BannersVo bannersVo = new BannersVo(); BannersVo bannersVo = new BannersVo();
BeanUtils.copyProperties(bannersParam, bannersVo); BeanUtils.copyProperties(bannersParam, bannersVo);
bannersVo.setBannersId(bannersId); bannersVo.setBannersId(bannersId);
bannersVo.setUpdatedAt(updatedAtString); bannersVo.setUpdatedAt(updatedAtString);
bannersVo.setPositionList(positionList);
bannersVo.setProvincesList(provincesList);
// 修改缓存 // 修改缓存
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(bannersVo))); BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(bannersVo)));
Document doc = mongoTemplate.getCollection(BannersVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(BannersVo.class.getSimpleName()).findOneAndUpdate(
...@@ -266,4 +246,46 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -266,4 +246,46 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
} }
} }
public List blist(BannersApiSearchParam bannersApiSearchParam) {
Query query = new Query();
query.addCriteria(
Criteria.where("isOnline").is(1).and("isDeleted").is(1)
);
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Criteria onlineTimeBetween = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeGt = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").is("");
Criteria onlineTimeLt = Criteria.where("onlineStartTime").is("").and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeEmpty = Criteria.where("onlineStartTime").is("").and("onlineEndTime").is("");
Criteria mergeCriteriaTime = new Criteria();
mergeCriteriaTime.orOperator(onlineTimeBetween, onlineTimeGt, onlineTimeLt, onlineTimeEmpty);
if (!bannersApiSearchParam.getPosition().isEmpty()) {
query.addCriteria(
Criteria.where("positionList").in(bannersApiSearchParam.getPosition())
);
}
Criteria mergeCriteriaPromotion = new Criteria();
if (!bannersApiSearchParam.getProvinceCode().isEmpty()) {
Criteria promotionCity = Criteria.where("provincesList").in(bannersApiSearchParam.getProvinceCode());
Criteria promotionAll = Criteria.where("promotionType").is(1);
mergeCriteriaPromotion.orOperator(promotionCity, promotionAll);
}
Criteria criteria = new Criteria();
query.addCriteria(
criteria.andOperator(mergeCriteriaTime, mergeCriteriaPromotion)
);
List bannerList = mongoTemplate.find(
query,
BannersVo.class,
BannersVo.class.getSimpleName()
);
return bannerList;
}
} }
package com.liquidnet.service.kylin.service.impl.admin; package com.liquidnet.service.kylin.service.impl.admin;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam; import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
...@@ -15,6 +22,7 @@ import com.liquidnet.service.kylin.mapper.*; ...@@ -15,6 +22,7 @@ import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService; import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketTimesPartnerServiceImpl; import com.liquidnet.service.kylin.service.impl.partner.KylinTicketTimesPartnerServiceImpl;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketsPartnerServiceImpl; import com.liquidnet.service.kylin.service.impl.partner.KylinTicketsPartnerServiceImpl;
import com.liquidnet.service.kylin.timerTask.PerformanceVoTask;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
...@@ -50,6 +58,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -50,6 +58,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Autowired @Autowired
private MongoConverter mongoConverter; private MongoConverter mongoConverter;
@Autowired
private PerformanceVoTask performanceVoTask;
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
...@@ -85,183 +96,75 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -85,183 +96,75 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Override @Override
public PerformanceCreatePartnerVo performanceDetails(String performancesId) { public PerformanceCreatePartnerVo performanceDetails(String performancesId) {
PerformanceCreateParam performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName());
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
ArrayList<BigDecimal> floatList = new ArrayList<>();
ArrayList<String> StringList = new ArrayList<>();
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVos) {
TicketTimesTicketCreatePartnerVo ticketTimesTicketCreatePartnerVo = new TicketTimesTicketCreatePartnerVo();
BeanUtils.copyProperties(ticketTimes, ticketTimesTicketCreatePartnerVo);
List<TicketCreatePartnerVo> ticketCreatePartnerVos = ticketsPartnerService.getTicketMongoList(ticketTimes.getTicketTimesId());
ticketTimesTicketCreatePartnerVo.setTicket(ticketCreatePartnerVos);
ticketTimesTicketCreatePartnerVoList.add(ticketTimesTicketCreatePartnerVo);
for (TicketCreatePartnerVo ticketCreatePartnerVoItem : ticketCreatePartnerVos) {
floatList.add(ticketCreatePartnerVoItem.getPrice());
StringList.add(ticketCreatePartnerVoItem.getTimeEnd());
}
}
PerformanceCreatePartnerVo performanceCreatePartnerVo = new PerformanceCreatePartnerVo();
BeanUtils.copyProperties(performanceData, performanceCreatePartnerVo);
floatList.sort(Comparator.reverseOrder());
StringList.sort(Comparator.naturalOrder());
performanceCreatePartnerVo.setPrice(floatList.get(0) + "起");
performanceCreatePartnerVo.setStopSellTime(StringList.get(0));
performanceCreatePartnerVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
performanceCreatePartnerVo.setStatus(1);
performanceCreatePartnerVo.setStatusSell(1);
performanceCreatePartnerVo.setRejectTxt("");
performanceCreatePartnerVo.setIsShow(1); return mongoTemplate.findOne(
performanceCreatePartnerVo.setIsDistribution(0); Query.query(Criteria.where("performancesId").is(performancesId)),
performanceCreatePartnerVo.setSyncAgent(0); PerformanceCreatePartnerVo.class,
performanceCreatePartnerVo.setAuditStatus(0); PerformanceCreatePartnerVo.class.getSimpleName()
boolean exists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreatePartnerVo.class, PerformanceCreatePartnerVo.class.getSimpleName());
if (!exists) {
PerformanceCreatePartnerVo data = mongoTemplate.insert(
performanceCreatePartnerVo, PerformanceCreatePartnerVo.class.getSimpleName()
); );
} }
return performanceCreatePartnerVo;
}
@Override @Override
public boolean performanceAudit(String performancesId, int status, String rejectTxt) { public boolean performanceAudit(String performancesId, int status, String rejectTxt) {
try { try {
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
HashMap<String, Object> map = new HashMap<>();
int auditStatus=0;
if (status == 3) { if (status == 3) {
rejectTxt="";
auditStatus=1;
//修改演出 //修改演出
HashMap<String, Object> map = new HashMap<>(); map.put("rejectTxt", rejectTxt);
map.put("rejectTxt", "");
map.put("status", status); map.put("status", status);
map.put("auditStatus", auditStatus);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject objectPerformanceVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject objectPerformanceVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docPerformance = mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).findOneAndUpdate( mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(), Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformanceVo, objectPerformanceVo
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
PerformanceCreatePartnerVo performanceCreatePartnerVo = JsonUtils.fromJson(docPerformance.toJson(), PerformanceCreatePartnerVo.class); } else if (status == 4) {
auditStatus=2;
map.put("rejectTxt", rejectTxt);
map.put("auditStatus", auditStatus);
map.put("status", status);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object
);
} else {
return false;
}
//创建演出 //修改
KylinPerformances performances = new KylinPerformances();
BeanUtils.copyProperties(performanceCreatePartnerVo, performances);
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus(); KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
BeanUtils.copyProperties(performanceCreatePartnerVo, performanceStatus); performanceStatus.setStatus(status);
KylinPerformanceRelations performanceRelations = new KylinPerformanceRelations(); performanceStatus.setAuditStatus(auditStatus);
BeanUtils.copyProperties(performanceCreatePartnerVo, performanceRelations);
performances.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getCreatedAt())));
performances.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getTimeStart())));
performances.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getTimeEnd())));
performances.setUpdatedAt(updatedAt);
performanceStatus.setPerformanceId(performances.getPerformancesId());
performanceStatus.setPerformanceStatusId(IDGenerator.nextSnowId().toString());
performanceStatus.setCreatedAt(performances.getCreatedAt());
performanceStatus.setUpdatedAt(updatedAt); performanceStatus.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
KylinPerformances performances = new KylinPerformances();
performances.setUpdatedAt(updatedAt);
performances.setRejectTxt(rejectTxt);
performancesMapper.update(performances, new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
performanceRelations.setPerformanceId(performances.getPerformancesId());
performanceRelations.setPerformanceRelationsId(IDGenerator.nextSnowId().toString());
performanceRelations.setCreatedAt(performances.getCreatedAt());
performanceRelations.setUpdatedAt(updatedAt);
performancesMapper.insert(performances);
performanceStatusMapper.insert(performanceStatus);
performanceRelationsMapper.insert(performanceRelations);
//场次数据
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId); List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
for (TicketTimesCreatePartnerVo ticketTimeItem : ticketTimesCreatePartnerVos) { for (TicketTimesCreatePartnerVo ticketTimeItem : ticketTimesCreatePartnerVos) {
//创建场次
KylinTicketTimes ticketTimes = new KylinTicketTimes();
BeanUtils.copyProperties(ticketTimeItem, ticketTimes);
KylinTicketTimeRelation ticketTimeRelation = new KylinTicketTimeRelation();
BeanUtils.copyProperties(ticketTimeItem, ticketTimeRelation);
ticketTimes.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
ticketTimes.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
ticketTimes.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getCreatedAt())));
ticketTimes.setUpdatedAt(updatedAt);
ticketTimeRelation.setPerformanceId(performancesId);
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString());
ticketTimeRelation.setTimesId(ticketTimes.getTicketTimesId());
ticketTimeRelation.setCreatedAt(ticketTimes.getCreatedAt());
ticketTimeRelation.setUpdatedAt(updatedAt);
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.insert(ticketTimeRelation);
//修改票
for (TicketCreatePartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) { for (TicketCreatePartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docTicket = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).findOneAndUpdate( mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(), Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
objectTicketVo, objectTicketVo
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
TicketCreatePartnerVo ticketCreatePartnerVo = JsonUtils.fromJson(docTicket.toJson(), TicketCreatePartnerVo.class);
//创建演出
KylinTickets tickets = new KylinTickets(); KylinTickets tickets = new KylinTickets();
BeanUtils.copyProperties(ticketCreatePartnerVo, tickets);
KylinTicketStatus ticketStatus = new KylinTicketStatus();
BeanUtils.copyProperties(ticketCreatePartnerVo, ticketStatus);
KylinTicketRelations ticketRelations = new KylinTicketRelations();
BeanUtils.copyProperties(ticketCreatePartnerVo, ticketRelations);
tickets.setPriceExpress(new BigDecimal(0.00));
tickets.setPriceDiscountMember(new BigDecimal(0.00));
tickets.setPriceDiscount(new BigDecimal(0.00));
tickets.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeStart())));
tickets.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEnd())));
tickets.setTimeEndExpress(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEndExpress())));
tickets.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
tickets.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
tickets.setSaleRemindMinute(60);
tickets.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getCreatedAt())));
tickets.setUpdatedAt(updatedAt); tickets.setUpdatedAt(updatedAt);
ticketsMapper.update(tickets,new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketItem.getTicketsId()));
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString()); KylinTicketStatus ticketStatus = new KylinTicketStatus();
ticketStatus.setTicketId(tickets.getTicketsId()); ticketStatus.setUpdatedAt(updatedAt);
ticketStatus.setCounts(1); ticketStatus.setStatus(status);
ticketStatus.setIsMember(1); ticketStatusMapper.update(ticketStatus,new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketItem.getTicketsId()));
ticketStatus.setStatusExchange(7);
ticketStatus.setQrCodeShowTime(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getQrCodeShowTime())));
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId().toString());
ticketRelations.setTicketId(tickets.getTicketsId());
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketsMapper.insert(tickets);
ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.insert(ticketRelations);
}
} }
} else if (status == 4) {
HashMap<String, Object> map = new HashMap<>();
map.put("rejectTxt", rejectTxt);
map.put("status", status);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object
);
} else {
return false;
} }
return true; return true;
} catch (Exception e) { } catch (Exception e) {
...@@ -270,4 +173,17 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -270,4 +173,17 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
return false; return false;
} }
} }
@Override
public PageInfo<PerformanceAdminListDao> getList(PerformanceAdminListParam performanceAdminListParam) {
PageInfo<PerformanceAdminListDao> pageInfoTmp = null;
try {
PageHelper.startPage(performanceAdminListParam.getPage(), performanceAdminListParam.getSize());
List<PerformanceAdminListDao> voList = performancesMapper.misPerformanceList(BeanUtil.convertBeanToMap(performanceAdminListParam));
pageInfoTmp = new PageInfo(voList);
} catch (Exception e) {
return null;
}
return pageInfoTmp;
}
} }
...@@ -2,11 +2,16 @@ package com.liquidnet.service.kylin.service.impl.partner; ...@@ -2,11 +2,16 @@ package com.liquidnet.service.kylin.service.impl.partner;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.TicketInventoryDto; import com.liquidnet.service.kylin.dto.TicketInventoryDto;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam; import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo; import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
...@@ -15,17 +20,17 @@ import com.liquidnet.service.kylin.dto.vo.TicketVo; ...@@ -15,17 +20,17 @@ import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.dto.vo.ignore.PerformanceIgnoreVo; import com.liquidnet.service.kylin.dto.vo.ignore.PerformanceIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.ignore.TicketIgnoreVo; import com.liquidnet.service.kylin.dto.vo.ignore.TicketIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.ignore.TicketTimesIgnoreVo; import com.liquidnet.service.kylin.dto.vo.ignore.TicketTimesIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.*;
import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService; import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService;
import com.liquidnet.service.kylin.service.impl.PerformanceVoTask; import com.liquidnet.service.kylin.timerTask.PerformanceVoTask;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
...@@ -103,9 +108,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -103,9 +108,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
try { try {
step1Param.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); step1Param.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
step1Param.setPerformancesId(performanceId); step1Param.setPerformancesId(performanceId);
PerformanceStep1Param data = mongoTemplate.insert( PerformanceCreateParam performanceCreateParam = new PerformanceCreateParam();
step1Param, PerformanceStep1Param.class.getSimpleName() BeanUtils.copyProperties(step1Param, performanceCreateParam);
performanceCreateParam.setIsTrueName(0);
performanceCreateParam.setLimitCount(0);
performanceCreateParam.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceCreateParam.setIsSubmit(0);
performanceCreateParam.setStatus(0);
performanceCreateParam.setStatusSell(1);
mongoTemplate.insert(
performanceCreateParam, PerformanceCreateParam.class.getSimpleName()
); );
return performanceId; return performanceId;
} catch (Exception e) { } catch (Exception e) {
return ""; return "";
...@@ -120,14 +134,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -120,14 +134,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
// 获取 当前时间 -> 创建时间 // 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now(); LocalDateTime createdAt = LocalDateTime.now();
PerformanceStep1Param info = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)),
PerformanceStep1Param.class,
PerformanceStep1Param.class.getSimpleName());
boolean isExists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(0)),
PerformanceCreateParam.class,
PerformanceCreateParam.class.getSimpleName());
boolean isExistsSubmit = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(1)), boolean isExistsSubmit = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(1)),
PerformanceCreateParam.class, PerformanceCreateParam.class,
PerformanceCreateParam.class.getSimpleName()); PerformanceCreateParam.class.getSimpleName());
...@@ -142,36 +148,16 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -142,36 +148,16 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
map.put("limitCount", step2Param.getLimitCount()); map.put("limitCount", step2Param.getLimitCount());
map.put("createdAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); map.put("createdAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
map.put("isSubmit", step2Param.getIsSubmit()); map.put("isSubmit", step2Param.getIsSubmit());
map.put("merchantId", step2Param.getMerchantId()); map.put("statusSell", 1);
map.put("statuSell", 1);
//演出新增数据
PerformanceCreateParam performanceCreateParam = new PerformanceCreateParam();
BeanUtils.copyProperties(info, performanceCreateParam);
performanceCreateParam.setIsTrueName(step2Param.getIsTrueName());
performanceCreateParam.setLimitCount(step2Param.getLimitCount());
performanceCreateParam.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceCreateParam.setIsSubmit(step2Param.getIsSubmit());
performanceCreateParam.setMerchantId(step2Param.getMerchantId());
// 获取第一步数据 // 获取第一步数据
if (step2Param.getIsSubmit() == 1) { // 提交 if (step2Param.getIsSubmit() == 1) { // 提交
if (isExists) {
map.put("status", 1); map.put("status", 1);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreateParam.class.getSimpleName()).updateOne( mongoTemplate.getCollection(PerformanceCreateParam.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(), Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(),
object object
); );
} else {
// 提交 演出
performanceCreateParam.setStatus(1);
PerformanceCreateParam data = mongoTemplate.insert(
performanceCreateParam, PerformanceCreateParam.class.getSimpleName()
);
}
//提交 票 //提交 票
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVoList = ticketTimesPartnerService.getTimesMongoList(performanceId); List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVoList = ticketTimesPartnerService.getTimesMongoList(performanceId);
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVoList) { for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVoList) {
...@@ -182,34 +168,38 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -182,34 +168,38 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
} }
if (ticketTimesCreatePartnerVoList.size() <= 0) { if (ticketTimesCreatePartnerVoList.size() <= 0) {
return false; return false;
} else {
PerformanceCreatePartnerVo performanceCreatePartnerVo = performanceVoTask.createPerformanceCreateParam(performanceId);
HashMap<String, Object> mapSql = new HashMap<>();
mapSql.put("rejectTxt", "");
mapSql.put("status", 1);
mapSql.put("updatedAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
// auditTime
performanceVoTask.createPerformanceMySql(performanceId, mapSql, performanceCreatePartnerVo, createdAt);
KylinPerformances performances = new KylinPerformances();
performances.setAuditTime(LocalDateTime.now());
performancesMapper.insert(performances);
} }
} else { //保存 } else { //保存
if (isExists) {
map.put("status", 0); map.put("status", 0);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreateParam.class.getSimpleName()).updateMany( mongoTemplate.getCollection(PerformanceCreateParam.class.getSimpleName()).updateMany(
Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(), Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(),
object object
); );
} else {
// 保存 演出
performanceCreateParam.setStatus(0);
PerformanceCreateParam data = mongoTemplate.insert(
performanceCreateParam, PerformanceCreateParam.class.getSimpleName()
);
}
} }
return true; return true;
} }
@Override @Override
public PerformanceStep1Param getStep1(String performancesId) { public PerformanceCreateParam getStep1(String performancesId) {
PerformanceStep1Param data = mongoTemplate.findOne( PerformanceCreateParam data = mongoTemplate.findOne(
Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceStep1Param.class, PerformanceStep1Param.class.getSimpleName() Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName()
); );
if (data == null) { if (data == null) {
return new PerformanceStep1Param(); return new PerformanceCreateParam();
} }
return data; return data;
} }
...@@ -382,25 +372,28 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -382,25 +372,28 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
//mongoVo 迁移 演出数据迁移 //mongoVo 迁移 演出数据迁移
PerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceVo.class, PerformanceVo.class.getSimpleName()); PerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceVo.class, PerformanceVo.class.getSimpleName());
PerformanceIgnoreVo performanceIgnoreVo = new PerformanceIgnoreVo(); PerformanceIgnoreVo performanceIgnoreVo = new PerformanceIgnoreVo();
BeanUtils.copyProperties(performanceVo,performanceIgnoreVo); BeanUtils.copyProperties(performanceVo, performanceIgnoreVo);
performanceIgnoreVo.setAppStatus(7); performanceIgnoreVo.setAppStatus(7);
mongoTemplate.insert(performanceIgnoreVo,PerformanceIgnoreVo.class.getSimpleName()); mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceIgnoreVo.class, PerformanceIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performancesId)),PerformanceVo.class, PerformanceVo.class.getSimpleName()); mongoTemplate.insert(performanceIgnoreVo, PerformanceIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceVo.class, PerformanceVo.class.getSimpleName());
List<TicketTimesVo> ticketTimesVoList = mongoTemplate.find(Query.query(Criteria.where("performanceId").is(performancesId)), TicketTimesVo.class, TicketTimesVo.class.getSimpleName()); List<TicketTimesVo> ticketTimesVoList = mongoTemplate.find(Query.query(Criteria.where("performanceId").is(performancesId)), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
for (TicketTimesVo ticketTimesVoItem : ticketTimesVoList) { for (TicketTimesVo ticketTimesVoItem : ticketTimesVoList) {
//场次数据迁移 //场次数据迁移
TicketTimesIgnoreVo ticketTimesIgnoreVo = new TicketTimesIgnoreVo(); TicketTimesIgnoreVo ticketTimesIgnoreVo = new TicketTimesIgnoreVo();
BeanUtils.copyProperties(ticketTimesVoItem,ticketTimesIgnoreVo); BeanUtils.copyProperties(ticketTimesVoItem, ticketTimesIgnoreVo);
mongoTemplate.insert(ticketTimesIgnoreVo,TicketTimesIgnoreVo.class.getSimpleName()); mongoTemplate.remove(Query.query(Criteria.where("ticketTimesId").is(ticketTimesVoItem.getTicketTimesId())), TicketTimesIgnoreVo.class, TicketTimesIgnoreVo.class.getSimpleName());
mongoTemplate.insert(ticketTimesIgnoreVo, TicketTimesIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("ticketTimesId").is(ticketTimesVoItem.getTicketTimesId())), TicketTimesVo.class, TicketTimesVo.class.getSimpleName()); mongoTemplate.remove(Query.query(Criteria.where("ticketTimesId").is(ticketTimesVoItem.getTicketTimesId())), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
List<TicketVo> ticketVoList = mongoTemplate.find(Query.query(Criteria.where("timeId").is(ticketTimesVoItem.getTicketTimesId())), TicketVo.class, TicketVo.class.getSimpleName()); List<TicketVo> ticketVoList = mongoTemplate.find(Query.query(Criteria.where("timeId").is(ticketTimesVoItem.getTicketTimesId())), TicketVo.class, TicketVo.class.getSimpleName());
for (TicketVo ticketVoItem : ticketVoList) { for (TicketVo ticketVoItem : ticketVoList) {
// 票 迁移 // 票 迁移
TicketIgnoreVo ticketIgnoreVo = new TicketIgnoreVo(); TicketIgnoreVo ticketIgnoreVo = new TicketIgnoreVo();
BeanUtils.copyProperties(ticketVoItem,ticketIgnoreVo); BeanUtils.copyProperties(ticketVoItem, ticketIgnoreVo);
mongoTemplate.insert(ticketIgnoreVo,TicketIgnoreVo.class.getSimpleName()); mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())), TicketIgnoreVo.class, TicketIgnoreVo.class.getSimpleName());
mongoTemplate.insert(ticketIgnoreVo, TicketIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())), TicketVo.class, TicketVo.class.getSimpleName()); mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())), TicketVo.class, TicketVo.class.getSimpleName());
} }
} }
...@@ -409,4 +402,44 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -409,4 +402,44 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
return false; return false;
} }
} }
@Override
public PageInfo<PerformancePartnerListDao> getList(PerformancePartnerListParam performancePartnerListParam) {
int status = performancePartnerListParam.getStatus();
int page = performancePartnerListParam.getPage() - 1;
int size = performancePartnerListParam.getSize();
PageInfo<PerformancePartnerListDao> pageInfoTmp = null;
if (status == 0) {//未发布演出
// 排序 分页
Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Criteria criteria = Criteria.where("status").is(status);
if (!performancePartnerListParam.getTitle().isEmpty()) {
criteria.and("title").regex(".*?\\" + performancePartnerListParam.getTitle());
}
Query query = Query.query(criteria);
// 查询总数
long count = mongoTemplate.count(query, PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName());
List<PerformanceCreateParam> performanceCreateParam = mongoTemplate.find(query, PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName());
query.with(pageable);
//处理Vo
List<PerformancePartnerListVo> voList = new ArrayList<>();
for (PerformanceCreateParam item : performanceCreateParam) {
PerformancePartnerListVo voData = new PerformancePartnerListVo();
voData.setStatus0Data(item);
voList.add(voData);
}
pageInfoTmp = new PageInfo(voList);
pageInfoTmp.setTotal(count);
} else {//演出列表
try {
PageHelper.startPage(performancePartnerListParam.getPage(), performancePartnerListParam.getSize());
List<PerformancePartnerListDao> voList = performancesMapper.partnerPerformanceList(BeanUtil.convertBeanToMap(performancePartnerListParam));
pageInfoTmp = new PageInfo(voList);
} catch (Exception e) {
return null;
}
}
return pageInfoTmp;
}
} }
...@@ -43,8 +43,8 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -43,8 +43,8 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
@Autowired @Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired // @Autowired
private RedisUtil redisUtil; // private RedisUtil redisUtil;
@Autowired @Autowired
private KylinTicketTimesMapper ticketTimesMapper; private KylinTicketTimesMapper ticketTimesMapper;
...@@ -101,7 +101,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -101,7 +101,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, ticketTimesCreatePartnerVo); // redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, ticketTimesCreatePartnerVo);
return ticketTimesCreatePartnerVo; return ticketTimesCreatePartnerVo;
} }
...@@ -130,7 +130,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -130,7 +130,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class)); // redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class));
return true; return true;
} catch (Exception e) { } catch (Exception e) {
...@@ -175,7 +175,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -175,7 +175,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TIMES, createTicketTimesParam.getTicketTimesId(), JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class)); // redisUtil.hset(KylinRedisConst.TIMES, createTicketTimesParam.getTicketTimesId(), JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class));
return JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class); return JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class);
}catch (Exception e){ }catch (Exception e){
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.timerTask;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.TicketInventoryDto; import com.liquidnet.service.kylin.dto.TicketInventoryDto;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo; import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo; import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo; import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketTimesPartnerServiceImpl;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketsPartnerServiceImpl;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -33,6 +51,36 @@ public class PerformanceVoTask { ...@@ -33,6 +51,36 @@ public class PerformanceVoTask {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired
private KylinPerformancesMapper performancesMapper;
@Autowired
private KylinPerformanceStatusMapper performanceStatusMapper;
@Autowired
private KylinPerformanceRelationsMapper performanceRelationsMapper;
@Autowired
private KylinTicketTimesPartnerServiceImpl ticketTimesPartnerService;
@Autowired
private KylinTicketsMapper ticketsMapper;
@Autowired
private KylinTicketStatusMapper ticketStatusMapper;
@Autowired
private KylinTicketRelationsMapper ticketRelationsMapper;
@Autowired
private KylinTicketTimesMapper ticketTimesMapper;
@Autowired
private KylinTicketTimeRelationMapper ticketTimeRelationMapper;
@Autowired
private KylinTicketsPartnerServiceImpl ticketsPartnerService;
public void performanceVoStatus(String performanceSingleId) { public void performanceVoStatus(String performanceSingleId) {
...@@ -131,4 +179,165 @@ public class PerformanceVoTask { ...@@ -131,4 +179,165 @@ public class PerformanceVoTask {
} }
} }
/**
* 生成 PerformanceCreatePartnerVo(用于审核第一次提交数据)
* @param performancesId
* @return
*/
public PerformanceCreatePartnerVo createPerformanceCreateParam(String performancesId){
PerformanceCreateParam performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName());
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
ArrayList<BigDecimal> floatList = new ArrayList<>();
ArrayList<String> StringList = new ArrayList<>();
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVos) {
TicketTimesTicketCreatePartnerVo ticketTimesTicketCreatePartnerVo = new TicketTimesTicketCreatePartnerVo();
BeanUtils.copyProperties(ticketTimes, ticketTimesTicketCreatePartnerVo);
List<TicketCreatePartnerVo> ticketCreatePartnerVos = ticketsPartnerService.getTicketMongoList(ticketTimes.getTicketTimesId());
ticketTimesTicketCreatePartnerVo.setTicket(ticketCreatePartnerVos);
ticketTimesTicketCreatePartnerVoList.add(ticketTimesTicketCreatePartnerVo);
for (TicketCreatePartnerVo ticketCreatePartnerVoItem : ticketCreatePartnerVos) {
floatList.add(ticketCreatePartnerVoItem.getPrice());
StringList.add(ticketCreatePartnerVoItem.getTimeEnd());
}
}
PerformanceCreatePartnerVo performanceCreatePartnerVo = new PerformanceCreatePartnerVo();
BeanUtils.copyProperties(performanceData, performanceCreatePartnerVo);
floatList.sort(Comparator.reverseOrder());
StringList.sort(Comparator.naturalOrder());
performanceCreatePartnerVo.setPrice(floatList.get(0) + "起");
performanceCreatePartnerVo.setStopSellTime(StringList.get(0));
performanceCreatePartnerVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
performanceCreatePartnerVo.setStatus(1);
performanceCreatePartnerVo.setStatusSell(1);
performanceCreatePartnerVo.setRejectTxt("");
performanceCreatePartnerVo.setIsShow(1);
performanceCreatePartnerVo.setIsDistribution(0);
performanceCreatePartnerVo.setSyncAgent(0);
performanceCreatePartnerVo.setAuditStatus(0);
boolean exists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreatePartnerVo.class, PerformanceCreatePartnerVo.class.getSimpleName());
if (!exists) {
PerformanceCreatePartnerVo data = mongoTemplate.insert(
performanceCreatePartnerVo, PerformanceCreatePartnerVo.class.getSimpleName()
);
}
return performanceCreatePartnerVo;
}
public void createPerformanceMySql(String performancesId,HashMap<String, Object> map,PerformanceCreatePartnerVo performanceCreatePartnerVo,LocalDateTime updatedAt){
try {
//创建演出
KylinPerformances performances = new KylinPerformances();
BeanUtils.copyProperties(performanceCreatePartnerVo, performances);
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
BeanUtils.copyProperties(performanceCreatePartnerVo, performanceStatus);
KylinPerformanceRelations performanceRelations = new KylinPerformanceRelations();
BeanUtils.copyProperties(performanceCreatePartnerVo, performanceRelations);
performances.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getCreatedAt())));
performances.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getTimeStart())));
performances.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getTimeEnd())));
performances.setUpdatedAt(updatedAt);
performanceStatus.setPerformanceId(performances.getPerformancesId());
performanceStatus.setPerformanceStatusId(IDGenerator.nextSnowId().toString());
performanceStatus.setCreatedAt(performances.getCreatedAt());
performanceStatus.setAuditStatus(0);
performanceStatus.setUpdatedAt(updatedAt);
performanceRelations.setPerformanceId(performances.getPerformancesId());
performanceRelations.setPerformanceRelationsId(IDGenerator.nextSnowId().toString());
performanceRelations.setCreatedAt(performances.getCreatedAt());
performanceRelations.setUpdatedAt(updatedAt);
performancesMapper.insert(performances);
performanceStatusMapper.insert(performanceStatus);
performanceRelationsMapper.insert(performanceRelations);
//场次数据
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
for (TicketTimesCreatePartnerVo ticketTimeItem : ticketTimesCreatePartnerVos) {
//创建场次
KylinTicketTimes ticketTimes = new KylinTicketTimes();
BeanUtils.copyProperties(ticketTimeItem, ticketTimes);
KylinTicketTimeRelation ticketTimeRelation = new KylinTicketTimeRelation();
BeanUtils.copyProperties(ticketTimeItem, ticketTimeRelation);
ticketTimes.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
ticketTimes.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
ticketTimes.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getCreatedAt())));
ticketTimes.setUpdatedAt(updatedAt);
ticketTimeRelation.setPerformanceId(performancesId);
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString());
ticketTimeRelation.setTimesId(ticketTimes.getTicketTimesId());
ticketTimeRelation.setCreatedAt(ticketTimes.getCreatedAt());
ticketTimeRelation.setUpdatedAt(updatedAt);
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.insert(ticketTimeRelation);
//修改票
for (TicketCreatePartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docTicket = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
objectTicketVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
TicketCreatePartnerVo ticketCreatePartnerVo = JsonUtils.fromJson(docTicket.toJson(), TicketCreatePartnerVo.class);
//创建演出
KylinTickets tickets = new KylinTickets();
BeanUtils.copyProperties(ticketCreatePartnerVo, tickets);
KylinTicketStatus ticketStatus = new KylinTicketStatus();
BeanUtils.copyProperties(ticketCreatePartnerVo, ticketStatus);
KylinTicketRelations ticketRelations = new KylinTicketRelations();
BeanUtils.copyProperties(ticketCreatePartnerVo, ticketRelations);
tickets.setPriceExpress(new BigDecimal("0.00"));
tickets.setPriceDiscountMember(new BigDecimal("0.00"));
tickets.setPriceDiscount(new BigDecimal("0.00"));
tickets.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeStart())));
tickets.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEnd())));
tickets.setTimeEndExpress(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEndExpress())));
tickets.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
tickets.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
tickets.setSaleRemindMinute(60);
tickets.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getCreatedAt())));
tickets.setUpdatedAt(updatedAt);
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString());
ticketStatus.setTicketId(tickets.getTicketsId());
ticketStatus.setCounts(1);
ticketStatus.setIsMember(1);
ticketStatus.setStatusExchange(7);
ticketStatus.setQrCodeShowTime(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getQrCodeShowTime())));
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId().toString());
ticketRelations.setTicketId(tickets.getTicketsId());
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketsMapper.insert(tickets);
ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.insert(ticketRelations);
}
}
}catch (Exception e){
}
}
} }
...@@ -37,5 +37,18 @@ ...@@ -37,5 +37,18 @@
<artifactId>liquidnet-common-service-base</artifactId> <artifactId>liquidnet-common-service-base</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-adam</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies> </dependencies>
</project> </project>
...@@ -5,7 +5,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -5,7 +5,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy; import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
...@@ -15,8 +14,8 @@ import java.net.UnknownHostException; ...@@ -15,8 +14,8 @@ import java.net.UnknownHostException;
import java.util.Arrays; import java.util.Arrays;
@Slf4j @Slf4j
@EnableFeignClients
@EnableZuulProxy @EnableZuulProxy
@EnableFeignClients(basePackages = {"com.liquidnet"})
@SpringBootApplication(scanBasePackages = {"com.liquidnet"}) @SpringBootApplication(scanBasePackages = {"com.liquidnet"})
public class SupportZuulApplication implements CommandLineRunner { public class SupportZuulApplication implements CommandLineRunner {
@Autowired @Autowired
......
package com.liquidnet.support.zuul.config.swagger;
import com.liquidnet.common.swagger.config.Swagger2Config;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ZuulSwagger2Config extends Swagger2Config {
// @Override
// public ApiInfo apiInfo() {
// return new ApiInfoBuilder()
// .title("LiquidNet Services")
// .description("LiquidNet接口文档说明")
// .contact(new Contact("liquidnet", "", "**@liquidnet.io"))
// .version("1.0")
// .termsOfServiceUrl("http://localhost:8081")
// .build();
// }
//
// @Bean
// UiConfiguration uiConfig() {
// return new UiConfiguration(null, "list", "alpha", "schema",
// UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, false, true, 60000L);
// }
}
package com.liquidnet.support.zuul.util;
import org.springframework.util.AntPathMatcher;
public class PathMatchUtil {
private static AntPathMatcher matcher = new AntPathMatcher();
public static boolean isPathMatch(String pattern, String path) {
return matcher.match(pattern, path);
}
}
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