| 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.FlowerMarkupPsSpCgSaveDTO; | 
| import com.mzl.flower.dto.request.flower.FlowerMarkupSpCgBatchSaveDTO; | 
| import com.mzl.flower.dto.request.flower.FlowerMarkupSpCgQueryDTO; | 
| import com.mzl.flower.dto.request.flower.FlowerMarkupSpCgSaveDTO; | 
| import com.mzl.flower.dto.response.flower.FlowerMarkupSpCgDTO; | 
| import com.mzl.flower.dto.response.flower.FlowerMarkupSpCgListDTO; | 
| import com.mzl.flower.entity.flower.FlowerMarkupSpCg; | 
| import com.mzl.flower.entity.partner.Partner; | 
| import com.mzl.flower.mapper.flower.FlowerMarkupSpCgMapper; | 
| 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 FlowerMarkupSpCgService extends BaseService { | 
|   | 
|     @Autowired | 
|     private FlowerMarkupSpCgMapper spCgMapper; | 
|   | 
|     public void saveMarkupSpCg(FlowerMarkupSpCgSaveDTO dto){ | 
|   | 
|         Long cId = dto.getCategoryId(); | 
|         FlowerMarkupSpCg cg = spCgMapper.selectOne(new QueryWrapper<FlowerMarkupSpCg>() | 
|                 .eq("partner_id", dto.getPartnerId()).eq("category_id", cId)); | 
|         if(cg == null){ | 
|             cg = new FlowerMarkupSpCg(); | 
|             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.addMarkupSpCg(dto.getPartnerId(), cId, cg); | 
|     } | 
|   | 
|     public void saveMarkupSpCgBatch(FlowerMarkupSpCgBatchSaveDTO dto) { | 
|         List<Long> categoryIds = dto.getCategoryId(); | 
|         if (categoryIds == null || categoryIds.size() == 0) { | 
|             throw new ValidationException("分类列表不能为空"); | 
|         } | 
|         for (Long categoryId : categoryIds) { | 
|             FlowerMarkupSpCgSaveDTO cg = new FlowerMarkupSpCgSaveDTO(); | 
|             BeanUtils.copyProperties(dto, cg); | 
|             cg.setCategoryId(categoryId); | 
|             saveMarkupSpCg(cg); | 
|         } | 
|     } | 
|     public FlowerMarkupSpCgDTO getMarkupSpCg(Long categoryId){ | 
|         FlowerMarkupSpCgDTO dto = new FlowerMarkupSpCgDTO(); | 
|         dto.setCategoryId(categoryId); | 
|   | 
|         Partner s = getCurrentPartner(); | 
|         Long sId = s.getId(); | 
|         FlowerMarkupSpCg cg = spCgMapper.selectOne(new QueryWrapper<FlowerMarkupSpCg>() | 
|                 .eq("partner_id", sId).eq("category_id", categoryId)); | 
|         if(cg != null){ | 
|             BeanUtils.copyProperties(cg, dto); | 
|         } | 
|   | 
|         return dto; | 
|     } | 
|   | 
|     public Page<FlowerMarkupSpCgListDTO> selectMarkupSpCgList(Page page, FlowerMarkupSpCgQueryDTO dto){ | 
|   | 
|         List<FlowerMarkupSpCgListDTO> ll = spCgMapper.selectMarkupSpCgList(page, dto.getPartnerId(), dto); | 
|   | 
|         page.setRecords(ll); | 
|         return page; | 
|     } | 
|   | 
|     public void deleteMarkupSpCg(Long categoryId){ | 
|         Partner s = getCurrentPartner(); | 
|         Long sId = s.getId(); | 
|         spCgMapper.delete(new QueryWrapper<FlowerMarkupSpCg>() | 
|                 .eq("partner_id", sId).eq("category_id", categoryId)); | 
|         markupCacheClient.deleteMarkupSpCg(sId, categoryId); | 
|     } | 
|   | 
| } |