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.exception.ValidationException;
|
import com.mzl.flower.config.security.SecurityUtils;
|
import com.mzl.flower.dto.request.flower.*;
|
import com.mzl.flower.dto.response.flower.*;
|
import com.mzl.flower.entity.flower.*;
|
import com.mzl.flower.entity.partner.Partner;
|
import com.mzl.flower.mapper.flower.FlowerMarkupPsMapper;
|
import com.mzl.flower.mapper.flower.FlowerMarkupPsSpCgMapper;
|
import com.mzl.flower.mapper.flower.FlowerMarkupPsSpMapper;
|
import com.mzl.flower.service.BaseService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.BeanUtils;
|
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 FlowerMarkupPsService extends BaseService {
|
|
@Autowired
|
private FlowerMarkupPsMapper psMapper;
|
|
@Autowired
|
private FlowerMarkupPsSpCgMapper spCgMapper;
|
|
@Autowired
|
private FlowerMarkupPsSpMapper spMapper;
|
|
public Long saveMarkupPs(FlowerMarkupPsSaveDTO dto){
|
FlowerMarkupPs g = new FlowerMarkupPs();
|
|
if(dto.getPartnerId() == null){
|
throw new ValidationException("请选择合伙人");
|
}
|
Partner p =partnerMapper.selectById(dto.getPartnerId());
|
g.setId(p.getId());
|
g.setName(p.getName());
|
g.setTel(p.getContactTel());
|
g.create(SecurityUtils.getUserId());
|
|
psMapper.insert(g);
|
|
return g.getId();
|
}
|
|
public Page<FlowerMarkupPsDTO> selectMarkupPsList(Page page, FlowerMarkupPsQueryDTO dto){
|
List<FlowerMarkupPsDTO> ls = psMapper.selectMarkupPsList(page, dto);
|
|
page.setRecords(ls);
|
return page;
|
}
|
|
public void deleteMarkupPs(Long id){
|
psMapper.deleteById(id);
|
spCgMapper.delete(new QueryWrapper<FlowerMarkupPsSpCg>().eq("partner_id", id));
|
spMapper.delete(new QueryWrapper<FlowerMarkupPsSp>().eq("partner_id", id));
|
markupCacheClient.deleteAllPsSp(id);
|
markupCacheClient.deleteAllPsSpCg(id);
|
}
|
|
public void saveMarkupSpCgBatch(FlowerMarkupPsSpCgBatchSaveDTO dto){
|
List<Long> categoryIds = dto.getCategoryIds();
|
if(categoryIds == null || categoryIds.size() == 0){
|
throw new ValidationException("分类列表不能为空");
|
}
|
for(Long categoryId : categoryIds) {
|
FlowerMarkupPsSpCgSaveDTO cg = new FlowerMarkupPsSpCgSaveDTO();
|
BeanUtils.copyProperties(dto, cg);
|
|
cg.setCategoryId(categoryId);
|
|
saveMarkupSpCg(cg);
|
}
|
}
|
|
public void saveMarkupSpCg(FlowerMarkupPsSpCgSaveDTO dto){
|
Long cId = dto.getCategoryId();
|
FlowerMarkupPsSpCg cg = spCgMapper.selectOne(new QueryWrapper<FlowerMarkupPsSpCg>()
|
.eq("partner_id", dto.getPartnerId()).eq("category_id", cId));
|
if(cg == null){
|
cg = new FlowerMarkupPsSpCg();
|
BeanUtils.copyProperties(dto, cg);
|
cg.setPartnerId(dto.getPartnerId());
|
cg.create(SecurityUtils.getUserId());
|
spCgMapper.insert(cg);
|
} else {
|
BeanUtils.copyProperties(dto, cg);
|
cg.update(SecurityUtils.getUserId());
|
spCgMapper.updateById(cg);
|
}
|
markupCacheClient.addMarkupPsSpCg(dto.getPartnerId(), cId, cg);
|
}
|
|
public FlowerMarkupPsSpCgDTO getMarkupSpCg(Long partnerId, Long categoryId){
|
FlowerMarkupPsSpCgDTO dto = new FlowerMarkupPsSpCgDTO();
|
dto.setCategoryId(categoryId);
|
|
FlowerMarkupPsSpCg cg = spCgMapper.selectOne(new QueryWrapper<FlowerMarkupPsSpCg>()
|
.eq("partner_id", partnerId).eq("category_id", categoryId));
|
if(cg != null){
|
BeanUtils.copyProperties(cg, dto);
|
}
|
|
return dto;
|
}
|
|
public Page<FlowerMarkupPsSpCgListDTO> selectMarkupSpCgList(Page page, FlowerMarkupPsSpCgQueryDTO dto){
|
List<FlowerMarkupPsSpCgListDTO> ll = spCgMapper.selectMarkupSpCgList(page, dto.getPartnerId(), dto);
|
|
page.setRecords(ll);
|
return page;
|
}
|
|
public void deleteMarkupSpCg(Long partnerId, Long categoryId){
|
spCgMapper.delete(new QueryWrapper<FlowerMarkupPsSpCg>()
|
.eq("partner_id", partnerId).eq("category_id", categoryId));
|
markupCacheClient.deleteMarkupPsSpCg(partnerId, categoryId);
|
}
|
|
public void saveMarkupSp(FlowerMarkupPsSpSaveDTO dto){
|
FlowerMarkupPsSp sp = spMapper.selectOne(new QueryWrapper<FlowerMarkupPsSp>()
|
.eq("partner_id", dto.getPartnerId()).eq("flower_id", dto.getFlowerId()));
|
if(sp == null){
|
sp = new FlowerMarkupPsSp();
|
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.addMarkupPsSp(dto.getPartnerId(), dto.getFlowerId(), sp);
|
}
|
|
public FlowerMarkupSpDTO getMarkupSp(Long partnerId, Long flowerId){
|
FlowerMarkupSpDTO dto = new FlowerMarkupSpDTO();
|
dto.setFlowerId(flowerId);
|
|
FlowerMarkupPsSp sp = spMapper.selectOne(new QueryWrapper<FlowerMarkupPsSp>()
|
.eq("partner_id", partnerId).eq("flower_id", flowerId));
|
|
dto.setFee(sp != null ? sp.getFee() : null);
|
|
return dto;
|
}
|
|
public Page<FlowerMarkupPsSpListDTO> selectMarkupSpList(Page page, FlowerMarkupPsSpQueryDTO dto){
|
List<FlowerMarkupPsSpListDTO> ll = spMapper.selectMarkupSpList(page, dto.getPartnerId(), dto);
|
|
page.setRecords(ll);
|
return page;
|
}
|
|
public void deleteMarkupSp(Long partnerId, Long flowerId){
|
spMapper.delete(new QueryWrapper<FlowerMarkupPsSp>()
|
.eq("partner_id", partnerId).eq("flower_id", flowerId));
|
markupCacheClient.deleteMarkupPsSp(partnerId, flowerId);
|
}
|
}
|