Browse Source

岗位标签,分页api调用位置

lizeyu 11 months ago
parent
commit
fabe8b72a1

+ 12 - 1
doc/待更新脚本

@@ -47,4 +47,15 @@ ALTER TABLE pc_company MODIFY RegisteredCapital DECIMAL(10, 2);
 -- 2024-5-6
 ALTER TABLE `employmentsitedb`.`pc_jobuser` 
 ADD COLUMN `Longitude` varchar(50) NULL COMMENT '经度' AFTER `OccupationalLevel`,
-ADD COLUMN `Latitude` varchar(50) NULL COMMENT '纬度' AFTER `Longitude`;
+ADD COLUMN `Latitude` varchar(50) NULL COMMENT '纬度' AFTER `Longitude`;
+
+-- 2024.5.6
+create table pc_label_post(
+LabelID varchar(50) not null COMMENT '标签id',
+PostID varchar(50) not null COMMENT '岗位id'
+) COMMENT '岗位标签表';
+alter table pc_label_post add index pc_label_post_LabelID(LabelID);
+alter table pc_label_post add index pc_label_post_PostID(PostID);
+
+INSERT INTO `sys_dictionary_item` (`DictionaryItemID`, `Code`, `DictionaryCode`, `Value`, `Name`, `OrderNo`, `RecordStatus`, `IsEditable`) VALUES
+ ('f06c44b6-a77a-11ed-a6c5-7085c2a00004', '', 'BigType', 3, '岗位', 1, 1, 0);

+ 1 - 1
h5app/src/views/pages/recommendMgt/detail.vue

@@ -134,7 +134,7 @@ export default defineComponent({
     }
 
     const onBack = () => {
-      router.push({path: './list', query: {}});
+      router.push({path: './list', query: {reload:1}});
     }
 
     onIonViewDidEnter (()=>{

+ 22 - 0
src/main/java/com/hz/employmentsite/mapper/PcLabelPostMapper.java

@@ -0,0 +1,22 @@
+package com.hz.employmentsite.mapper;
+
+import com.hz.employmentsite.model.PcLabelPost;
+import com.hz.employmentsite.model.PcLabelPostExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface PcLabelPostMapper {
+    long countByExample(PcLabelPostExample example);
+
+    int deleteByExample(PcLabelPostExample example);
+
+    int insert(PcLabelPost row);
+
+    int insertSelective(PcLabelPost row);
+
+    List<PcLabelPost> selectByExample(PcLabelPostExample example);
+
+    int updateByExampleSelective(@Param("row") PcLabelPost row, @Param("example") PcLabelPostExample example);
+
+    int updateByExample(@Param("row") PcLabelPost row, @Param("example") PcLabelPostExample example);
+}

+ 2 - 0
src/main/java/com/hz/employmentsite/mapper/cquery/LabelCQuery.java

@@ -12,4 +12,6 @@ public interface LabelCQuery {
     List<LabelVo> getUserLabelList(@Param("jobUserID") String jobUserID);
 
     List<LabelVo> getCompanyLabelList(@Param("companyID") String companyID);
+
+    List<LabelVo> getPostLabelList(@Param("postID") String postID);
 }

+ 23 - 0
src/main/java/com/hz/employmentsite/model/PcLabelPost.java

@@ -0,0 +1,23 @@
+package com.hz.employmentsite.model;
+
+public class PcLabelPost {
+    private String labelID;
+
+    private String postID;
+
+    public String getLabelID() {
+        return labelID;
+    }
+
+    public void setLabelID(String labelID) {
+        this.labelID = labelID == null ? null : labelID.trim();
+    }
+
+    public String getPostID() {
+        return postID;
+    }
+
+    public void setPostID(String postID) {
+        this.postID = postID == null ? null : postID.trim();
+    }
+}

+ 339 - 0
src/main/java/com/hz/employmentsite/model/PcLabelPostExample.java

@@ -0,0 +1,339 @@
+package com.hz.employmentsite.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PcLabelPostExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public PcLabelPostExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andLabelIDIsNull() {
+            addCriterion("LabelID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDIsNotNull() {
+            addCriterion("LabelID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDEqualTo(String value) {
+            addCriterion("LabelID =", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDNotEqualTo(String value) {
+            addCriterion("LabelID <>", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDGreaterThan(String value) {
+            addCriterion("LabelID >", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDGreaterThanOrEqualTo(String value) {
+            addCriterion("LabelID >=", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDLessThan(String value) {
+            addCriterion("LabelID <", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDLessThanOrEqualTo(String value) {
+            addCriterion("LabelID <=", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDLike(String value) {
+            addCriterion("LabelID like", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDNotLike(String value) {
+            addCriterion("LabelID not like", value, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDIn(List<String> values) {
+            addCriterion("LabelID in", values, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDNotIn(List<String> values) {
+            addCriterion("LabelID not in", values, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDBetween(String value1, String value2) {
+            addCriterion("LabelID between", value1, value2, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andLabelIDNotBetween(String value1, String value2) {
+            addCriterion("LabelID not between", value1, value2, "labelID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDIsNull() {
+            addCriterion("PostID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDIsNotNull() {
+            addCriterion("PostID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDEqualTo(String value) {
+            addCriterion("PostID =", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDNotEqualTo(String value) {
+            addCriterion("PostID <>", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDGreaterThan(String value) {
+            addCriterion("PostID >", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDGreaterThanOrEqualTo(String value) {
+            addCriterion("PostID >=", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDLessThan(String value) {
+            addCriterion("PostID <", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDLessThanOrEqualTo(String value) {
+            addCriterion("PostID <=", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDLike(String value) {
+            addCriterion("PostID like", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDNotLike(String value) {
+            addCriterion("PostID not like", value, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDIn(List<String> values) {
+            addCriterion("PostID in", values, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDNotIn(List<String> values) {
+            addCriterion("PostID not in", values, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDBetween(String value1, String value2) {
+            addCriterion("PostID between", value1, value2, "postID");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostIDNotBetween(String value1, String value2) {
+            addCriterion("PostID not between", value1, value2, "postID");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 1 - 1
src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java

@@ -68,13 +68,13 @@ public class CompanyServiceImpl implements CompanyService {
                                        String regionCode, String streetCode,
                                        String createUserId, String workTime, String loginUserID,
                                        String siteID, Date startDate, Date endDate) {
-        PageHelper.startPage(pageIndex, pageSize);
         String curLoginUserSiteID = "";
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
             siteUserExp.or().andUserIDEqualTo(loginUserID);
             curLoginUserSiteID = pcSiteUserMapper.selectByExample(siteUserExp).get(0).getSiteID();
         }
+        PageHelper.startPage(pageIndex, pageSize);
         List<CompanyVo> dataList = companyCQuery.getList(stringUtils.ListToInSql(companyIDList), companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, curLoginUserSiteID, siteID, startDate, endDate);
         PageInfo<CompanyVo> result = new PageInfo(dataList);
         return result;

+ 55 - 27
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.mapper.*;
+import com.hz.employmentsite.mapper.cquery.LabelCQuery;
 import com.hz.employmentsite.mapper.cquery.PostCQuery;
 import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.companyService.PostService;
@@ -14,10 +15,7 @@ import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service("PostService")
@@ -50,13 +48,18 @@ public class PostServiceImpl implements PostService {
     @Autowired
     private DictionaryService dictionaryService;
 
+    @Autowired
+    private PcLabelPostMapper pcLabelPostMapper;
+
+    @Autowired
+    private LabelCQuery labelCQuery;
+
     @Override
     public PageInfo<PostVo> getList(Integer page, Integer rows, List<String> postIDList,
                                     String professionName, Integer minCount, Integer maxCount,
                                     String companyName, String recordStatus, String companyID,
                                     String loginUserID, String siteID, Date startDate,
                                     Date endDate) {
-        PageHelper.startPage(page, rows);
         List<String> curLoginUserSiteCompanyIDs = new ArrayList<>();
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
@@ -69,6 +72,7 @@ public class PostServiceImpl implements PostService {
                 curLoginUserSiteCompanyIDs.add(curLoginUserSiteCompany.getCompanyID());
             }
         }
+        PageHelper.startPage(page, rows);
         List<PostVo> list = postCQuery.selectPostList(stringUtils.ListToInSql(postIDList), professionName, minCount, maxCount, companyName, recordStatus, companyID, stringUtils.ListToInSql(curLoginUserSiteCompanyIDs), siteID, startDate, endDate);
         PageInfo<PostVo> result = new PageInfo(list);
         return result;
@@ -76,7 +80,7 @@ public class PostServiceImpl implements PostService {
     }
 
     @Override
-    public PageInfo<RecommendPostVo> getCommendPostList(Integer page, Integer rows, String jobUserID){
+    public PageInfo<RecommendPostVo> getCommendPostList(Integer page, Integer rows, String jobUserID) {
         PageHelper.startPage(page, rows);
         List<RecommendPostVo> list = postCQuery.selectRecommendPostList(jobUserID);
         PageInfo<RecommendPostVo> result = new PageInfo(list);
@@ -87,7 +91,7 @@ public class PostServiceImpl implements PostService {
     public Integer saveCommendPost(RecommendPostVo data, String userId) {
         int result = 0;
         PcRecommend dbData = null;
-        if(data.recommendID !=null){
+        if (data.recommendID != null) {
             PcRecommendExample exp = new PcRecommendExample();
             PcRecommendExample.Criteria cro = exp.createCriteria();
             cro.andPostIDEqualTo(data.recommendID);
@@ -99,16 +103,16 @@ public class PostServiceImpl implements PostService {
             dbData.setRecommendID(UUID.randomUUID().toString());
             dbData.setJobuserID(data.jobUserID);
             dbData.setPostID(data.postID);
-            dbData.setIsRead(data.isRead==null?false:true);
-            dbData.setIsSendnotes(data.isSendNotes==null?false:true);
+            dbData.setIsRead(data.isRead == null ? false : true);
+            dbData.setIsSendnotes(data.isSendNotes == null ? false : true);
             dbData.setCreateTime(new Date());
             dbData.setCreateUserID(userId);
             result = pcRecommendMapper.insert(dbData);
         } else {
             dbData.setJobuserID(data.jobUserID);
             dbData.setPostID(data.postID);
-            dbData.setIsRead(data.isRead==null?false:true);
-            dbData.setIsSendnotes(data.isSendNotes==null?false:true);
+            dbData.setIsRead(data.isRead == null ? false : true);
+            dbData.setIsSendnotes(data.isSendNotes == null ? false : true);
             dbData.setModifyTime(new Date());
             dbData.setModifyUserID(userId);
             result = pcRecommendMapper.updateByPrimaryKeySelective(dbData);
@@ -206,6 +210,18 @@ public class PostServiceImpl implements PostService {
             dbData.setTagID(data.getTagID());
             result = pcPostMapper.updateByPrimaryKeySelective(dbData);
         }
+
+        if (data.listLabel != null && data.listLabel.size() > 0) {
+            PcLabelPostExample labelEmp = new PcLabelPostExample();
+            labelEmp.or().andPostIDEqualTo(data.getPostID());
+            pcLabelPostMapper.deleteByExample(labelEmp);
+            data.listLabel.forEach(x -> {
+                PcLabelPost labelModel = new PcLabelPost();
+                labelModel.setPostID(data.getPostID());
+                labelModel.setLabelID(x.getLabelID());
+                pcLabelPostMapper.insert(labelModel);
+            });
+        }
         return result;
     }
 
@@ -216,18 +232,28 @@ public class PostServiceImpl implements PostService {
         PcPostExample postExp = new PcPostExample();
         postExp.or().andPostIDIn(ids);
         result = pcPostMapper.deleteByExample(postExp);
+        if (result > 0) {
+            PcLabelPostExample labelEmp = new PcLabelPostExample();
+            labelEmp.or().andPostIDIn(ids);
+            pcLabelPostMapper.deleteByExample(labelEmp);
+        }
         return result;
     }
 
     @Override
     public int deletePostAndRecommendMgt(String id) {
-        try{
+        try {
             PcRecommendMgtExample exp = new PcRecommendMgtExample();
             PcRecommendMgtExample.Criteria cro = exp.or();
             cro.andPostIDEqualTo(id);
             pcRecommendMgtMapper.deleteByExample(exp);
+
+            PcLabelPostExample labelEmp = new PcLabelPostExample();
+            labelEmp.or().andPostIDEqualTo(id);
+            pcLabelPostMapper.deleteByExample(labelEmp);
+
             return pcPostMapper.deleteByPrimaryKey(id);
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             return 0;
         }
@@ -235,13 +261,15 @@ public class PostServiceImpl implements PostService {
 
     @Override
     public PostVo getDataById(String id) {
-        List<String> ids = new ArrayList<>();
         if (stringUtils.IsNullOrEmpty(id)) {
             return null;
-        }else{
-            ids.add(id);
         }
-        return postCQuery.selectPostList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
+
+        PostVo data = postCQuery.selectPostList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
+        if (data != null) {
+            data.listLabel = labelCQuery.getPostLabelList(id);
+        }
+        return data;
     }
 
     @Override
@@ -250,8 +278,8 @@ public class PostServiceImpl implements PostService {
         PcPostExample postExp = new PcPostExample();
         postExp.or().andCompanyIDEqualTo(companyId);
         var postList = pcPostMapper.selectByExample(postExp);
-        for(PcPost curPost : postList){
-            PostVo item= new PostVo();
+        for (PcPost curPost : postList) {
+            PostVo item = new PostVo();
             item.setPostID(curPost.getPostID());
             item.setProfessionID(curPost.getProfessionID());
             PcProfessionExample professionExp = new PcProfessionExample();
@@ -276,19 +304,19 @@ public class PostServiceImpl implements PostService {
         companyExp.or().andRecordStatusEqualTo(1);
         List<PcCompany> companyList = companyMapper.selectByExample(companyExp);
         //岗位信息
-        List<SysDictionaryItem> thirdLevelProfessionList =  new ArrayList<>();
+        List<SysDictionaryItem> thirdLevelProfessionList = new ArrayList<>();
         PcProfessionExample professionExp = new PcProfessionExample();
         professionExp.or().andParentProfessionIDEqualTo("").andStatusEqualTo(1);
         var firstLevelData = pcProfessionMapper.selectByExample(professionExp);
-        for(PcProfession curProfession : firstLevelData){
+        for (PcProfession curProfession : firstLevelData) {
             professionExp = new PcProfessionExample();
             professionExp.or().andParentProfessionIDEqualTo(curProfession.getProfessionID()).andStatusEqualTo(1);
             var secondLevelData = pcProfessionMapper.selectByExample(professionExp);
-            for(PcProfession curParentProfession: secondLevelData){
+            for (PcProfession curParentProfession : secondLevelData) {
                 professionExp = new PcProfessionExample();
                 professionExp.or().andParentProfessionIDEqualTo(curParentProfession.getProfessionID()).andStatusEqualTo(1);
                 var thirdLevelData = pcProfessionMapper.selectByExample(professionExp);
-                for(PcProfession curItem : thirdLevelData){
+                for (PcProfession curItem : thirdLevelData) {
                     SysDictionaryItem item = new SysDictionaryItem();
                     item.setCode(curItem.getProfessionID());
                     item.setCode(curItem.getProfessionName());
@@ -317,7 +345,7 @@ public class PostServiceImpl implements PostService {
             else {
                 item.professionID = thirdLevelProfessionList.stream().filter(it -> it.getName().equals(item.getProfessionName().trim()))
                         .findFirst().orElse(new SysDictionaryItem()).getCode();
-                if (item.professionID == null||item.professionID=="")
+                if (item.professionID == null || item.professionID == "")
                     errorInfo += "岗位不存在!";
             }
 
@@ -331,7 +359,7 @@ public class PostServiceImpl implements PostService {
             if (stringUtils.IsNullOrEmpty(item.jobPlace))
                 errorInfo += "请填写招聘地点!";
 
-            if (stringUtils.IsNullOrEmpty(item.workYearStr)){
+            if (stringUtils.IsNullOrEmpty(item.workYearStr)) {
                 item.workYear = dicWorkYearDataList.stream().filter(it -> it.getName().equals(item.workYearStr.trim()))
                         .findFirst().orElse(new SysDictionaryItem()).getValue();
                 if (item.workYear == null || item.workYear == 0)
@@ -339,9 +367,9 @@ public class PostServiceImpl implements PostService {
             }
 
             if (item.isTrailName.trim().equals("是")) item.isTrail = true;
-            else if (item.isTrailName.trim().equals("否"))item.isTrail = false;
+            else if (item.isTrailName.trim().equals("否")) item.isTrail = false;
 
-            if (!stringUtils.IsNullOrEmpty(item.cultureLevelName)){
+            if (!stringUtils.IsNullOrEmpty(item.cultureLevelName)) {
                 item.cultureRank = dicCultureDataList.stream().filter(it -> it.getName().equals(item.cultureLevelName.trim()))
                         .findFirst().orElse(new SysDictionaryItem()).getValue();
                 if (item.cultureRank == null || item.cultureRank == 0)

+ 1 - 1
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java

@@ -52,7 +52,6 @@ public class JobHuntServiceImpl implements JobHuntService {
                                        Integer minWorkYear, Integer maxWorkYear, Integer jobHuntTypeID, Integer jobUserTypeID,
                                        BigDecimal minSalary, BigDecimal maxSalary, Integer isAccomplish, String loginUserID,
                                        String siteID, String regionCode, Date startDate, Date endDate) {
-        PageHelper.startPage(pageIndex, pageSize);
         List<String> curLoginUserSiteJobUserIDs = new ArrayList<>();
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
@@ -65,6 +64,7 @@ public class JobHuntServiceImpl implements JobHuntService {
                 curLoginUserSiteJobUserIDs.add(curLoginUserSiteJobUser.getJobuserID());
             }
         }
+        PageHelper.startPage(pageIndex, pageSize);
         List<JobHuntVo> list = jobhuntCQuery.getJobHuntList(stringUtils.ListToInSql(jobHuntIDList), jobUserID, jobUserName,
                 professionName, minWorkYear, maxWorkYear,
                 jobHuntTypeID, jobUserTypeID, minSalary,

+ 1 - 1
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -53,13 +53,13 @@ public class JobUserServiceImpl implements JobUserService {
                                        String workTime, String loginUserID,
                                        String regionCode, Date startDate,
                                        Date endDate) {
-        PageHelper.startPage(pageIndex, pageSize);
         String curLoginUserSiteID = "";
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
             siteUserExp.or().andUserIDEqualTo(loginUserID);
             curLoginUserSiteID = pcSiteUserMapper.selectByExample(siteUserExp).get(0).getSiteID();
         }
+        PageHelper.startPage(pageIndex, pageSize);
         List<JobUserVo> list = jobUserCQuery.selectJobUserList(stringUtils.ListToInSql(jobUserIDList), name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, createUserId, workTime, curLoginUserSiteID, regionCode, startDate, endDate);
         // 身份证脱敏
         list.forEach(item -> {

+ 5 - 0
src/main/java/com/hz/employmentsite/vo/companyService/PostVo.java

@@ -4,10 +4,13 @@ import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
 import com.hz.employmentsite.util.datarange.annotations.PostID;
 import com.hz.employmentsite.util.datarange.annotations.RegionID;
 import com.hz.employmentsite.util.datarange.annotations.SiteID;
+import com.hz.employmentsite.vo.baseSettings.LabelVo;
 import lombok.Data;
+import org.apache.catalina.LifecycleState;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 @Data
 public class PostVo {
@@ -124,4 +127,6 @@ public class PostVo {
     public Integer tagID;
 
     public String loginUserID;
+
+    public List<LabelVo> listLabel;
 }

+ 1 - 1
src/main/resources/generatorConfig.xml

@@ -102,7 +102,7 @@
         <table schema="" tableName="pc_recommend_mgt"><property name="useActualColumnNames" value="true"/></table>
     <table schema="" tableName="pc_label"><property name="useActualColumnNames" value="true"/></table>
         <table schema="" tableName="pc_label_jobuser"><property name="useActualColumnNames" value="true"/></table>
-
+        <table schema="" tableName="pc_label_post"><property name="useActualColumnNames" value="true"/></table>
         <table schema="" tableName="pc_label_company"><property name="useActualColumnNames" value="true"/></table>
         -->
 <!--        <table schema="" tableName="pc_jobuser"><property name="useActualColumnNames" value="true"/></table>-->

+ 140 - 0
src/main/resources/mapping/PcLabelPostMapper.xml

@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hz.employmentsite.mapper.PcLabelPostMapper">
+  <resultMap id="BaseResultMap" type="com.hz.employmentsite.model.PcLabelPost">
+    <result column="LabelID" jdbcType="VARCHAR" property="labelID" />
+    <result column="PostID" jdbcType="VARCHAR" property="postID" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    LabelID, PostID
+  </sql>
+  <select id="selectByExample" parameterType="com.hz.employmentsite.model.PcLabelPostExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from pc_label_post
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <delete id="deleteByExample" parameterType="com.hz.employmentsite.model.PcLabelPostExample">
+    delete from pc_label_post
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.hz.employmentsite.model.PcLabelPost">
+    insert into pc_label_post (LabelID, PostID)
+    values (#{labelID,jdbcType=VARCHAR}, #{postID,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.hz.employmentsite.model.PcLabelPost">
+    insert into pc_label_post
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="labelID != null">
+        LabelID,
+      </if>
+      <if test="postID != null">
+        PostID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="labelID != null">
+        #{labelID,jdbcType=VARCHAR},
+      </if>
+      <if test="postID != null">
+        #{postID,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.hz.employmentsite.model.PcLabelPostExample" resultType="java.lang.Long">
+    select count(*) from pc_label_post
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update pc_label_post
+    <set>
+      <if test="row.labelID != null">
+        LabelID = #{row.labelID,jdbcType=VARCHAR},
+      </if>
+      <if test="row.postID != null">
+        PostID = #{row.postID,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update pc_label_post
+    set LabelID = #{row.labelID,jdbcType=VARCHAR},
+      PostID = #{row.postID,jdbcType=VARCHAR}
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+</mapper>

+ 7 - 0
src/main/resources/mapping/cquery/LabelCQuery.xml

@@ -38,4 +38,11 @@
         where CompanyID = #{companyID}
         order by b.SortNo
     </select>
+    <select id="getPostLabelList" resultType="com.hz.employmentsite.vo.baseSettings.LabelVo">
+        select b.LabelID,b.LabelName,b.LabelType,b.BigType,b.SortNo
+        from pc_label b
+        left join pc_label_post a on b.LabelID = a.LabelID
+        where PostID = #{postID}
+        order by b.SortNo
+    </select>
 </mapper>

+ 6 - 0
vue/src/views/companyService/post/detail.vue

@@ -38,6 +38,11 @@
       </a-descriptions-item>
       <a-descriptions-item label="工作年限要求">{{ workYear }}</a-descriptions-item>
       <a-descriptions-item label="学历要求">{{ postInfo.cultureLevelName }}</a-descriptions-item>
+      <a-descriptions-item :span="3" label="标签">
+        <a-button style="margin: 0px 5px 5px 0px;color: black;border: 1px solid rgb(217, 217, 217);" v-for="item in postInfo.listLabel">
+          {{ item.labelName }}
+        </a-button>
+      </a-descriptions-item>
       <a-descriptions-item :span="3" label="福利待遇">{{ postInfo.welfare }}</a-descriptions-item>
       <a-descriptions-item :span="3" label="其他要求">{{ postInfo.postDesc }}</a-descriptions-item>
     </a-descriptions>
@@ -66,6 +71,7 @@ const postInfo = reactive({
   trailMaxSalary: "",
   workYear: "",
   cultureLevelName: "",
+  listLabel: null,
   welfare: "",
   postDesc: "",
   contactName: "",

+ 26 - 2
vue/src/views/companyService/post/edit.vue

@@ -208,6 +208,18 @@
           </a-form-item>
         </a-col>
       </a-row>
+      <a-row :gutter="24">
+        <a-col :span="24">
+          <a-form-item label="标签" :label-col="{ span: 2 }" name="listLabel" >
+            <a-button style="margin: 0px 5px 5px 0px;color: black;border: 1px solid rgb(217, 217, 217);" v-for="item in dataModel.listLabel">
+              {{ item.labelName }}
+            </a-button>
+            <a-button @click="onSelectModel">
+              <plus-circle-outlined/>选择标签
+            </a-button>
+          </a-form-item>
+        </a-col>
+      </a-row>
       <a-row justify="start">
         <a-col flex="1330px">
           <a-form-item :label-col="{span:2}" name="welfare" label="福利待遇">
@@ -230,8 +242,8 @@
           </a-form-item>
         </a-col>
       </a-row>
-
     </a-form>
+    <select-label ref="refSelectModel" :list-label="dataModel.listLabel" :big-type="3" @selectLabelChecks="selectLabelChecks"></select-label>
   </div>
 </template>
 
@@ -246,6 +258,7 @@ import BUploadFile from '@/components/file/uploadFile.vue';
 import {get} from '@/api/common';
 import {getInfo} from "@/api/account";
 import {getCompanyById} from "@/api/companyService/company";
+import SelectLabel from "@/views/baseSettings/label/selectLabel.vue";
 
 interface postModel {
   dataModel: any;
@@ -255,7 +268,7 @@ interface postModel {
 export default defineComponent(
   {
     name: 'PostEdit',
-    components: {BUploadFile},
+    components: {BUploadFile,SelectLabel},
     setup() {
       const postCompany = reactive<postModel>({dataModel:{}});
       const router = useRouter();
@@ -271,6 +284,7 @@ export default defineComponent(
       const postStatusList = [{name: '启用', value: 1}, {name: '停用', value: 0}];
       const trialStatusList = [{name: '是', value: true}, {name: '否', value: false}];
       const firstProfessionList = ref<CascaderProps['options']>([]);
+      const refSelectModel = ref();
 
       const getFirstProfessionList = () => {
         get("profession/getFirstProfessionList", null).then(data=>{
@@ -389,6 +403,13 @@ export default defineComponent(
 
       }
 
+      const onSelectModel = ()=>{
+        refSelectModel.value.show();
+      }
+
+      const selectLabelChecks = (list: any)=>{
+        postCompany.dataModel.listLabel = list;
+      }
 
       const loadData = (id: any) => {
         isEdit.value = id != null;
@@ -423,6 +444,9 @@ export default defineComponent(
         onClose,
         onFinish,
         loadLevelProfessionList,
+        onSelectModel,
+        selectLabelChecks,
+        refSelectModel,
         firstProfessionList,
         companyList,
         postStatusList,