package com.zzg.system.service.state.impl;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.github.pagehelper.PageInfo;
|
import com.zzg.common.core.domain.BaseEntity;
|
import com.zzg.common.core.domain.entity.state.*;
|
import com.zzg.common.core.domain.entity.system.SysDept;
|
import com.zzg.common.core.redis.RedisUtil;
|
import com.zzg.common.enums.AgreementTypeEnum;
|
import com.zzg.common.enums.ResettlementTypeEnum;
|
import com.zzg.common.enums.StateProjectStatusEnum;
|
import com.zzg.common.exception.GlobalException;
|
import com.zzg.common.utils.DateUtil;
|
import com.zzg.common.utils.DateUtils;
|
import com.zzg.common.utils.PageUtils;
|
import com.zzg.system.convert.StateProjectConvert;
|
import com.zzg.system.domain.bo.*;
|
import com.zzg.system.domain.vo.ProjectExecutionSumVO;
|
import com.zzg.system.domain.vo.ProjectImplPageVO;
|
import com.zzg.system.domain.vo.ProjectStatusExpiredVO;
|
import com.zzg.system.domain.vo.StateProjectVO;
|
import com.zzg.system.mapper.state.StateProjectMapper;
|
import com.zzg.system.service.state.*;
|
import com.zzg.system.service.system.ISysDeptService;
|
import lombok.RequiredArgsConstructor;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.CollectionUtils;
|
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.function.Function;
|
import java.util.stream.Collectors;
|
|
import static com.zzg.common.enums.DeleteFlagEnum.NOT_DELETED;
|
|
@Service
|
@RequiredArgsConstructor
|
public class StateProjectServiceImpl extends ServiceImpl<StateProjectMapper, StateProject> implements StateProjectService {
|
|
private final StateProjectCompensationService stateProjectCompensationService;
|
private final StateProjectInfoService stateProjectInfoService;
|
private final StateSettlementService settlementService;
|
private final StateHouseholdService stateHouseholdService;
|
private final StateProjectNoticeService stateProjectNoticeService;
|
private final RedisUtil redisUtil;
|
private final ISysDeptService deptService;
|
private final StateProjectMapper stateProjectMapper;
|
|
private JSONObject voPage(GetProjectPageBO getProjectPageBO, boolean isForApplyRecord) {
|
Page<StateProject> page = new Page<>(getProjectPageBO.getPageNum(), getProjectPageBO.getPageSize());
|
LambdaQueryWrapper<StateProject> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(StateProject::getDelFlag, NOT_DELETED.getKey());
|
queryWrapper.orderByDesc(BaseEntity::getCreateTime);
|
if (isForApplyRecord) {
|
queryWrapper.eq(StateProject::getId, getProjectPageBO.getProjectId());
|
}
|
if (Objects.nonNull(getProjectPageBO.getIsApp()) && Boolean.TRUE.equals(getProjectPageBO.getIsApp())) {
|
List<Integer> statusList = new ArrayList<>();
|
statusList.add(StateProjectStatusEnum.SUCCESS.getKey());
|
statusList.add(StateProjectStatusEnum.CANCELLATION.getKey());
|
queryWrapper.notIn(StateProject::getStatus, statusList);
|
}
|
// queryWrapper.ne(StateProject::getStatus, StateProjectStatusEnum.CANCELLATION.getKey());
|
//测试叫按创建时间降序,这里注释调
|
// queryWrapper.orderByAsc(BaseEntity::getCreateBy);
|
List<StateProject> totalList = this.list(queryWrapper);
|
if (CollectionUtils.isEmpty(totalList)) {
|
return new JSONObject();
|
}
|
List<String> totalProjectId = totalList.stream().map(StateProject::getId).collect(Collectors.toList());
|
LambdaQueryWrapper<StateHousehold> stateHouseholdLambdaWrapper = new LambdaQueryWrapper<>();
|
|
stateHouseholdLambdaWrapper.in(StateHousehold::getStateProjectId, totalProjectId);
|
List<StateHousehold> householdList = stateHouseholdService.list(stateHouseholdLambdaWrapper);
|
|
|
if (StringUtils.isNotBlank(getProjectPageBO.getProjectName())) {
|
if (Boolean.TRUE.equals(getProjectPageBO.getIsApp())) {
|
queryWrapper.and(wrapper -> wrapper.like(StateProject::getProjectName, getProjectPageBO.getProjectName())
|
.or()
|
.like(StateProject::getStreet, getProjectPageBO.getProjectName())
|
);
|
} else {
|
queryWrapper.like(StateProject::getProjectName, getProjectPageBO.getProjectName());
|
}
|
}
|
if (Objects.nonNull(getProjectPageBO.getProjectStatus())) {
|
queryWrapper.in(StateProject::getStatus, getProjectPageBO.getProjectStatus());
|
}
|
if (StringUtils.isNotBlank(getProjectPageBO.getProjectNo())) {
|
queryWrapper.like(StateProject::getProjectNo, getProjectPageBO.getProjectNo());
|
}
|
if (StringUtils.isNotBlank(getProjectPageBO.getProjectStreet())) {
|
queryWrapper.like(StateProject::getStreet, getProjectPageBO.getProjectStreet());
|
}
|
if (Objects.nonNull(getProjectPageBO.getStartTime()) && Objects.nonNull(getProjectPageBO.getEndTime())) {
|
queryWrapper.between(StateProject::getStartTime, getProjectPageBO.getStartTime(), getProjectPageBO.getEndTime());
|
}
|
if (isForApplyRecord) {
|
queryWrapper.eq(StateProject::getStatus, StateProjectStatusEnum.LEVY.getKey());
|
}
|
Page<StateProject> pageResult = page(page, queryWrapper);
|
List<StateProject> records = pageResult.getRecords();
|
Page<StateProjectVO> stateProjectVOPage = new Page<>();
|
stateProjectVOPage.setCurrent(pageResult.getCurrent());
|
stateProjectVOPage.setTotal(pageResult.getTotal());
|
stateProjectVOPage.setSize(pageResult.getSize());
|
if (CollectionUtils.isEmpty(records)) {
|
String jsonString = JSON.toJSONString(stateProjectVOPage);
|
return JSONObject.parseObject(jsonString);
|
}
|
List<String> projectIdList = records.stream().map(StateProject::getId).collect(Collectors.toList());
|
LambdaQueryWrapper<StateProjectInfo> stateProjectInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
stateProjectInfoLambdaQueryWrapper.select(StateProjectInfo::getCollectionEnforcementDepartment, StateProjectInfo::getProjectId).in(StateProjectInfo::getProjectId, projectIdList);
|
List<StateProjectInfo> list = stateProjectInfoService.list(stateProjectInfoLambdaQueryWrapper);
|
Map<String, StateProjectInfo> stringStateProjectInfoMap = new HashMap<>();
|
Map<String, List<StateHousehold>> householdListMap = new HashMap<>();
|
if (!CollectionUtils.isEmpty(list)) {
|
stringStateProjectInfoMap = list.stream().collect(Collectors.toMap(StateProjectInfo::getProjectId, Function.identity()));
|
}
|
if (!CollectionUtils.isEmpty(householdList)) {
|
householdListMap = householdList.stream().collect(Collectors.groupingBy(StateHousehold::getStateProjectId));
|
}
|
|
List<StateProjectVO> voList = new ArrayList<>();
|
StateProjectVO vo;
|
List<String> deptIdList = stringStateProjectInfoMap.values().stream()
|
.map(StateProjectInfo::getCollectionEnforcementDepartment)
|
.flatMap(department -> Arrays.stream(department.split(","))) // 根据逗号拆分
|
.collect(Collectors.toList());
|
deptIdList.addAll(records.stream().map(StateProject::getDepartment).collect(Collectors.toList()));
|
|
Map<String, SysDept> stringSysDeptMap = deptService.selectMapDeptById(deptIdList);
|
for (StateProject e : records) {
|
vo = StateProjectConvert.INSTANCE.toStateProjectVO(e);
|
vo.setStatusStr(StateProjectStatusEnum.getValueByKey(vo.getStatus()));
|
|
StateProjectInfo stateProjectInfo = stringStateProjectInfoMap.get(e.getId());
|
List<StateHousehold> stateHouseholdList = householdListMap.get(e.getId());
|
SysDept projectDept = stringSysDeptMap.get(e.getDepartment());
|
if (Objects.nonNull(projectDept)) {
|
vo.setDepartment(projectDept.getDeptName());
|
}
|
|
if (Objects.nonNull(stateProjectInfo)) {
|
String collectionEnforcementDepartment = stateProjectInfo.getCollectionEnforcementDepartment();
|
if (Objects.nonNull(collectionEnforcementDepartment)) {
|
// 将逗号分隔的部门拆分为数组,然后逐个获取相应的部门名称
|
String updatedDepartment = Arrays.stream(collectionEnforcementDepartment.split(","))
|
.map(deptKey -> {
|
SysDept sysDept = stringSysDeptMap.get(deptKey.trim()); // 使用 trim() 去掉可能的空格
|
return Objects.nonNull(sysDept) ? sysDept.getDeptName() : deptKey; // 如果找到部门,返回 deptName,否则返回原始 key
|
})
|
.collect(Collectors.joining(",")); // 用逗号拼接处理后的部门名称
|
// 设置拼接后的结果
|
vo.setCollectionEnforcementDepartment(updatedDepartment);
|
}
|
}
|
if (!CollectionUtils.isEmpty(stateHouseholdList)) {
|
vo.setHouseCount(stateHouseholdList.size());
|
}
|
|
voList.add(vo);
|
}
|
|
stateProjectVOPage.setRecords(voList);
|
String jsonString = JSON.toJSONString(stateProjectVOPage);
|
JSONObject resultJsonObject = JSONObject.parseObject(jsonString);
|
resultJsonObject.put("houseCount", householdList.size());
|
return resultJsonObject;
|
}
|
|
@Override
|
public JSONObject getPage(GetProjectPageBO getProjectPageBO) {
|
return voPage(getProjectPageBO, false);
|
}
|
|
@Override
|
public JSONObject getPageForApplyRecord(GetProjectPageBO getProjectPageBO) {
|
return voPage(getProjectPageBO, true);
|
}
|
|
@Override
|
@Transactional
|
public StateProject saveProjectAndInfo(StateProjectBO stateProjectBO) {
|
// Map and save StateProject
|
if (Objects.nonNull(stateProjectBO.getFileInformation())) {
|
stateProjectBO.setFileUrl(stateProjectBO.getFileInformation().toJSONString());
|
}
|
LambdaQueryWrapper<StateProject> stateProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
stateProjectLambdaQueryWrapper.eq(StateProject::getProjectNo, stateProjectBO.getProjectNumber());
|
StateProject distinct = getOne(stateProjectLambdaQueryWrapper);
|
if (Objects.nonNull(distinct) && StringUtils.isBlank(stateProjectBO.getProjectId())) {
|
throw new GlobalException("当前项目编号已经存在,重新输入项目编号");
|
}
|
StateProject stateProject = StateProjectConvert.INSTANCE.toStateProject(stateProjectBO);
|
|
if (Objects.nonNull(stateProject.getStartTime())){
|
stateProject.setStartTime(DateUtil.parseDate(com.zzg.common.utils.DateUtil.formatDate(stateProject.getStartTime(), DateUtils.YYYY_MM_DD)));
|
}
|
if (StringUtils.isBlank(stateProject.getId())) {
|
stateProject.setStatus(StateProjectStatusEnum.HOUSEHOLD_SURVEY.getKey());
|
}
|
StateProjectCompensation compensation = StateProjectConvert.INSTANCE.toStateProjectCompensation(stateProjectBO);
|
StateProjectInfo info = StateProjectConvert.INSTANCE.toStateProjectInfo(stateProjectBO);
|
|
Map<String, SysDept> stringSysDeptMap = deptService.selectMapDeptById(Arrays.asList(stateProject.getCollectionEnforcementDepartment().split(",")));
|
|
stateProject.setDepartment(stringSysDeptMap.values().stream().map(SysDept::getDeptName).collect(Collectors.joining(",")));
|
|
this.saveOrUpdate(stateProject);
|
String jsonString = JSON.toJSONString(stateProjectBO);
|
ScopeCollectionBO scopeCollectionBO = JSON.parseObject(jsonString, ScopeCollectionBO.class);
|
// Map and save StateProjectCompensation
|
|
compensation.setProjectId(stateProject.getId());
|
stateProjectCompensationService.saveOrUpdate(compensation);
|
|
// Map and save StateProjectInfo
|
|
info.setProjectId(stateProject.getId());
|
info.setScopeCollection(JSON.toJSONString(scopeCollectionBO));
|
stateProjectInfoService.saveOrUpdate(info);
|
|
|
stateProjectBO.setCollectionEnforcementDepartmentStr(stringSysDeptMap.values().stream().map(SysDept::getDeptName).collect(Collectors.joining(",")));
|
return stateProject;
|
}
|
|
public String generateProjectNo() {
|
// 获取当前日期
|
Date now = new Date();
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
String dateStr = dateFormat.format(now);
|
// Redis 键名,存储当天的流水号
|
String redisKey = "projectNo:" + dateStr;
|
// 使用 Redis 生成当天的流水号
|
long serialNumber = redisUtil.incr(redisKey);
|
if (serialNumber > 999) {
|
throw new RuntimeException("当天项目编号已超过999个,无法生成更多编号");
|
}
|
// 格式化流水号为两位数字
|
String serialStr = String.format("%02d", serialNumber);
|
// 生成项目编号
|
return "XM" + dateStr + serialStr;
|
|
}
|
|
@Override
|
@Transactional
|
public boolean saveProject(StateProject stateProject) {
|
|
return this.saveOrUpdate(stateProject);
|
}
|
|
@Override
|
public StateProject getProjectById(String id) {
|
return getById(id);
|
}
|
|
@Override
|
public StateProjectBO getProjectInfoById(String projectId) {
|
// Map and save StateProject
|
LambdaQueryWrapper<StateProject> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(StateProject::getId, projectId);
|
StateProject byId = getOne(queryWrapper);
|
StateProjectCompensation compensation = stateProjectCompensationService.getById(projectId);
|
StateProjectInfo info = stateProjectInfoService.getById(projectId);
|
|
ScopeCollectionBO scopeCollectionBO = null;
|
if (ObjectUtil.isNotEmpty(info.getScopeCollection())) {
|
scopeCollectionBO = JSON.parseObject(info.getScopeCollection(), ScopeCollectionBO.class);
|
}
|
StateProjectBO stateProjectBO = StateProjectConvert.INSTANCE.toStateProjectBO(byId, compensation, info, scopeCollectionBO);
|
if (Objects.nonNull(byId)) {
|
JSONArray fileInformation = JSON.parseArray(byId.getFileUrl());
|
stateProjectBO.setFileInformation(fileInformation);
|
}
|
|
stateProjectBO.setStatusStr(StateProjectStatusEnum.getValue(stateProjectBO.getStatus()));
|
Map<String, SysDept> stringSysDeptMap = deptService.selectMapDeptById(Arrays.asList(stateProjectBO.getCollectionEnforcementDepartment().split(",")));
|
stateProjectBO.setCollectionEnforcementDepartmentStr(stringSysDeptMap.values().stream().map(SysDept::getDeptName).collect(Collectors.joining(",")));
|
stateProjectBO.setDepartment(stringSysDeptMap.values().stream().map(SysDept::getDeptName).collect(Collectors.joining(",")));
|
String resettlementTypeStr = Arrays.stream(stateProjectBO.getResettlementType().split(",")).map(s -> ResettlementTypeEnum.getDescription(Integer.parseInt(s))).collect(Collectors.joining(","));
|
stateProjectBO.setResettlementTypeStr(resettlementTypeStr);
|
|
return stateProjectBO;
|
}
|
|
@Override
|
public PageInfo<ProjectImplPageVO> getProjectImplPage(GetProjectPageBO getProjectPageBO) {
|
PageUtils.startPage();
|
|
// 执行查询
|
List<StateProject> projectList = this.getBaseMapper().selectStateProject(getProjectPageBO);
|
if (CollectionUtils.isEmpty(projectList)) {
|
return new PageInfo<>();
|
}
|
|
// 4. 构建结果对象
|
PageInfo<StateProject> stateProjectPageInfo = new PageInfo<>(projectList);
|
List<String> projectIdList = stateProjectPageInfo.getList().stream().map(StateProject::getId).collect(Collectors.toList());
|
|
Integer projectCount = projectIdList.size();
|
|
LambdaQueryWrapper<StateHousehold> stateHouseholdLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
stateHouseholdLambdaQueryWrapper.in(StateHousehold::getStateProjectId, projectIdList);
|
List<StateHousehold> stateHouseholds = stateHouseholdService.list(stateHouseholdLambdaQueryWrapper);
|
Map<String, List<StateHousehold>> stateHouseholdMap = new HashMap<>();
|
if (ObjectUtil.isNotEmpty(stateHouseholds)) {
|
stateHouseholdMap = stateHouseholds.stream().collect(Collectors.groupingBy(StateHousehold::getStateProjectId));
|
}
|
|
//查询安置人数
|
LambdaQueryWrapper<StateSettlement> stateSettlementLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
stateSettlementLambdaQueryWrapper.in(StateSettlement::getStateHouseholdId, stateHouseholds.stream().map(StateHousehold::getId).collect(Collectors.toList()));
|
List<StateSettlement> stateSettlementList = settlementService.list(stateSettlementLambdaQueryWrapper);
|
|
Map<String, StateSettlement> settlementMap = stateSettlementList.stream().collect(Collectors.toMap(StateSettlement::getStateHouseholdId, Function.identity()));
|
|
Integer houseCount = stateHouseholds.size();
|
|
Map<String, Map<Integer, ProjectExecutionSumVO>> stringMapMap = settlementService.listProjectExecutionByProjectId(projectIdList, null);
|
if (CollectionUtils.isEmpty(stringMapMap)) {
|
return new PageInfo<>();
|
}
|
|
Map<String, List<StateProjectNotice>> noticeMap = stateProjectNoticeService.listNoticeMapByProjectIdList(projectIdList);
|
new ProjectImplPageVO();
|
ProjectImplPageVO projectImplPageVO;
|
List<ProjectImplPageVO> implPageVOList = new ArrayList<>();
|
for (StateProject entity : projectList) {
|
projectImplPageVO = StateProjectConvert.INSTANCE.toProjectImplPageVO(entity);
|
Map<Integer, ProjectExecutionSumVO> integerProjectExecutionSumVOMap = stringMapMap.get(entity.getId());
|
if (!CollectionUtils.isEmpty(integerProjectExecutionSumVOMap)) {
|
projectImplPageVO.setStateAgreementExecutionSumVO(integerProjectExecutionSumVOMap.get(AgreementTypeEnum.STATE_AGREEMENT.getValue()));
|
projectImplPageVO.setVirtualStateAgreementExecutionSumVO(integerProjectExecutionSumVOMap.get(AgreementTypeEnum.VIRTUAL_STATE_AGREEMENT.getValue()));
|
}
|
projectImplPageVO.setProjectCount(projectCount);
|
projectImplPageVO.setHouseCount(houseCount);
|
implPageVOList.add(projectImplPageVO);
|
}
|
|
//设置安置人数以及进度
|
Map<String, List<StateHousehold>> finalStateHouseholdMap = stateHouseholdMap;
|
implPageVOList.forEach(data -> {
|
if (finalStateHouseholdMap.containsKey(data.getId())) {
|
List<StateHousehold> stateHouseholdList = finalStateHouseholdMap.get(data.getId());
|
long placedCount = countByAuditStatus(stateHouseholdList, settlementMap, true);
|
|
//对于未安置有两种情况 一是存在数据但是未提交审核 二是没有数据
|
long unplacedCount = countByAuditStatus(stateHouseholdList, settlementMap, false);
|
unplacedCount += stateHouseholdList.stream().filter(innerHouse -> !settlementMap.containsKey(innerHouse.getId())).count();
|
|
data.setPlacedCount((int) placedCount);
|
data.setUnplacedCount((int) unplacedCount);
|
}
|
|
if (Objects.nonNull(data.getPlacedCount()) && Objects.nonNull(data.getUnplacedCount())) {
|
double placedRatio = ((double) data.getPlacedCount() / (data.getUnplacedCount() + data.getPlacedCount())) * 100;
|
BigDecimal roundedPlacedRatio = BigDecimal.valueOf(placedRatio).setScale(2, RoundingMode.HALF_UP);
|
data.setPlacedRatio(roundedPlacedRatio);
|
}
|
List<StateProjectNotice> stateProjectNotices = noticeMap.get(data.getId());
|
if (!CollectionUtils.isEmpty(stateProjectNotices) && data.getStatus().equals(StateProjectStatusEnum.LEVY.getKey())) {
|
String originalFilename = stateProjectNotices.stream().map(e -> {
|
String fileUrl = e.getFileUrl();
|
List<FileBO> fileBOS = JSON.parseArray(fileUrl, FileBO.class);
|
if (!CollectionUtils.isEmpty(fileBOS)) {
|
return fileBOS.stream().map(FileBO::getOriginalFilename).collect(Collectors.joining(","));
|
}
|
return "";
|
}).collect(Collectors.joining(","));
|
if(ObjectUtil.isNotEmpty(data.getLevyTime())) {
|
String dateTime = DateUtils.dateTime(data.getLevyTime());
|
data.setRemark(String.format("转征收日期:%s", dateTime) + System.lineSeparator() + String.format("公告文件:%s", originalFilename));
|
}
|
}
|
});
|
|
// 使用 PageInfo 包装分页结果
|
PageInfo<ProjectImplPageVO> projectImplPageVOPageInfo = new PageInfo<>(implPageVOList);
|
projectImplPageVOPageInfo.setTotal(stateProjectPageInfo.getTotal());
|
return projectImplPageVOPageInfo;
|
}
|
|
private long countByAuditStatus(List<StateHousehold> households, Map<String, StateSettlement> settlementMap, boolean isPlaced) {
|
return households.stream()
|
.filter(innerHouse -> settlementMap.containsKey(innerHouse.getId()))
|
.filter(innerHouse -> isPlaced == Objects.nonNull(settlementMap.get(innerHouse.getId()).getAuditStatus()))
|
.count();
|
}
|
|
@Override
|
public boolean cancellationStateProject(String id) {
|
StateProject projectById = getProjectById(id);
|
LambdaUpdateWrapper<StateProject> queryWrapper = new LambdaUpdateWrapper<>();
|
queryWrapper.eq(StateProject::getId, id).set(StateProject::getStatus, StateProjectStatusEnum.CANCELLATION.getKey())
|
.set(StateProject::getCancelTime, new Date())
|
.set(StateProject::getPreStatusByCancel, projectById.getStatus());
|
return update(queryWrapper);
|
}
|
|
@Override
|
public Boolean updateProjectStatus(String projectId, Integer status) {
|
LambdaUpdateWrapper<StateProject> stateProjectLambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
stateProjectLambdaQueryWrapper.eq(StateProject::getId, projectId).set(StateProject::getStatus, status);
|
stateProjectLambdaQueryWrapper.eq(StateProject::getId, projectId);
|
if (StateProjectStatusEnum.SUCCESS.getKey().equals(status)){
|
stateProjectLambdaQueryWrapper.set(StateProject::getFinishedTime, DateUtils.getNowDate());
|
}
|
return this.update(stateProjectLambdaQueryWrapper);
|
}
|
|
@Override
|
public Boolean updateProjectAppStage(String projectId, Integer status) {
|
LambdaUpdateWrapper<StateProject> stateProjectLambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
stateProjectLambdaQueryWrapper.eq(StateProject::getId, projectId).set(StateProject::getStage, status);
|
stateProjectLambdaQueryWrapper.eq(StateProject::getId, projectId);
|
return this.update(stateProjectLambdaQueryWrapper);
|
}
|
|
@Override
|
public Boolean updateProjectAuditStatus(String projectId, Integer status) {
|
LambdaUpdateWrapper<StateProject> stateProjectLambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
stateProjectLambdaQueryWrapper.eq(StateProject::getId, projectId).set(StateProject::getAuditStatus, status);
|
return this.update(stateProjectLambdaQueryWrapper);
|
}
|
|
@Override
|
public Boolean updateProjectPriceStatus(String projectId, Integer status) {
|
LambdaUpdateWrapper<StateProject> stateProjectLambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
stateProjectLambdaQueryWrapper.eq(StateProject::getId, projectId).set(StateProject::getPriceStatus, status);
|
return this.update(stateProjectLambdaQueryWrapper);
|
}
|
|
@Override
|
public String[] getProjectBelongingStreetTownById(String projectId) {
|
LambdaQueryWrapper<StateProject> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(StateProject::getId, projectId);
|
StateProject byId = getOne(queryWrapper);
|
return byId.getStreet().split(",");
|
}
|
|
@Override
|
public List<ProjectStatusExpiredVO> pageInfoExpired(ProjectStatisticsBO projectStatisticsBO) {
|
return stateProjectMapper.sumExpiredData(projectStatisticsBO);
|
}
|
}
|