Commit 62a867c0 authored by unset's avatar unset

会员分成记录信息

parent 023f1d40
package com.xxfc.platform.order.biz; 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.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.UserFeign; 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.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.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.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.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail; import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.mapper.OrderMemberDetailMapper; import com.xxfc.platform.order.mapper.OrderMemberDetailMapper;
import com.xxfc.platform.order.pojo.order.add.AddMemberDTO; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -24,7 +35,8 @@ import java.util.concurrent.atomic.AtomicReference; ...@@ -24,7 +35,8 @@ import java.util.concurrent.atomic.AtomicReference;
* @date 2019-06-19 17:00:35 * @date 2019-06-19 17:00:35
*/ */
@Service @Service
public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderMemberDetail> { @Slf4j
public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderMemberDetail> implements UserRestInterface {
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
...@@ -32,11 +44,18 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM ...@@ -32,11 +44,18 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
@Autowired
MQSenderFeign mqSenderFeign;
/** /**
* 后台创建订单 * 后台创建订单
* @param dto * @param dto
*/ */
public void createOrder(AddMemberDTO 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()); AppUserLogin appUserLogin = userFeign.one(dto.getPhone());
if (appUserLogin != null) { if (appUserLogin != null) {
List<BaseUserMemberLevel> baseUserMemberLevelList = userFeign.levels(); List<BaseUserMemberLevel> baseUserMemberLevelList = userFeign.levels();
...@@ -49,6 +68,49 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM ...@@ -49,6 +68,49 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
} }
}); });
if (currentLevel != null && currentLevel.get() != null) { 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 ...@@ -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