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.log.OperationRecord; import com.mzl.flower.entity.partner.Partner; import com.mzl.flower.mapper.flower.FlowerMarkupSpCgMapper; import com.mzl.flower.mapper.log.OperationRecordMapper; import com.mzl.flower.service.BaseService; import com.mzl.flower.utils.IpUtil; 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 javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.List; @Slf4j @Service @Transactional public class FlowerMarkupSpCgService extends BaseService { @Autowired private FlowerMarkupSpCgMapper spCgMapper; @Autowired private OperationRecordMapper operationRecordMapper; public void saveMarkupSpCg(FlowerMarkupSpCgSaveDTO dto, HttpServletRequest request) throws IOException { Long cId = dto.getCategoryId(); FlowerMarkupSpCg cg = spCgMapper.selectOne(new QueryWrapper() .eq("partner_id", dto.getPartnerId()).eq("category_id", cId)); String content = ""; OperationRecord operationRecord = new OperationRecord(); if(cg == null){ cg = new FlowerMarkupSpCg(); BeanUtils.copyProperties(dto, cg); cg.setPartnerId(dto.getPartnerId()); cg.create(SecurityUtils.getUserId()); spCgMapper.insert(cg); content = "新增合伙人商品分类加价:商品分类Id:【" + cg.getCategoryId() + "】,A级:【"+cg.getLevelA()+"】,B级:【" + cg.getLevelB() + "】,C级:【" + cg.getLevelC() + "】" + ",D级:【"+dto.getLevelD()+"】,E级:【" + cg.getLevelE() + "】,O级:【" + cg.getLevelO() + "】"; operationRecord.setFunction("新增合伙人商品分类加价"); } else { BeanUtils.copyProperties(dto, cg); cg.update(SecurityUtils.getUserId()); spCgMapper.updateById(cg); content = "修改合伙人商品分类加价:id:【"+cg.getId()+"】,商品分类Id:【" + cg.getCategoryId() + "】,A级:【"+cg.getLevelA()+"】,B级:【" + cg.getLevelB() + "】,C级:【" + cg.getLevelC() + "】" + ",D级:【"+dto.getLevelD()+"】,E级:【" + cg.getLevelE() + "】,O级:【" + cg.getLevelO() + "】"; operationRecord.setFunction("修改合伙人商品分类加价"); } markupCacheClient.addMarkupSpCg(dto.getPartnerId(), cId, cg); operationRecord.setContent(content); operationRecord.create(SecurityUtils.getUserId()); operationRecord.setStatus("success"); operationRecord.setModule("markup_s_p_cg"); operationRecord.setIpAddress(IpUtil.getIpAddress(request)); operationRecordMapper.insert(operationRecord); } public void saveMarkupSpCgBatch(FlowerMarkupSpCgBatchSaveDTO dto,HttpServletRequest request) throws IOException { List 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,request); } } 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() .eq("partner_id", sId).eq("category_id", categoryId)); if(cg != null){ BeanUtils.copyProperties(cg, dto); } return dto; } public Page selectMarkupSpCgList(Page page, FlowerMarkupSpCgQueryDTO dto){ List 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() .eq("partner_id", sId).eq("category_id", categoryId)); markupCacheClient.deleteMarkupSpCg(sId, categoryId); } }