MrShi
2026-01-13 3a154bdb0a5aaa2c0ac3eac95a6ba747068bd454
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchLineServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,183 @@
package com.doumee.service.business.impl;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.JkSketchMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.JkSketchLineMapper;
import com.doumee.service.business.JkSketchLineService;
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 com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
 * äº¤æŽ§-线路优化线路记录信息表Service实现
 * @author æ±Ÿè¹„蹄
 * @date 2025/09/28 09:01
 */
@Service
public class JkSketchLineServiceImpl implements JkSketchLineService {
    @Autowired
    private JkSketchLineMapper jkSketchLineMapper;
    @Autowired
    private JkSketchMapper jkSketchMapper;
    @Override
    public Integer create(JkSketchLine jkSketchLine) {
        jkSketchLineMapper.insert(jkSketchLine);
        return jkSketchLine.getId();
    }
    @Override
    public void deleteById(Integer id) {
        jkSketchLineMapper.deleteById(id);
    }
    @Override
    public void delete(JkSketchLine jkSketchLine) {
        UpdateWrapper<JkSketchLine> deleteWrapper = new UpdateWrapper<>(jkSketchLine);
        jkSketchLineMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        jkSketchLineMapper.deleteBatchIds(ids);
    }
    @Override
    public void updateById(JkSketchLine jkSketchLine) {
        jkSketchLineMapper.updateById(jkSketchLine);
    }
    @Override
    public void updateByIdInBatch(List<JkSketchLine> jkSketchLines) {
        if (CollectionUtils.isEmpty(jkSketchLines)) {
            return;
        }
        for (JkSketchLine jkSketchLine: jkSketchLines) {
            this.updateById(jkSketchLine);
        }
    }
    @Override
    public JkSketchLine findById(Integer id) {
        return jkSketchLineMapper.selectById(id);
    }
    @Override
    public JkSketchLine findOne(JkSketchLine jkSketchLine) {
        QueryWrapper<JkSketchLine> wrapper = new QueryWrapper<>(jkSketchLine);
        return jkSketchLineMapper.selectOne(wrapper);
    }
    @Override
    public List<JkSketchLine> findList(JkSketchLine jkSketchLine) {
   /*     if(jkSketchLine.getSketchId()!=null){
            JkSketch sketch = jkSketchMapper.selectById(jkSketchLine.getSketchId());
            if(sketch!=null){
                jkSketchLine.setType(Constants.formatIntegerNum(sketch.getOptStatus()));
            }
        }*/
        MPJLambdaWrapper<JkSketchLine> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(JkSketchLine.class )
                .selectAs(Member::getName,JkSketchLine::getMemberName)
                .selectAs(Cars::getCode,JkSketchLine::getCarCode)
                .selectAs(JkLine::getName,JkSketchLine::getLineName)
                .selectAs(Category::getId,JkSketchLine::getCategoryId)
                .selectAs(Category::getName,JkSketchLine::getCategoryName)
                .selectAs(JkLine::getMaxOrder,JkSketchLine::getMaxOrder)
                .selectAs(JkLine::getMaxCustomer,JkSketchLine::getMaxCustomer)
                .leftJoin(JkLine.class,JkLine::getId,JkOrders::getLineId )
                .leftJoin(Cars.class,Cars::getId,JkLine::getCarId )
                .leftJoin(Member.class,Member::getId,Cars::getMemberId )
                .leftJoin(Category.class,Category::getId,JkLine::getCategoryId );
        wrapper.eq( jkSketchLine.getType()!=null,JkSketchLine::getType, jkSketchLine.getType());
        wrapper.eq( jkSketchLine.getSketchId()!=null,JkSketchLine::getSketchId, jkSketchLine.getSketchId())
                .eq(  JkSketchLine::getIsdeleted,Constants.ZERO)
                .orderByAsc(JkLine::getSortnum );
        return jkSketchLineMapper.selectJoinList(JkSketchLine.class,wrapper);
    }
    @Override
    public PageData<JkSketchLine> findPage(PageWrap<JkSketchLine> pageWrap) {
        if(pageWrap.getModel().getSketchId()!=null){
            JkSketch sketch = jkSketchMapper.selectById(pageWrap.getModel().getSketchId());
            if(sketch!=null){
                pageWrap.getModel().setType(Constants.formatIntegerNum(sketch.getOptStatus()));
            }
        }
        IPage<JkSketchLine> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<JkSketchLine> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(JkSketchLine::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(JkSketchLine::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(JkSketchLine::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(JkSketchLine::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getInfo() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getInfo, pageWrap.getModel().getInfo());
        }
        if (pageWrap.getModel().getLineId() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getLineId, pageWrap.getModel().getLineId());
        }
        if (pageWrap.getModel().getSketchId() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getSketchId, pageWrap.getModel().getSketchId());
        }
        if (pageWrap.getModel().getTotalNum() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getTotalNum, pageWrap.getModel().getTotalNum());
        }
        if (pageWrap.getModel().getOrderNum() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getOrderNum, pageWrap.getModel().getOrderNum());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getDateInfo() != null) {
            queryWrapper.lambda().ge(JkSketchLine::getDateInfo, Utils.Date.getStart(pageWrap.getModel().getDateInfo()));
            queryWrapper.lambda().le(JkSketchLine::getDateInfo, Utils.Date.getEnd(pageWrap.getModel().getDateInfo()));
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(jkSketchLineMapper.selectPage(page, queryWrapper));
    }
    @Override
    public long count(JkSketchLine jkSketchLine) {
        QueryWrapper<JkSketchLine> wrapper = new QueryWrapper<>(jkSketchLine);
        return jkSketchLineMapper.selectCount(wrapper);
    }
}