diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java index 7689708..09663f9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java @@ -117,15 +117,7 @@ public class WgzAppController { // //@PreAuthorize("@ss.hasPermi('wgzApp:user:userJobListing')") @GetMapping("/WgzUserJobListing") public TableDataInfo userJobListing(@Validated WgzAppJobListingReq req) { - TableDataInfo wgzAppJobListingRes = new TableDataInfo<>(); - //1、请求转换 - BgtProjectRecruitQueryDTO dto = new BgtProjectRecruitQueryDTO(); - BeanUtils.copyProperties(req,dto); - //2、查询招工列表信息 - TableDataInfo 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 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 userApplyForRegistration(@NotNull(message = "主键不能为空") @PathVariable("id") Long id) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java index 5a9ec6e..66da2eb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java @@ -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 GetsTheMembersUnderTheCurrentProject (@Param("recruitId") Long recruitId); + TableDataInfo userJobListing(@Param("page") Page page); + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java index 5cf25b0..9c48e52 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java @@ -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 userJobListing(@Validated WgzAppJobListingReq req); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java index d4f8ca3..b12e102 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java @@ -205,6 +205,15 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl(). + 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 ServicePlusImpl0; + if(baseMapper.updateById(bgtProjectRecruitApply) >0){ + Long appUserId = SecurityUtils.getAppUserId(); + BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId); + BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(by.getUserId()); + Map 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 userJobListing(WgzAppJobListingReq req) { + Page pe = new Page<>(); + pe.setCurrent(req.getPageNum()); + pe.setSize(req.getPageSize()); + return baseMapper.userJobListing(pe); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/constants/WgzAndBgtMessageConstant.java b/ruoyi-system/src/main/java/com/ruoyi/common/constants/WgzAndBgtMessageConstant.java index ee8ce61..0966705 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/constants/WgzAndBgtMessageConstant.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/constants/WgzAndBgtMessageConstant.java @@ -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 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 "未知类型"; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppDailyClockReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppDailyClockReq.java new file mode 100644 index 0000000..856ed19 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppDailyClockReq.java @@ -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; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppGetMessageListReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppGetMessageListReq.java index 6e43fc6..c93960b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppGetMessageListReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppGetMessageListReq.java @@ -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系统)") diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppJobListingReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppJobListingReq.java index f9c2c9d..c06a5b7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppJobListingReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppJobListingReq.java @@ -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 { } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUnderwayReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUnderwayReq.java index 23ac92c..6353711 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUnderwayReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUnderwayReq.java @@ -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; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppJobListingRes.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppJobListingRes.java index c21296b..818fb6b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppJobListingRes.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppJobListingRes.java @@ -46,8 +46,9 @@ public class WgzAppJobListingRes implements Serializable { @ApiModelProperty("工种") private String typeOfWork; - @ApiModelProperty("申请者列表") - List applylist; + @ApiModelProperty("申请者数量") + private Integer numberOfRegistered; + diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java index b06b9b4..b5657d1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java @@ -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 { */ WgzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppDailyCalendarReq req); + /** + * 日报打卡 + */ + Boolean userDailyClock(WgzAppDailyClockReq req); + /** * 日报日历·日报记录(历史记录分页查询) */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java index d48aeef..40e43a8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java @@ -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 0; + } + + @Override public TableDataInfo userDailyRecord(WgzAppDailyRecordReq req) { Page pe = new Page<>(); pe.setCurrent(req.getPageNum()); diff --git a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml index 4709a57..ba91b5d 100644 --- a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml @@ -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) - a.user_id = #{dto.userId} AND + a.user_id = #{page.userId} AND diff --git a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml index acb6343..b8e03d0 100644 --- a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml @@ -87,4 +87,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.id = #{recruitId} AND a.del_flag = 0 + + +