| | |
| | | import cc.mrbird.febs.vip.entity.MallVipBenefits; |
| | | import cc.mrbird.febs.vip.entity.MallVipBenefitsDetails; |
| | | import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord; |
| | | import cc.mrbird.febs.vip.entity.MallVipConfig; |
| | | import cc.mrbird.febs.vip.mapper.MallVipBenefitsDetailsMapper; |
| | | import cc.mrbird.febs.vip.mapper.MallVipBenefitsMapper; |
| | | import cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper; |
| | | import cc.mrbird.febs.vip.mapper.MallVipConfigMapper; |
| | | import cc.mrbird.febs.vip.service.IMallVipBenefitsDetailsService; |
| | | import cc.mrbird.febs.vip.service.IMallVipBenefitsService; |
| | | import cn.hutool.core.collection.CollUtil; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | private final MallOrderItemMapper mallOrderItemMapper; |
| | | private final MallVipBenefitsRecordMapper mallVipBenefitsRecordMapper; |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | private final MallMemberMapper mallMemberMapper; |
| | | private final MallVipConfigMapper mallVipConfigMapper; |
| | | |
| | | @Override |
| | | public IPage<MallVipBenefits> vipBenefitsListInPage(QueryRequest request) { |
| | |
| | | |
| | | @Override |
| | | public void getBenefits(Long id) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | MallMember loginUser = LoginUserUtil.getLoginUser(); |
| | | MallMember member = mallMemberMapper.selectById(loginUser.getId()); |
| | | |
| | | MallVipBenefitsDetails benefits = mallVipBenefitsDetailsService.getById(id); |
| | | if (benefits == null) { |
| | | throw new FebsException("权益不存在"); |
| | | } |
| | | |
| | | if (benefits.getIsClick() == 2) { |
| | | throw new FebsException("请联系客服,检查权益设置"); |
| | | } |
| | | |
| | | MallVipBenefits vipBenefits = this.baseMapper.selectById(benefits.getBenefitsId()); |
| | |
| | | throw new FebsException("权益不存在"); |
| | | } |
| | | |
| | | |
| | | MallVipConfig config = mallVipConfigMapper.selectVipConfigByCode(member.getLevel()); |
| | | boolean b = config.getBenefits().stream().anyMatch(item -> { |
| | | return Objects.equals(item.getId(), benefits.getBenefitsId()); |
| | | }); |
| | | if (!b) { |
| | | throw new FebsException("未达到等级不能领取该权益"); |
| | | } |
| | | |
| | | Integer linkType = benefits.getLinkType(); |
| | | |
| | |
| | | record.setReceiveTime(new Date()); |
| | | record.setReceiveType(linkType); |
| | | record.setReceiveId(Long.parseLong(benefits.getContent())); |
| | | record.setMemberId(member.getId()); |
| | | record.setReceiveCnt(1); |
| | | |
| | | // 商品 |
| | | if (linkType == 2) { |
| | |
| | | orderInfo.setOrderNo(orderNo); |
| | | orderInfo.setOrderTime(new Date()); |
| | | orderInfo.setMemberId(member.getId()); |
| | | orderInfo.setPayTime(new Date()); |
| | | orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); |
| | | orderInfo.setOrderType(goods.getGoodsType()); |
| | | orderInfo.setDeliveryType(2); |
| | | orderInfo.setIsFree(1); |
| | | orderInfo.setCarriage(BigDecimal.ZERO); |
| | | orderInfo.setAmount(BigDecimal.ZERO); |
| | | orderInfo.setAddressId(address.getId()); |
| | |
| | | orderInfo.setAddress(address.getProvince()+address.getCity()+address.getArea() + address.getAddress()); |
| | | orderInfo.setLatitude(address.getLatitude()); |
| | | orderInfo.setLongitude(address.getLongitude()); |
| | | mallOrderInfoMapper.insert(orderInfo); |
| | | |
| | | MallOrderItem orderItem = new MallOrderItem(); |
| | | if (goods.getGoodsType() == 2) { |
| | |
| | | orderItem.setOrderId(orderInfo.getId()); |
| | | orderItem.setPrice(sku.getPresentPrice()); |
| | | orderItem.setGoodsId(sku.getGoodsId()); |
| | | orderItem.setGoodsName(sku.getGoodsName()); |
| | | orderItem.setGoodsName(goods.getGoodsName()); |
| | | orderItem.setSkuId(sku.getId()); |
| | | orderItem.setState(1); |
| | | orderItem.setStyleName(sku.getStyleName()); |
| | | orderItem.setStyleName(goods.getStyles().get(0).getName()); |
| | | orderItem.setSkuName(sku.getSkuName()); |
| | | orderItem.setSkuImage(sku.getSkuImage()); |
| | | orderItem.setIsNormal(goods.getIsNormal()); |
| | |
| | | } |
| | | |
| | | record.setReceiveName(goods.getGoodsName()); |
| | | mallOrderInfoMapper.insert(orderInfo); |
| | | mallOrderItemMapper.insert(orderItem); |
| | | } |
| | | |