package com.mzl.flower.service.flower;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.mzl.flower.config.security.SecurityUtils;
|
import com.mzl.flower.dto.request.flower.*;
|
import com.mzl.flower.dto.response.flower.FlowerMarkupSpDTO;
|
import com.mzl.flower.dto.response.flower.FlowerMarkupSpListDTO;
|
import com.mzl.flower.entity.flower.FlowerMarkupSp;
|
import com.mzl.flower.entity.partner.Partner;
|
import com.mzl.flower.mapper.flower.FlowerMarkupSpMapper;
|
import com.mzl.flower.service.BaseService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
|
@Slf4j
|
@Service
|
@Transactional
|
public class FlowerMarkupSpService extends BaseService {
|
|
@Autowired
|
private FlowerMarkupSpMapper spMapper;
|
|
public void saveMarkupSp(FlowerMarkupSpSaveDTO dto){
|
|
FlowerMarkupSp sp = spMapper.selectOne(new QueryWrapper<FlowerMarkupSp>()
|
.eq("partner_id", dto.getPartnerId()).eq("flower_id", dto.getFlowerId()));
|
if(sp == null){
|
sp = new FlowerMarkupSp();
|
sp.setFlowerId(dto.getFlowerId());
|
sp.setFee(dto.getFee());
|
sp.setPartnerId(dto.getPartnerId());
|
sp.create(SecurityUtils.getUserId());
|
spMapper.insert(sp);
|
} else {
|
sp.setFee(dto.getFee());
|
sp.update(SecurityUtils.getUserId());
|
spMapper.updateById(sp);
|
}
|
|
markupCacheClient.addMarkupSp(dto.getPartnerId(), dto.getFlowerId(), sp);
|
}
|
|
public FlowerMarkupSpDTO getMarkupSp(Long flowerId){
|
FlowerMarkupSpDTO dto = new FlowerMarkupSpDTO();
|
dto.setFlowerId(flowerId);
|
|
Partner s = getCurrentPartner();
|
Long sId = s.getId();
|
FlowerMarkupSp sp = spMapper.selectOne(new QueryWrapper<FlowerMarkupSp>()
|
.eq("partner_id", sId).eq("flower_id", flowerId));
|
|
dto.setFee(sp != null ? sp.getFee() : null);
|
|
return dto;
|
}
|
|
public Page<FlowerMarkupSpListDTO> selectMarkupSpList(Page page, FlowerMarkupSpQueryDTO dto){
|
|
List<FlowerMarkupSpListDTO> ll = spMapper.selectMarkupSpList(page, dto.getPartnerId(), dto);
|
if(ll != null && ll.size() > 0){
|
for(FlowerMarkupSpListDTO ss : ll){
|
ss.setPrice(getFinalPriceForPartner(dto.getPartnerId(), ss.getCategory(), ss.getFlowerId(), ss.getPrice(), ss.getLevel()));
|
}
|
}
|
|
page.setRecords(ll);
|
return page;
|
}
|
|
public void deleteMarkupSp(Long flowerId){
|
Partner s = getCurrentPartner();
|
Long sId = s.getId();
|
spMapper.delete(new QueryWrapper<FlowerMarkupSp>()
|
.eq("partner_id", sId).eq("flower_id", flowerId));
|
|
markupCacheClient.deleteMarkupSp(sId, flowerId);
|
}
|
|
}
|