From af51c759b845dacac2a446fb8a47473f53b00fe4 Mon Sep 17 00:00:00 2001 From: Aug <17674666882@163.com> Date: Wed, 26 Feb 2025 20:50:17 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=B7=A5=E4=BD=9C=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=81=E7=AE=80=E5=8E=86=E4=BF=A1=E6=81=AF=E3=80=81=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EmployCategoryController.java | 80 ++++- .../employCategory/entity/EmployCategory.java | 18 +- .../mapper/EmployCategoryMapper.java | 11 +- .../mapper/xml/EmployCategoryMapper.xml | 4 + .../service/IEmployCategoryService.java | 26 +- .../service/impl/EmployCategoryServiceImpl.java | 174 +++++++++- .../employCategory/vue/EmployCategoryList.vue | 249 +++++++++++--- .../vue/modules/EmployCategoryModal.vue | 143 ++++++-- .../employCategory/vue3/EmployCategory.api.ts | 39 ++- .../employCategory/vue3/EmployCategoryList.vue | 378 +++++++++++++-------- .../vue3/components/EmployCategoryModal.vue | 129 ++++--- .../employJob/controller/EmployJobController.java | 2 +- .../jeecg/modules/employJob/entity/EmployJob.java | 46 ++- .../modules/employJob/mapper/EmployJobMapper.java | 2 +- .../employJob/service/IEmployJobService.java | 2 +- .../service/impl/EmployJobServiceImpl.java | 2 +- .../jeecg/modules/employJob/vue/EmployJobList.vue | 38 ++- .../employJob/vue/modules/EmployJobForm.vue | 32 +- .../jeecg/modules/employJob/vue3/EmployJob.data.ts | 62 +++- .../controller/EmployResumeController.java | 2 +- .../modules/employResume/entity/EmployResume.java | 22 +- .../employResume/mapper/EmployResumeMapper.java | 2 +- .../employResume/service/IEmployResumeService.java | 2 +- .../service/impl/EmployResumeServiceImpl.java | 2 +- .../modules/employResume/vue/EmployResumeList.vue | 12 + .../employResume/vue/modules/EmployResumeForm.vue | 10 + .../modules/employResume/vue3/EmployResume.data.ts | 20 ++ .../api/employController/JobController.java | 6 +- .../api/employController/LoginApiController.java | 9 +- .../api/employController/ResumeController.java | 4 +- .../apiService/impl/CategoryServiceImpl.java | 2 +- .../modules/apiService/impl/JobServiceImpl.java | 80 ++++- .../modules/apiService/impl/ResumeServiceImpl.java | 74 +++- 33 files changed, 1353 insertions(+), 331 deletions(-) diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/controller/EmployCategoryController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/controller/EmployCategoryController.java index dfeb98d..b908b87 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/controller/EmployCategoryController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/controller/EmployCategoryController.java @@ -39,14 +39,14 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 分类表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ @Api(tags="分类表") @RestController @RequestMapping("/employCategory/employCategory") @Slf4j -public class EmployCategoryController extends JeecgController { +public class EmployCategoryController extends JeecgController{ @Autowired private IEmployCategoryService employCategoryService; @@ -61,16 +61,74 @@ public class EmployCategoryController extends JeecgController> queryPageList(EmployCategory employCategory, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { + String hasQuery = req.getParameter("hasQuery"); + if(hasQuery != null && "true".equals(hasQuery)){ + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(employCategory, req.getParameterMap()); + List list = employCategoryService.queryTreeListNoPage(queryWrapper); + IPage pageList = new Page<>(1, 10, list.size()); + pageList.setRecords(list); + return Result.OK(pageList); + }else{ + String parentId = employCategory.getPid(); + if (oConvertUtils.isEmpty(parentId)) { + parentId = "0"; + } + employCategory.setPid(null); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(employCategory, req.getParameterMap()); + // 使用 eq 防止模糊查询 + queryWrapper.eq("pid", parentId); + Page page = new Page(pageNo, pageSize); + IPage pageList = employCategoryService.page(page, queryWrapper); + return Result.OK(pageList); + } + } + + /** + * 获取子数据 + * @param employCategory + * @param req + * @return + */ + //@AutoLog(value = "分类表-获取子数据") + @ApiOperation(value="分类表-获取子数据", notes="分类表-获取子数据") + @GetMapping(value = "/childList") + public Result> queryPageList(EmployCategory employCategory,HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(employCategory, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = employCategoryService.page(page, queryWrapper); + List list = employCategoryService.list(queryWrapper); + IPage pageList = new Page<>(1, 10, list.size()); + pageList.setRecords(list); return Result.OK(pageList); } + + /** + * 批量查询子节点 + * @param parentIds 父ID(多个采用半角逗号分割) + * @return 返回 IPage + * @param parentIds + * @return + */ + //@AutoLog(value = "分类表-批量获取子数据") + @ApiOperation(value="分类表-批量获取子数据", notes="分类表-批量获取子数据") + @GetMapping("/getChildListBatch") + public Result getChildListBatch(@RequestParam("parentIds") String parentIds) { + try { + QueryWrapper queryWrapper = new QueryWrapper<>(); + List parentIdList = Arrays.asList(parentIds.split(",")); + queryWrapper.in("pid", parentIdList); + List list = employCategoryService.list(queryWrapper); + IPage pageList = new Page<>(1, 10, list.size()); + pageList.setRecords(list); + return Result.OK(pageList); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error("批量查询子节点失败:" + e.getMessage()); + } + } /** * 添加 @@ -82,7 +140,7 @@ public class EmployCategoryController extends JeecgController add(@RequestBody EmployCategory employCategory) { - employCategoryService.save(employCategory); + employCategoryService.addEmployCategory(employCategory); return Result.OK("添加成功!"); } @@ -96,7 +154,7 @@ public class EmployCategoryController extends JeecgController edit(@RequestBody EmployCategory employCategory) { - employCategoryService.updateById(employCategory); + employCategoryService.updateEmployCategory(employCategory); return Result.OK("编辑成功!"); } @@ -110,7 +168,7 @@ public class EmployCategoryController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { - employCategoryService.removeById(id); + employCategoryService.deleteEmployCategory(id); return Result.OK("删除成功!"); } @@ -125,7 +183,7 @@ public class EmployCategoryController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.employCategoryService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); + return Result.OK("批量删除成功!"); } /** @@ -153,7 +211,7 @@ public class EmployCategoryController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, EmployCategory.class); + return super.importExcel(request, response, EmployCategory.class); } } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/entity/EmployCategory.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/entity/EmployCategory.java index b003047..29b3edd 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/entity/EmployCategory.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/entity/EmployCategory.java @@ -1,11 +1,8 @@ package org.jeecg.modules.employCategory.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; -import java.util.List; - import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -17,19 +14,17 @@ import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; +import java.io.UnsupportedEncodingException; +import java.util.List; /** * @Description: 分类表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ @Data @TableName("employ_category") -@Accessors(chain = true) -@EqualsAndHashCode(callSuper = false) @ApiModel(value="employ_category对象", description="分类表") public class EmployCategory implements Serializable { private static final long serialVersionUID = 1L; @@ -67,8 +62,15 @@ public class EmployCategory implements Serializable { @Excel(name = "排序编号", width = 15) @ApiModelProperty(value = "排序编号") private java.lang.Integer orderNo; + /**是否有子节点*/ + @Excel(name = "是否有子节点", width = 15, dicCode = "yn") + @Dict(dicCode = "yn") + @ApiModelProperty(value = "是否有子节点") + private java.lang.String hasChild; //二级分类列表 @TableField(exist = false) private List employCategoryList; + + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/EmployCategoryMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/EmployCategoryMapper.java index 66d0dd0..a3e28c8 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/EmployCategoryMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/EmployCategoryMapper.java @@ -1,7 +1,5 @@ package org.jeecg.modules.employCategory.mapper; -import java.util.List; - import org.apache.ibatis.annotations.Param; import org.jeecg.modules.employCategory.entity.EmployCategory; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -9,9 +7,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 分类表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ public interface EmployCategoryMapper extends BaseMapper { + /** + * 编辑节点状态 + * @param id + * @param status + */ + void updateTreeNodeStatus(@Param("id") String id,@Param("status") String status); + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/xml/EmployCategoryMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/xml/EmployCategoryMapper.xml index 2792c47..94532f5 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/xml/EmployCategoryMapper.xml +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/mapper/xml/EmployCategoryMapper.xml @@ -2,4 +2,8 @@ + + update employ_category set has_child = #{status} where id = #{id} + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/IEmployCategoryService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/IEmployCategoryService.java index b814382..75b21c9 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/IEmployCategoryService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/IEmployCategoryService.java @@ -2,13 +2,37 @@ package org.jeecg.modules.employCategory.service; import org.jeecg.modules.employCategory.entity.EmployCategory; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.common.exception.JeecgBootException; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.util.List; /** * @Description: 分类表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ public interface IEmployCategoryService extends IService { + /**根节点父ID的值*/ + public static final String ROOT_PID_VALUE = "0"; + + /**树节点有子节点状态值*/ + public static final String HASCHILD = "1"; + + /**树节点无子节点状态值*/ + public static final String NOCHILD = "0"; + + /**新增节点*/ + void addEmployCategory(EmployCategory employCategory); + + /**修改节点*/ + void updateEmployCategory(EmployCategory employCategory) throws JeecgBootException; + + /**删除节点*/ + void deleteEmployCategory(String id) throws JeecgBootException; + + /**查询所有数据,无分页*/ + List queryTreeListNoPage(QueryWrapper queryWrapper); + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/impl/EmployCategoryServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/impl/EmployCategoryServiceImpl.java index 2b7123c..83a5895 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/impl/EmployCategoryServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/service/impl/EmployCategoryServiceImpl.java @@ -1,19 +1,191 @@ package org.jeecg.modules.employCategory.service.impl; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.employCategory.entity.EmployCategory; import org.jeecg.modules.employCategory.mapper.EmployCategoryMapper; import org.jeecg.modules.employCategory.service.IEmployCategoryService; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 分类表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ @Service public class EmployCategoryServiceImpl extends ServiceImpl implements IEmployCategoryService { + @Override + public void addEmployCategory(EmployCategory employCategory) { + //新增时设置hasChild为0 + employCategory.setHasChild(IEmployCategoryService.NOCHILD); + if(oConvertUtils.isEmpty(employCategory.getPid())){ + employCategory.setPid(IEmployCategoryService.ROOT_PID_VALUE); + }else{ + //如果当前节点父ID不为空 则设置父节点的hasChildren 为1 + EmployCategory parent = baseMapper.selectById(employCategory.getPid()); + if(parent!=null && !"1".equals(parent.getHasChild())){ + parent.setHasChild("1"); + baseMapper.updateById(parent); + } + } + baseMapper.insert(employCategory); + } + + @Override + public void updateEmployCategory(EmployCategory employCategory) { + EmployCategory entity = this.getById(employCategory.getId()); + if(entity==null) { + throw new JeecgBootException("未找到对应实体"); + } + String old_pid = entity.getPid(); + String new_pid = employCategory.getPid(); + if(!old_pid.equals(new_pid)) { + updateOldParentNode(old_pid); + if(oConvertUtils.isEmpty(new_pid)){ + employCategory.setPid(IEmployCategoryService.ROOT_PID_VALUE); + } + if(!IEmployCategoryService.ROOT_PID_VALUE.equals(employCategory.getPid())) { + baseMapper.updateTreeNodeStatus(employCategory.getPid(), IEmployCategoryService.HASCHILD); + } + } + baseMapper.updateById(employCategory); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteEmployCategory(String id) throws JeecgBootException { + //查询选中节点下所有子节点一并删除 + id = this.queryTreeChildIds(id); + if(id.indexOf(",")>0) { + StringBuffer sb = new StringBuffer(); + String[] idArr = id.split(","); + for (String idVal : idArr) { + if(idVal != null){ + EmployCategory employCategory = this.getById(idVal); + String pidVal = employCategory.getPid(); + //查询此节点上一级是否还有其他子节点 + List dataList = baseMapper.selectList(new QueryWrapper().eq("pid", pidVal).notIn("id",Arrays.asList(idArr))); + if((dataList == null || dataList.size()==0) && !Arrays.asList(idArr).contains(pidVal) + && !sb.toString().contains(pidVal)){ + //如果当前节点原本有子节点 现在木有了,更新状态 + sb.append(pidVal).append(","); + } + } + } + //批量删除节点 + baseMapper.deleteBatchIds(Arrays.asList(idArr)); + //修改已无子节点的标识 + String[] pidArr = sb.toString().split(","); + for(String pid : pidArr){ + this.updateOldParentNode(pid); + } + }else{ + EmployCategory employCategory = this.getById(id); + if(employCategory==null) { + throw new JeecgBootException("未找到对应实体"); + } + updateOldParentNode(employCategory.getPid()); + baseMapper.deleteById(id); + } + } + + @Override + public List queryTreeListNoPage(QueryWrapper queryWrapper) { + List dataList = baseMapper.selectList(queryWrapper); + List mapList = new ArrayList<>(); + for(EmployCategory data : dataList){ + String pidVal = data.getPid(); + //递归查询子节点的根节点 + if(pidVal != null && !"0".equals(pidVal)){ + EmployCategory rootVal = this.getTreeRoot(pidVal); + if(rootVal != null && !mapList.contains(rootVal)){ + mapList.add(rootVal); + } + }else{ + if(!mapList.contains(data)){ + mapList.add(data); + } + } + } + return mapList; + } + + /** + * 根据所传pid查询旧的父级节点的子节点并修改相应状态值 + * @param pid + */ + private void updateOldParentNode(String pid) { + if(!IEmployCategoryService.ROOT_PID_VALUE.equals(pid)) { + Integer count = Math.toIntExact(baseMapper.selectCount(new QueryWrapper().eq("pid", pid))); + if(count==null || count<=1) { + baseMapper.updateTreeNodeStatus(pid, IEmployCategoryService.NOCHILD); + } + } + } + + /** + * 递归查询节点的根节点 + * @param pidVal + * @return + */ + private EmployCategory getTreeRoot(String pidVal){ + EmployCategory data = baseMapper.selectById(pidVal); + if(data != null && !"0".equals(data.getPid())){ + return this.getTreeRoot(data.getPid()); + }else{ + return data; + } + } + + /** + * 根据id查询所有子节点id + * @param ids + * @return + */ + private String queryTreeChildIds(String ids) { + //获取id数组 + String[] idArr = ids.split(","); + StringBuffer sb = new StringBuffer(); + for (String pidVal : idArr) { + if(pidVal != null){ + if(!sb.toString().contains(pidVal)){ + if(sb.toString().length() > 0){ + sb.append(","); + } + sb.append(pidVal); + this.getTreeChildIds(pidVal,sb); + } + } + } + return sb.toString(); + } + + /** + * 递归查询所有子节点 + * @param pidVal + * @param sb + * @return + */ + private StringBuffer getTreeChildIds(String pidVal,StringBuffer sb){ + List dataList = baseMapper.selectList(new QueryWrapper().eq("pid", pidVal)); + if(dataList != null && dataList.size()>0){ + for(EmployCategory tree : dataList) { + if(!sb.toString().contains(tree.getId())){ + sb.append(",").append(tree.getId()); + } + this.getTreeChildIds(tree.getId(),sb); + } + } + return sb; + } + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue/EmployCategoryList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue/EmployCategoryList.vue index 0afb1d1..c0711df 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue/EmployCategoryList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue/EmployCategoryList.vue @@ -36,20 +36,18 @@ + :expandedRowKeys="expandedRowKeys" + @change="handleTableChange" + @expand="handleExpand" + v-bind="tableProps"> - \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategory.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategory.api.ts index df2c948..374fee7 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategory.api.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategory.api.ts @@ -1,14 +1,17 @@ -import {defHttp} from '/@/utils/http/axios'; +import {defHttp} from "/@/utils/http/axios"; import {Modal} from 'ant-design-vue'; enum Api { - list = '/employCategory/employCategory/list', + list = '/employCategory/employCategory/rootList', save='/employCategory/employCategory/add', edit='/employCategory/employCategory/edit', - deleteOne = '/employCategory/employCategory/delete', + deleteEmployCategory = '/sys/employCategory/delete', deleteBatch = '/employCategory/employCategory/deleteBatch', importExcel = '/employCategory/employCategory/importExcel', exportXls = '/employCategory/employCategory/exportXls', + loadTreeData = '/employCategory/employCategory/loadTreeRoot', + getChildList = '/employCategory/employCategory/childList', + getChildListBatch = '/employCategory/employCategory/getChildListBatch', } /** * 导出api @@ -17,6 +20,7 @@ enum Api { export const getExportUrl = Api.exportXls; /** * 导入api + * @param params */ export const getImportUrl = Api.importExcel; /** @@ -25,12 +29,11 @@ export const getImportUrl = Api.importExcel; */ export const list = (params) => defHttp.get({url: Api.list, params}); - /** - * 删除单个 + * 删除 */ -export const deleteOne = (params,handleSuccess) => { - return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { +export const deleteEmployCategory = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteEmployCategory, params}, {joinParamsToUrl: true}).then(() => { handleSuccess(); }); } @@ -38,7 +41,7 @@ export const deleteOne = (params,handleSuccess) => { * 批量删除 * @param params */ -export const batchDelete = (params, handleSuccess) => { +export const batchDeleteEmployCategory = (params, handleSuccess) => { Modal.confirm({ title: '确认删除', content: '是否删除选中数据', @@ -55,7 +58,25 @@ export const batchDelete = (params, handleSuccess) => { * 保存或者更新 * @param params */ -export const saveOrUpdate = (params, isUpdate) => { +export const saveOrUpdateDict = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({url: url, params}); } +/** + * 查询全部树形节点数据 + * @param params + */ +export const loadTreeData = (params) => + defHttp.get({url: Api.loadTreeData,params}); +/** + * 查询子节点数据 + * @param params + */ +export const getChildList = (params) => + defHttp.get({url: Api.getChildList, params}); +/** + * 批量查询子节点数据 + * @param params + */ +export const getChildListBatch = (params) => + defHttp.get({url: Api.getChildListBatch, params},{isTransformResponse:false}); diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategoryList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategoryList.vue index 8cc9603..c2b8a13 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategoryList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/EmployCategoryList.vue @@ -1,162 +1,272 @@ \ No newline at end of file + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/components/EmployCategoryModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/components/EmployCategoryModal.vue index 7d802c4..f677e8a 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/components/EmployCategoryModal.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employCategory/vue3/components/EmployCategoryModal.vue @@ -1,58 +1,87 @@ - - - \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/controller/EmployJobController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/controller/EmployJobController.java index 338ea25..c9a8fac 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/controller/EmployJobController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/controller/EmployJobController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 工作信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ @Api(tags="工作信息表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/entity/EmployJob.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/entity/EmployJob.java index 2d052b4..6bc2065 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/entity/EmployJob.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/entity/EmployJob.java @@ -5,10 +5,14 @@ import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.employAuthenticationCompany.entity.EmployAuthenticationCompany; +import org.jeecg.modules.employAuthenticationPerson.entity.EmployAuthenticationPerson; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -20,7 +24,7 @@ import lombok.experimental.Accessors; /** * @Description: 工作信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ @Data @@ -78,14 +82,10 @@ public class EmployJob implements Serializable { @ApiModelProperty(value = "期望日薪") private java.math.BigDecimal salaryDay; /**结算方式*/ - @Excel(name = "结算方式", width = 15, dicCode = " employ_pay_type") - @Dict(dicCode = " employ_pay_type") + @Excel(name = "结算方式", width = 15, dicCode = "employ_pay_type") + @Dict(dicCode = "employ_pay_type") @ApiModelProperty(value = "结算方式") private java.lang.String payType; - /**时间*/ - @Excel(name = "时间", width = 15) - @ApiModelProperty(value = "时间") - private java.lang.String workTime; /**联系电话*/ @Excel(name = "联系电话", width = 15) @ApiModelProperty(value = "联系电话") @@ -103,4 +103,36 @@ public class EmployJob implements Serializable { @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") @ApiModelProperty(value = "关联用户id") private java.lang.String userId; + /**经度*/ + @Excel(name = "经度", width = 15) + @ApiModelProperty(value = "经度") + private java.math.BigDecimal longitude; + /**纬度*/ + @Excel(name = "纬度", width = 15) + @ApiModelProperty(value = "纬度") + private java.math.BigDecimal latitude; + /**标签*/ + @Excel(name = "标签", width = 15) + @ApiModelProperty(value = "标签") + private java.lang.String tag; + /**工作开始时间*/ + @Excel(name = "工作开始时间", width = 15) + @ApiModelProperty(value = "工作开始时间") + private java.lang.String startTime; + /**工作结束时间*/ + @Excel(name = "工作结束时间", width = 15) + @ApiModelProperty(value = "工作结束时间") + private java.lang.String endTime; + + //实名信息 + @TableField(exist = false) + private EmployAuthenticationPerson employAuthenticationPerson; + + //实名信息 + @TableField(exist = false) + private EmployAuthenticationCompany employAuthenticationCompany; + + //用户信息 + @TableField(exist = false) + private HanHaiMember hanHaiMember; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/mapper/EmployJobMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/mapper/EmployJobMapper.java index 17d7bbc..334855f 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/mapper/EmployJobMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/mapper/EmployJobMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 工作信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ public interface EmployJobMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/IEmployJobService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/IEmployJobService.java index 627792e..a70d858 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/IEmployJobService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/IEmployJobService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 工作信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ public interface IEmployJobService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/impl/EmployJobServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/impl/EmployJobServiceImpl.java index e382ce4..2bb35dd 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/impl/EmployJobServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/service/impl/EmployJobServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 工作信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-26 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/EmployJobList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/EmployJobList.vue index 2c95202..c690445 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/EmployJobList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/EmployJobList.vue @@ -162,11 +162,6 @@ align:"center", dataIndex: 'payType_dictText' }, - { - title:'时间', - align:"center", - dataIndex: 'workTime' - }, { title:'联系电话', align:"center", @@ -189,6 +184,31 @@ align:"center", dataIndex: 'userId_dictText' }, + { + title:'经度', + align:"center", + dataIndex: 'longitude' + }, + { + title:'纬度', + align:"center", + dataIndex: 'latitude' + }, + { + title:'标签', + align:"center", + dataIndex: 'tag' + }, + { + title:'工作开始时间', + align:"center", + dataIndex: 'startTime' + }, + { + title:'工作结束时间', + align:"center", + dataIndex: 'endTime' + }, { title: '操作', dataIndex: 'action', @@ -230,12 +250,16 @@ fieldList.push({type:'BigDecimal',value:'salaryMin',text:'月薪最小值',dictCode:''}) fieldList.push({type:'BigDecimal',value:'salaryMax',text:'月薪最大值',dictCode:''}) fieldList.push({type:'BigDecimal',value:'salaryDay',text:'期望日薪',dictCode:''}) - fieldList.push({type:'string',value:'payType',text:'结算方式',dictCode:' employ_pay_type'}) - fieldList.push({type:'string',value:'workTime',text:'时间',dictCode:''}) + fieldList.push({type:'string',value:'payType',text:'结算方式',dictCode:'employ_pay_type'}) fieldList.push({type:'string',value:'phone',text:'联系电话',dictCode:''}) fieldList.push({type:'Text',value:'details',text:'工作内容',dictCode:''}) fieldList.push({type:'Text',value:'image',text:'图片',dictCode:''}) fieldList.push({type:'string',value:'userId',text:'关联用户id',dictCode:"han_hai_member,nick_name,id"}) + fieldList.push({type:'BigDecimal',value:'longitude',text:'经度',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'latitude',text:'纬度',dictCode:''}) + fieldList.push({type:'Text',value:'tag',text:'标签',dictCode:''}) + fieldList.push({type:'string',value:'startTime',text:'工作开始时间',dictCode:''}) + fieldList.push({type:'string',value:'endTime',text:'工作结束时间',dictCode:''}) this.superFieldList = fieldList } } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/modules/EmployJobForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/modules/EmployJobForm.vue index 5723af0..3dda3ee 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/modules/EmployJobForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue/modules/EmployJobForm.vue @@ -40,12 +40,7 @@ - - - - - - + @@ -68,6 +63,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue3/EmployJob.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue3/EmployJob.data.ts index 15ad5f9..675666f 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue3/EmployJob.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employJob/vue3/EmployJob.data.ts @@ -44,11 +44,6 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'payType_dictText' }, - { - title: '时间', - align:"center", - dataIndex: 'workTime' - }, { title: '联系电话', align:"center", @@ -71,6 +66,31 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'userId_dictText' }, + { + title: '经度', + align:"center", + dataIndex: 'longitude' + }, + { + title: '纬度', + align:"center", + dataIndex: 'latitude' + }, + { + title: '标签', + align:"center", + dataIndex: 'tag' + }, + { + title: '工作开始时间', + align:"center", + dataIndex: 'startTime' + }, + { + title: '工作结束时间', + align:"center", + dataIndex: 'endTime' + }, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ @@ -123,14 +143,9 @@ export const formSchema: FormSchema[] = [ field: 'payType', component: 'JDictSelectTag', componentProps:{ - dictCode:" employ_pay_type" + dictCode:"employ_pay_type" }, }, - { - label: '时间', - field: 'workTime', - component: 'Input', - }, { label: '联系电话', field: 'phone', @@ -156,4 +171,29 @@ export const formSchema: FormSchema[] = [ dictCode:"han_hai_member,nick_name,id" }, }, + { + label: '经度', + field: 'longitude', + component: 'InputNumber', + }, + { + label: '纬度', + field: 'latitude', + component: 'InputNumber', + }, + { + label: '标签', + field: 'tag', + component: 'Input', + }, + { + label: '工作开始时间', + field: 'startTime', + component: 'Input', + }, + { + label: '工作结束时间', + field: 'endTime', + component: 'Input', + }, ]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/controller/EmployResumeController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/controller/EmployResumeController.java index 8cc616e..495d9b9 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/controller/EmployResumeController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/controller/EmployResumeController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 简历信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-24 * @Version: V1.0 */ @Api(tags="简历信息表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/entity/EmployResume.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/entity/EmployResume.java index 9e144cc..8340bb9 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/entity/EmployResume.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/entity/EmployResume.java @@ -5,10 +5,14 @@ import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.employAuthenticationPerson.entity.EmployAuthenticationPerson; +import org.jeecg.modules.employJob.entity.EmployJob; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -20,7 +24,7 @@ import lombok.experimental.Accessors; /** * @Description: 简历信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-24 * @Version: V1.0 */ @Data @@ -99,6 +103,14 @@ public class EmployResume implements Serializable { @Excel(name = "出发地址", width = 15) @ApiModelProperty(value = "出发地址") private java.lang.String address; + /**工作标题*/ + @Excel(name = "工作标题", width = 15) + @ApiModelProperty(value = "工作标题") + private java.lang.String title; + /**民族*/ + @Excel(name = "民族", width = 15) + @ApiModelProperty(value = "民族") + private java.lang.String nation; /**个人介绍*/ @Excel(name = "个人介绍", width = 15) @ApiModelProperty(value = "个人介绍") @@ -108,4 +120,12 @@ public class EmployResume implements Serializable { @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") @ApiModelProperty(value = "关联用户id") private java.lang.String userId; + + //实名信息 + @TableField(exist = false) + private EmployAuthenticationPerson employAuthenticationPerson; + + //用户信息 + @TableField(exist = false) + private HanHaiMember hanHaiMember; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/mapper/EmployResumeMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/mapper/EmployResumeMapper.java index 3eb35dd..bfd8049 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/mapper/EmployResumeMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/mapper/EmployResumeMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 简历信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-24 * @Version: V1.0 */ public interface EmployResumeMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/IEmployResumeService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/IEmployResumeService.java index c2f62d2..0509e08 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/IEmployResumeService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/IEmployResumeService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 简历信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-24 * @Version: V1.0 */ public interface IEmployResumeService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/impl/EmployResumeServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/impl/EmployResumeServiceImpl.java index 8f7dcfe..8a0dcb1 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/impl/EmployResumeServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/service/impl/EmployResumeServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 简历信息表 * @Author: jeecg-boot - * @Date: 2025-02-21 + * @Date: 2025-02-24 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/EmployResumeList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/EmployResumeList.vue index 74777cf..fde9f3a 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/EmployResumeList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/EmployResumeList.vue @@ -183,6 +183,16 @@ align:"center", dataIndex: 'address' }, + { + title:'工作标题', + align:"center", + dataIndex: 'title' + }, + { + title:'民族', + align:"center", + dataIndex: 'nation' + }, { title:'个人介绍', align:"center", @@ -240,6 +250,8 @@ fieldList.push({type:'string',value:'payType',text:'结算方式',dictCode:'employ_pay_type'}) fieldList.push({type:'string',value:'commuteType',text:'出行方式',dictCode:''}) fieldList.push({type:'string',value:'address',text:'出发地址',dictCode:''}) + fieldList.push({type:'string',value:'title',text:'工作标题',dictCode:''}) + fieldList.push({type:'string',value:'nation',text:'民族',dictCode:''}) fieldList.push({type:'Text',value:'brief',text:'个人介绍',dictCode:''}) fieldList.push({type:'string',value:'userId',text:'关联用户id',dictCode:"han_hai_member,nick_name,id"}) this.superFieldList = fieldList diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/modules/EmployResumeForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/modules/EmployResumeForm.vue index 04c6f2a..f50a79c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/modules/EmployResumeForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue/modules/EmployResumeForm.vue @@ -63,6 +63,16 @@ + + + + + + + + + + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue3/EmployResume.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue3/EmployResume.data.ts index 8b73481..4a0af5f 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue3/EmployResume.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/employResume/vue3/EmployResume.data.ts @@ -65,6 +65,16 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'address' }, + { + title: '工作标题', + align:"center", + dataIndex: 'title' + }, + { + title: '民族', + align:"center", + dataIndex: 'nation' + }, { title: '个人介绍', align:"center", @@ -156,6 +166,16 @@ export const formSchema: FormSchema[] = [ field: 'address', component: 'Input', }, + { + label: '工作标题', + field: 'title', + component: 'Input', + }, + { + label: '民族', + field: 'nation', + component: 'Input', + }, { label: '个人介绍', field: 'brief', diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/JobController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/JobController.java index 79a9d6f..27e0eda 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/JobController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/JobController.java @@ -33,11 +33,11 @@ public class JobController { return jobService.queryJobList(employJob, pageBean); } - //工作信息-根据Id查看工作详情 + //工作信息-根据Id查看工作详情id @ApiOperation(value="工作信息-根据Id查看工作详情", notes="工作信息-根据Id查看工作详情") @RequestMapping(value = "/queryJobById", method = {RequestMethod.GET}) - public Result queryJobById(@RequestHeader("X-Access-Token")String token, String jobId){ - return jobService.queryJobById(token, jobId); + public Result queryJobById(@RequestHeader("X-Access-Token")String token, String id){ + return jobService.queryJobById(token, id); } //工作信息-我的招工 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/LoginApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/LoginApiController.java index 7bea30d..1fbe437 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/LoginApiController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/LoginApiController.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.apiService.JobService; +import org.jeecg.modules.apiService.LoginApiService; import org.jeecg.modules.bean.LoginReq; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,21 +20,23 @@ import javax.annotation.Resource; public class LoginApiController { /******************************************************************************************************************/ - + //工作信息 + @Resource + private LoginApiService loginApiService; /******************************************************************************************************************/ //小程序-微信授权登录接口 @ApiOperation(value="小程序-微信授权登录接口", notes="小程序-微信授权登录接口") @GetMapping("/login") public Result login(LoginReq loginReq){ - return null; + return loginApiService.login(loginReq); } //绑定手机号码 @ApiOperation(value="绑定手机号码", notes="绑定手机号码") @GetMapping(value = "/bindPhone") public Result bindPhone(String phoneCode){ - return null; + return loginApiService.bindPhone(phoneCode); } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/ResumeController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/ResumeController.java index caba9e2..6578336 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/ResumeController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/employController/ResumeController.java @@ -35,8 +35,8 @@ public class ResumeController { //首页-根据Id查看工作详情 @ApiOperation(value="简历信息-根据Id查看简历详情", notes="简历信息-根据Id查看简历详情") @RequestMapping(value = "/queryResumeById", method = {RequestMethod.GET}) - public Result queryResumeById(@RequestHeader("X-Access-Token")String token, String resumeId){ - return resumeService.queryResumeById(token, resumeId); + public Result queryResumeById(@RequestHeader("X-Access-Token")String token, String id){ + return resumeService.queryResumeById(token, id); } //会员中心-我的简历 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/CategoryServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/CategoryServiceImpl.java index 1f9491f..d3a8c30 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/CategoryServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/CategoryServiceImpl.java @@ -61,7 +61,7 @@ public class CategoryServiceImpl implements CategoryService { //如果一级分类id为空,则查询所有一级分类 EmployCategory category = employCategoryService .lambdaQuery() - .isNull(EmployCategory::getPid) + .eq(EmployCategory::getPid, "0") .one(); query.eq(EmployCategory::getPid, category.getId()); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/JobServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/JobServiceImpl.java index 4657067..46e7b2c 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/JobServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/JobServiceImpl.java @@ -6,9 +6,15 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.apiBean.PageBean; import org.jeecg.modules.apiService.JobService; +import org.jeecg.modules.employAuthenticationCompany.entity.EmployAuthenticationCompany; +import org.jeecg.modules.employAuthenticationCompany.service.IEmployAuthenticationCompanyService; import org.jeecg.modules.employAuthenticationPerson.entity.EmployAuthenticationPerson; +import org.jeecg.modules.employAuthenticationPerson.service.IEmployAuthenticationPersonService; +import org.jeecg.modules.employCategory.entity.EmployCategory; +import org.jeecg.modules.employCategory.service.IEmployCategoryService; import org.jeecg.modules.employJob.entity.EmployJob; import org.jeecg.modules.employJob.service.IEmployJobService; +import org.jeecg.modules.employResume.entity.EmployResume; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.springframework.stereotype.Service; @@ -30,6 +36,15 @@ public class JobServiceImpl implements JobService { @Resource private IEmployJobService employJobService; + @Resource + private IEmployCategoryService employCategoryService; + + @Resource + private IEmployAuthenticationCompanyService employAuthenticationCompanyService; + + @Resource + private IEmployAuthenticationPersonService employAuthenticationPersonService; + @Resource private IHanHaiMemberService hanHaiMemberService; /******************************************************************************************************************/ @@ -57,10 +72,25 @@ public class JobServiceImpl implements JobService { //按时间倒序 query.orderByDesc(EmployJob::getCreateTime); - //获取工作信息列表 pageList = query.page(page); + for (EmployJob record : pageList.getRecords()) { + //2、获取用户实名信息 + EmployAuthenticationPerson person = employAuthenticationPersonService + .lambdaQuery() + .eq(EmployAuthenticationPerson::getUserId, record.getUserId()) + .one(); + if(null != person){ + record.setEmployAuthenticationPerson(person); + } + + //3、获取用户信息信息 + HanHaiMember hanHaiMember = hanHaiMemberService.getById(record.getUserId()); + record.setHanHaiMember(hanHaiMember); + + } + //判断执行结果 if(null != pageList){ message = "工作列表信息"; @@ -81,6 +111,8 @@ public class JobServiceImpl implements JobService { //工作信息-根据Id查看工作详情 @Override public Result queryJobById(String token, String jobId) { +// //权限验证 +// HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); //返回信息 EmployJob job = null; @@ -89,6 +121,52 @@ public class JobServiceImpl implements JobService { //1、查看工作详情信息 job = employJobService.getById(jobId); + if(null == job){ + return Result.error("未查询到工作详情,请检查id", job); + } + + //分类信息 + EmployCategory categoryOne = employCategoryService.getById(job.getCategoryOne()); + job.setCategoryOne(categoryOne.getName()); + EmployCategory categoryTwo = employCategoryService.getById(job.getCategoryTwo()); + job.setCategoryTwo(categoryTwo.getName()); + + //结算方式 + switch (job.getPayType()){ + case "0": + job.setPayType("微信支付"); + break; + case "1": + job.setPayType("支付宝支付"); + break; + case "2": + job.setPayType("线下结算"); + break; + } + + + //2、获取用户实名信息 + EmployAuthenticationPerson person = employAuthenticationPersonService + .lambdaQuery() + .eq(EmployAuthenticationPerson::getUserId, job.getUserId()) + .one(); + if(null != person){ + job.setEmployAuthenticationPerson(person); + } + + //2、获取企业实名信息 + EmployAuthenticationCompany company = employAuthenticationCompanyService + .lambdaQuery() + .eq(EmployAuthenticationCompany::getUserId, job.getUserId()) + .one(); + if(null != company){ + job.setEmployAuthenticationCompany(company); + } + + //3、用户信息 + HanHaiMember hanHaiMember = hanHaiMemberService.getById(job.getUserId()); + job.setHanHaiMember(hanHaiMember); + return Result.OK("工作详情", job); }catch (Exception e){ e.printStackTrace(); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ResumeServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ResumeServiceImpl.java index 2fdc3de..f4d52dd 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ResumeServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ResumeServiceImpl.java @@ -2,16 +2,21 @@ package org.jeecg.modules.apiService.impl; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.common.api.CommonAPI; import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.apiBean.PageBean; import org.jeecg.modules.apiService.ResumeService; import org.jeecg.modules.employAuthenticationPerson.entity.EmployAuthenticationPerson; +import org.jeecg.modules.employAuthenticationPerson.service.IEmployAuthenticationPersonService; +import org.jeecg.modules.employCategory.entity.EmployCategory; +import org.jeecg.modules.employCategory.service.IEmployCategoryService; import org.jeecg.modules.employJob.service.IEmployJobService; import org.jeecg.modules.employResume.entity.EmployResume; import org.jeecg.modules.employResume.service.IEmployResumeService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -29,8 +34,18 @@ public class ResumeServiceImpl implements ResumeService { @Resource private IEmployResumeService employResumeService; + @Resource + private IEmployCategoryService employCategoryService; + + @Resource + private IEmployAuthenticationPersonService employAuthenticationPersonService; + @Resource private IHanHaiMemberService hanHaiMemberService; + + @Lazy + @Resource + private CommonAPI commonApi; /******************************************************************************************************************/ //简历信息-查询简历信息列表 @@ -64,6 +79,22 @@ public class ResumeServiceImpl implements ResumeService { //获取简历信息列表 pageList = query.page(page); + for (EmployResume record : pageList.getRecords()) { + //2、获取用户实名信息 + EmployAuthenticationPerson person = employAuthenticationPersonService + .lambdaQuery() + .eq(EmployAuthenticationPerson::getUserId, record.getUserId()) + .one(); + if(null != person){ + record.setEmployAuthenticationPerson(person); + } + + //3、获取用户信息信息 + HanHaiMember hanHaiMember = hanHaiMemberService.getById(record.getUserId()); + record.setHanHaiMember(hanHaiMember); + + } + //判断执行结果 if(null != pageList){ message = "简历列表信息"; @@ -84,13 +115,52 @@ public class ResumeServiceImpl implements ResumeService { //简历信息-根据Id查看简历详情 @Override public Result queryResumeById(String token, String resumeId) { - //权限验证 - HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); +// //权限验证 +// HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); EmployResume resume = null; try{ //1、获取简历详情 resume = employResumeService.getById(resumeId); + //分类信息 + EmployCategory categoryOne = employCategoryService.getById(resume.getCategoryOne()); + resume.setCategoryOne(categoryOne.getName()); + EmployCategory categoryTwo = employCategoryService.getById(resume.getCategoryTwo()); + resume.setCategoryTwo(categoryTwo.getName()); + + //性别 + switch (resume.getSex()){ + case "0": + resume.setSex("男"); + break; + case "1": + resume.setSex("女"); + break; + } + + //结算方式 + switch (resume.getPayType()){ + case "0": + resume.setPayType("微信支付"); + break; + case "1": + resume.setPayType("支付宝支付"); + break; + case "2": + resume.setPayType("线下结算"); + break; + } + + //2、获取用户实名信息 + EmployAuthenticationPerson person = employAuthenticationPersonService.getById(resume.getUserId()); + if(null != person){ + resume.setEmployAuthenticationPerson(person); + } + + //3、用户信息 + HanHaiMember hanHaiMember = hanHaiMemberService.getById(resume.getUserId()); + resume.setHanHaiMember(hanHaiMember); + return Result.OK("简历详情", resume); }catch (Exception e){ e.printStackTrace();