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

Commit 37ae489e authored by 张国柄's avatar 张国柄

会员API:使用兑换码响应参数+订单号,错误信息处理;

parent 8e9cd456
......@@ -8,8 +8,8 @@ import java.io.Serializable;
@ApiModel(value = "AdamMemberOrderResult", description = "购买会员或会员码响应")
@Data
public class AdamMemberOrderResult implements Serializable {
private static final long serialVersionUID = 7779516626586568151L;
public class AdamMemberOrderResult implements Serializable, Cloneable {
private static final long serialVersionUID = 5977054291285833952L;
@ApiModelProperty(value = "支付CODE")
private String code;
@ApiModelProperty(value = "会员订单号")
......@@ -20,4 +20,14 @@ public class AdamMemberOrderResult implements Serializable {
private String showUrl;
@ApiModelProperty(value = "支付成功跳转URL")
private String returnUrl;
private static final AdamMemberOrderResult obj = new AdamMemberOrderResult();
public static AdamMemberOrderResult getNew() {
try {
return (AdamMemberOrderResult) obj.clone();
} catch (CloneNotSupportedException e) {
return new AdamMemberOrderResult();
}
}
}
......@@ -20,8 +20,8 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
private String type;
@ApiModelProperty(position = 4, value = "会员编号")
private String memberNo;
@ApiModelProperty(position = 5, value = "会员状态0-未使用 1-已使用 2-不可用")
private Integer state;
@ApiModelProperty(position = 5, value = "状态:0-未使用,1-已使用,2-不可用")
private int state;
@ApiModelProperty(position = 6, value = "购买会员码的订单编号")
private String buyOrderNo;
@ApiModelProperty(position = 7, value = "购买会员码的用户id")
......
......@@ -18,7 +18,7 @@ public class AdamMemberOrderVo implements Serializable {
private String orderNo;
@ApiModelProperty(position = 1, value = "用户uid")
private String uid;
@ApiModelProperty(position = 2, value = "购买方式:0-购买会员 1-购买会员码,2-使用会员码")
@ApiModelProperty(position = 2, value = "购买方式:0-购买会员,1-购买会员码,2-会员码,3-礼包码")
private Integer mode;
@ApiModelProperty(position = 3, value = "会员id")
private String memberId;
......
......@@ -42,15 +42,16 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
private Integer needQuestion;
@ApiModelProperty(position = 12, value = "是否展示协议[200]", example = "0")
private Integer displayAgreement;
// @ApiModelProperty(position = 13, value = "会员协议内容[200]", example = "摩登天空会员协议须知....")
// private String agreement;
@ApiModelProperty(position = 13, value = "状态[1-NORMAL,2-INVALID]")
private String state;
@ApiModelProperty(position = 14, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation;
@ApiModelProperty(position = 15, value = "会员卡价格信息")
private List<AdamMemberPriceVo> priceVoList;
@ApiModelProperty(position = 16, value = "会员专属权益")
@ApiModelProperty(position = 20, value = "会员专属权益")
private List<AdamMemberRightsVo> rightsVoList;
@ApiModelProperty(position = 17, value = "用户会员信息")
@ApiModelProperty(position = 21, value = "用户会员信息")
private AdamUserMemberVo memberInfo;
private static final AdamMemberVo obj = new AdamMemberVo();
......@@ -104,7 +105,6 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
paramList.add(adamMember.getNoticeTitle());
paramList.add(adamMember.getNeedQuestion());
paramList.add(adamMember.getDisplayAgreement());
paramList.add(adamMember.getAgreement());
paramList.add(adamMember.getMemberId());
paramList.add(adamMember.getLimitation());
return paramList;
......
......@@ -10,23 +10,20 @@ import java.io.Serializable;
@Data
public class AdamUserMemberVo implements Serializable, Cloneable {
private static final long serialVersionUID = 5258094625450569125L;
@ApiModelProperty(position = 0, value = "用户id", example = "0")
@ApiModelProperty(position = 11, value = "用户ID")
private String uid;
@ApiModelProperty(position = 1, value = "会员类型id", example = "0")
@ApiModelProperty(position = 12, value = "会员类型ID")
private String memberId;
@ApiModelProperty(position = 2, value = "会员号", example = "0")
@ApiModelProperty(position = 13, value = "会员号")
private String memberNo;
@ApiModelProperty(position = 3, value = "用户会员状态", example = "1")
@ApiModelProperty(position = 14, value = "用户会员状态[1-NORMAL,2-INVALID]")
private Integer state;
@ApiModelProperty(position = 4, value = "会员过期时间")
@ApiModelProperty(position = 15, value = "过期时间")
private String expiryAt;
@ApiModelProperty(position = 5, value = "创建时间")
@ApiModelProperty(position = 16, value = "创建时间")
private String createdAt;
@ApiModelProperty(position = 6, value = "更新时间")
@ApiModelProperty(position = 17, value = "更新时间")
private String updatedAt;
@ApiModelProperty(position = 7, value = "会员用户id")
private String memberUserId;
private static final AdamUserMemberVo obj = new AdamUserMemberVo();
......@@ -34,8 +31,7 @@ public class AdamUserMemberVo implements Serializable, Cloneable {
try {
return (AdamUserMemberVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return new AdamUserMemberVo();
}
return new AdamUserMemberVo();
}
}
......@@ -27,7 +27,7 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
* @param param
* @return
*/
boolean useMemberCode(AdamMemberOrderCodeParam param);
ResponseDto<AdamMemberOrderResult> useMemberCode(AdamMemberOrderCodeParam param);
/**
* 获取订单列表
......
......@@ -9,53 +9,57 @@ import java.util.List;
public interface IAdamRdmService {
boolean setUidByMobile(String mobile, String uid);
void delUidByMobile(String mobile);
String getUidByMobile(String mobile);
boolean setUidByPlatformOpenId(String platform, String openId, String uid);
void delUidByMobile(String mobile);
void delUidByPlatformOpenId(String platform, String openId);
boolean setUidByPlatformOpenId(String platform, String openId, String uid);
String getUidByPlatformOpenId(String platform, String openId);
void delUserInfoVoByUid(String uid);
void delUidByPlatformOpenId(String platform, String openId);
boolean setUserInfoVoByUid(String uid, AdamUserInfoVo vo);
AdamUserInfoVo getUserInfoVoByUid(String uid);
boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo);
void delUserInfoVoByUid(String uid);
void delRealInfoVoByUid(String uid);
boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo);
AdamRealInfoVo getRealInfoVoByUid(String uid);
boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList);
void delRealInfoVoByUid(String uid);
void delThirdPartVoListByUid(String uid);
boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList);
List<AdamThirdPartInfoVo> getThirdPartVoListByUid(String uid);
AdamThirdPartInfoVo getThirdPartVoByUidPlatform(String uid, String platform);
AdamUserMemberVo getUserMemberVoByUid(String uid);
AdamMemberSimpleVo getMemberSimpleVo();
void delThirdPartVoListByUid(String uid);
boolean setEntersByUid(String uid, List<AdamEnters> list);
void delEntersByUid(String uid);
List<AdamEnters> getEntersByUid(String uid);
AdamEnters getEntersByUidEntersId(String uid, String entersId);
boolean setAddressesByUid(String uid, List<AdamAddresses> list);
void delEntersByUid(String uid);
void delAddressesByUid(String uid);
boolean setAddressesByUid(String uid, List<AdamAddresses> list);
List<AdamAddresses> getAddressesByUid(String uid);
AdamAddresses getAddressesByUidAddressesId(String uid, String addressesId);
void delAddressesByUid(String uid);
boolean setUserMemberVoByUid(String uid, AdamUserMemberVo vo);
AdamUserMemberVo getUserMemberVoByUid(String uid);
void delUserMemberVoByUid(String uid);
AdamMemberSimpleVo getMemberSimpleVo();
}
......@@ -96,9 +96,9 @@ public class AdamMember implements Serializable {
private Integer displayAgreement;
/**
* 会员协议
* 状态:1-NORMAL,2-INVALID
*/
private String agreement;
private Integer state;
/**
* 限购数量
......
......@@ -173,14 +173,14 @@ create index idx_addresses_uid on adam_addresses (uid);
drop table if exists adam_collection;
create table adam_collection
(
mid int unsigned auto_increment primary key,
uid varchar(64) not null,
content_id varchar(64) not null,
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,
updated_at datetime,
comment text
mid int unsigned auto_increment primary key,
uid varchar(64) not null,
content_id varchar(64) not null,
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,
updated_at datetime,
comment text
) engine = InnoDB comment '收藏';
create unique index uidx_collection_uid_content_id on adam_collection (uid, content_id);
......@@ -188,14 +188,14 @@ create unique index uidx_collection_uid_content_id on adam_collection (uid, cont
drop table if exists adam_disposed;
create table adam_disposed
(
mid int unsigned auto_increment not null primary key,
uid varchar(64) not null,
content_id int unsigned not null,
type varchar(30) not null comment '想去类型:TICKET',
state tinyint default 1 not null comment '1-正常,2-删除',
created_at datetime not null,
updated_at datetime,
comment text
mid int unsigned auto_increment not null primary key,
uid varchar(64) not null,
content_id int unsigned not null,
type varchar(30) not null comment '想去类型:TICKET',
state tinyint default 1 not null comment '1-正常,2-删除',
created_at datetime not null,
updated_at datetime,
comment text
) engine = InnoDB comment '想去';
create index idx_disposed_uid on adam_disposed (uid);
create index idx_disposed_content on adam_disposed (content_id);
......@@ -222,16 +222,16 @@ create table adam_member
notice_title varchar(255),
need_question int default 0 comment '是否需要答题 0不需要 1需要',
display_agreement int NOT NULL DEFAULT '0' COMMENT '是否打开0否1是',
agreement text NOT NULL COMMENT '会员协议',
limitation int default 0 comment '限购数量,0不限购'
state int NOT NULL COMMENT '状态:1-NORMAL,2-INVALID',
limitation int default 0 comment '限购数量,0不限购'
);
-- >>------------------------------------------------------------------------------------
drop table if exists adam_member_price;
create table adam_member_price
(
mid int unsigned auto_increment primary key,
member_price_id varchar(255) comment '会员价格id',
member_id varchar(255) NOT NULL comment '会员种类ID',
member_price_id varchar(64) comment '会员价格id',
member_id varchar(64) NOT NULL comment '会员种类ID',
status tinyint NOT NULL DEFAULT '0' COMMENT '0不可用、1上线中、2已下线',
name varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '会员包名称',
price decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '会员包价格',
......
......@@ -15,16 +15,16 @@ public class AdamRedisConst {
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_USER_MEMBER = INFO.concat("user_member:");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("member_simple:");
public static final String INFO_ENTERS = INFO.concat("enters:");
public static final String INFO_ADDRESSES = INFO.concat("addresses:");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("member_simple");
public static final String INFO_MEMBERS = ADAM.concat(":list:members");
public static final String INFO_MEMBERS_INFO = ADAM.concat(":list:members:info:");
public static final String INFO_MEMBERS_PRICE_INFO = ADAM.concat(":list:members:price:info:");
public static final String INFO_MEMBERS_CODE_INFO = ADAM.concat(":list:members:code:info:");
public static final String MEMBER_MEMBER_NO_MAX_KEY = ADAM.concat(":members:member_no_max:");
public static final String INFO_MEMBERS_USER = ADAM.concat(":list:members:user");
public static final String INFO_MEMBERS_REPERTORY_INFO = ADAM.concat(":list:members:repertory:");
public static final String INFO_MEMBERS_ORDER_INFO = ADAM.concat(":list:members:order:");
}
......@@ -87,7 +87,7 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "使用兑换码")
@PostMapping("use/memberCode")
public ResponseDto<AdamMemberOrder> useMemberCode(@RequestBody AdamMemberOrderCodeParam param) {
public ResponseDto<AdamMemberOrderResult> useMemberCode(@RequestBody AdamMemberOrderCodeParam param) {
try {
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid());
if (null == realInfoVo) {
......@@ -97,13 +97,9 @@ public class AdamMemberOrderController {
adamUserService.identity(CurrentUtil.getCurrentUid(), param.getName(), param.getIdCard());
}
boolean result = adamMemberOrderService.useMemberCode(param);
if (!result) {
return ResponseDto.failure("兑换失败");
}
return ResponseDto.success();
return adamMemberOrderService.useMemberCode(param);
} catch (Exception e) {
e.printStackTrace();
log.error("系统异常:使用兑换码", e);
return ResponseDto.failure();
}
}
......
......@@ -27,24 +27,19 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return redisUtil.set(AdamRedisConst.IDENTITY_MOBILE.concat(mobile), uid);
}
@Override
public void delUidByMobile(String mobile) {
redisUtil.del(AdamRedisConst.IDENTITY_MOBILE.concat(mobile));
}
@Override
public String getUidByMobile(String mobile) {
return (String) redisUtil.get(AdamRedisConst.IDENTITY_MOBILE.concat(mobile));
}
@Override
public boolean setUidByPlatformOpenId(String platform, String openId, String uid) {
return redisUtil.set(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId), uid);
public void delUidByMobile(String mobile) {
redisUtil.del(AdamRedisConst.IDENTITY_MOBILE.concat(mobile));
}
@Override
public void delUidByPlatformOpenId(String platform, String openId) {
redisUtil.del(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId));
public boolean setUidByPlatformOpenId(String platform, String openId, String uid) {
return redisUtil.set(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId), uid);
}
@Override
......@@ -53,8 +48,8 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public void delUserInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_USER.concat(uid));
public void delUidByPlatformOpenId(String platform, String openId) {
redisUtil.del(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId));
}
@Override
......@@ -76,13 +71,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo) {
return redisUtil.set(AdamRedisConst.INFO_REAL_NAME.concat(uid), vo);
public void delUserInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_USER.concat(uid));
}
@Override
public void delRealInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid));
public boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo) {
return redisUtil.set(AdamRedisConst.INFO_REAL_NAME.concat(uid), vo);
}
@Override
......@@ -99,13 +94,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList) {
return redisUtil.set(AdamRedisConst.INFO_THIRD_PARTY.concat(uid), voList);
public void delRealInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid));
}
@Override
public void delThirdPartVoListByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_THIRD_PARTY.concat(uid));
public boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList) {
return redisUtil.set(AdamRedisConst.INFO_THIRD_PARTY.concat(uid), voList);
}
@Override
......@@ -131,28 +126,8 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public AdamUserMemberVo getUserMemberVoByUid(String uid) {
String rk = AdamRedisConst.INFO_USER_MEMBER.concat(uid);
AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.get(rk);
if (null == adamUserMemberVo) {
adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
if (null != adamUserMemberVo) redisUtil.set(rk, adamUserMemberVo);
}
return adamUserMemberVo;
}
@Override
public AdamMemberSimpleVo getMemberSimpleVo() {
AdamMemberSimpleVo simpleVo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBER_SIMPLE);
if (null == simpleVo) {
List<AdamMemberSimpleVo> simpleVoList = mongoTemplate.findAll(AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName());
simpleVo = CollectionUtils.isEmpty(simpleVoList) ? null : simpleVoList.get(0);
if (null != simpleVo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, simpleVo);
}
return simpleVo;
public void delThirdPartVoListByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_THIRD_PARTY.concat(uid));
}
@Override
......@@ -160,11 +135,6 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return redisUtil.set(AdamRedisConst.INFO_ENTERS.concat(uid), list);
}
@Override
public void delEntersByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ENTERS.concat(uid));
}
@Override
public List<AdamEnters> getEntersByUid(String uid) {
String rk = AdamRedisConst.INFO_ENTERS.concat(uid);
......@@ -187,13 +157,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public boolean setAddressesByUid(String uid, List<AdamAddresses> list) {
return redisUtil.set(AdamRedisConst.INFO_ADDRESSES.concat(uid), list);
public void delEntersByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ENTERS.concat(uid));
}
@Override
public void delAddressesByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ADDRESSES.concat(uid));
public boolean setAddressesByUid(String uid, List<AdamAddresses> list) {
return redisUtil.set(AdamRedisConst.INFO_ADDRESSES.concat(uid), list);
}
@Override
......@@ -217,4 +187,44 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
if (addressesId.equals(r.getAddressesId())) return r;
return null;
}
@Override
public void delAddressesByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ADDRESSES.concat(uid));
}
@Override
public boolean setUserMemberVoByUid(String uid, AdamUserMemberVo vo) {
return redisUtil.set(AdamRedisConst.INFO_USER_MEMBER.concat(uid), vo);
}
@Override
public AdamUserMemberVo getUserMemberVoByUid(String uid) {
String rk = AdamRedisConst.INFO_USER_MEMBER.concat(uid);
AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.get(rk);
if (null == adamUserMemberVo) {
adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
if (null != adamUserMemberVo) redisUtil.set(rk, adamUserMemberVo);
}
return adamUserMemberVo;
}
@Override
public void delUserMemberVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_USER_MEMBER.concat(uid));;
}
@Override
public AdamMemberSimpleVo getMemberSimpleVo() {
AdamMemberSimpleVo simpleVo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBER_SIMPLE);
if (null == simpleVo) {
List<AdamMemberSimpleVo> simpleVoList = mongoTemplate.findAll(AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName());
simpleVo = CollectionUtils.isEmpty(simpleVoList) ? null : simpleVoList.get(0);
if (null != simpleVo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, simpleVo);
}
return simpleVo;
}
}
......@@ -19,6 +19,11 @@
10201=会员信息有误,请联系客服
10202=会员价格有误,请联系客服
10203=
10204=
10205=当前账号已是会员,无法兑换
10206=兑换码已使用,请核实
10207=兑换码不可用,请核实
......
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