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

Commit b84bb1bd authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 05b5881f 51a16655
...@@ -3,33 +3,42 @@ package com.liquidnet.service.adam.dto; ...@@ -3,33 +3,42 @@ package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.*;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* 会员价格 * 会员价格
*/ */
@ApiModel(value = "AdamMemberPriceParam", description = "添加编辑会员价格") @ApiModel(value = "AdamMemberPriceParam", description = "添加/编辑会员价格")
@Data @Data
public class AdamMemberPriceParam implements Serializable { public class AdamMemberPriceParam implements Serializable {
private static final long serialVersionUID = -6432796310264973696L; private static final long serialVersionUID = -6432796310264973696L;
@ApiModelProperty(position = 0, required = false, value = "价格id") @ApiModelProperty(position = 1, value = "会员价格ID")
private Integer mid;
@ApiModelProperty(position = 1, required = false, value = "会员价格ID")
private String memberPriceId; private String memberPriceId;
@ApiModelProperty(position = 2, required = false, value = "会员类型ID") @ApiModelProperty(position = 2, value = "会员类型ID")
@NotBlank
private String memberId; private String memberId;
@ApiModelProperty(position = 3, required = false, value = "状态0 不可用 1上线中 2已下线", allowableValues = "0,1,2") @ApiModelProperty(position = 3, value = "状态:0-不可用,1-上线中,2-已下线", allowableValues = "0,1,2")
private Integer status; @NonNull
@ApiModelProperty(position = 4, required = false, value = "会员价格包名称", example = "年卡") @Min(0)
@Max(2)
private Integer state;
@ApiModelProperty(position = 4, value = "会员价格包名称", example = "年卡")
@Size(min = 1, max = 30)
private String name; private String name;
@ApiModelProperty(position = 5, required = false, value = "原价", example = "199") @ApiModelProperty(position = 5, value = "原价", example = "199")
@DecimalMin("0.01")
private BigDecimal price; private BigDecimal price;
@ApiModelProperty(position = 6, required = false, value = "折扣价", example = "199") @ApiModelProperty(position = 6, value = "折扣价", example = "199")
@DecimalMin("0.01")
private BigDecimal priceFixed; private BigDecimal priceFixed;
@ApiModelProperty(position = 7, required = false, value = "会员包有效天数", example = "365") @ApiModelProperty(position = 7, value = "会员包有效天数", example = "365")
@NotNull
@Min(30)
private Integer days; private Integer days;
@ApiModelProperty(position = 8, required = false, value = "会员包须知", example = "会员包须知") @ApiModelProperty(position = 8, value = "会员包须知", example = "会员包须知")
private String detail; private String detail;
} }
...@@ -16,7 +16,7 @@ public class AdamMemberOrderPreviewVo implements Serializable { ...@@ -16,7 +16,7 @@ public class AdamMemberOrderPreviewVo implements Serializable {
private String memberTitle; private String memberTitle;
@ApiModelProperty(position = 12, value = "价格详情") @ApiModelProperty(position = 12, value = "价格详情")
private AdamMemberPriceVo priceVo; private AdamMemberPriceVo priceVo;
@ApiModelProperty(position = 13, value = "是否实名[true-是]") @ApiModelProperty(position = 13, value = "实名信息")
private AdamRealInfoVo realInfoVo; private AdamRealInfoVo realInfoVo;
@ApiModelProperty(position = 14, value = "生日") @ApiModelProperty(position = 14, value = "生日")
private String birthday; private String birthday;
......
package com.liquidnet.service.adam.dto.vo; package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -16,7 +19,7 @@ public class AdamMemberPriceVo implements Serializable { ...@@ -16,7 +19,7 @@ public class AdamMemberPriceVo implements Serializable {
@ApiModelProperty(position = 2, value = "会员类型ID") @ApiModelProperty(position = 2, value = "会员类型ID")
private String memberId; private String memberId;
@ApiModelProperty(position = 3, value = "价格状态[0-不可用,1-上线中,2-已下线]") @ApiModelProperty(position = 3, value = "价格状态[0-不可用,1-上线中,2-已下线]")
private Integer status; private Integer state;
@ApiModelProperty(position = 4, value = "价格包名称") @ApiModelProperty(position = 4, value = "价格包名称")
private String name; private String name;
@ApiModelProperty(position = 5, value = "原价") @ApiModelProperty(position = 5, value = "原价")
...@@ -31,4 +34,28 @@ public class AdamMemberPriceVo implements Serializable { ...@@ -31,4 +34,28 @@ public class AdamMemberPriceVo implements Serializable {
private String createdAt; private String createdAt;
@ApiModelProperty(position = 10, value = "更新时间") @ApiModelProperty(position = 10, value = "更新时间")
private String updatedAt; private String updatedAt;
private static final AdamMemberPriceVo obj = new AdamMemberPriceVo();
public static AdamMemberPriceVo getNew() {
try {
return (AdamMemberPriceVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new AdamMemberPriceVo();
}
}
public AdamMemberPriceVo copy(AdamMemberPrice source) {
this.setMemberPriceId(source.getMemberPriceId());
this.setMemberId(source.getMemberId());
this.setState(source.getState());
this.setName(source.getName());
this.setPrice(source.getPrice());
this.setPriceFixed(source.getPriceFixed());
this.setDays(source.getDays());
this.setDetail(source.getDetail());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
this.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getUpdatedAt()));
return this;
}
} }
...@@ -43,16 +43,4 @@ public class AdamMemberRightsVo implements java.io.Serializable, Cloneable { ...@@ -43,16 +43,4 @@ public class AdamMemberRightsVo implements java.io.Serializable, Cloneable {
this.sort = sort; this.sort = sort;
return this; return this;
} }
public List<AdamMemberRightsVo> initDefault() {
return Arrays.asList(AdamMemberRightsVo.getNew().setName("专属").setSort(1)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c4477d72.png"),
AdamMemberRightsVo.getNew().setName("优惠").setSort(2)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c685e7a8.png"),
AdamMemberRightsVo.getNew().setName("优先").setSort(3)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c726a750.png"),
AdamMemberRightsVo.getNew().setName("专属").setSort(4)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c5de2870.png")
);
}
} }
...@@ -43,15 +43,15 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable { ...@@ -43,15 +43,15 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
@ApiModelProperty(position = 12, value = "是否展示协议[200]", example = "0") @ApiModelProperty(position = 12, value = "是否展示协议[200]", example = "0")
private Integer displayAgreement; private Integer displayAgreement;
@ApiModelProperty(position = 13, value = "状态[1-NORMAL,2-INVALID]") @ApiModelProperty(position = 13, value = "状态[1-NORMAL,2-INVALID]")
private String state; private Integer state;
@ApiModelProperty(position = 14, value = "限购数量,0不限购[200]", example = "0") @ApiModelProperty(position = 14, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation; private Integer limitation;
@ApiModelProperty(position = 15, value = "会员卡价格信息")
private List<AdamMemberPriceVo> priceVoList;
@ApiModelProperty(position = 20, value = "会员专属权益") @ApiModelProperty(position = 20, value = "会员卡价格信息")
private List<AdamMemberPriceVo> priceVoList;
@ApiModelProperty(position = 21, value = "会员专属权益")
private List<AdamMemberRightsVo> rightsVoList; private List<AdamMemberRightsVo> rightsVoList;
@ApiModelProperty(position = 21, value = "用户会员信息") @ApiModelProperty(position = 22, value = "用户会员信息")
private AdamUserMemberVo memberInfo; private AdamUserMemberVo memberInfo;
private static final AdamMemberVo obj = new AdamMemberVo(); private static final AdamMemberVo obj = new AdamMemberVo();
...@@ -65,48 +65,67 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable { ...@@ -65,48 +65,67 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
return new AdamMemberVo(); return new AdamMemberVo();
} }
/** public AdamMemberVo copy(AdamMember source) {
* 设置会员价格 this.setMemberId(source.getMemberId());
* @param adamMemberPrices this.setName(source.getName());
* @return this.setTitle(source.getTitle());
*/ this.setSubTitle(source.getSubTitle());
@JsonIgnore this.setIcon(source.getIcon());
public static List<AdamMemberPriceVo> setMemberPrice(List<AdamMemberPrice> adamMemberPrices){ this.setAvatar(source.getAvatar());
List<AdamMemberPriceVo> adamMemberPricesVo = new ArrayList<>(); this.setInterestsDetail(source.getInterestsDetail());
for (int i =0;i<adamMemberPrices.size();i++){ this.setNotes(source.getNotes());
AdamMemberPrice adamMemberPrice = adamMemberPrices.get(i); this.setIsNotice(source.getIsNotice());
AdamMemberPriceVo adamMemberPriceVo = new AdamMemberPriceVo(); this.setNoticeInfo(source.getNoticeInfo());
BeanUtils.copyProperties(adamMemberPrice, adamMemberPriceVo); this.setNoticeTitle(source.getNoticeTitle());
adamMemberPriceVo.setCreatedAt(DateUtil.format(adamMemberPrice.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss)); this.setNeedQuestion(source.getNeedQuestion());
adamMemberPriceVo.setUpdatedAt(DateUtil.format(adamMemberPrice.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss)); this.setDisplayAgreement(source.getDisplayAgreement());
} this.setState(source.getState());
return adamMemberPricesVo; this.setLimitation(source.getLimitation());
return this;
} }
/** // /**
* 组装MQ需要的对象 // * 设置会员价格
* @param adamMember // * @param adamMemberPrices
* @return // * @return
*/ // */
@JsonIgnore // @JsonIgnore
public List<Object> getMqList(AdamMember adamMember){ // public static List<AdamMemberPriceVo> setMemberPrice(List<AdamMemberPrice> adamMemberPrices){
List<Object> paramList = new ArrayList<>(); // List<AdamMemberPriceVo> adamMemberPricesVo = new ArrayList<>();
paramList.add(adamMember.getName()); // for (int i =0;i<adamMemberPrices.size();i++){
paramList.add(adamMember.getTitle()); // AdamMemberPrice adamMemberPrice = adamMemberPrices.get(i);
paramList.add(adamMember.getSubTitle()); // AdamMemberPriceVo adamMemberPriceVo = new AdamMemberPriceVo();
paramList.add(adamMember.getIcon()); // BeanUtils.copyProperties(adamMemberPrice, adamMemberPriceVo);
paramList.add(adamMember.getAvatar()); // adamMemberPriceVo.setCreatedAt(DateUtil.format(adamMemberPrice.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
paramList.add(adamMember.getStartNo()); // adamMemberPriceVo.setUpdatedAt(DateUtil.format(adamMemberPrice.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
paramList.add(adamMember.getType()); // }
paramList.add(adamMember.getInterestsDetail()); // return adamMemberPricesVo;
paramList.add(adamMember.getNotes()); // }
paramList.add(adamMember.getIsNotice());
paramList.add(adamMember.getNoticeInfo()); // /**
paramList.add(adamMember.getNoticeTitle()); // * 组装MQ需要的对象
paramList.add(adamMember.getNeedQuestion()); // * @param adamMember
paramList.add(adamMember.getDisplayAgreement()); // * @return
paramList.add(adamMember.getMemberId()); // */
paramList.add(adamMember.getLimitation()); // @JsonIgnore
return paramList; // public List<Object> getMqList(AdamMember adamMember){
} // List<Object> paramList = new ArrayList<>();
// paramList.add(adamMember.getName());
// paramList.add(adamMember.getTitle());
// paramList.add(adamMember.getSubTitle());
// paramList.add(adamMember.getIcon());
// paramList.add(adamMember.getAvatar());
// paramList.add(adamMember.getStartNo());
// paramList.add(adamMember.getType());
// paramList.add(adamMember.getInterestsDetail());
// paramList.add(adamMember.getNotes());
// paramList.add(adamMember.getIsNotice());
// paramList.add(adamMember.getNoticeInfo());
// paramList.add(adamMember.getNoticeTitle());
// paramList.add(adamMember.getNeedQuestion());
// paramList.add(adamMember.getDisplayAgreement());
// paramList.add(adamMember.getMemberId());
// paramList.add(adamMember.getLimitation());
// return paramList;
// }
} }
...@@ -63,6 +63,18 @@ public interface IAdamRdmService { ...@@ -63,6 +63,18 @@ public interface IAdamRdmService {
AdamMemberSimpleVo getMemberSimpleVo(); AdamMemberSimpleVo getMemberSimpleVo();
AdamMemberVo getMemberVoByMemberId(String memberId);
boolean setMemberPriceVoByMemberId(String memberId, List<AdamMemberPriceVo> vos);
List<AdamMemberPriceVo> getMemberPriceVoByMemberId(String memberId);
AdamMemberPriceVo getMemberPriceVoByPriceId(String memberId, String memberPriceId);
boolean setMemberRightsVoByMemberId(String memberId, List<AdamMemberRightsVo> vos);
List<AdamMemberRightsVo> getMemberRightsVoByMemberId(String memberId);
String getMemberAgreement(); String getMemberAgreement();
boolean setMemberNoByMemberId(String memberId, long val); boolean setMemberNoByMemberId(String memberId, long val);
......
package com.liquidnet.service.adam.service; package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamRealName; import com.liquidnet.service.adam.entity.AdamRealName;
/** /**
...@@ -13,8 +12,5 @@ import com.liquidnet.service.adam.entity.AdamRealName; ...@@ -13,8 +12,5 @@ import com.liquidnet.service.adam.entity.AdamRealName;
* @since 2021-05-10 * @since 2021-05-10
*/ */
public interface IAdamRealNameService extends IService<AdamRealName> { public interface IAdamRealNameService extends IService<AdamRealName> {
AdamRealInfoVo queryByUid(String uid);
void add(AdamRealName realName); void add(AdamRealName realName);
} }
...@@ -4,15 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,15 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import java.util.List;
/** /**
* 会员信息 * 会员信息
*/ */
public interface IAdamMemberAdminService extends IService<AdamMember> { public interface IAdamMemberAdminService extends IService<AdamMember> {
List<AdamMember> list();
void add(AdamMemberParam info); void add(AdamMemberParam info);
void edit(AdamMember info); void edit(AdamMember info);
......
package com.liquidnet.service.adam.service.admin; package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo; import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
import java.util.List; public interface IAdamMemberPriceAdminService extends IService<AdamMemberPrice> {
public interface IAdamMemberPriceService extends IService<AdamMemberPrice> {
List<AdamMemberPrice> list(String memberId);
void add(AdamMemberPrice info); void add(AdamMemberPrice info);
AdamMemberPriceVo query(String memberId, String memberPriceId); void edit(AdamMemberPriceParam param);
boolean edit(AdamMemberPrice info);
} }
package com.liquidnet.service.kylin.constant; package com.liquidnet.service.kylin.constant;
public class KylinRedisConst { public class KylinRedisConst {
public static final String FIELDS = "kylin:fields:id:"; public static final String FIELDS = "kylin:fields:id";
public static final String PERFORMANCES = "kylin:performances:id:"; public static final String PERFORMANCES = "kylin:performances:id:";
public static final String PERFORMANCES_RECOMMEND = "kylin:performances:recommend:id:"; public static final String PERFORMANCES_RECOMMEND = "kylin:performances:recommend:id:";
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:id:"; public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:id:";
......
...@@ -244,13 +244,13 @@ ...@@ -244,13 +244,13 @@
</dependencyManagement> </dependencyManagement>
<modules> <modules>
<module>liquidnet-client-admin-web</module> <module>liquidnet-client-admin-common</module>
<module>liquidnet-client-admin-framework</module> <module>liquidnet-client-admin-framework</module>
<module>liquidnet-client-admin-system</module> <module>liquidnet-client-admin-system</module>
<!-- <module>liquidnet-client-admin-quartz</module>--> <!-- <module>liquidnet-client-admin-quartz</module>-->
<module>liquidnet-client-admin-generator</module> <module>liquidnet-client-admin-generator</module>
<module>liquidnet-client-admin-common</module>
<module>liquidnet-client-admin-zhengzai</module> <module>liquidnet-client-admin-zhengzai</module>
<module>liquidnet-client-admin-web</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>
......
...@@ -2,8 +2,8 @@ server: ...@@ -2,8 +2,8 @@ server:
port: ${liquidnet.info.port} port: ${liquidnet.info.port}
tomcat: tomcat:
uri-encoding: UTF-8 uri-encoding: UTF-8
maxThreads: 2000 #默认200 maxThreads: 3000 #默认200
minSpareThreads: 200 #默认10 minSpareThreads: 3000 #默认10
maxConnections: 20000 #默认10000 maxConnections: 20000 #默认10000
acceptCount: 5000 #默认100 acceptCount: 5000 #默认100
processorCache: -1 #默认200 processorCache: -1 #默认200
...@@ -104,9 +104,9 @@ ribbon: ...@@ -104,9 +104,9 @@ ribbon:
eureka: eureka:
enabled: true # 为Ribbon禁用Eureka enabled: true # 为Ribbon禁用Eureka
ReadTimeout: 15000 ReadTimeout: 15000
SocketTimeout: 15000 ConnectTimeout: 15000
MaxAutoRetries: 0 MaxAutoRetries: 1
MaxAutoRetriesNextServer: 0 MaxAutoRetriesNextServer: 1
MaxConnectionsPerHost: 5000 MaxConnectionsPerHost: 5000
MaxTotalConnections: 25000 MaxTotalConnections: 25000
#liquidnet-service-sequence: #liquidnet-service-sequence:
......
...@@ -34,7 +34,7 @@ public class AdamMemberPrice implements Serializable { ...@@ -34,7 +34,7 @@ public class AdamMemberPrice implements Serializable {
/** /**
* 状态 0 不可用 1上线中 2已下线 * 状态 0 不可用 1上线中 2已下线
*/ */
private Integer status; private Integer state;
/** /**
* 会员包名称 * 会员包名称
......
...@@ -233,8 +233,8 @@ create table adam_member_price ...@@ -233,8 +233,8 @@ create table adam_member_price
mid int unsigned auto_increment primary key, mid int unsigned auto_increment primary key,
member_price_id varchar(64) comment '会员价格id', member_price_id varchar(64) comment '会员价格id',
member_id varchar(64) NOT NULL comment '会员种类ID', member_id varchar(64) NOT NULL comment '会员种类ID',
status tinyint NOT NULL DEFAULT '0' COMMENT '0不可用、1上线中、2已下线', state 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(30) 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 '会员包天数',
......
...@@ -16,6 +16,11 @@ public class AdamRedisConst { ...@@ -16,6 +16,11 @@ public class AdamRedisConst {
public static final String INFO_USER = INFO.concat("user:"); public static final String INFO_USER = INFO.concat("user:");
public static final String INFO_REAL_NAME = INFO.concat("real_name:"); public static final String INFO_REAL_NAME = INFO.concat("real_name:");
public static final String INFO_THIRD_PARTY = INFO.concat("third_party:"); public static final String INFO_THIRD_PARTY = INFO.concat("third_party:");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("member:simple");
public static final String INFO_MEMBER_CATEGORY = INFO.concat("member:category:");
public static final String INFO_MEMBER_PRICE = INFO.concat("member:price:");
public static final String INFO_MEMBER_RIGHTS = INFO.concat("member:rights:");
public static final String INFO_MEMBER_AGREEMENT = INFO.concat("member:agreement");
public static final String INFO_MEMBER_USER = INFO.concat("member:user"); public static final String INFO_MEMBER_USER = INFO.concat("member:user");
public static final String INFO_MEMBER_CODE = INFO.concat("member:code:"); public static final String INFO_MEMBER_CODE = INFO.concat("member:code:");
public static final String INFO_ENTERS = INFO.concat("enters:"); public static final String INFO_ENTERS = INFO.concat("enters:");
...@@ -23,8 +28,6 @@ public class AdamRedisConst { ...@@ -23,8 +28,6 @@ public class AdamRedisConst {
public static final String INFO_TAGS_SEX = INFO.concat("tags:sex"); public static final String INFO_TAGS_SEX = INFO.concat("tags:sex");
public static final String INFO_TAGS_MUSIC = INFO.concat("tags:music"); public static final String INFO_TAGS_MUSIC = INFO.concat("tags:music");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("member:simple");
public static final String INFO_MEMBER_AGREEMENT = INFO.concat("member:agreement");
public static final String INCR = ADAM.concat("incr:"); public static final String INCR = ADAM.concat("incr:");
......
...@@ -11,15 +11,12 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackParam; ...@@ -11,15 +11,12 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam; import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam; import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult; import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderPreviewVo; import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.service.IAdamMemberOrderService; import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamRdmService; import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamRealNameService; import com.liquidnet.service.adam.service.IAdamRealNameService;
import com.liquidnet.service.adam.service.IAdamUserService; import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -47,7 +44,7 @@ public class AdamMemberOrderController { ...@@ -47,7 +44,7 @@ public class AdamMemberOrderController {
@Autowired @Autowired
IAdamMemberOrderService adamMemberOrderService; IAdamMemberOrderService adamMemberOrderService;
@Autowired @Autowired
IAdamMemberPriceService adamMemberPriceService; IAdamMemberPriceAdminService adamMemberPriceService;
@Autowired @Autowired
IAdamRealNameService adamRealNameService; IAdamRealNameService adamRealNameService;
@Autowired @Autowired
...@@ -60,15 +57,21 @@ public class AdamMemberOrderController { ...@@ -60,15 +57,21 @@ public class AdamMemberOrderController {
@GetMapping("preview/{mno}/{id}") @GetMapping("preview/{mno}/{id}")
public ResponseDto<AdamMemberOrderPreviewVo> preview(@NotBlank @PathVariable String mno, public ResponseDto<AdamMemberOrderPreviewVo> preview(@NotBlank @PathVariable String mno,
@NotBlank @PathVariable String id) { @NotBlank @PathVariable String id) {
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(mno);
if (null == memberVo) {
return ResponseDto.failure(ErrorMapping.get("10107"));
}
AdamMemberOrderPreviewVo previewVo = AdamMemberOrderPreviewVo.getNew(); AdamMemberOrderPreviewVo previewVo = AdamMemberOrderPreviewVo.getNew();
previewVo.setMemberId(mno); previewVo.setMemberId(mno);
previewVo.setMemberTitle("摩登天空会员"); previewVo.setMemberTitle(memberVo.getTitle());
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid());
previewVo.setRealInfoVo(realInfoVo); previewVo.setRealInfoVo(adamRdmService.getRealInfoVoByUid(CurrentUtil.getCurrentUid()));
previewVo.setPriceVo(adamMemberPriceService.query(mno, id)); previewVo.setPriceVo(adamRdmService.getMemberPriceVoByPriceId(mno, id));
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid()); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid());
previewVo.setBirthday(null == userInfoVo ? null : userInfoVo.getBirthday()); previewVo.setBirthday(null == userInfoVo ? null : userInfoVo.getBirthday());
return ResponseDto.success(previewVo); return ResponseDto.success(previewVo);
} }
...@@ -79,7 +82,10 @@ public class AdamMemberOrderController { ...@@ -79,7 +82,10 @@ public class AdamMemberOrderController {
try { try {
log.debug("member/order/buy:param:{}", JsonUtils.toJson(param)); log.debug("member/order/buy:param:{}", JsonUtils.toJson(param));
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid()); // TODO: 2021/6/9 判断黑名单,待定(暂不做)
AdamRealInfoVo realInfoVo = adamRdmService.getRealInfoVoByUid(CurrentUtil.getCurrentUid());
if (null == realInfoVo) { if (null == realInfoVo) {
if (StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getIdCard())) { if (StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getIdCard())) {
return ResponseDto.failure(ErrorMapping.get("10101")); return ResponseDto.failure(ErrorMapping.get("10101"));
...@@ -123,7 +129,12 @@ public class AdamMemberOrderController { ...@@ -123,7 +129,12 @@ public class AdamMemberOrderController {
@PostMapping("exchange") @PostMapping("exchange")
public ResponseDto<AdamMemberOrderResult> useMemberCode(@Valid @RequestBody AdamMemberOrderCodeParam param) { public ResponseDto<AdamMemberOrderResult> useMemberCode(@Valid @RequestBody AdamMemberOrderCodeParam param) {
try { try {
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid()); log.debug("member/order/exchange:param:{}", JsonUtils.toJson(param));
// TODO: 2021/6/9 判断黑名单,待定(暂不做)
AdamRealInfoVo realInfoVo = adamRdmService.getRealInfoVoByUid(CurrentUtil.getCurrentUid());
if (null == realInfoVo) { if (null == realInfoVo) {
if (StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getIdCard())) { if (StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getIdCard())) {
return ResponseDto.failure(ErrorMapping.get("10101")); return ResponseDto.failure(ErrorMapping.get("10101"));
......
package com.liquidnet.service.adam.controller.admin; package com.liquidnet.service.adam.controller.admin;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam; import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -15,52 +14,58 @@ import io.swagger.annotations.ApiOperation; ...@@ -15,52 +14,58 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
@ApiSupport(order = 90061) @ApiSupport(order = 90061)
@Api(tags = "后台管理:会员价格") @Api(tags = "后台管理:会员价格")
@Slf4j @Slf4j
@Validated
@RestController @RestController
@RequestMapping("admin/member/price") @RequestMapping("admin/member/price")
public class AdamMemberPriceController { public class AdamMemberPriceAdminController {
@Autowired @Autowired
IAdamMemberPriceService adamMemberPriceService; IAdamMemberPriceAdminService adamMemberPriceService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "会员价格列表") @ApiOperation(value = "会员价格列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "path", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"),
}) })
@GetMapping("list/{memberId}") @GetMapping("list")
public ResponseDto<Object> list(@PathVariable String memberId) { public ResponseDto<List<AdamMemberPrice>> list(@NotBlank @RequestParam String memberId) {
List<AdamMemberPrice> list = adamMemberPriceService.list(memberId); return ResponseDto.success(
List<AdamMemberPriceVo> adamMemberPriceVos = new ArrayList<>(); adamMemberPriceService.list(
for (int i = 0; i < list.size(); i++) { Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberId, memberId)
AdamMemberPriceVo apv = new AdamMemberPriceVo(); )
AdamMemberPrice amp = list.get(i); );
BeanUtils.copyProperties(amp, apv);
apv.setCreatedAt(DateUtil.format(amp.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
apv.setUpdatedAt(DateUtil.format(amp.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
adamMemberPriceVos.add(apv);
}
return ResponseDto.success(adamMemberPriceVos);
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@ApiOperation(value = "会员价格详情") @ApiOperation(value = "会员价格详情")
@GetMapping("info/{memberId}/{memberPriceId}") @ApiImplicitParams({
public ResponseDto<AdamMemberPriceVo> query(@PathVariable(name = "memberId") String memberId, @PathVariable(name = "memberPriceId") String memberPriceId){ @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"),
AdamMemberPriceVo adamMemberPrice = adamMemberPriceService.query(memberId, memberPriceId); @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberPriceId", value = "会员卡价格ID[64]"),
return ResponseDto.success(adamMemberPrice); })
@GetMapping("info")
public ResponseDto<AdamMemberPrice> query(@NotBlank @RequestParam String memberId, @NotBlank @RequestParam String memberPriceId) {
return ResponseDto.success(
adamMemberPriceService.getOne(
Wrappers.lambdaQuery(AdamMemberPrice.class)
.eq(AdamMemberPrice::getMemberPriceId, memberPriceId)
.eq(AdamMemberPrice::getMemberId, memberId)
)
);
} }
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@ApiOperation(value = "添加会员价格") @ApiOperation(value = "添加会员价格")
@PostMapping("add") @PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamMemberPriceParam param) { public ResponseDto<Object> add(@Valid @RequestBody AdamMemberPriceParam param) {
AdamMemberPrice entity = new AdamMemberPrice(); AdamMemberPrice entity = new AdamMemberPrice();
BeanUtils.copyProperties(param, entity); BeanUtils.copyProperties(param, entity);
adamMemberPriceService.add(entity); adamMemberPriceService.add(entity);
...@@ -70,10 +75,8 @@ public class AdamMemberPriceController { ...@@ -70,10 +75,8 @@ public class AdamMemberPriceController {
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
@ApiOperation(value = "编辑会员价格") @ApiOperation(value = "编辑会员价格")
@PostMapping("edit") @PostMapping("edit")
public ResponseDto<Object> edit(@RequestBody AdamMemberPriceParam param) { public ResponseDto<Object> edit(@Valid @RequestBody AdamMemberPriceParam param) {
AdamMemberPrice entity = new AdamMemberPrice(); adamMemberPriceService.edit(param);
BeanUtils.copyProperties(param, entity);
adamMemberPriceService.edit(entity);
return ResponseDto.success(); return ResponseDto.success();
} }
} }
...@@ -61,7 +61,7 @@ public class AdamMemberCodeServiceImpl extends ServiceImpl<AdamMemberCodeMapper, ...@@ -61,7 +61,7 @@ public class AdamMemberCodeServiceImpl extends ServiceImpl<AdamMemberCodeMapper,
// redis // redis
Map<String, Object> redisMap = new HashMap<>(); Map<String, Object> redisMap = new HashMap<>();
redisMap.put(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(adamMemberCode.getMemberPriceId()), vo); redisMap.put(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(adamMemberCode.getMemberPriceId()), vo);
redisUtil.hmset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(adamMemberCode.getBuyUid()) , redisMap); redisUtil.hmset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(adamMemberCode.getBuyUid()) , redisMap);
} }
} }
...@@ -17,7 +17,7 @@ import com.liquidnet.service.adam.service.IAdamMemberOrderService; ...@@ -17,7 +17,7 @@ import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamMemberService; import com.liquidnet.service.adam.service.IAdamMemberService;
import com.liquidnet.service.adam.service.IAdamRdmService; import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService; import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.adam.util.MemberUtil; import com.liquidnet.service.adam.util.MemberUtil;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
...@@ -51,7 +51,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -51,7 +51,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
@Autowired @Autowired
IAdamUserMemberService adamUserMemberService; IAdamUserMemberService adamUserMemberService;
@Autowired @Autowired
IAdamMemberPriceService adamMemberPriceService; IAdamMemberPriceAdminService adamMemberPriceService;
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired @Autowired
...@@ -107,7 +107,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -107,7 +107,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
public ResponseDto<AdamMemberOrderResult> buyMemberOrMemberCode(AdamMemberOrderParam param) { public ResponseDto<AdamMemberOrderResult> buyMemberOrMemberCode(AdamMemberOrderParam param) {
String memberId = param.getMemberId(); String memberId = param.getMemberId();
String memberPriceId = param.getMemberPriceId(); String memberPriceId = param.getMemberPriceId();
// 判断黑名单,待定(暂不做)
// 验证会员是否有效 // 验证会员是否有效
AdamMemberVo adamMemberVo = adamMemberService.queryMemberInfo(); AdamMemberVo adamMemberVo = adamMemberService.queryMemberInfo();
...@@ -128,18 +127,14 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -128,18 +127,14 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
return ResponseDto.failure(ErrorMapping.get("10202")); return ResponseDto.failure(ErrorMapping.get("10202"));
} }
AdamMemberPriceVo memberPrice = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), memberPriceId); AdamMemberPriceVo memberPriceVo = adamRdmService.getMemberPriceVoByPriceId(memberId, memberPriceId);
if (null == memberPrice) {
memberPrice = (AdamMemberPriceVo) mongoTemplate.find(Query.query(Criteria.where("memberPriceId").is(memberPriceId)),
AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName());
}
String createdAt = DateUtil.format(LocalDateTime.now(), DateUtil.Formatter.yyyyMMddHHmmss); String createdAt = DateUtil.format(LocalDateTime.now(), DateUtil.Formatter.yyyyMMddHHmmss);
// 生成订单信息 // 生成订单信息
AdamMemberOrderVo orderVo = new AdamMemberOrderVo(); AdamMemberOrderVo orderVo = new AdamMemberOrderVo();
String orderNo = IDGenerator.nextSnowId().toString().concat("V"); String orderNo = IDGenerator.nextSnowId().toString().concat("V");
orderVo.setOrderNo(orderNo); orderVo.setOrderNo(orderNo);
orderVo.setMemberId(memberId); orderVo.setMemberId(memberId);
orderVo.setDays(memberPrice.getDays()); orderVo.setDays(memberPriceVo.getDays());
orderVo.setMemberPriceId(memberPriceId); orderVo.setMemberPriceId(memberPriceId);
orderVo.setCreatedAt(createdAt); orderVo.setCreatedAt(createdAt);
orderVo.setMemberName(adamMemberVo.getName()); orderVo.setMemberName(adamMemberVo.getName());
...@@ -220,12 +215,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -220,12 +215,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
return ResponseDto.failure(ErrorMapping.get(memberCodeVo.getState() == 1 ? "10206" : "10207")); return ResponseDto.failure(ErrorMapping.get(memberCodeVo.getState() == 1 ? "10206" : "10207"));
} }
// 获取会员价格对应的天数 AdamMemberPriceVo memberPriceVo = adamRdmService.getMemberPriceVoByPriceId(memberCodeVo.getMemberId(), memberCodeVo.getMemberPriceId());
AdamMemberPriceVo priceVo = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberCodeVo.getMemberId()), memberCodeVo.getMemberPriceId()); if (null == memberPriceVo) {
if (null == priceVo) {
priceVo = mongoTemplate.findOne(Query.query(Criteria.where("memberPriceId").is(memberCodeVo.getMemberPriceId())), AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName());
}
if (null == priceVo) {
return ResponseDto.failure(ErrorMapping.get("10202")); return ResponseDto.failure(ErrorMapping.get("10202"));
} }
...@@ -245,7 +236,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -245,7 +236,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
orderVo.setMemberName(adamMemberVo.getName()); orderVo.setMemberName(adamMemberVo.getName());
orderVo.setState(AdamMemberConst.STATUS_UNPAID); orderVo.setState(AdamMemberConst.STATUS_UNPAID);
orderVo.setCreatedAt(currentDateTime); orderVo.setCreatedAt(currentDateTime);
orderVo.setDays(priceVo.getDays()); orderVo.setDays(memberPriceVo.getDays());
orderVo.setPayNo(memberCodeVo.getCode()); orderVo.setPayNo(memberCodeVo.getCode());
orderVo.setPrice(BigDecimal.valueOf(0)); orderVo.setPrice(BigDecimal.valueOf(0));
...@@ -340,7 +331,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -340,7 +331,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
// 订单金额比对 // 订单金额比对
return ResponseDto.failure(ErrorMapping.get("10503"), parameter); return ResponseDto.failure(ErrorMapping.get("10503"), parameter);
} }
AdamMemberPriceVo memberPriceVo = adamMemberPriceService.query(handleMemberOrderVo.getMemberId(), handleMemberOrderVo.getMemberPriceId()); AdamMemberPriceVo memberPriceVo =
adamRdmService.getMemberPriceVoByPriceId(handleMemberOrderVo.getMemberId(), handleMemberOrderVo.getMemberPriceId());
if (null == memberPriceVo) { if (null == memberPriceVo) {
return ResponseDto.failure(ErrorMapping.get("10500")); return ResponseDto.failure(ErrorMapping.get("10500"));
} }
...@@ -439,7 +431,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -439,7 +431,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
mongoTemplate.getCollection(AdamMemberOrderVo.class.getSimpleName()) mongoTemplate.getCollection(AdamMemberOrderVo.class.getSimpleName())
.updateOne(Query.query(Criteria.where("orderNo").is(handleMemberOrderVo.getOrderNo())).getQueryObject(), .updateOne(Query.query(Criteria.where("orderNo").is(handleMemberOrderVo.getOrderNo())).getQueryObject(),
new Document(Document.parse(JsonUtils.toJson(updateMemberOrderVo)))); new Document("$set", Document.parse(JsonUtils.toJson(updateMemberOrderVo))));
toMqSqls.add(SqlMapping.get("adam_member_order.update")); toMqSqls.add(SqlMapping.get("adam_member_order.update"));
updateMemberOrderObjs.add(new Object[]{ updateMemberOrderObjs.add(new Object[]{
......
...@@ -38,7 +38,6 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem ...@@ -38,7 +38,6 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
// TODO: 2021/5/26 数据存取更正,不走MySql
@Override @Override
public AdamMemberVo queryMemberInfo() { public AdamMemberVo queryMemberInfo() {
AdamMemberVo info = null; AdamMemberVo info = null;
......
...@@ -2,7 +2,7 @@ package com.liquidnet.service.adam.service.impl; ...@@ -2,7 +2,7 @@ package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo; import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamRealName; import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.mapper.AdamRealNameMapper; import com.liquidnet.service.adam.mapper.AdamRealNameMapper;
...@@ -11,14 +11,11 @@ import com.liquidnet.service.base.SqlMapping; ...@@ -11,14 +11,11 @@ import com.liquidnet.service.base.SqlMapping;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
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.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
...@@ -38,18 +35,6 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada ...@@ -38,18 +35,6 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Override
public AdamRealInfoVo queryByUid(String uid) {
AdamRealInfoVo realInfoVo = (AdamRealInfoVo) redisUtil.hget(AdamRedisConst.INFO_REAL_NAME, uid);
if (null == realInfoVo) {
realInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamRealInfoVo.class, AdamRealInfoVo.class.getSimpleName());
if (null != realInfoVo) redisUtil.hset(AdamRedisConst.INFO_REAL_NAME, uid, realInfoVo);
}
return realInfoVo;
}
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamRealName realName) { public void add(AdamRealName realName) {
...@@ -64,7 +49,7 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada ...@@ -64,7 +49,7 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada
realName.getState(), realName.getState(),
realName.getCreatedAt() realName.getCreatedAt()
); );
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_real_name.add", paramList.toArray())); SqlMapping.get("adam_real_name.add", paramList.toArray()));
} }
} }
package com.liquidnet.service.adam.service.impl.admin; package com.liquidnet.service.adam.service.impl.admin;
import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.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.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo; import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper; import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
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.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.Service; import org.springframework.stereotype.Service;
...@@ -29,83 +22,47 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -29,83 +22,47 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j @Slf4j
@Service @Service
public class AdamMemberPriceServiceImpl extends ServiceImpl<AdamMemberPriceMapper, AdamMemberPrice> implements IAdamMemberPriceService { public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPriceMapper, AdamMemberPrice> implements IAdamMemberPriceAdminService {
@Autowired @Autowired
MongoTemplate mongoTemplate; AdamMemberPriceMapper adamMemberPriceMapper;
@Autowired
MongoConverter mongoConverter;
@Autowired @Autowired
RabbitTemplate rabbitTemplate; MongoTemplate mongoTemplate;
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Autowired
AdamMemberPriceMapper adamMemberPriceMapper;
@Override
public List<AdamMemberPrice> list(String memberId) {
Map<String,Object> map = new HashMap<>();
map.put("member_id", memberId);
List<AdamMemberPrice> adamMemberPrices = adamMemberPriceMapper.selectByMap(map);
return adamMemberPrices;
}
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamMemberPrice info) { public void add(AdamMemberPrice info) {
// mysql
info.setMemberPriceId(IDGenerator.nextSnowId().toString()); info.setMemberPriceId(IDGenerator.nextSnowId().toString());
info.setCreatedAt(LocalDateTime.now()); info.setCreatedAt(LocalDateTime.now());
adamMemberPriceMapper.insert(info);
// mongo
AdamMemberPriceVo vo = new AdamMemberPriceVo();
BeanUtils.copyProperties(info, vo);
vo.setCreatedAt(DateUtil.format(info.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
mongoTemplate.insert(vo, AdamMemberPriceVo.class.getSimpleName()); adamMemberPriceMapper.insert(info);
// redis mongoTemplate.insert(AdamMemberPriceVo.getNew().copy(info), AdamMemberPriceVo.class.getSimpleName());
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(info.getMemberId()), vo.getMemberPriceId(), vo);
} }
@Override @Override
public AdamMemberPriceVo query(String memberId, String memberPriceId) { @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
AdamMemberPriceVo priceVo = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), memberPriceId); public void edit(AdamMemberPriceParam param) {
if (null == priceVo) { AdamMemberPrice updateInfo = new AdamMemberPrice();
priceVo = mongoTemplate.findOne(Query.query(Criteria.where("memberPriceId").is(memberPriceId)), AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName()); updateInfo.setState(param.getState());
updateInfo.setName(param.getName());
updateInfo.setPrice(param.getPrice());
updateInfo.setPriceFixed(param.getPriceFixed());
updateInfo.setDays(param.getDays());
updateInfo.setDetail(param.getDetail());
updateInfo.setUpdatedAt(LocalDateTime.now());
if (null != priceVo) redisUtil.hset(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), memberPriceId, priceVo); String memberPriceId = param.getMemberPriceId();
}
return priceVo;
}
@Override adamMemberPriceMapper.update(
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) updateInfo, Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberPriceId, memberPriceId));
public boolean edit(AdamMemberPrice info) { mongoTemplate.getCollection(AdamMemberPriceVo.class.getSimpleName()).updateOne(
try { Query.query(Criteria.where("memberPriceId").is(memberPriceId)).getQueryObject(),
String memberPriceId = info.getMemberPriceId(); new Document("$set", Document.parse(JsonUtils.toJson(updateInfo)))
LocalDateTime updatedAt = LocalDateTime.now(); );
info.setUpdatedAt(updatedAt); redisUtil.del(AdamRedisConst.INFO_MEMBER_PRICE.concat(memberPriceId));
// mysql
adamMemberPriceMapper.update(
info, new UpdateWrapper<AdamMemberPrice>().eq("member_price_id", memberPriceId));
// mongo
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(info)));
Document doc = mongoTemplate.getCollection(AdamMemberPrice.class.getSimpleName())
.findOneAndUpdate(
Query.query(Criteria.where("memberPriceId").is(memberPriceId)).getQueryObject(),
object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
// reids
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(info.getMemberId()), info.getMemberPriceId(), info);
} catch (Exception e){
return false;
}
return true;
} }
} }
package com.liquidnet.service.adam.service.impl.admin; package com.liquidnet.service.adam.service.impl.admin;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
...@@ -9,90 +8,54 @@ import com.liquidnet.service.adam.constant.AdamRedisConst; ...@@ -9,90 +8,54 @@ import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberMapper; import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.bson.Document;
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.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
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.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*;
@Slf4j @Slf4j
@Service @Service
public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, AdamMember> implements IAdamMemberAdminService { public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, AdamMember> implements IAdamMemberAdminService {
@Autowired @Autowired
AdamMemberMapper adamMemberMapper; AdamMemberMapper adamMemberMapper;
@Autowired @Autowired
AdamMemberPriceMapper adamMemberPriceMapper;
@Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired @Autowired
MongoConverter mongoConverter;
@Autowired
RabbitTemplate rabbitTemplate;
@Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Override
public List<AdamMember> list() {
List<AdamMember> infoList = new ArrayList<>();
List<Object> list = redisUtil.lGet(AdamRedisConst.INFO_MEMBERS, 0, -1);
if (CollectionUtils.isEmpty(list)) {
infoList = mongoTemplate.findAll(AdamMember.class);
} else {
for (Object o : list) {
infoList.add((AdamMember) o);
}
}
return infoList;
}
@Override @Override
public void add(AdamMemberParam info) { public void add(AdamMemberParam info) {
// mysql
AdamMember adamMember = new AdamMember(); AdamMember adamMember = new AdamMember();
BeanUtils.copyProperties(info, adamMember); BeanUtils.copyProperties(info, adamMember);
adamMember.setMemberId(IDGenerator.nextSnowId().toString()); adamMember.setMemberId(IDGenerator.nextSnowId().toString());
adamMember.setStartNo(1000); adamMember.setStartNo(10000);
adamMember.setCreatedAt(LocalDateTime.now()); adamMember.setCreatedAt(LocalDateTime.now());
adamMember.setUpdatedAt(LocalDateTime.now()); adamMember.setUpdatedAt(LocalDateTime.now());
adamMemberMapper.insert(adamMember);
AdamMemberVo amv = new AdamMemberVo();
BeanUtils.copyProperties(adamMember, amv);
List<AdamMemberPrice> adamMemberPrices = adamMemberPriceMapper.memberPriceList(adamMember.getMemberId()); adamMemberMapper.insert(adamMember);
amv.setPriceVoList(AdamMemberVo.setMemberPrice(adamMemberPrices));
// 添加数据到 Mongo mongoTemplate.insert(AdamMemberVo.getNew().copy(adamMember), AdamMemberVo.class.getSimpleName());
mongoTemplate.insert(amv, AdamMemberVo.class.getSimpleName());
// todo 放入MQ
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_member.add", (new AdamMemberVo()).getMqList(adamMember).toArray()));
// todo 同步redis
redisUtil.set(AdamRedisConst.INFO_MEMBERS_INFO.concat(adamMember.getMemberId()), amv);
} }
@Override @Override
public void edit(AdamMember info) { public void edit(AdamMember info) {
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(info))); info.setUpdatedAt(LocalDateTime.now());
mongoTemplate.getCollection(AdamMemberVo.class.getSimpleName()) AdamMemberVo updateVo = AdamMemberVo.getNew().copy(info);
.updateOne(Query.query(Criteria.where("mId").is(info.getMid())).getQueryObject(), object);
redisUtil.set(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMid().toString()), info); mongoTemplate.getCollection(AdamMemberVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("mId").is(info.getMid())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)))
);
redisUtil.del(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(info.getMemberId()));
} }
} }
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
10104= 10104=
10105=入场人不存在 10105=入场人不存在
10106=收获地址不存在 10106=收获地址不存在
10107=会员卡信息不存在
......
...@@ -35,12 +35,6 @@ ...@@ -35,12 +35,6 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-adam</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- other --> <!-- other -->
<dependency> <dependency>
......
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