jiangping
2024-11-26 f1864f6d2d85b49fc901b22e9f6759a5d0fb360b
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -1,9 +1,12 @@
package com.doumee.service.business.impl;
import com.doumee.core.model.LoginUserInfo;
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.YwProjectMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.YwProject;
import com.doumee.service.business.YwProjectService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -14,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
@@ -28,14 +32,25 @@
    private YwProjectMapper ywProjectMapper;
    @Override
    public Integer create(YwProject ywProject) {
        ywProjectMapper.insert(ywProject);
        return ywProject.getId();
    public Integer create(YwProject  model) {
        model.setCreator(model.getLoginUserInfo().getId());
        model.setIsdeleted(Constants.ZERO);
        model.setCreateDate(new Date());
        model.setStatus(Constants.ZERO);
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywProjectMapper.insert(model);
        return model.getId();
    }
    @Override
    public void deleteById(Integer id) {
        ywProjectMapper.deleteById(id);
    public void deleteById(Integer id, LoginUserInfo user) {
        YwProject model = new YwProject();
        model.setId(id);
        model.setEditDate(new Date());
        model.setEditor(user.getId());
        model.setIsdeleted(Constants.ONE);
        ywProjectMapper.updateById(model);
    }
    @Override
@@ -45,16 +60,20 @@
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        ywProjectMapper.deleteBatchIds(ids);
        for(Integer id : ids){
            this.deleteById(id,user);
        }
    }
    @Override
    public void updateById(YwProject ywProject) {
        ywProjectMapper.updateById(ywProject);
    public void updateById(YwProject model) {
        model.setEditDate(new Date());
        model.setEditor(model.getLoginUserInfo().getId());
        ywProjectMapper.updateById(model);
    }
    @Override
@@ -80,6 +99,7 @@
    @Override
    public List<YwProject> findList(YwProject ywProject) {
        ywProject.setIsdeleted(Constants.ZERO);
        QueryWrapper<YwProject> wrapper = new QueryWrapper<>(ywProject);
        return ywProjectMapper.selectList(wrapper);
    }
@@ -89,6 +109,9 @@
        IPage<YwProject> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<YwProject> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id) as roomNum"+
                ",(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id and a.IS_INVESTMENT=1) as roomRentNum");
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(YwProject::getId, pageWrap.getModel().getId());
        }
@@ -130,13 +153,7 @@
        if (pageWrap.getModel().getAddr() != null) {
            queryWrapper.lambda().eq(YwProject::getAddr, pageWrap.getModel().getAddr());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.lambda().orderByDesc(YwProject::getCreateDate);
        return PageData.from(ywProjectMapper.selectPage(page, queryWrapper));
    }