From 032d28a049a71c0df3d2108161ff5d470d231cb1 Mon Sep 17 00:00:00 2001 From: liuxiao <1732399289qq.com> Date: Thu, 18 Jul 2024 13:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=9B=E8=81=98=E3=80=81=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GwJobInfoController.java | 11 ++-- .../com/ruoyi/official/domain/GwIndex.java | 7 ++- .../com/ruoyi/official/domain/GwJobInfo.java | 9 +++- .../ruoyi/official/domain/bo/GwIndexBo.java | 24 +++++---- .../ruoyi/official/domain/bo/GwJobInfoBo.java | 15 ++++-- .../ruoyi/official/domain/vo/GwIndexVo.java | 9 +++- .../ruoyi/official/domain/vo/GwJobInfoVo.java | 5 ++ .../official/mapper/GwJobInfoMapper.java | 5 ++ .../service/impl/GwJobInfoServiceImpl.java | 54 ++++++++++++++++++- .../service/impl/GwSlideshowServiceImpl.java | 9 +--- 10 files changed, 116 insertions(+), 32 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/controller/GwJobInfoController.java b/ruoyi-system/src/main/java/com/ruoyi/official/controller/GwJobInfoController.java index 460f1f6..bd810fa 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/controller/GwJobInfoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/controller/GwJobInfoController.java @@ -41,18 +41,16 @@ public class GwJobInfoController extends BaseController { private final IGwJobInfoService iGwJobInfoService; /** - * 查询招聘信息 -列表 + * 查询招聘信息列表 */ - @SaCheckPermission("official:jobInfo:list") + /* @SaCheckPermission("official:jobInfo:list")*/ @GetMapping("/list") public TableDataInfo list(GwJobInfoBo bo, PageQuery pageQuery) { return iGwJobInfoService.queryPageList(bo, pageQuery); } /** - * 导出招聘信息 -列表 + * 导出招聘信息列表 */ @SaCheckPermission("official:jobInfo:export") @Log(title = "招聘信息", businessType = BusinessType.EXPORT) @@ -63,8 +61,7 @@ public class GwJobInfoController extends BaseController { } /** - * 获取招聘信息 -详细信息 + * 获取招聘信息详细信息 * * @param id 主键 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwIndex.java b/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwIndex.java index 6639401..fc6e61d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwIndex.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwIndex.java @@ -37,7 +37,7 @@ public class GwIndex extends BaseEntity { */ private String fileType; /** - * 业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 + * 业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 */ private String businessType; /** @@ -48,6 +48,11 @@ public class GwIndex extends BaseEntity { * 图片标题英文描述 */ private String titleEnglish; + + /** + * 排序 + */ + private String orders; /** * 图片标题中文描述 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwJobInfo.java b/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwJobInfo.java index 6bceed3..9876494 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwJobInfo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/domain/GwJobInfo.java @@ -39,8 +39,7 @@ public class GwJobInfo extends BaseEntity { /** * 薪资范围 */ - private String - salaryRange; + private String salaryRange; /** * 工作地点 */ @@ -53,6 +52,12 @@ public class GwJobInfo extends BaseEntity { * 年龄范围 */ private String ageRange; + + + /** + * 福利 + */ + private String welfare; /** * 发布时间 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwIndexBo.java b/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwIndexBo.java index a03a66b..18220fb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwIndexBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwIndexBo.java @@ -25,13 +25,13 @@ public class GwIndexBo extends BaseEntity { /** * 主键id */ - @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) + private Long id; /** * 图片上传地址 */ - @NotBlank(message = "图片上传地址不能为空", groups = { AddGroup.class, EditGroup.class }) + private String imageurl; /** @@ -42,33 +42,39 @@ public class GwIndexBo extends BaseEntity { /** * 业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 */ - @NotBlank(message = "业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 不能为空", groups = { AddGroup.class, EditGroup.class }) + private String businessType; /** * 业务名称 */ - @NotBlank(message = "业务名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String businessName; /** * 图片标题英文描述 */ - @NotBlank(message = "图片标题英文描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String titleEnglish; /** * 图片标题中文描述 */ - @NotBlank(message = "图片标题中文描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String titleChinese; /** * 是否置顶 0:否 1:是 */ - @NotBlank(message = "是否置顶 0:否 1:是不能为空", groups = { AddGroup.class, EditGroup.class }) + private String isIndex; + /** + * 排序 + */ + + private String orders; + /** * 标题名称 */ @@ -78,13 +84,13 @@ public class GwIndexBo extends BaseEntity { /** * 创建者id */ - @NotNull(message = "创建者id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long createUserId; /** * 更新者id */ - @NotNull(message = "更新者id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long updateUserId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwJobInfoBo.java b/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwJobInfoBo.java index 4655a38..b75ddb5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwJobInfoBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/domain/bo/GwJobInfoBo.java @@ -1,5 +1,6 @@ package com.ruoyi.official.domain.bo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import lombok.Data; @@ -9,6 +10,7 @@ import javax.validation.constraints.*; import java.util.Date; import com.ruoyi.common.core.domain.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; /** * 招聘信息 @@ -25,7 +27,7 @@ public class GwJobInfoBo extends BaseEntity { /** * 主键id */ - @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) + private Long id; /** @@ -68,7 +70,8 @@ public class GwJobInfoBo extends BaseEntity { /** * 发布时间 */ - @NotNull(message = "发布时间不能为空", groups = { AddGroup.class, EditGroup.class }) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date releaseTime; /** @@ -77,6 +80,12 @@ public class GwJobInfoBo extends BaseEntity { @NotBlank(message = "是否置顶 0:否 1:是不能为空", groups = { AddGroup.class, EditGroup.class }) private String isTop; + + /** + * 福利 + */ + private String welfare; + /** * 岗位职责 */ @@ -98,13 +107,11 @@ public class GwJobInfoBo extends BaseEntity { /** * 创建者id */ - @NotNull(message = "创建者id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long createUserId; /** * 更新者id */ - @NotNull(message = "更新者id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long updateUserId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwIndexVo.java b/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwIndexVo.java index 7c8bc6a..b0f79d9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwIndexVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwIndexVo.java @@ -41,11 +41,18 @@ public class GwIndexVo { private String fileType; /** - * 业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 + * 业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 */ @ExcelProperty(value = "业务类型 0:石油化工业务 1:基建业务 2:铁矿石业务 3:燃气业务 ") private String businessType; + + /** + * 排序 + */ + + private String orders; + /** * 业务名称 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwJobInfoVo.java b/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwJobInfoVo.java index 7daa2a2..73b225b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwJobInfoVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/domain/vo/GwJobInfoVo.java @@ -40,6 +40,11 @@ public class GwJobInfoVo { @ExcelProperty(value = "岗位职责") private String postStatement; + /** + * 福利 + */ + private String welfare; + /** * 薪资范围 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/mapper/GwJobInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/official/mapper/GwJobInfoMapper.java index 16583ac..91ba6fd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/mapper/GwJobInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/mapper/GwJobInfoMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.official.mapper; import com.ruoyi.official.domain.GwJobInfo; import com.ruoyi.official.domain.vo.GwJobInfoVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Update; /** * 招聘信息 @@ -13,4 +14,8 @@ Mapper接口 */ public interface GwJobInfoMapper extends BaseMapperPlus { + // + @Update("UPDATE gw_job_info SET release_time = #{releaseTime} WHERE id = #{id}") + void updateReleaseTime(GwJobInfo gwJobInfo); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwJobInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwJobInfoServiceImpl.java index 78a8da3..e42c02b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwJobInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwJobInfoServiceImpl.java @@ -1,12 +1,18 @@ package com.ruoyi.official.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.official.domain.GwSlideshow; +import com.ruoyi.official.domain.vo.GwSlideshowVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.ruoyi.official.domain.bo.GwJobInfoBo; @@ -15,9 +21,11 @@ import com.ruoyi.official.domain.GwJobInfo; import com.ruoyi.official.mapper.GwJobInfoMapper; import com.ruoyi.official.service.IGwJobInfoService; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.stream.Collectors; /** * 招聘信息Service业务层处理 @@ -48,9 +56,19 @@ public class GwJobInfoServiceImpl implements IGwJobInfoService { public TableDataInfo queryPageList(GwJobInfoBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + //取置顶数据放在首条 + if (CollUtil.isNotEmpty(result.getRecords())){ + List records = result.getRecords(); + List fist = records.stream().filter(itx -> itx.getIsTop().equals("1")).collect(Collectors.toList()); + fist.addAll(records.stream().filter(itx->!itx.getIsTop().equals("1")).collect(Collectors.toList())); + result.setRecords(fist); + } return TableDataInfo.build(result); + } + + /** * 查询招聘信息 列表 @@ -77,6 +95,8 @@ public class GwJobInfoServiceImpl implements IGwJobInfoService { lqw.eq(StringUtils.isNotBlank(bo.getReleaseState()), GwJobInfo::getReleaseState, bo.getReleaseState()); lqw.eq(bo.getCreateUserId() != null, GwJobInfo::getCreateUserId, bo.getCreateUserId()); lqw.eq(bo.getUpdateUserId() != null, GwJobInfo::getUpdateUserId, bo.getUpdateUserId()); + lqw.orderByDesc(GwJobInfo::getIsTop); + lqw.orderByDesc(GwJobInfo::getReleaseTime); return lqw; } @@ -102,7 +122,16 @@ public class GwJobInfoServiceImpl implements IGwJobInfoService { @Override public Boolean updateByBo(GwJobInfoBo bo) { GwJobInfo update = BeanUtil.toBean(bo, GwJobInfo.class); - validEntityBeforeSave(update); + GwJobInfoVo gwJobInfoVo = baseMapper.selectVoById(bo.getId()); + //判断之前是否为发布状态 + if (ObjectUtil.equal(update.getReleaseState(),"0")){ + update.setReleaseTime(null); + baseMapper.updateReleaseTime(update); + }; + //判断之前是否为发布状态 + if (ObjectUtil.equal(update.getReleaseState(),"1")&&ObjectUtil.equal(gwJobInfoVo.getReleaseState(),"0"))update.setReleaseTime(new Date()); + //置顶校验 + validIsTop(BeanUtil.toBean(bo,GwJobInfo.class)); return baseMapper.updateById(update) > 0; } @@ -111,6 +140,29 @@ public class GwJobInfoServiceImpl implements IGwJobInfoService { */ private void validEntityBeforeSave(GwJobInfo entity){ //TODO 做一些数据校验,如唯一约束 + //发布时间校验 + if(ObjectUtil.equal(entity.getReleaseState(),"1")){ + entity.setReleaseTime(new Date()); + } + validIsTop(entity); + + } + + /** + * 置顶校验 + */ + private void validIsTop(GwJobInfo entity) { + if (!ObjectUtil.equal(entity.getIsTop(),"1")) return; + //存在想置顶得数据,将原来得数据修改为非置顶 + List vos = baseMapper.selectVoList(Wrappers.lambdaQuery().eq(GwJobInfo::getIsTop, "1")); + if ( CollUtil.isEmpty(vos)) return; + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + + vos.stream().forEach(ixt->{ + // updateWrapper.("id", list).set("is_top", "0"); + updateWrapper.eq("id",ixt.getId()).set("is_top", "0"); + baseMapper.update(BeanUtil.toBean(ixt,GwJobInfo.class),updateWrapper); + }); } /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwSlideshowServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwSlideshowServiceImpl.java index 557a775..02d5d3f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwSlideshowServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/official/service/impl/GwSlideshowServiceImpl.java @@ -43,7 +43,7 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService { public GwSlideshowVo queryById(Long id) { GwSlideshowVo gwSlideshowVo = baseMapper.selectVoById(id); //查询详情时返回上一篇,下一篇处理 - List list = baseMapper.selectList(Wrappers.lambdaQuery().orderByDesc(GwSlideshow::getCreateTime)); + List list = baseMapper.selectList(Wrappers.lambdaQuery().eq(GwSlideshow::getType,gwSlideshowVo.getType()).orderByDesc(GwSlideshow::getCreateTime)); getPrevNextArticles(id, gwSlideshowVo, list); return gwSlideshowVo; } @@ -70,12 +70,6 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService { public TableDataInfo queryPageList(GwSlideshowBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - if (CollUtil.isNotEmpty(result.getRecords())){ - List records = result.getRecords(); - List fist = records.stream().filter(itx -> itx.getIsTop().equals("1")).collect(Collectors.toList()); - fist.addAll(records.stream().filter(itx->!itx.getIsTop().equals("1")).collect(Collectors.toList())); - result.setRecords(fist); - } return TableDataInfo.build(result); } @@ -99,6 +93,7 @@ public class GwSlideshowServiceImpl implements IGwSlideshowService { lqw.eq(StringUtils.isNotBlank(bo.getType()), GwSlideshow::getType, bo.getType()); lqw.eq(StringUtils.isNotBlank(bo.getAbstracts()), GwSlideshow::getAbstracts, bo.getAbstracts()); lqw.eq(StringUtils.isNotBlank(bo.getIsTop()), GwSlideshow::getIsTop, bo.getIsTop()); + lqw.orderByDesc(GwSlideshow::getIsTop); lqw.orderByDesc(GwSlideshow::getReleaseTime); return lqw; }