完成已报名模块、且修正招工中间表类型
This commit is contained in:
@ -42,7 +42,7 @@ public class BgtProjectRecruitApply implements Serializable {
|
||||
@ApiModelProperty("务工者用户ID")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("选择状态(0未选择 1已选择)")
|
||||
@ApiModelProperty("0报名 1包工同意 2包工头拒绝(截止时间)3务工者同意 4务工者拒绝 5进场 6离场")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("进场时间")
|
||||
|
@ -6,10 +6,16 @@ import com.ruoyi.bgt.domain.dto.BgtProjectRecruitQueryDTO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
|
||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
||||
import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo;
|
||||
import org.apache.ibatis.annotations.CacheNamespace;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 包工头招工Mapper接口
|
||||
*
|
||||
@ -23,4 +29,8 @@ public interface BgtProjectRecruitMapper extends BaseMapperPlus<BgtProjectRecrui
|
||||
Page<BgtProjectRecruitVO> appQueryPageList(@Param("page") Page<BgtProjectRecruitQueryDTO> page, @Param("dto") BgtProjectRecruitQueryDTO dto);
|
||||
|
||||
WgzAppProjectDetailsRes userProjectDetails(@Param("id") Long id);
|
||||
|
||||
Page<WgzAppRegisteredProjectRes> userRegisteredProject(@Param("page") Page<WgzAppRegisteredProjectReq> page,@Param("userId") Long userId);
|
||||
|
||||
List<WgzAppCancelRegistrationProjectDetailsTwo> GetsTheMembersUnderTheCurrentProject (@Param("recruitId") Long recruitId);
|
||||
}
|
||||
|
@ -84,4 +84,10 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
|
||||
*/
|
||||
Boolean consent(BgtProjectRecruitApplyConsentDTO dto);
|
||||
|
||||
/**
|
||||
* 务工者取消报名
|
||||
*/
|
||||
Boolean userCancelRegistration(Long recruitId);
|
||||
|
||||
|
||||
}
|
||||
|
@ -7,9 +7,14 @@ import com.ruoyi.bgt.domain.vo.BgtProjectRecruitDetailVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
|
||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -87,4 +92,14 @@ public interface IBgtProjectRecruitService extends IServicePlus<BgtProjectRecrui
|
||||
*/
|
||||
WgzAppProjectDetailsRes userProjectDetails(Long id);
|
||||
|
||||
/**
|
||||
* 首页-已报名项目(分页)
|
||||
*/
|
||||
TableDataInfo<WgzAppRegisteredProjectRes> userRegisteredProject(@Validated WgzAppRegisteredProjectReq req);
|
||||
|
||||
/**
|
||||
* 已报名项目·项目详情
|
||||
*/
|
||||
WgzAppCancelRegistrationProjectDetailsRes userCancelRegistrationProjectDetails(Long recruitId);
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.ruoyi.bgt.service.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.injector.methods.DeleteById;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
|
||||
@ -122,6 +123,7 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* LC-APP相关
|
||||
* =================================================================================================================
|
||||
@ -136,9 +138,9 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
public BgtProjectRecruitApply selectByUserIdProjectRecruitApplyId(Long id) {
|
||||
LambdaQueryWrapper<BgtProjectRecruitApply> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(BgtProjectRecruitApply::getUserId, id).
|
||||
eq(BgtProjectRecruitApply::getStatus, "1").
|
||||
isNotNull(BgtProjectRecruitApply::getEntryTime).
|
||||
ne(BgtProjectRecruitApply::getEntryTime, "");
|
||||
eq(BgtProjectRecruitApply::getStatus, "3"); //包工头同意、务工者同意才算进场ok
|
||||
// isNotNull(BgtProjectRecruitApply::getEntryTime).
|
||||
// ne(BgtProjectRecruitApply::getEntryTime, "");
|
||||
List<BgtProjectRecruitApply> bgtProjectRecruitApplies = baseMapper.selectList(lqw);
|
||||
if (bgtProjectRecruitApplies.size()>1){
|
||||
throw new RuntimeException("异常,查询到用户同时在多个工地务工!");
|
||||
@ -151,6 +153,16 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
public Boolean userApplyForRegistration(Long id) {
|
||||
//1、获取当前用户
|
||||
Long appUserId = SecurityUtils.getAppUserId();
|
||||
//2、检查当前用户是否已经有工地了、检查当前用户是否满足对应工种
|
||||
Integer i = baseMapper.selectCount(
|
||||
new LambdaQueryWrapper<BgtProjectRecruitApply>().
|
||||
eq(BgtProjectRecruitApply::getUserId, appUserId).
|
||||
eq(BgtProjectRecruitApply::getStatus, "3")
|
||||
// isNotNull(BgtProjectRecruitApply::getEntryTime).ne(BgtProjectRecruitApply::getEntryTime, "")
|
||||
);
|
||||
if (i>0){
|
||||
throw new RuntimeException("已有工地!不可再次申请!");
|
||||
}
|
||||
//2、插入数据
|
||||
BgtProjectRecruitApply bgtProjectRecruitApply = new BgtProjectRecruitApply();
|
||||
bgtProjectRecruitApply.setRecruitId(id);
|
||||
@ -158,4 +170,10 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
return baseMapper.insert(bgtProjectRecruitApply) >0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Boolean userCancelRegistration(Long recruitId) {
|
||||
return baseMapper.deleteById(new LambdaQueryWrapper<BgtProjectRecruitApply>().eq(BgtProjectRecruitApply::getRecruitId, recruitId)) >0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,11 +18,19 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.RecruitApplyStatus;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes;
|
||||
import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -153,4 +161,27 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
|
||||
return baseMapper.userProjectDetails(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<WgzAppRegisteredProjectRes> userRegisteredProject(WgzAppRegisteredProjectReq req) {
|
||||
Long userId = SecurityUtils.getAppUserId();
|
||||
Page<WgzAppRegisteredProjectReq> pe = new Page<>();
|
||||
pe.setCurrent(req.getPageNum());
|
||||
pe.setSize(req.getPageSize());
|
||||
return PageUtils.buildDataInfo(baseMapper.userRegisteredProject(pe, userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public WgzAppCancelRegistrationProjectDetailsRes userCancelRegistrationProjectDetails(Long recruitId) {
|
||||
//1、获取项目基础信息
|
||||
WgzAppProjectDetailsRes wgzAppProjectDetailsRes = baseMapper.userProjectDetails(recruitId);
|
||||
//2、获取当前项目下的成员
|
||||
List<WgzAppCancelRegistrationProjectDetailsTwo> wgzUser = baseMapper.GetsTheMembersUnderTheCurrentProject(recruitId);
|
||||
//3、数据组装
|
||||
WgzAppCancelRegistrationProjectDetailsRes res = new WgzAppCancelRegistrationProjectDetailsRes();
|
||||
BeanUtils.copyProperties(wgzAppProjectDetailsRes,res);
|
||||
res.setNumberOfRegistered(wgzUser.size());
|
||||
res.setUserList(wgzUser);
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user