|  |  | 
 |  |  | package com.doumee.service.business.impl; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONArray; | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
 |  |  | import com.doumee.core.model.PageData; | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.SegmentsMapper; | 
 |  |  | import com.doumee.dao.business.model.Segments; | 
 |  |  | import com.doumee.dao.business.vo.UnitCodeVo; | 
 |  |  | import com.doumee.dao.system.model.SystemDictData; | 
 |  |  | import com.doumee.service.business.SegmentsService; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SegmentsMapper segmentsMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private SystemDictDataBiz  systemDictDataBiz; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Long create(Segments segments) { | 
 |  |  | 
 |  |  |         QueryWrapper<Segments> wrapper = new QueryWrapper<>(segments); | 
 |  |  |         return segmentsMapper.selectList(wrapper); | 
 |  |  |     } | 
 |  |  |    | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public PageData<Segments> findPage(PageWrap<Segments> pageWrap) { | 
 |  |  |         IPage<Segments> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
 |  |  |         QueryWrapper<Segments> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         Utils.MP.blankToNull(pageWrap.getModel()); | 
 |  |  |         pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
 |  |  |         if (pageWrap.getModel().getId() != null) { | 
 |  |  |             queryWrapper.lambda().eq(Segments::getId, pageWrap.getModel().getId()); | 
 |  |  |         } | 
 |  |  | 
 |  |  |             queryWrapper.lambda().eq(Segments::getIsdeleted, pageWrap.getModel().getIsdeleted()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getRemark() != null) { | 
 |  |  |             queryWrapper.lambda().eq(Segments::getRemark, pageWrap.getModel().getRemark()); | 
 |  |  |             queryWrapper.lambda().like(Segments::getRemark, pageWrap.getModel().getRemark()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getSegmentId() != null) { | 
 |  |  |             queryWrapper.lambda().eq(Segments::getSegmentId, pageWrap.getModel().getSegmentId()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getName() != null) { | 
 |  |  |             queryWrapper.lambda().eq(Segments::getName, pageWrap.getModel().getName()); | 
 |  |  |             queryWrapper.lambda().like(Segments::getName, pageWrap.getModel().getName()); | 
 |  |  |         } | 
 |  |  |         if (pageWrap.getModel().getParentId() != null) { | 
 |  |  |             queryWrapper.lambda().eq(Segments::getParentId, pageWrap.getModel().getParentId()); | 
 |  |  | 
 |  |  |         if (pageWrap.getModel().getSyncInfo() != null) { | 
 |  |  |             queryWrapper.lambda().eq(Segments::getSyncInfo, pageWrap.getModel().getSyncInfo()); | 
 |  |  |         } | 
 |  |  |         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
 |  |  |             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
 |  |  |                 queryWrapper.orderByDesc(sortData.getProperty()); | 
 |  |  |             } else { | 
 |  |  |                 queryWrapper.orderByAsc(sortData.getProperty()); | 
 |  |  |         queryWrapper.lambda().orderByAsc(Segments::getType,Segments::getSegmentId); | 
 |  |  |         PageData<Segments> pagedata = PageData.from(segmentsMapper.selectPage(page, queryWrapper)); | 
 |  |  |         if(pagedata!=null && pagedata.getRecords()!=null && pagedata.getRecords().size()>0){ | 
 |  |  |             List<UnitCodeVo> unitCodeVoList =systemDictDataBiz.getUnitList(); | 
 |  |  |             for(Segments model : pagedata.getRecords()){ | 
 |  |  |                 model.setUnitName(systemDictDataBiz.getUnitName(model.getUnitCode(),unitCodeVoList)); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |         return PageData.from(segmentsMapper.selectPage(page, queryWrapper)); | 
 |  |  |         return pagedata; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public long count(Segments segments) { | 
 |  |  |         QueryWrapper<Segments> wrapper = new QueryWrapper<>(segments); |