package com.doumee.service.business.impl; 
 | 
  
 | 
import com.doumee.biz.system.SystemDictDataBiz; 
 | 
import com.doumee.core.model.PageData; 
 | 
import com.doumee.core.model.PageWrap; 
 | 
import com.doumee.core.utils.Utils; 
 | 
import com.doumee.dao.business.CategorySegMapper; 
 | 
import com.doumee.dao.business.model.CategorySeg; 
 | 
import com.doumee.dao.business.model.Segments; 
 | 
import com.doumee.dao.business.vo.UnitCodeVo; 
 | 
import com.doumee.service.business.CategorySegService; 
 | 
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.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
import org.springframework.util.CollectionUtils; 
 | 
  
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 志邦营销区域品类信息表Service实现 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2024/07/04 14:40 
 | 
 */ 
 | 
@Service 
 | 
public class CategorySegServiceImpl implements CategorySegService { 
 | 
  
 | 
    @Autowired 
 | 
    private SystemDictDataBiz systemDictDataBiz; 
 | 
    @Autowired 
 | 
    private CategorySegMapper categorySegMapper; 
 | 
  
 | 
    @Override 
 | 
    public Long create(CategorySeg categorySeg) { 
 | 
        categorySegMapper.insert(categorySeg); 
 | 
        return categorySeg.getId(); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void deleteById(Long id) { 
 | 
        categorySegMapper.deleteById(id); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void delete(CategorySeg categorySeg) { 
 | 
        UpdateWrapper<CategorySeg> deleteWrapper = new UpdateWrapper<>(categorySeg); 
 | 
        categorySegMapper.delete(deleteWrapper); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void deleteByIdInBatch(List<Long> ids) { 
 | 
        if (CollectionUtils.isEmpty(ids)) { 
 | 
            return; 
 | 
        } 
 | 
        categorySegMapper.deleteBatchIds(ids); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void updateById(CategorySeg categorySeg) { 
 | 
        categorySegMapper.updateById(categorySeg); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void updateByIdInBatch(List<CategorySeg> categorySegs) { 
 | 
        if (CollectionUtils.isEmpty(categorySegs)) { 
 | 
            return; 
 | 
        } 
 | 
        for (CategorySeg categorySeg: categorySegs) { 
 | 
            this.updateById(categorySeg); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public CategorySeg findById(Long id) { 
 | 
        return categorySegMapper.selectById(id); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public CategorySeg findOne(CategorySeg categorySeg) { 
 | 
        QueryWrapper<CategorySeg> wrapper = new QueryWrapper<>(categorySeg); 
 | 
        return categorySegMapper.selectOne(wrapper); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<CategorySeg> findList(CategorySeg categorySeg) { 
 | 
        QueryWrapper<CategorySeg> wrapper = new QueryWrapper<>(categorySeg); 
 | 
        return categorySegMapper.selectList(wrapper); 
 | 
    } 
 | 
   
 | 
    @Override 
 | 
    public PageData<CategorySeg> findPage(PageWrap<CategorySeg> pageWrap) { 
 | 
        IPage<CategorySeg> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); 
 | 
        QueryWrapper<CategorySeg> queryWrapper = new QueryWrapper<>(); 
 | 
        queryWrapper.select("category_seg.*," + 
 | 
                "(select b.name from shop b where b.code = category_seg.scode  limit 1 ) as sname," + 
 | 
                "(select b.name from shop b where b.code = category_seg.org_id  limit 1 ) as orgName"); 
 | 
        Utils.MP.blankToNull(pageWrap.getModel()); 
 | 
        if (pageWrap.getModel().getId() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getId, pageWrap.getModel().getId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCreator() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getCreator, pageWrap.getModel().getCreator()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCreateDate() != null) { 
 | 
            queryWrapper.lambda().ge(CategorySeg::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); 
 | 
            queryWrapper.lambda().le(CategorySeg::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEditor() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getEditor, pageWrap.getModel().getEditor()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEditDate() != null) { 
 | 
            queryWrapper.lambda().ge(CategorySeg::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); 
 | 
            queryWrapper.lambda().le(CategorySeg::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getIsdeleted() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getIsdeleted, pageWrap.getModel().getIsdeleted()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getRemark() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getRemark, pageWrap.getModel().getRemark()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getUnitCode() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getUnitCode, pageWrap.getModel().getUnitCode()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSegId() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getSegId, pageWrap.getModel().getSegId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSegId2() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getSegId2, pageWrap.getModel().getSegId2()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSegId3() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getSegId3, pageWrap.getModel().getSegId3()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSegName() != null) { 
 | 
            queryWrapper.lambda().like(CategorySeg::getSegName, pageWrap.getModel().getSegName()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSegName2() != null) { 
 | 
            queryWrapper.lambda().like(CategorySeg::getSegName2, pageWrap.getModel().getSegName2()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSegName3() != null) { 
 | 
            queryWrapper.lambda().like(CategorySeg::getSegName3, pageWrap.getModel().getSegName3()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSyncDate() != null) { 
 | 
            queryWrapper.lambda().ge(CategorySeg::getSyncDate, Utils.Date.getStart(pageWrap.getModel().getSyncDate())); 
 | 
            queryWrapper.lambda().le(CategorySeg::getSyncDate, Utils.Date.getEnd(pageWrap.getModel().getSyncDate())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSyncInfo() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getSyncInfo, pageWrap.getModel().getSyncInfo()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getShipToAddress() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getShipToAddress, pageWrap.getModel().getShipToAddress()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getShipToPerson() != null) { 
 | 
            queryWrapper.lambda().like(CategorySeg::getShipToPerson, pageWrap.getModel().getShipToPerson()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getShipToPhone() != null) { 
 | 
            queryWrapper.lambda().like(CategorySeg::getShipToPhone, pageWrap.getModel().getShipToPhone()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getScode() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getScode, pageWrap.getModel().getScode()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getOrgId() != null) { 
 | 
            queryWrapper.lambda().eq(CategorySeg::getOrgId, pageWrap.getModel().getOrgId()); 
 | 
        } 
 | 
        for(PageWrap.SortData sortData: pageWrap.getSorts()) { 
 | 
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { 
 | 
                queryWrapper.orderByDesc(sortData.getProperty()); 
 | 
            } else { 
 | 
                queryWrapper.orderByAsc(sortData.getProperty()); 
 | 
            } 
 | 
        } 
 | 
        queryWrapper.lambda().orderByAsc(CategorySeg::getScode); 
 | 
        PageData<CategorySeg> pagedata =PageData.from(categorySegMapper.selectPage(page, queryWrapper)); 
 | 
        if(pagedata!=null && pagedata.getRecords()!=null && pagedata.getRecords().size()>0){ 
 | 
            List<UnitCodeVo> unitCodeVoList =systemDictDataBiz.getUnitList(); 
 | 
            for(CategorySeg model : pagedata.getRecords()){ 
 | 
                model.setUnitName(systemDictDataBiz.getUnitName(model.getUnitCode(),unitCodeVoList)); 
 | 
            } 
 | 
  
 | 
        } 
 | 
        return pagedata; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public long count(CategorySeg categorySeg) { 
 | 
        QueryWrapper<CategorySeg> wrapper = new QueryWrapper<>(categorySeg); 
 | 
        return categorySegMapper.selectCount(wrapper); 
 | 
    } 
 | 
} 
 |