| package cc.mrbird.febs.mall.service.impl; | 
|   | 
| import cc.mrbird.febs.mall.entity.MallAchieveRecord; | 
| import cc.mrbird.febs.mall.entity.MallOrderInfo; | 
| import cc.mrbird.febs.mall.entity.MallOrderItem; | 
| import cc.mrbird.febs.mall.mapper.MallAchieveRecordMapper; | 
| import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; | 
| import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; | 
| import cc.mrbird.febs.mall.service.IMallAchieveService; | 
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
| import lombok.RequiredArgsConstructor; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import java.math.BigDecimal; | 
| import java.util.Date; | 
|   | 
| /** | 
|  * @author wzy | 
|  * @date 2022-06-15 | 
|  **/ | 
| @Slf4j | 
| @Service | 
| @RequiredArgsConstructor | 
| public class MallAchieveServiceImpl extends ServiceImpl<MallAchieveRecordMapper, MallAchieveRecord> implements IMallAchieveService { | 
|   | 
|     private final MallOrderItemMapper mallOrderItemMapper; | 
|     private final MallOrderInfoMapper mallOrderInfoMapper; | 
|   | 
|     @Override | 
|     public void add(Long orderItemId) { | 
|         MallOrderItem item = mallOrderItemMapper.selectById(orderItemId); | 
|         MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(item.getOrderId()); | 
|   | 
|         if (orderInfo.getOrderType() == 2) { | 
|             return; | 
|         } | 
|   | 
|         MallAchieveRecord achieve = new MallAchieveRecord(); | 
|         achieve.setMemberId(orderInfo.getMemberId()); | 
|         achieve.setAchieveTime(item.getCreatedTime()); | 
|         achieve.setAmount(item.getAmount()); | 
|         achieve.setCostAmount(item.getCostPrice().multiply(BigDecimal.valueOf(item.getCnt()))); | 
|         achieve.setOrderId(item.getOrderId()); | 
|         achieve.setOrderItemId(item.getId()); | 
|         achieve.setIsNormal(item.getIsNormal()); | 
|         achieve.setPayTime(orderInfo.getOrderTime()); | 
|         this.baseMapper.insert(achieve); | 
|     } | 
| } |