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

Commit c93d8ddb authored by 洪全海's avatar 洪全海

Merge branch 'dev' of http://gitlab.zhengzai.tv/dongjingwei/liquidnet-bus-v1 into dev

# Conflicts:
#	liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamEntersServiceImpl.java
parent b77b468f
......@@ -5,15 +5,18 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value = "AdamMemberOrderCodeParam", description = "使用兑换码")
@Data
public class AdamMemberOrderCodeParam implements Serializable {
private static final long serialVersionUID = 5940725094369061032L;
@ApiModelProperty(position = 0, required = false, example = "0")
private String uid;
@ApiModelProperty(position = 0, required = true, value = "类型2-会员码 3-礼包码", example = "2")
private int type;
@ApiModelProperty(position = 1, required = true, example = "0")
private String memberCode;
@ApiModelProperty(position = 2, required = true, example = "0")
private LocalDateTime birthday;
}
......@@ -42,7 +42,7 @@ public class AdamMemberOrderVo implements Serializable {
private String createdAt;
@ApiModelProperty(position = 14, value = "兑换码")
private String memberCode;
@ApiModelProperty(position = 15, value = "兑换码")
@ApiModelProperty(position = 15, value = "价格")
private BigDecimal price;
public static final AdamMemberOrderVo obj = new AdamMemberOrderVo();
......
......@@ -8,6 +8,8 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import java.util.List;
/**
* 对客户端API接口
*/
......@@ -24,7 +26,14 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
* @param param
* @return
*/
Object useMemberCode(AdamMemberOrderCodeParam param);
boolean useMemberCode(AdamMemberOrderCodeParam param);
/**
* 获取订单列表
* @param uid
* @return
*/
List<AdamMemberOrderVo> getMemberOrderList(String uid);
/**
* 获取订单详情信息
......@@ -32,7 +41,7 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
* @param orderNo 订单号
* @return
*/
AdamMemberOrderVo getMemberOrderInfo(String orderNo);
AdamMemberOrderVo getMemberOrderInfo(String uid,String orderNo);
/**
* 支付回调
......
package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import java.util.List;
......@@ -10,7 +11,7 @@ public interface IAdamMemberPriceService extends IService<AdamMemberPrice> {
void add(AdamMemberPrice info);
AdamMemberPrice query(String memberPriceId);
AdamMemberPriceVo query(String memberId, String memberPriceId);
boolean edit(AdamMemberPrice info);
}
......@@ -3,7 +3,7 @@ package com.liquidnet.service.adam.constant;
/**
* 订单
*/
public class AdamMemberOrderConst {
public class AdamMemberConst {
// 订单状态
public static final Integer STATUS_UNPAID = 0; // 待支付
public static final Integer STATUS_PAID = 1; // 已支付
......@@ -30,5 +30,13 @@ public class AdamMemberOrderConst {
public static final Integer STATE_VALID = 1; // 正常
public static final Integer STATE_EXPIRED = 2; // 已失效
// 会员码状态
public static final Integer STATUS_UNUSED = 0; // 未使用
public static final Integer STATUS_USED = 1; // 已使用
public static final Integer STATUS_INVALID = 2; // 已失效
public static final String VIP_CODE = "VIP_CODE";
public static final String GIFT_CODE = "GIFT_CODE";
}
......@@ -2,19 +2,22 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "购买会员")
@Slf4j
......@@ -44,7 +47,10 @@ public class AdamMemberOrderController {
@PostMapping("/use/memberCode")
public ResponseDto<AdamMemberOrder> useMemberCode(AdamMemberOrderCodeParam param) {
try {
adamMemberOrderService.useMemberCode(param);
boolean result = adamMemberOrderService.useMemberCode(param);
if (!result) {
return ResponseDto.failure("兑换失败");
}
return ResponseDto.success();
} catch (Exception e) {
e.printStackTrace();
......@@ -52,4 +58,21 @@ public class AdamMemberOrderController {
}
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "会员订单列表")
@GetMapping("/member/order/list")
public ResponseDto<List<AdamMemberOrderVo>> getMemberOrderList() {
String currentUid = CurrentUtil.getCurrentUid();
List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid);
return ResponseDto.success(memberOrderList);
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "会员订单详情")
@GetMapping("/member/order/info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@PathVariable String orderNo) {
String currentUid = CurrentUtil.getCurrentUid();
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(currentUid, orderNo);
return ResponseDto.success(memberOrderInfo);
}
}
......@@ -44,14 +44,10 @@ public class AdamMemberPriceController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "会员价格详情")
@GetMapping("info/{memberPriceId}")
public ResponseDto<Object> query(@PathVariable(name = "memberPriceId") String memberPriceId){
AdamMemberPrice adamMemberPrice = adamMemberPriceService.query(memberPriceId);
AdamMemberPriceVo adamMemberPriceVo = new AdamMemberPriceVo();
BeanUtils.copyProperties(adamMemberPrice, adamMemberPriceVo);
adamMemberPriceVo.setCreatedAt(DateUtil.format(adamMemberPrice.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
adamMemberPriceVo.setUpdatedAt(DateUtil.format(adamMemberPrice.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
return ResponseDto.success(adamMemberPriceVo);
@GetMapping("info/{memberId}/{memberPriceId}")
public ResponseDto<AdamMemberPriceVo> query(@PathVariable(name = "memberId") String memberId, @PathVariable(name = "memberPriceId") String memberPriceId){
AdamMemberPriceVo adamMemberPrice = adamMemberPriceService.query(memberId, memberPriceId);
return ResponseDto.success(adamMemberPrice);
}
@ApiOperationSupport(order = 2)
......
......@@ -4,11 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamMemberOrderConst;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.constant.AdamMemberConst;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackResult;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
......@@ -34,10 +31,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
......@@ -64,6 +58,44 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
@Autowired
IAdamMemberService adamMemberService;
@Override
public List<AdamMemberOrderVo> getMemberOrderList(String uid) {
String redisKey = AdamRedisConst.INFO_MEMBERS_ORDER_INFO.concat(uid);
List<AdamMemberOrderVo> voList = new ArrayList<>();
LinkedHashSet<String> hkeys = (LinkedHashSet<String>) redisUtil.hkeys(redisKey);
if (hkeys.size() > 0) {
Iterator<String> iterator = hkeys.iterator();
while (iterator.hasNext()) {
String key = iterator.next();
AdamMemberOrderVo tempOrderVo = (AdamMemberOrderVo) redisUtil.hget(redisKey, key);
if (null == tempOrderVo) {
tempOrderVo = mongoTemplate.findOne(Query.query(Criteria.where("orderNo").is(key)), AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName());
}
if (null != tempOrderVo) {
voList.add(tempOrderVo);
}
}
} else {
voList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid)), AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName());
for (int i = 0; i < voList.size(); i++) {
AdamMemberOrderVo vo = voList.get(i);
redisUtil.hset(redisKey, vo.getOrderNo(), vo);
}
}
return voList;
}
@Override
public AdamMemberOrderVo getMemberOrderInfo(String uid, String orderNo) {
AdamMemberOrderVo orderVo = null;
orderVo = (AdamMemberOrderVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_ORDER_INFO.concat(uid), orderNo);
if (null == orderVo) {
orderVo = mongoTemplate.findOne(Query.query(Criteria.where("orderNo").is(orderNo)),
AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName());
}
return orderVo;
}
@Override
public AdamMemberOrderResult buyMemberOrMemberCode(AdamMemberOrderParam param) throws Exception {
String memberId = param.getMemberId();
......@@ -114,7 +146,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
orderVo.setMemberName(adamMemberVo.getName());
orderVo.setMode(param.getMode());
orderVo.setPayChannel(param.getPayChannel());
orderVo.setState(AdamMemberOrderConst.STATUS_UNPAID);
orderVo.setState(AdamMemberConst.STATUS_UNPAID);
orderVo.setUid(param.getUid());
orderVo.setPrice(param.getPrice());
......@@ -130,14 +162,14 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
// 判断购买情况
// 调取对应支付接口
LinkedMultiValueMap<String, String> payParam = new LinkedMultiValueMap<>();
payParam.add("type", AdamMemberOrderConst.TYPE_VIP);
payParam.add("type", AdamMemberConst.TYPE_VIP);
payParam.add("price", String.valueOf(priceVo.getPrice()));
payParam.add("name", orderVo.getMemberName());
payParam.add("order_code", orderVo.getOrderNo());
payParam.add("client_ip", param.getClientIp());
payParam.add("notify_url", "回调地址");
payParam.add("create_date", createdAt);
payParam.add("expire_time", AdamMemberOrderConst.TIME_LIMIT.toString());
payParam.add("expire_time", AdamMemberConst.TIME_LIMIT.toString());
if (null != param.getAuthCode()) {
payParam.add("auth_code", param.getAuthCode());
}
......@@ -171,10 +203,80 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
* @return
*/
@Override
public Object useMemberCode(AdamMemberOrderCodeParam param) {
String uid = param.getUid();
public boolean useMemberCode(AdamMemberOrderCodeParam param) {
String uid = CurrentUtil.getCurrentUid();
String code = param.getMemberCode();
return null;
int type = param.getType();
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisUtil.get(AdamRedisConst.INFO_MEMBERS_USER_INFO.concat(uid));
if (null == userMemberVo) {
userMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
}
if (null != userMemberVo) {
return false;
}
AdamMemberCodeVo memberCodeVo = mongoTemplate.findOne(Query.query(Criteria.where("memberCode").is(code)), AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName());
if (memberCodeVo.getState() != AdamMemberConst.STATUS_UNPAID) {
return false;
}
// 获取会员价格对应的天数
AdamMemberPriceVo priceVo = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberCodeVo.getMemberId()), memberCodeVo.getMemberPriceId());
if (null == priceVo) {
priceVo = mongoTemplate.findOne(Query.query(Criteria.where("memberPriceId").is(memberCodeVo.getMemberPriceId())), AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName());
}
if (null == priceVo) {
return false;
}
String currentDateTime = DateUtil.getNowTime();
AdamMemberOrderVo orderVo = new AdamMemberOrderVo();
orderVo.setMemberCode(code);
orderVo.setMemberNo(memberCodeVo.getMemberNo());
orderVo.setMemberId(IDGenerator.nextSnowId().toString());
orderVo.setMode(type);
orderVo.setMemberId(memberCodeVo.getMemberId());
orderVo.setMemberPriceId(memberCodeVo.getMemberPriceId());
orderVo.setState(AdamMemberConst.STATUS_UNPAID);
orderVo.setCreatedAt(currentDateTime);
orderVo.setDays(priceVo.getDays());
orderVo.setBirthday(DateUtil.format(param.getBirthday(), DateUtil.Formatter.yyyyMMddHHmmss));
if (AdamMemberConst.SUB_TYPE_USE_VIP_CODE == type) { //使用购买的会员码
orderVo.setPayChannel(AdamMemberConst.VIP_CODE);
} else if (AdamMemberConst.SUB_TYPE_USE_GIFT_CODE == type) { // 使用礼包码
orderVo.setPayChannel(AdamMemberConst.GIFT_CODE);
}
// 创建用户使用兑换码的订单
mongoTemplate.insert(orderVo);
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);
Date expiryAt = DateUtil.getBeforeDayEnd(Calendar.getInstance(), orderVo.getDays());
String expiryAtStr = DateUtil.format(expiryAt, DateUtil.Formatter.yyyyMMddHHmmss);
memberVo.setExpiryAt(expiryAtStr);
// 创建用户会员相关信息
mongoTemplate.insert(memberVo);
redisUtil.set(AdamRedisConst.INFO_MEMBERS_USER_INFO.concat(uid), memberVo);
// 更新旧数据
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);
// todo MQ 统一通知队列插入数据库
return true;
}
/**
......@@ -211,15 +313,10 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
return result;
}
@Override
public AdamMemberOrderVo getMemberOrderInfo(String orderNo) {
return null;
}
@Override
public boolean memberNotifyCallBack(AdamMemberOrderCallbackResult result) {
if (1 != result.getStatus() ||
result.getType() != AdamMemberOrderConst.TYPE_VIP ||
result.getType() != AdamMemberConst.TYPE_VIP ||
null == result.getOrderCode() ||
null == result.getCode()) {
return false;
......@@ -227,7 +324,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
AdamMemberOrderVo orderVo = mongoTemplate.findOne(Query.query(Criteria.where("orderNo").is(result.getOrderCode())), AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName());
int state = orderVo.getState();
if (AdamMemberOrderConst.STATUS_PAID == state || AdamMemberOrderConst.STATUS_LATE == state) {
if (AdamMemberConst.STATUS_PAID == state || AdamMemberConst.STATUS_LATE == state) {
// 订单已经处理过
return false;
}
......@@ -237,11 +334,12 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
}
String currentDateTime = DateUtil.getNowTime();
// 获取购买天数
AdamMemberPrice priceVo = adamMemberPriceService.query(orderVo.getMemberPriceId());
AdamMemberPriceVo priceVo = adamMemberPriceService.query(orderVo.getMemberId(), orderVo.getMemberPriceId());
String cardNumber = "";
AdamMemberCodeVo codeVo = null;
int day = priceVo.getDays();
try {
if (AdamMemberOrderConst.SUB_TYPE_BUY_VIP == orderVo.getMode()) { // 购买会员
if (AdamMemberConst.SUB_TYPE_BUY_VIP == orderVo.getMode()) { // 购买会员
mongoTemplate.findOne(Query.query(Criteria.where("").is("")), null, null);
AdamUserMemberVo userMemberInfo = adamUserMemberService.getUserMemberInfo(orderVo.getUid());
if (null == userMemberInfo) { // 创建会员
......@@ -250,7 +348,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
createMemberUser.setMemberUserId(IDGenerator.nextSnowId().toString());
createMemberUser.setMemberId(orderVo.getMemberId());
createMemberUser.setMemberNo(orderVo.getMemberNo());
createMemberUser.setState(AdamMemberOrderConst.STATE_VALID);
createMemberUser.setState(AdamMemberConst.STATE_VALID);
createMemberUser.setUid(orderVo.getUid());
createMemberUser.setCreatedAt(currentDateTime);
createMemberUser.setUpdatedAt(currentDateTime);
......@@ -261,7 +359,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
createMemberUser.setExpiryAt(expiryAtStr);
// todo vip card code 记录 自动创建并使用
AdamMemberCodeVo codeVo = this.getAdamMemberCodeVo(orderVo, result.getCode(), 0, currentDateTime);
codeVo = this.getAdamMemberCodeVo(orderVo, result.getCode(), 0, currentDateTime);
codeVo.setState(1);
codeVo.setUseUid(orderVo.getUid());
codeVo.setUseOrderNo(orderVo.getMemberCode());
......@@ -274,7 +372,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
redisUtil.set(AdamRedisConst.INFO_MEMBERS_USER_INFO.concat(orderVo.getUid()), createMemberUser);
// 会员码使用记录
mongoTemplate.insert(codeVo);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(codeVo.getBuyUid()), codeVo.getMemberCodeId(), codeVo);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(codeVo.getBuyUid()), codeVo.getBuyOrderNo(), codeVo);
// todo mq 发送数据到队列中
} else { // 续费
......@@ -294,27 +392,32 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
redisUtil.set(AdamRedisConst.INFO_MEMBERS_USER_INFO.concat(orderVo.getUid()), userMemberInfo);
}
}
if (AdamMemberOrderConst.SUB_TYPE_BUY_VIP_CODE == orderVo.getMode()) { // 购买会员码
if (AdamMemberConst.SUB_TYPE_BUY_VIP_CODE == orderVo.getMode()) { // 购买会员码
cardNumber = adamUserMemberService.getMaxMemberNo(orderVo.getMemberId());
AdamMemberCodeVo codeVo = this.getAdamMemberCodeVo(orderVo, result.getCode(), 0, currentDateTime);
codeVo = this.getAdamMemberCodeVo(orderVo, result.getCode(), 0, currentDateTime);
codeVo.setState(0);
codeVo.setMemberNo(cardNumber);
mongoTemplate.insert(codeVo);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(codeVo.getBuyUid()), codeVo.getMemberCodeId(), codeVo);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_CODE_INFO.concat(codeVo.getBuyUid()), codeVo.getBuyOrderNo(), codeVo);
}
// 更新订单信息
orderVo.setPayChannel(result.getPaymentType());
orderVo.setPaymentAt(DateUtil.format(result.getPaymentAt(), DateUtil.Formatter.yyyyMMddHHmmss));
orderVo.setState(AdamMemberOrderConst.STATUS_PAID);
orderVo.setState(AdamMemberConst.STATUS_PAID);
orderVo.setPayNo(result.getCode());
orderVo.setMemberNo(cardNumber); // 回调中给会员卡号 or 下单时给
orderVo.setMemberNo(cardNumber);
if (null != codeVo) {
orderVo.setMemberCode(codeVo.getCode()); // 兑换码数据
}
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderVo)));
mongoTemplate.getCollection(AdamMemberOrderVo.class.getSimpleName())
.updateOne(Query.query(Criteria.where("orderNo").is(orderVo.getOrderNo())).getQueryObject(), object);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_ORDER_INFO.concat(orderVo.getUid()), orderVo.getOrderNo(), orderVo);
} catch (Exception e) {
e.printStackTrace();
return false;
......@@ -337,7 +440,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
codeVo.setMemberPriceId(orderVo.getMemberPriceId());
codeVo.setBuyAt(currentDateTime);
codeVo.setBuyOrderNo(orderCode);
codeVo.setType(AdamMemberOrderConst.TYPE_BUY);
codeVo.setType(AdamMemberConst.TYPE_BUY);
codeVo.setMemberNo(orderVo.getMemberNo());
codeVo.setCode(MemberUtil.getMemberCode(type));
codeVo.setCreatedAt(currentDateTime);
......
......@@ -42,29 +42,19 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
@Override
public AdamMemberVo queryMemberInfo() {
AdamMember firstMember = adamMemberMapper.getFirstMember();
String memberId = firstMember.getMemberId();
AdamMemberVo info = null;
List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class);
if (adamMemberVoList.size() > 0){
info = adamMemberVoList.get(0);
}
List<AdamMemberPriceVo> memberPrice = new ArrayList<>();
info = (AdamMemberVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_INFO.concat(memberId), memberId);
Map<Object, Object> tempMemberPrice = redisUtil.hmget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId));
Map<Object, Object> tempMemberPrice = redisUtil.hmget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat( info.getMemberId()));
Iterator<Object> iterator = tempMemberPrice.keySet().iterator();
while(iterator.hasNext()){
AdamMemberPriceVo tempAmp = (AdamMemberPriceVo) tempMemberPrice.get(iterator.next());
while (iterator.hasNext()) {
AdamMemberPriceVo tempAmp = (AdamMemberPriceVo) tempMemberPrice.get(iterator.next());
memberPrice.add(tempAmp);
}
if (null == info) {
info = mongoTemplate.findOne(Query.query(Criteria.where("memberId").is(memberId)),
AdamMemberVo.class, AdamMemberVo.class.getSimpleName());
}
if (null == tempMemberPrice) {
memberPrice = mongoTemplate.find(Query.query(Criteria.where("memberId").is(memberId)),
AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName());
}
if (null != info && memberPrice.size() > 0) {
info.setAdamMemberPrice(memberPrice);
}
info.setAdamMemberPrice(memberPrice);
return info;
}
......
......@@ -81,7 +81,7 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
@Override
public boolean getOneFromRepertory(String memberId) {
AdamMemberVo adamMemberVo = (AdamMemberVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_INFO.concat(memberId), memberId);
AdamMemberVo adamMemberVo = (AdamMemberVo) redisUtil.get(AdamRedisConst.INFO_MEMBERS_INFO.concat(memberId));
if (null == adamMemberVo) {
adamMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("memberId").is(memberId)), AdamMemberVo.class, AdamMemberVo.class.getSimpleName());
}
......
......@@ -72,8 +72,12 @@ public class AdamMemberPriceServiceImpl extends ServiceImpl<AdamMemberPriceMappe
}
@Override
public AdamMemberPrice query(String memberPriceId) {
return adamMemberPriceMapper.misMemberPriceInfo(memberPriceId);
public AdamMemberPriceVo query(String memberId, String memberPriceId) {
AdamMemberPriceVo priceVo = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), memberPriceId);
if (null == priceVo) {
priceVo = mongoTemplate.findOne(Query.query(Criteria.where("memberPriceId").is(memberPriceId)), AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName());
}
return priceVo;
}
@Override
......
......@@ -83,7 +83,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_member.add", (new AdamMemberVo()).getMqList(adamMember).toArray()));
// todo 同步redis
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMemberId()), info.getMemberId(), amv);
redisUtil.set(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMemberId()), amv);
}
@Override
......@@ -94,6 +94,6 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
.updateOne(Query.query(Criteria.where("mId").is(info.getMid())).getQueryObject(), object);
// todo 放入MQ
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMid().toString()), info.getMid().toString(), info);
redisUtil.set(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMid().toString()), info);
}
}
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