修改:招工列表、申请报名
This commit is contained in:
@ -117,15 +117,7 @@ public class WgzAppController {
|
||||
// //@PreAuthorize("@ss.hasPermi('wgzApp:user:userJobListing')")
|
||||
@GetMapping("/WgzUserJobListing")
|
||||
public TableDataInfo<WgzAppJobListingRes> userJobListing(@Validated WgzAppJobListingReq req) {
|
||||
TableDataInfo<WgzAppJobListingRes> wgzAppJobListingRes = new TableDataInfo<>();
|
||||
//1、请求转换
|
||||
BgtProjectRecruitQueryDTO dto = new BgtProjectRecruitQueryDTO();
|
||||
BeanUtils.copyProperties(req,dto);
|
||||
//2、查询招工列表信息
|
||||
TableDataInfo<BgtProjectRecruitVO> info = iBgtProjectRecruitService.appQueryPageList(dto);
|
||||
//3、将招工信息转换
|
||||
BeanUtils.copyProperties(info,wgzAppJobListingRes);
|
||||
return wgzAppJobListingRes;
|
||||
return iBgtProjectRecruitService.userJobListing(req);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -238,6 +230,17 @@ public class WgzAppController {
|
||||
return AjaxResult.success(wfzUserDailyCalendarRes);
|
||||
}
|
||||
|
||||
/**
|
||||
* 【日报】日报打卡
|
||||
*/
|
||||
@ApiOperation("【日报】日报打卡")
|
||||
//@PreAuthorize("@ss.hasPermi('wgzApp:user:userDailyClock')")
|
||||
@GetMapping("/WgzUserDailyClock")
|
||||
public AjaxResult<Boolean> userDailyClock(@Validated WgzAppDailyClockReq req) {
|
||||
return AjaxResult.success(iWgzDailyClockService.userDailyClock(req));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 【日报】日报日历·日报记录
|
||||
*/
|
||||
@ -329,9 +332,9 @@ public class WgzAppController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 【首页】【项目详情】 项目详情·申请报名(还未校验工种是否匹配工地岗位)
|
||||
* 【首页】【招工列表】【项目详情】 项目详情·申请报名(还未校验工种是否匹配工地岗位)
|
||||
*/
|
||||
@ApiOperation("【首页】【项目详情】 项目详情·申请报名)")
|
||||
@ApiOperation("【首页】【招工列表】【项目详情】 项目详情·申请报名)")
|
||||
//@PreAuthorize("@ss.hasPermi('wgzApp:user:userApplyForRegistration')")
|
||||
@GetMapping("/WgzAppUserApplyForRegistration/{id}")
|
||||
public AjaxResult<Boolean> userApplyForRegistration(@NotNull(message = "主键不能为空") @PathVariable("id") Long id) {
|
||||
|
@ -6,7 +6,9 @@ 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.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppGetMessageListReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppJobListingReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppUnderwayReq;
|
||||
import com.ruoyi.wgz.bo.res.*;
|
||||
@ -37,4 +39,7 @@ public interface BgtProjectRecruitMapper extends BaseMapperPlus<BgtProjectRecrui
|
||||
List<WgzAppCancelRegistrationProjectDetailsTwo> GetsTheMembersUnderTheCurrentProject (@Param("recruitId") Long recruitId);
|
||||
|
||||
|
||||
TableDataInfo<WgzAppJobListingRes> userJobListing(@Param("page") Page<WgzAppJobListingReq> page);
|
||||
|
||||
|
||||
}
|
||||
|
@ -7,8 +7,10 @@ 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.WgzAppJobListingReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppJobListingRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -103,4 +105,9 @@ public interface IBgtProjectRecruitService extends IServicePlus<BgtProjectRecrui
|
||||
*/
|
||||
WgzAppCancelRegistrationProjectDetailsRes userCancelRegistrationProjectDetails(Long recruitId);
|
||||
|
||||
/**
|
||||
* 招工列表
|
||||
*/
|
||||
TableDataInfo<WgzAppJobListingRes> userJobListing(@Validated WgzAppJobListingReq req);
|
||||
|
||||
}
|
||||
|
@ -205,6 +205,15 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
if (!Objects.equals(appById.getTypeOfWork(), byId.getTypeOfWork())){
|
||||
throw new RuntimeException("工种不匹配!");
|
||||
}
|
||||
//4、判断当前用户是否已经申请过了,如果已经申请过了,就不能再次申请了
|
||||
Integer integer = baseMapper.selectCount(
|
||||
new LambdaQueryWrapper<BgtProjectRecruitApply>().
|
||||
eq(BgtProjectRecruitApply::getUserId, appUserId).
|
||||
eq(BgtProjectRecruitApply::getRecruitId, id)
|
||||
);
|
||||
if (integer>0){
|
||||
throw new RuntimeException("已申请过了!不可再次申请!");
|
||||
}
|
||||
//3、插入数据
|
||||
BgtProjectRecruitApply bgtProjectRecruitApply = new BgtProjectRecruitApply();
|
||||
bgtProjectRecruitApply.setRecruitId(id);
|
||||
@ -277,13 +286,36 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
wgzUserService.lambdaUpdate().set(WgzUser::getScore, newScore).eq(WgzUser::getUserId, dto.getUserId()).update();
|
||||
return insert;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Boolean userCancelRegistration(Long recruitApplyId) {
|
||||
BgtProjectRecruitApply bgtProjectRecruitApply = new BgtProjectRecruitApply();
|
||||
bgtProjectRecruitApply.setId(recruitApplyId);
|
||||
bgtProjectRecruitApply.setStatus("7");
|
||||
return baseMapper.updateById(bgtProjectRecruitApply) >0;
|
||||
if(baseMapper.updateById(bgtProjectRecruitApply) >0){
|
||||
Long appUserId = SecurityUtils.getAppUserId();
|
||||
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
|
||||
BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(by.getUserId());
|
||||
Map<String, String> mp = new HashMap<>();
|
||||
mp.put("projectName",appById.getRecruitName());
|
||||
//发送取消报名的系统消息
|
||||
WgzMessage wgzMessage = new WgzMessage().
|
||||
setSenderType(USERTYPE_SYSTEM).
|
||||
setRecipientType(USERTYPE_WGZ).
|
||||
setRecipientId(appUserId).
|
||||
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"1")).
|
||||
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"2")).
|
||||
setTableId(bgtProjectRecruitApply.getId()).
|
||||
setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()).
|
||||
setMessageLargeType(LARGE_OTHER).
|
||||
setMessageSmallType(SMALL_SYSTEM);
|
||||
if (!iWgzMessageService.sendAMessage(wgzMessage)){
|
||||
throw new RuntimeException("系统消息发送失败!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -299,6 +331,7 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
@Override
|
||||
public Boolean userConfirmRegistration(WgzAppConfirmRegistrationReq req) {
|
||||
BgtProjectRecruitApply apply = new BgtProjectRecruitApply().setId(req.getRecruitApplyId()).setStatus(req.getStatus());
|
||||
//发送取消或拒绝的消息给包工头、系统
|
||||
return this.updateById(apply);
|
||||
}
|
||||
|
||||
|
@ -21,8 +21,11 @@ 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.WgzAppDailyRecordReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppJobListingReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppJobListingRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
||||
import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo;
|
||||
@ -186,4 +189,12 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<WgzAppJobListingRes> userJobListing(WgzAppJobListingReq req) {
|
||||
Page<WgzAppJobListingReq> pe = new Page<>();
|
||||
pe.setCurrent(req.getPageNum());
|
||||
pe.setSize(req.getPageSize());
|
||||
return baseMapper.userJobListing(pe);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -25,6 +25,8 @@ public class WgzAndBgtMessageConstant {
|
||||
//【报名】系统给务工者提示
|
||||
public static final String WGZ_SYSTEM_HEADLINE_APPLY = "您已申请【%s】项目!";
|
||||
public static final String WGZ_SYSTEM_SUBHEADING_APPLY = "您已成功申请到【%s】项目,请耐心等待回复!";
|
||||
public static final String WGZ_SYSTEM_HEADLINE_APPLY_CANCEL = "您已申请取消【%s】项目!";
|
||||
public static final String WGZ_SYSTEM_SUBHEADING_APPLY_CANCEL = "您已成功取消【%s】项目,祝您早日找到心仪的工作!";
|
||||
//【报名】务工者给包工头提示
|
||||
public static final String WGZ_HEADLINE_APPLY = "务工者【%s】正在向你申请【%s】的岗位!";
|
||||
public static final String WGZ__SUBHEADING_APPLY = "务工者【%s】正在向你申请【%s】岗位,您可点击查看更多信息!";
|
||||
@ -32,14 +34,21 @@ public class WgzAndBgtMessageConstant {
|
||||
//务工者消息返回
|
||||
public static String wgzMessage(Map<String, String> mp, String type) {
|
||||
switch (type){
|
||||
//系统申请报名提示
|
||||
case "1":
|
||||
return String.format(WGZ_SYSTEM_HEADLINE_APPLY, mp.get("projectName"));
|
||||
case "2":
|
||||
return String.format(WGZ_SYSTEM_SUBHEADING_APPLY, mp.get("projectName"));
|
||||
//务工者向包工头申请报名提示
|
||||
case "3":
|
||||
return String.format(WGZ_HEADLINE_APPLY, mp.get("userName"), mp.get("post"));
|
||||
case "4":
|
||||
return String.format(WGZ__SUBHEADING_APPLY, mp.get("userName"),mp.get("post"));
|
||||
//系统取消报名提示
|
||||
case "5":
|
||||
return String.format(WGZ_SYSTEM_HEADLINE_APPLY_CANCEL, mp.get("projectName"));
|
||||
case "6":
|
||||
return String.format(WGZ_SYSTEM_SUBHEADING_APPLY_CANCEL, mp.get("projectName"));
|
||||
default:
|
||||
return "未知类型";
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
package com.ruoyi.wgz.bo.req;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
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.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("日报打卡请求对象")
|
||||
public class WgzAppDailyClockReq implements Serializable {
|
||||
|
||||
@ApiModelProperty("今日完成工作")
|
||||
private String finishToday;
|
||||
|
||||
@ApiModelProperty("未完成工作")
|
||||
private String unfinished;
|
||||
|
||||
@ApiModelProperty("明日工作")
|
||||
private String workTomorrow;
|
||||
|
||||
@ApiModelProperty("协调与帮助")
|
||||
private String coordinate;
|
||||
|
||||
@ApiModelProperty("附件,多个逗号分隔")
|
||||
private String attachment;
|
||||
|
||||
@ApiModelProperty("日报位置")
|
||||
private String pnchOsition;
|
||||
|
||||
}
|
@ -14,12 +14,10 @@ import lombok.experimental.Accessors;
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("获取消息列表请求参数")
|
||||
public class WgzAppGetMessageListReq extends PageReq {
|
||||
@ApiModelProperty("接收人")
|
||||
@Hidden
|
||||
@ApiModelProperty(value = "接收人",hidden = true)
|
||||
private Long recipientId;
|
||||
|
||||
@ApiModelProperty("0 全部 1报名 2工资 3其他")
|
||||
@Hidden
|
||||
private String largeType;
|
||||
|
||||
@ApiModelProperty("largeType为3填写 (0补卡 1系统)")
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.ruoyi.wgz.bo.req;
|
||||
|
||||
import com.ruoyi.common.bo.PageReq;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@ -10,17 +11,5 @@ import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("首页-招工列表请求对象")
|
||||
public class WgzAppJobListingReq implements Serializable {
|
||||
/** 分页大小 */
|
||||
@ApiModelProperty("分页大小")
|
||||
private Integer pageSize;
|
||||
/** 当前页数 */
|
||||
@ApiModelProperty("当前页数")
|
||||
private Integer pageNum;
|
||||
|
||||
@ApiModelProperty("创建者Id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("招工名称")
|
||||
private String recruitName;
|
||||
public class WgzAppJobListingReq extends PageReq {
|
||||
}
|
||||
|
@ -17,11 +17,10 @@ import java.time.LocalDateTime;
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("项目进行中请求对象")
|
||||
public class WgzAppUnderwayReq extends PageReq {
|
||||
@ApiModelProperty("招工ID")
|
||||
@ApiModelProperty("1进行中 2已完成")
|
||||
private String type;
|
||||
|
||||
|
||||
@ApiModelProperty("务工者唯一标识")
|
||||
@Hidden
|
||||
@ApiModelProperty(value = "务工者唯一标识",hidden = true)
|
||||
private Long userId;
|
||||
}
|
||||
|
@ -46,8 +46,9 @@ public class WgzAppJobListingRes implements Serializable {
|
||||
@ApiModelProperty("工种")
|
||||
private String typeOfWork;
|
||||
|
||||
@ApiModelProperty("申请者列表")
|
||||
List<BgtProjectRecruitApplyVO> applylist;
|
||||
@ApiModelProperty("申请者数量")
|
||||
private Integer numberOfRegistered;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -8,6 +8,7 @@ import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppDailyCalendarReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppDailyClockReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppDailyRecordReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
|
||||
@ -74,6 +75,11 @@ public interface IWgzDailyClockService extends IServicePlus<WgzDailyClock> {
|
||||
*/
|
||||
WgzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppDailyCalendarReq req);
|
||||
|
||||
/**
|
||||
* 日报打卡
|
||||
*/
|
||||
Boolean userDailyClock(WgzAppDailyClockReq req);
|
||||
|
||||
/**
|
||||
* 日报日历·日报记录(历史记录分页查询)
|
||||
*/
|
||||
|
@ -7,10 +7,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||
import com.ruoyi.bgt.domain.dto.BgtDailyClockListDTO;
|
||||
import com.ruoyi.bgt.domain.dto.BgtDailyClockUpdateDTO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtDailyClockDetailVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtDailyClockListVO;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
|
||||
import com.ruoyi.bgt.service.IBgtUserService;
|
||||
import com.ruoyi.common.core.domain.entity.BgtUser;
|
||||
@ -20,6 +22,7 @@ import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppDailyCalendarReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppDailyClockReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppDailyRecordReq;
|
||||
import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes;
|
||||
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
|
||||
@ -28,6 +31,7 @@ import com.ruoyi.wgz.domain.WgzDailyClock;
|
||||
import com.ruoyi.wgz.mapper.WgzDailyClockMapper;
|
||||
import com.ruoyi.wgz.service.IWgzDailyClockService;
|
||||
import com.ruoyi.wgz.service.IWgzLeaveService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -53,6 +57,12 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
|
||||
@Autowired
|
||||
private IBgtProjectRecruitService recruitService;
|
||||
|
||||
@Autowired
|
||||
private IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
|
||||
|
||||
@Autowired
|
||||
private IBgtProjectRecruitService iBgtProjectRecruitService;
|
||||
|
||||
@Override
|
||||
public WgzDailyClock queryById(Long id){
|
||||
return getById(id);
|
||||
@ -167,6 +177,22 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
|
||||
return new WgzUserDailyCalendarRes().setDailyCalendar(fh);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean userDailyClock(WgzAppDailyClockReq req) {
|
||||
//1、获取当前人、当前工的上下班时间范围
|
||||
Long appUserId = SecurityUtils.getAppUserId();
|
||||
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
|
||||
BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(by.getId());
|
||||
//1、组装数据
|
||||
WgzDailyClock dc = new WgzDailyClock();
|
||||
BeanUtils.copyProperties(req,dc);
|
||||
dc.setRecruitId(appUserId);
|
||||
dc.setUserId(appUserId);
|
||||
dc.setDilyTime(LocalDateTime.now());
|
||||
dc.setAuditorUserId(appById.getUserId());
|
||||
return baseMapper.insert(dc) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<WgzAppUserDailyRecordRes> userDailyRecord(WgzAppDailyRecordReq req) {
|
||||
Page<WgzAppDailyRecordReq> pe = new Page<>();
|
||||
|
@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
LEFT JOIN fbs_project_task as c ON (b.task_id = c.id AND c.del_flag = 0)
|
||||
<where>
|
||||
<if test="page.userId!=null and dto.userId!=0 ">
|
||||
a.user_id = #{dto.userId} AND
|
||||
a.user_id = #{page.userId} AND
|
||||
</if>
|
||||
<choose>
|
||||
<when test="page.type!=null and page.type!='' and page.type=='1'">
|
||||
|
@ -87,4 +87,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
a.id = #{recruitId} AND a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="userJobListing" resultType="com.ruoyi.wgz.bo.res.WgzAppJobListingRes">
|
||||
SELECT
|
||||
b.*,
|
||||
c.task_name,
|
||||
c.task_address,
|
||||
c.task_img,
|
||||
(SELECT count(1) FROM bgt_project_recruit_apply WHERE recruit_id = a.id) as numberOfRegistered
|
||||
FROM
|
||||
bgt_project_recruit as b
|
||||
LEFT JOIN fbs_project_task as c ON (c.id = b.task_id AND c.del_flag = 0)
|
||||
WHERE
|
||||
b.del_flag = 0
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user