Commit 89269bba authored by unset's avatar unset

会员分成记录信息

parent c5901a97
......@@ -24,6 +24,8 @@ public class RabbitConstant {
//用户
public static final String KEY_APPUSER_REGISTER = "appUser.register";
public static final String KEY_APPUSER_AUTH = "appUser.auth";
public static final String KEY_MEMBER_SHARE = "member.share";
//积分
public static final String INTEGRAL_ROUTING_KEY = "integral_routing_key";
......@@ -36,6 +38,9 @@ public class RabbitConstant {
public static final String KEY_ORDER_END_1 = "order.end.1";
public static final String KEY_ORDER_END_2 = "order.end.2";
//钱包
public static final String KEY_WALLET_ADD = "wallet.add";
......
package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.core.map.MapUtil;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.MemberShareCountRecord;
import com.github.wxiaoqi.security.admin.entity.MemberShareRecord;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper;
import com.github.wxiaoqi.security.admin.util.DateUtils;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.OrderMemberDetail;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
......@@ -34,7 +38,10 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
@Autowired
MemberShareCountRecordBiz memberShareCountRecordBiz;
@Autowired
BaseUserMemberBiz baseUserMemberBiz;
@Autowired
BaseUserMemberLevelMapper baseUserMemberLevelMapper;
/**
* 根据订单号查询分成记录
* 每个订单有且只有一条记录
......@@ -193,4 +200,21 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
}
}
/**
* 接收会员订单支付成功后处理
* @param orderMemberDetail
*/
public void generateMemberShareQueue(OrderMemberDetail orderMemberDetail) {
if (orderMemberDetail != null) {
BaseUserMemberLevel baseUserMemberLevel = baseUserMemberLevelMapper.selectOne(new BaseUserMemberLevel(){{setIsdel(0); setLevel(orderMemberDetail.getMemberLevel());}});
if (baseUserMemberLevel != null && baseUserMemberLevel.getIsShare() == 1) {
List<BaseUserMember> baseUserMemberList = baseUserMemberBiz.selectList(new BaseUserMember(){{setIsDel(0); setMemberLevel(orderMemberDetail.getMemberLevel());}});
if (baseUserMemberList != null && baseUserMemberList.size() > 0) {
}
}
}
}
}
\ No newline at end of file
......@@ -33,6 +33,7 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
//同步门店信息
public static final String COMPANY_UPD_QUEUE = "company:upd.queue";
public static final String MEMBER_SHARE_QUEUE = "admin.member.share";
static {
myQueue = new ArrayList<BindDTO>() {{
......@@ -50,6 +51,8 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
add(new BindDTO(CORPORATION_UPD_QUEUE, VEHICLE_TOPIC, KEY_CORPORATION_UPD));
//门店
add(new BindDTO(COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD));
add(new BindDTO(MEMBER_SHARE_QUEUE, ADMIN_TOPIC, KEY_MEMBER_SHARE));
}};
}
}
......
package com.github.wxiaoqi.security.admin.handler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.biz.MemberShareRecordBiz;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.entity.OrderMemberDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component;
import java.util.Map;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.MEMBER_SHARE_QUEUE;
/**
* @ClassName : MemberShareMQHandler
* @Description : 会员分成消息队列
* @Author : jiaoruizhen
* @Date: 2020-11-05 11:10
*/
@Component
@Slf4j
public class MemberShareMQHandler {
@Autowired
MemberShareRecordBiz memberShareRecordBiz;
@RabbitListener(queues = MEMBER_SHARE_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
try {
String msg = new String(message.getBody(), "UTF-8");
log.info("接收到的消息-----msg===="+msg);
OrderMemberDetail orderMemberDetail = JSONUtil.toBean(msg, OrderMemberDetail.class);
memberShareRecordBiz.generateMemberShareQueue(orderMemberDetail);
} catch (Exception e) {
log.error("接收消息失败:{}", e);
}
}
}
package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
/**
*
......@@ -82,4 +82,8 @@ public class OrderMemberDetail implements Serializable {
@Column(name = "member_level_id")
@ApiModelProperty(value = "会员等级id")
private Integer memberLevelId;
@Transient
BaseOrder baseOrder;
}
......@@ -17,6 +17,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
......@@ -751,13 +752,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
ObjectRestResponse orr = userFeign.buyMember(userMemberDTO);
log.info("orr.getStatus() : " + orr.getStatus());
//查询当前会员等级的所有订单,
//查询会员等级信息
//计算每人平均分成金额
omd.setBaseOrder(baseOrder);
//发送消息队列到admin,进行分成计算
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_MEMBER_SHARE, JSONUtil.toJsonStr(omd));
} else if (OrderTypeEnum.RENT_VEHICLE.getCode().equals(baseOrder.getType())) {
......
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