记得上下班打卡 | 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();
}
}
......
......@@ -23,6 +23,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
......@@ -30,6 +31,7 @@ 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.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
......@@ -102,7 +104,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
public ResponseDto<AdamMemberOrderResult> buyMemberOrMemberCode(AdamMemberOrderParam param) {
String memberId = param.getMemberId();
String memberPriceId = param.getMemberPriceId();
AdamMemberOrderResult result = new AdamMemberOrderResult();
// 判断黑名单,待定(暂不做)
// 验证会员是否有效
......@@ -193,6 +194,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
// }
payParam.add("detail", buyType == 0 ? "正在现场 - 购买会员" : "正在现场 - 购买会员码");
Map payResult = this.callPayServer(param.getPayChannel(), payParam);
AdamMemberOrderResult result = AdamMemberOrderResult.getNew();
result.setOrderNo(orderVo.getOrderNo());
result.setCode((String) payResult.get("code"));
result.setPayData(payResult.get("pay_data"));
......@@ -208,21 +211,20 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
* @return Object
*/
@Override
public boolean useMemberCode(AdamMemberOrderCodeParam param) {
public ResponseDto<AdamMemberOrderResult> useMemberCode(AdamMemberOrderCodeParam param) {
String uid = CurrentUtil.getCurrentUid();
String code = param.getMemberCode();
int type = param.getType();
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_USER, uid);
if (null == userMemberVo) {
userMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
}
AdamUserMemberVo userMemberVo = adamRdmService.getUserMemberVoByUid(uid);
if (null != userMemberVo) {
return false;
if (userMemberVo.getState() == 1 && LocalDateTime.now().isAfter(DateUtil.Formatter.yyyyMMddHHmmss.parse(userMemberVo.getExpiryAt()))) {
return ResponseDto.failure(ErrorMapping.get("10205"));
}
}
AdamMemberCodeVo memberCodeVo = mongoTemplate.findOne(Query.query(Criteria.where("code").is(code)), AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName());
if (!memberCodeVo.getState().equals(AdamMemberConst.STATUS_UNPAID)) {
return false;
if (memberCodeVo.getState() != 0) {
return ResponseDto.failure(ErrorMapping.get(memberCodeVo.getState() == 1 ? "10206" : "10207"));
}
// 获取会员价格对应的天数
......@@ -231,8 +233,11 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
priceVo = mongoTemplate.findOne(Query.query(Criteria.where("memberPriceId").is(memberCodeVo.getMemberPriceId())), AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName());
}
if (null == priceVo) {
return false;
return ResponseDto.failure(ErrorMapping.get("10202"));
}
AdamMemberVo adamMemberVo = adamMemberService.queryMemberInfo();
String currentDateTime = DateUtil.getNowTime();
AdamMemberOrderVo orderVo = new AdamMemberOrderVo();
......@@ -244,44 +249,55 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
orderVo.setMode(type);
orderVo.setMemberId(memberCodeVo.getMemberId());
orderVo.setMemberPriceId(memberCodeVo.getMemberPriceId());
orderVo.setMemberName(adamMemberVo.getName());
orderVo.setState(AdamMemberConst.STATUS_UNPAID);
orderVo.setCreatedAt(currentDateTime);
orderVo.setDays(priceVo.getDays());
orderVo.setPayNo(memberCodeVo.getCode());
orderVo.setPrice(BigDecimal.valueOf(0));
if (AdamMemberConst.SUB_TYPE_USE_VIP_CODE == type) { //使用购买的会员码
if (AdamMemberConst.SUB_TYPE_USE_VIP_CODE == type) {// 会员码
orderVo.setPayChannel(AdamMemberConst.VIP_CODE);
} else if (AdamMemberConst.SUB_TYPE_USE_GIFT_CODE == type) { // 使用礼包码
} else if (AdamMemberConst.SUB_TYPE_USE_GIFT_CODE == type) {// 礼包码
orderVo.setPayChannel(AdamMemberConst.GIFT_CODE);
}
// 创建用户使用兑换码的订单
mongoTemplate.insert(orderVo, AdamMemberOrderVo.class.getSimpleName());
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_ORDER_INFO.concat(uid), orderVo.getOrderNo(), orderVo);
// 组装用户会员数据
AdamUserMemberVo memberVo = new AdamUserMemberVo();
memberVo.setMemberNo(orderVo.getMemberNo());
memberVo.setMemberId(orderVo.getMemberId());
memberVo.setState(AdamMemberConst.STATE_VALID);
memberVo.setUid(uid);
memberVo.setMemberUserId(IDGenerator.nextSnowId().toString());
memberVo.setCreatedAt(currentDateTime);
memberVo.setUpdatedAt(currentDateTime);
if (null == userMemberVo) {
userMemberVo = new AdamUserMemberVo();
userMemberVo.setUid(uid);
userMemberVo.setMemberNo(orderVo.getMemberNo());
userMemberVo.setCreatedAt(currentDateTime);
}
userMemberVo.setMemberId(orderVo.getMemberId());
userMemberVo.setState(1);
userMemberVo.setUpdatedAt(currentDateTime);
Date expiryAt = DateUtil.getBeforeDayEnd(Calendar.getInstance(), orderVo.getDays());
String expiryAtStr = DateUtil.format(expiryAt, DateUtil.Formatter.yyyyMMddHHmmss);
memberVo.setExpiryAt(expiryAtStr);
userMemberVo.setExpiryAt(expiryAtStr);
// if (isNewMember) {
// mongoTemplate.insert(userMemberVo, AdamUserMemberVo.class.getSimpleName());
// } else {
// mongoTemplate.getCollection(AdamUserMemberVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("uid").is(uid)).getQueryObject(),
// new Document("$set", Document.parse(JsonUtils.toJson(userMemberVo)))
// );
// }
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(userMemberVo)), "");
mongoTemplate.upsert(Query.query(Criteria.where("uid").is(uid)), update, AdamUserMemberVo.class.getSimpleName());
// 创建用户会员相关信息
mongoTemplate.insert(memberVo, AdamUserMemberVo.class.getSimpleName());
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, uid, memberVo);
adamRdmService.setUserMemberVoByUid(uid, userMemberVo);
// 更新旧数据
memberCodeVo.setState(AdamMemberConst.STATUS_USED);
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(memberCodeVo)));
mongoTemplate.getCollection(AdamMemberCodeVo.class.getSimpleName())
.updateOne(Query.query(Criteria.where("code").is(memberCodeVo.getCode())).getQueryObject(), object);
mongoTemplate.getCollection(AdamMemberCodeVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("code").is(memberCodeVo.getCode())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(memberCodeVo)))
);
// todo MQ 统一通知队列插入数据库
orderVo.setIp(CurrentUtil.getCliIpAddr());
orderVo.setSource(CurrentUtil.getCliSource());
......@@ -296,7 +312,10 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
*/
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_member_order.add", mqList.toArray()));
return true;
AdamMemberOrderResult result = AdamMemberOrderResult.getNew();
result.setOrderNo(orderVo.getOrderNo());
return ResponseDto.success(result);
}
/**
......@@ -364,7 +383,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
if (null == userMemberInfo) { // 创建会员
cardNumber = adamUserMemberService.getMaxMemberNo(orderVo.getMemberId());
AdamUserMemberVo createMemberUser = AdamUserMemberVo.getNew();
createMemberUser.setMemberUserId(IDGenerator.nextSnowId().toString());
createMemberUser.setMemberId(orderVo.getMemberId());
createMemberUser.setMemberNo(orderVo.getMemberNo());
createMemberUser.setState(AdamMemberConst.STATE_VALID);
......@@ -388,7 +406,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
// 订单写入MongoDB和Redis中
mongoTemplate.insert(createMemberUser, AdamUserMemberVo.class.getSimpleName());
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, orderVo.getUid(), createMemberUser);
// redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, orderVo.getUid(), createMemberUser);
adamRdmService.setUserMemberVoByUid(orderVo.getUid(), createMemberUser);
// 会员码使用记录
mongoTemplate.insert(codeVo, AdamMemberCodeVo.class.getSimpleName());
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(codeVo.getBuyUid()), codeVo.getBuyOrderNo(), codeVo);
......@@ -413,7 +432,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
mongoTemplate.getCollection(AdamUserMemberVo.class.getSimpleName())
.updateOne(Query.query(Criteria.where("uid").is(userMemberInfo.getUid())).getQueryObject(), object);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, orderVo.getUid(), userMemberInfo);
// redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, orderVo.getUid(), userMemberInfo);
adamRdmService.setUserMemberVoByUid(orderVo.getUid(), userMemberInfo);
}
}
if (AdamMemberConst.SUB_TYPE_BUY_VIP_CODE.equals(orderVo.getMode())) { // 购买会员码
......
......@@ -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