完成已报名模块、且修正招工中间表类型
This commit is contained in:
		| @ -32,6 +32,7 @@ import org.springframework.security.access.prepost.PreAuthorize; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| import javax.validation.constraints.NotEmpty; | ||||
| import javax.validation.constraints.NotNull; | ||||
| import java.time.LocalTime; | ||||
| import java.util.ArrayList; | ||||
| @ -317,7 +318,7 @@ public class WgzAppController { | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 【首页】【项目详情】 项目详情·申请报名 | ||||
| 	 * 【首页】【项目详情】 项目详情·申请报名(还未校验工种是否匹配工地岗位) | ||||
| 	 */ | ||||
| 	@ApiOperation("【首页】【项目详情】 项目详情·申请报名)") | ||||
| 	@PreAuthorize("@ss.hasPermi('wgzApp:user:userApplyForRegistration')") | ||||
| @ -326,6 +327,45 @@ public class WgzAppController { | ||||
| 		return AjaxResult.success(iBgtProjectRecruitApplyService.userApplyForRegistration(id)); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 【首页】【已报名项目】 已报名项目 | ||||
| 	 */ | ||||
| 	@ApiOperation("【首页】【已报名项目】 已报名项目)") | ||||
| 	@PreAuthorize("@ss.hasPermi('wgzApp:user:userRegisteredProject')") | ||||
| 	@GetMapping("/WgzAppUserRegisteredProject") | ||||
| 	public TableDataInfo<WgzAppRegisteredProjectRes> userRegisteredProject(@Validated WgzAppRegisteredProjectReq req) { | ||||
| 		return iBgtProjectRecruitService.userRegisteredProject(req); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 【首页】【已报名项目】 已报名项目·取消报名 | ||||
| 	 */ | ||||
| 	@ApiOperation("【首页】【已报名项目】 已报名项目·取消报名)") | ||||
| 	@PreAuthorize("@ss.hasPermi('wgzApp:user:userCancelRegistration')") | ||||
| 	@DeleteMapping("/WgzAppUserCancelRegistration/{recruitId}") | ||||
| 	public AjaxResult<Boolean> userCancelRegistration(@NotEmpty(message = "招工主键不能为空") @PathVariable Long recruitId) { | ||||
| 		return AjaxResult.success(iBgtProjectRecruitApplyService.userCancelRegistration(recruitId)); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 【首页】【已报名项目】 已报名项目·项目详情 | ||||
| 	 */ | ||||
| 	@ApiOperation("【首页】【已报名项目】 已报名项目·项目详情") | ||||
| 	@PreAuthorize("@ss.hasPermi('wgzApp:user:userCancelRegistrationProjectDetails')") | ||||
| 	@GetMapping("/WgzAppUserCancelRegistrationProjectDetails/{recruitId}") | ||||
| 	public AjaxResult<WgzAppCancelRegistrationProjectDetailsRes> userCancelRegistrationProjectDetails(@NotEmpty(message = "招工主键不能为空") @PathVariable Long recruitId) { | ||||
| 		return AjaxResult.success(iBgtProjectRecruitService.userCancelRegistrationProjectDetails(recruitId)); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 【首页】【项目进行中】 项目进行中(分页,但是理论上这里始终只会有一条数据) | ||||
| 	 */ | ||||
| 	@ApiOperation("【首页】【项目进行中】 项目进行中") | ||||
| 	@PreAuthorize("@ss.hasPermi('wgzApp:user:userUnderway')") | ||||
| 	@GetMapping("/WgzAppUserUnderway") | ||||
| 	public TableDataInfo<WgzAppRegisteredProjectRes> userUnderway(@Validated WgzAppUnderwayReq req) { | ||||
| 		return null; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	/** | ||||
|  | ||||
| @ -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; | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -0,0 +1,21 @@ | ||||
| package com.ruoyi.wgz.bo.req; | ||||
|  | ||||
| import com.ruoyi.common.bo.PageReq; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import lombok.experimental.Accessors; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
|  | ||||
|  | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @Accessors(chain = true) | ||||
| @ApiModel("已报名项目请求对象") | ||||
| public class WgzAppRegisteredProjectReq extends PageReq { | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,16 @@ | ||||
| package com.ruoyi.wgz.bo.req; | ||||
|  | ||||
| import com.ruoyi.common.bo.PageReq; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import lombok.experimental.Accessors; | ||||
|  | ||||
| import java.io.Serializable; | ||||
|  | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @Accessors(chain = true) | ||||
| @ApiModel("项目进行中请求对象") | ||||
| public class WgzAppUnderwayReq extends PageReq { | ||||
| } | ||||
| @ -0,0 +1,95 @@ | ||||
| package com.ruoyi.wgz.bo.res; | ||||
|  | ||||
| import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import lombok.experimental.Accessors; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.LocalTime; | ||||
| import java.util.List; | ||||
|  | ||||
|  | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @Accessors(chain = true) | ||||
| @ApiModel("已报名·项目详情返回对象") | ||||
| public class WgzAppCancelRegistrationProjectDetailsRes implements Serializable { | ||||
|  | ||||
| 	@ApiModelProperty("主键ID") | ||||
| 	private Long id; | ||||
|  | ||||
| 	@ApiModelProperty("项目ID") | ||||
| 	private Long projectId; | ||||
|  | ||||
| 	//============== | ||||
| 	@ApiModelProperty("封面图(多个逗号分隔)") | ||||
| 	private String coverPlan; | ||||
|  | ||||
| 	@ApiModelProperty("创建时间") | ||||
| 	private LocalDateTime createTime; | ||||
|  | ||||
| 	@ApiModelProperty("招工名称") | ||||
| 	private String recruitName; | ||||
|  | ||||
| 	@ApiModelProperty("招工金额") | ||||
| 	private BigDecimal recruitAmount; | ||||
|  | ||||
| 	@ApiModelProperty("招工数量") | ||||
| 	private Integer recruitStaffNum; | ||||
|  | ||||
| 	@ApiModelProperty("任务ID") | ||||
| 	private Long taskId; | ||||
|  | ||||
| 	@ApiModelProperty("任务名称") | ||||
| 	private String taskName; | ||||
|  | ||||
| 	@ApiModelProperty("任务地址") | ||||
| 	private String taskAddress; | ||||
|  | ||||
| 	@ApiModelProperty("招工描述") | ||||
| 	private String subDescribe; | ||||
|  | ||||
| 	@ApiModelProperty("招工开始时间") | ||||
| 	private String recruitBeginTime; | ||||
|  | ||||
| 	@ApiModelProperty("联系人") | ||||
| 	private String recruitContactPerson; | ||||
|  | ||||
| 	@ApiModelProperty("联系电话") | ||||
| 	private String recruitContactPhone; | ||||
|  | ||||
| 	@ApiModelProperty("备注") | ||||
| 	private String remark; | ||||
|  | ||||
| 	@ApiModelProperty("招工要求") | ||||
| 	private String recruitRequirement; | ||||
|  | ||||
| 	@ApiModelProperty("已报名数量") | ||||
| 	private Integer numberOfRegistered; | ||||
|  | ||||
| 	@ApiModelProperty("已报名务工者") | ||||
| 	private List<WgzAppCancelRegistrationProjectDetailsTwo> userList; | ||||
|  | ||||
| 	//--------- | ||||
| 	//--------- | ||||
| 	//--------- | ||||
| 	@ApiModelProperty("上班时间") | ||||
| 	private LocalTime beginWorkTime; | ||||
|  | ||||
| 	@ApiModelProperty("下班时间") | ||||
| 	private LocalTime endWorkTime; | ||||
|  | ||||
| 	@ApiModelProperty("标段ID") | ||||
| 	private Long sectionId; | ||||
|  | ||||
| 	@ApiModelProperty("分包ID") | ||||
| 	private Long subId; | ||||
|  | ||||
| 	@ApiModelProperty("招工地址") | ||||
| 	private String recruitAddress; | ||||
| } | ||||
| @ -0,0 +1,17 @@ | ||||
| package com.ruoyi.wgz.bo.res; | ||||
|  | ||||
| import com.ruoyi.common.bo.PageReq; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import lombok.experimental.Accessors; | ||||
|  | ||||
| import java.io.Serializable; | ||||
|  | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @Accessors(chain = true) | ||||
| @ApiModel("项目进行中返回对象") | ||||
| public class WgzAppDailyRecordRes implements Serializable { | ||||
|  | ||||
| } | ||||
| @ -89,32 +89,4 @@ public class WgzAppProjectDetailsRes implements Serializable { | ||||
| 	@ApiModelProperty("招工地址") | ||||
| 	private String recruitAddress; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 	@ApiModelProperty("创建者ID") | ||||
| 	private Long userId; | ||||
|  | ||||
| 	@ApiModelProperty("删除标志(0代表存在 2代表删除)") | ||||
| 	private String delFlag; | ||||
|  | ||||
| 	/** | ||||
| 	 * 更新者 | ||||
| 	 */ | ||||
| 	@Excel(name = "更新者") | ||||
| 	@ApiModelProperty("更新者") | ||||
| 	@TableField(fill = FieldFill.INSERT_UPDATE) | ||||
| 	private String updateBy; | ||||
|  | ||||
| 	/** | ||||
| 	 * 更新时间 | ||||
| 	 */ | ||||
| 	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") | ||||
| 	@ApiModelProperty("更新时间") | ||||
| 	@TableField(fill = FieldFill.INSERT_UPDATE) | ||||
| 	private LocalDateTime updateTime; | ||||
| } | ||||
|  | ||||
| @ -0,0 +1,60 @@ | ||||
| package com.ruoyi.wgz.bo.res; | ||||
|  | ||||
| import com.baomidou.mybatisplus.annotation.FieldFill; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.ruoyi.common.annotation.Excel; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import lombok.experimental.Accessors; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.LocalTime; | ||||
|  | ||||
|  | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @Accessors(chain = true) | ||||
| @ApiModel("已报名项目返回对象") | ||||
| public class WgzAppRegisteredProjectRes implements Serializable { | ||||
| 	@ApiModelProperty("主键ID") | ||||
| 	private Long id; | ||||
|  | ||||
| 	@ApiModelProperty("项目ID") | ||||
| 	private Long projectId; | ||||
|  | ||||
| 	@ApiModelProperty("招工名称") | ||||
| 	private String recruitName; | ||||
|  | ||||
| 	@ApiModelProperty("创建时间") | ||||
| 	private LocalDateTime createTime; | ||||
|  | ||||
| 	@ApiModelProperty("封面图(多个逗号分隔)") | ||||
| 	private String coverPlan; | ||||
|  | ||||
| 	@ApiModelProperty("招工数量") | ||||
| 	private Integer recruitStaffNum; | ||||
|  | ||||
| 	@ApiModelProperty("招工金额") | ||||
| 	private BigDecimal recruitAmount; | ||||
|  | ||||
| 	@ApiModelProperty("任务ID") | ||||
| 	private Long taskId; | ||||
|  | ||||
| 	@ApiModelProperty("任务名称") | ||||
| 	private String taskName; | ||||
|  | ||||
| 	@ApiModelProperty("任务地址") | ||||
| 	private String taskAddress; | ||||
|  | ||||
| 	@ApiModelProperty("招工要求") | ||||
| 	private String recruitRequirement; | ||||
|  | ||||
| 	@ApiModelProperty("已报名数量") | ||||
| 	private Integer numberOfRegistered; | ||||
|  | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,36 @@ | ||||
| package com.ruoyi.wgz.bo.rests; | ||||
|  | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import lombok.experimental.Accessors; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.LocalTime; | ||||
|  | ||||
|  | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @Accessors(chain = true) | ||||
| @ApiModel("已报名·项目详情返回对象") | ||||
| public class WgzAppCancelRegistrationProjectDetailsTwo implements Serializable { | ||||
|  | ||||
| 	@ApiModelProperty("务工者ID") | ||||
| 	private Long userId; | ||||
|  | ||||
| 	@ApiModelProperty("务工者名称") | ||||
| 	private String username; | ||||
|  | ||||
| 	@ApiModelProperty("务工者头像") | ||||
| 	private String avatar_name; | ||||
|  | ||||
| 	@ApiModelProperty("务工者评分") | ||||
| 	private Double score; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
| @ -1,6 +1,7 @@ | ||||
| package com.ruoyi.wgz.mapper; | ||||
|  | ||||
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||
| import com.ruoyi.wgz.bo.req.WgzAppDailyRecordReq; | ||||
| import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes; | ||||
| import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes; | ||||
| import com.ruoyi.wgz.domain.WgzDailyClock; | ||||
| @ -22,5 +23,5 @@ public interface WgzDailyClockMapper extends BaseMapperPlus<WgzDailyClock> { | ||||
| 	 * @param page 分页对象 | ||||
| 	 * @return 分页查询结果 | ||||
| 	 */ | ||||
| 	Page<WgzAppUserDailyRecordRes> userDailyRecordListPage(Page<WgzAppUserDailyRecordRes> page); | ||||
| 	Page<WgzAppUserDailyRecordRes> userDailyRecordListPage(Page<WgzAppDailyRecordReq> page); | ||||
| } | ||||
|  | ||||
| @ -2,6 +2,7 @@ package com.ruoyi.wgz.mapper; | ||||
|  | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||
| import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq; | ||||
| import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes; | ||||
| import com.ruoyi.wgz.domain.WgzLeave; | ||||
| import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; | ||||
| @ -23,6 +24,6 @@ public interface WgzLeaveMapper extends BaseMapperPlus<WgzLeave> { | ||||
|      * @param page 分页对象 | ||||
|      * @return 分页查询结果 | ||||
|      */ | ||||
|     Page<WgzAppLeaveHistoryListPageRes> userLeaveHistoryListPage(Page<WgzAppLeaveHistoryListPageRes> page); | ||||
|     Page<WgzAppLeaveHistoryListPageRes> userLeaveHistoryListPage(Page<WgzAppLeaveHistoryListPageReq> page); | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| package com.ruoyi.wgz.mapper; | ||||
|  | ||||
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||
| import com.ruoyi.wgz.bo.req.WgzAppReplacementCardRecordReq; | ||||
| import com.ruoyi.wgz.bo.res.WgzReplacementCardRecordRes; | ||||
| import com.ruoyi.wgz.domain.WgzReissueacard; | ||||
| import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; | ||||
| @ -21,5 +22,5 @@ public interface WgzReissueacardMapper extends BaseMapperPlus<WgzReissueacard> { | ||||
| 	 * @param page 分页对象 | ||||
| 	 * @return 分页查询结果 | ||||
| 	 */ | ||||
| 	Page<WgzReplacementCardRecordRes> userReplacementCardRecordListPage(Page<WgzReplacementCardRecordRes> page); | ||||
| 	Page<WgzReplacementCardRecordRes> userReplacementCardRecordListPage(Page<WgzAppReplacementCardRecordReq> page); | ||||
| } | ||||
|  | ||||
| @ -153,7 +153,7 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe | ||||
|  | ||||
|     @Override | ||||
|     public TableDataInfo<WgzAppUserDailyRecordRes> userDailyRecord(WgzAppDailyRecordReq req) { | ||||
|         Page<WgzAppUserDailyRecordRes> pe = new Page<>(); | ||||
|         Page<WgzAppDailyRecordReq> pe = new Page<>(); | ||||
|         pe.setCurrent(req.getPageNum()); | ||||
|         pe.setSize(req.getPageSize()); | ||||
|         return PageUtils.buildDataInfo(baseMapper.userDailyRecordListPage(pe)); | ||||
|  | ||||
| @ -148,7 +148,7 @@ public class WgzLeaveServiceImpl extends ServicePlusImpl<WgzLeaveMapper, WgzLeav | ||||
|  | ||||
| 	@Override | ||||
| 	public TableDataInfo<WgzAppLeaveHistoryListPageRes> userLeaveHistoryListPage(WgzAppLeaveHistoryListPageReq req) { | ||||
| 		Page<WgzAppLeaveHistoryListPageRes> queryDTOPage = new Page<>(); | ||||
| 		Page<WgzAppLeaveHistoryListPageReq> queryDTOPage = new Page<>(); | ||||
| 		queryDTOPage.setCurrent(req.getPageNum()); | ||||
| 		queryDTOPage.setSize(req.getPageSize()); | ||||
| 		return PageUtils.buildDataInfo(baseMapper.userLeaveHistoryListPage(queryDTOPage)); | ||||
|  | ||||
| @ -163,7 +163,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM | ||||
|  | ||||
| 	@Override | ||||
| 	public TableDataInfo<WgzReplacementCardRecordRes> userReplacementCardRecord(WgzAppReplacementCardRecordReq req) { | ||||
| 		Page<WgzReplacementCardRecordRes> queryDTOPage = new Page<>(); | ||||
| 		Page<WgzAppReplacementCardRecordReq> queryDTOPage = new Page<>(); | ||||
| 		queryDTOPage.setCurrent(req.getPageNum()); | ||||
| 		queryDTOPage.setSize(req.getPageSize()); | ||||
| 		return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage)); | ||||
|  | ||||
| @ -54,4 +54,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|             a.id = #{id} AND a.del_flag = 0 | ||||
|     </select> | ||||
|  | ||||
|     <select id="userRegisteredProject" resultType="com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes"> | ||||
|         SELECT | ||||
|             a.*, | ||||
|             b.task_name, | ||||
|             b.task_address, | ||||
|             b.task_img, | ||||
|             (SELECT count(1) FROM bgt_project_recruit_apply WHERE recruit_id = a.id) as numberOfRegistered | ||||
|         FROM | ||||
|             bgt_project_recruit as a | ||||
|                 LEFT JOIN fbs_project_task as b ON (a.task_id = b.id AND b.del_flag = 0) | ||||
|         WHERE | ||||
|             a.id = #{id} AND a.del_flag = 0 | ||||
|     </select> | ||||
|  | ||||
|     <select id="GetsTheMembersUnderTheCurrentProject" resultType="com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo"> | ||||
|         SELECT | ||||
|             a.user_id, | ||||
|             b.username, | ||||
|             b.avatar_name, | ||||
|             b.score | ||||
|         FROM | ||||
|             bgt_project_recruit_apply as a | ||||
|                 LEFT JOIN wgz_user as b ON (a.user_id = b.user_id AND b.del_flag = 0) | ||||
|         WHERE | ||||
|             a.id = #{recruitId} AND a.del_flag = 0 | ||||
|     </select> | ||||
|  | ||||
| </mapper> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user