Commit 62a867c0 authored by unset's avatar unset

会员分成记录信息

parent 023f1d40
package com.xxfc.platform.order.biz;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.OrderUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.mapper.OrderMemberDetailMapper;
import com.xxfc.platform.order.pojo.order.add.AddMemberDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -24,7 +35,8 @@ import java.util.concurrent.atomic.AtomicReference;
* @date 2019-06-19 17:00:35
*/
@Service
public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderMemberDetail> {
@Slf4j
public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderMemberDetail> implements UserRestInterface {
@Autowired
UserFeign userFeign;
......@@ -32,11 +44,18 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
@Autowired
BaseOrderBiz baseOrderBiz;
@Autowired
MQSenderFeign mqSenderFeign;
/**
* 后台创建订单
* @param dto
*/
public void createOrder(AddMemberDTO dto) {
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
throw new BaseException(ResultCode.getMsg(ResultCode.RSTOKEN_EXPIRED_CODE));
}
AppUserLogin appUserLogin = userFeign.one(dto.getPhone());
if (appUserLogin != null) {
List<BaseUserMemberLevel> baseUserMemberLevelList = userFeign.levels();
......@@ -49,6 +68,49 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
}
});
if (currentLevel != null && currentLevel.get() != null) {
BaseUserMemberLevel baseUserMemberLevel = currentLevel.get();
baseOrder.setNo(OrderUtil.GetOrderNumber("", OrderUtil.APP_MID));
baseOrder.setUserId(appUserLogin.getId());
baseOrder.setGoodsAmount(dto.getOrderAmount());
baseOrder.setOrderAmount(dto.getOrderAmount());
baseOrder.setRealAmount(dto.getOrderAmount());
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrder.setName(baseUserMemberLevel.getName());
if (dto.getPayTime() != null) {
baseOrder.setPayTime(dto.getPayTime());
} else {
baseOrder.setPayTime(System.currentTimeMillis());
}
baseOrder.setType(OrderTypeEnum.MEMBER.getCode());
baseOrder.setHasPay(1);
baseOrder.setCrtUser(userDTO.getUsername());
baseOrder.setCrtName(userDTO.getName());
baseOrderBiz.insertSelectiveRe(baseOrder);
OrderMemberDetail orderMemberDetail = new OrderMemberDetail();
orderMemberDetail.setOrderId(baseOrder.getId());
orderMemberDetail.setMemberLevel(baseUserMemberLevel.getLevel());
orderMemberDetail.setMemberLevelId(baseUserMemberLevel.getId());
orderMemberDetail.setName(baseUserMemberLevel.getName());
orderMemberDetail.setRebate(baseUserMemberLevel.getDiscount());
orderMemberDetail.setRentFreeNum(baseUserMemberLevel.getNumber());
insertSelectiveRe(orderMemberDetail);
baseOrder.setDetailId(orderMemberDetail.getId());
baseOrderBiz.updateSelectiveByIdRe(baseOrder);
//触发会员效益
UserMemberDTO userMemberDTO = new UserMemberDTO() {{
setUserId(baseOrder.getUserId());
setIsBind(ISBIND_BIND);
}};
userMemberDTO.setMemberLevel(orderMemberDetail.getMemberLevel());
userMemberDTO.setRentFreeDays(orderMemberDetail.getRentFreeNum());
userMemberDTO.setTotalNumber(orderMemberDetail.getRentFreeNum());
userMemberDTO.setDiscount(orderMemberDetail.getRebate());
ObjectRestResponse orr = userFeign.buyMember(userMemberDTO);
log.info("orr.getStatus() : " + orr.getStatus());
//发送消息队列到admin,进行分成计算
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_MEMBER_SHARE, JSONUtil.toJsonStr(orderMemberDetail));
}
......@@ -60,4 +122,8 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
}
}
@Override
public UserFeign getUserFeign() {
return userFeign;
}
}
\ No newline at end of file
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