فهرست منبع

扫码保存求职信息、企业信息

liao-sea 10 ماه پیش
والد
کامیت
a9a503a63a

+ 3 - 28
doc/待更新脚本

@@ -5,34 +5,6 @@ ALTER TABLE pc_post RENAME COLUMN trailtime TO trailMonths
 alter table pc_company add column Longitude varchar(50)
 alter table pc_company add column Latitude varchar(50)
 
---2024-04-12
---一级职业数据插入
-insert pc_profession values(UUID(),'','销售/客服',1,1);
-insert pc_profession values(UUID(),'','互联网技术',2,1);
-insert pc_profession values(UUID(),'','人事/行政',3,1);
-insert pc_profession values(UUID(),'','财务/税务/法务',4,1);
-insert pc_profession values(UUID(),'','运营',5,1);
-insert pc_profession values(UUID(),'','市场/公关',6,1);
-insert pc_profession values(UUID(),'','设计',7,1);
-insert pc_profession values(UUID(),'','产品',8,1);
-insert pc_profession values(UUID(),'','生产制造',9,1);
-insert pc_profession values(UUID(),'','通信/电子',10,1);
-insert pc_profession values(UUID(),'','建筑/房地产',11,1);
-insert pc_profession values(UUID(),'','医药/医疗',12,1);
-insert pc_profession values(UUID(),'','生活服务/零售',13,1);
-insert pc_profession values(UUID(),'','物流/供应链',14,1);
-insert pc_profession values(UUID(),'','采购/贸易',15,1);
-insert pc_profession values(UUID(),'','金融',16,1);
-insert pc_profession values(UUID(),'','汽车',17,1);
-insert pc_profession values(UUID(),'','科研/教育/培训',18,1);
-insert pc_profession values(UUID(),'','餐饮',19,1);
-insert pc_profession values(UUID(),'','能源/环保/化工',20,1);
-insert pc_profession values(UUID(),'','文化/传媒',21,1);
-insert pc_profession values(UUID(),'','高级管理',22,1);
-insert pc_profession values(UUID(),'','咨询/法律/翻译',23,1);
-insert pc_profession values(UUID(),'','酒店/旅游',24,1);
-insert pc_profession values(UUID(),'','政府机构/农业',25,1);
-
 -- 2024.4.16
 delete from sys_dictionary_item where DictionaryCode='DataRange';
 
@@ -174,3 +146,6 @@ insert into wx_messageTempSetting_field
 values('toCompany','thing28','userName'),('toCompany','phone_number34','usermobile'),('toCompany','thing10','userHuntPostName');
 insert into wx_messageTempSetting_field
 values('toUser','thing5','companyname'),('toUser','thing4','postName'),('toUser','character_string2','companymobile');
+
+--2024-04-23
+ alter table pc_profession modify ProfessionName varchar(50)

+ 2 - 2
h5app/src/components/postSelection.vue

@@ -85,7 +85,7 @@ ion-segment-button {
           <ion-item>
             <ion-segment value="0">
               <ion-segment-button v-for="(item) in selectModelList" @click="onSelectType(item.index)"
-                                  :disabled="item.disabled" :value="item.index">
+                                  :disabled="item.disabled" :value="item.index" :key="item.professionID">
                 <ion-label :style="{color:item.isSelect?'#1a65eb':'#000000'}">{{ item.name }}</ion-label>
               </ion-segment-button>
             </ion-segment>
@@ -285,7 +285,7 @@ export default defineComponent({
 
     const onSelect = (item: any, type: any) => {
       selectModelList[type].professionList.forEach((x: any) => {
-        x.isSelect = x.professionID == item.professionID
+        x.isSelect = x.professionID == item.professionID;
       });
       selectModelList[type].professionName = item.professionName;
       selectModelList[type].professionID = item.professionID;

+ 2 - 6
h5app/src/views/pages/company/list.vue

@@ -90,7 +90,6 @@ import {IonIcon, onIonViewDidEnter} from '@ionic/vue';
 import BEmpty from "@/components/empty.vue";
 import {post} from "@/api/common";
 import {getCompanyList} from '@/api/company/index';
-import dayjs from "dayjs";
 
 export default defineComponent({
   name: 'CompanyList',
@@ -112,17 +111,16 @@ export default defineComponent({
       pageSize: searchParams.pageSize
     }));
     const dataList = ref<any>([]);
-    const colors = ref(["secondary", "tertiary", "success", "warning"]);
 
     const loadData = async function () {
       loading.value = true;
-      const loginUserInfo = useUserStore().getUserInfo;
-      curUserID.value = loginUserInfo.userID == undefined?"":loginUserInfo.userID;
       getCompanyList(searchParams).then(data => {
         dataList.value = dataList.value.concat(data.list);
         total.value = data.total;
         console.log(dataList.value);
       })
+      const loginUserInfo = useUserStore().getUserInfo;
+      curUserID.value = loginUserInfo.userID == undefined?"":loginUserInfo.userID;
       loading.value = false;
     }
 
@@ -233,7 +231,6 @@ export default defineComponent({
       buildOutline,
       trashOutline,
       router,
-      colors,
       total,
       loading,
       dataList,
@@ -256,7 +253,6 @@ export default defineComponent({
       setDelLoadingOpen,
       loadData,
       reload,
-      dayjs,
     }
   }
 });

+ 11 - 6
h5app/src/views/pages/jobUserInfo/companyEdit.vue

@@ -220,6 +220,7 @@ import {alertController, onIonViewDidEnter} from "@ionic/vue";
 
 interface StepParams{
   loginUserID: string,
+  openID:string,
   statusVal: number
 }
 export default defineComponent({
@@ -230,6 +231,7 @@ export default defineComponent({
     const isAllowCommit = ref(true);
     const curStepData = ref<StepParams>({
       loginUserID:"",
+      openID:"",
       statusVal: 1
     });
     const isShow = ref<any>(false);
@@ -255,7 +257,8 @@ export default defineComponent({
         workSituation: null,
         insuredCount: null,
         businScope: null,
-        companyDesc: null
+        companyDesc: null,
+        openId:null
       }});
     const stepList = ref([
       {title: '基础信息', desc: '企业基础信息', val: 1},
@@ -384,9 +387,10 @@ export default defineComponent({
         getStreetListData(formState.dataModel.regionCode);
     }
 
-    const loadData = async (companyID: any,status:any,userID:string) => {
+    const loadData = async (companyID: any,status:any,userID:any,openId:any) => {
       curStepData.value.statusVal = status;
       curStepData.value.loginUserID = userID;
+      curStepData.value.openID = openId;
       await getCompanyModelList();
       await getCompanyTypeList();
       await getRegionListData();
@@ -394,19 +398,20 @@ export default defineComponent({
       const reqData = await getCompanyById(companyID,userID);
       formState.dataModel = reqData;
       isLongDate.value = formState.dataModel.validDate == "2099-12-31T00:00:00.000+08:00";
+      formState.dataModel.openId = openId;
       console.log('dataModel',formState.dataModel);
       if(formState.dataModel.regionCode!=null) getStreetListData(formState.dataModel.regionCode);
     };
 
 
-    const reload = (companyID:any,status:any,userID:any) => {
+    const reload = (companyID:any,status:any,userID:any,openId:any) => {
       isShow.value = false;
-      loadData(companyID,status,userID);
+      loadData(companyID,status,userID,openId);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload) {
-        reload(route.query.id,1,route.query.loginUserId);
+        reload(route.query.id,1,route.query.loginUserId,route.query.openId);
       }
     });
 
@@ -438,7 +443,7 @@ export default defineComponent({
       if(isAllowCommit.value){
         saveCompanyInfo(formState.dataModel).then(result => {
           if (result) {
-            router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:2,userID:curStepData.value.loginUserID }});
+            router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:2,userID:curStepData.value.loginUserID,openId:curStepData.value.openID}});
           }
         });
       }

+ 12 - 13
h5app/src/views/pages/jobUserInfo/postList.vue

@@ -112,6 +112,7 @@ import {post} from "@/api/common";
 
 interface StepParams{
   loginUserID: string,
+  openID:string,
   statusVal: number
 }
 
@@ -130,6 +131,7 @@ export default defineComponent({
     });
     const curStepData = ref<StepParams>({
       loginUserID:"",
+      openID:"",
       statusVal: 1
     });
     const stepList = ref([
@@ -137,15 +139,11 @@ export default defineComponent({
         title: '基础信息',
         desc: '企业基础信息',
         val: 1
-      },{
-        title: '',
-        desc: '',
-        val: 2
       },
       {
         title: '岗位信息',
         desc: '企业岗位信息',
-        val: 3
+        val: 2
       }]);
     const presentAlert = async (message: string) => {
       const alert = await alertController.create({
@@ -174,7 +172,7 @@ export default defineComponent({
         text: '确定',
         role: 'confirm',
         handler: () => {
-          reload(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID);
+          reload(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID,curStepData.value.openID);
         },
       },
     ];
@@ -191,7 +189,7 @@ export default defineComponent({
         text: '取消',
         role: 'cancel',
         handler: () => {
-          reload(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID);
+          reload(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID,curStepData.value.openID);
         },
       },
       {
@@ -205,7 +203,7 @@ export default defineComponent({
             setInfoAlertOpen(true);*/
           }).finally(()=>{
             delLoading.value = false;
-            reload(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID);
+            reload(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID,curStepData.value.openID);
           });
         },
       },
@@ -245,15 +243,16 @@ export default defineComponent({
         e.target.complete();
         if (pageParams.total > pageParams.pageIndex * pageParams.pageSize) {
           pageParams.pageSize += 10;
-          loadData(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID);
+          loadData(pageParams.companyID,curStepData.value.statusVal,curStepData.value.loginUserID,curStepData.value.openID);
         }
       }, 500);
     }
-    const loadData = async function (companyID:any,status:any,userID:string) {
+    const loadData = async function (companyID:any,status:any,userID:any,openId:any) {
       loading.value = true;
       pageParams.companyID = companyID;
       curStepData.value.statusVal = status;
       curStepData.value.loginUserID = userID;
+      curStepData.value.openID = openId;
       //console.log("S",pageParams);
       const result:any = await getCompanyPostList(pageParams);
       postList.value = postList.value.concat(result.list);
@@ -262,17 +261,17 @@ export default defineComponent({
       loading.value = false;
     };
 
-    const reload = (companyID:any,status:any,userID:any) => {
+    const reload = (companyID:any,status:any,userID:any,openId:any) => {
       pageParams.pageIndex = 1;
       postList.value = [];
-      loadData(companyID,status,userID);
+      loadData(companyID,status,userID,openId);
       /*const jsonPostList = localStorage.getItem("postData");
       postList.value = JSON.parse(jsonPostList ?? "");*/
     };
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.id,route.query.status,route.query.userID);
+        reload(route.query.id,route.query.status,route.query.userID,route.query.openId);
     });
 
     return {

+ 14 - 11
h5app/src/views/pages/jobUserInfo/userEdit.vue

@@ -468,12 +468,14 @@ export default defineComponent({
         email:'',
         hobby:null,
         personalSkills:null,
+        openId:null
       }});
     const pageParams = reactive({
       pageIndex: 1,
       pageSize: 5,
       total:0,
-      jobUserID:''
+      jobUserID:'',
+      openID:''
     });
     const baseDataRule = computed(()=>{
       return {baseData:{
@@ -509,7 +511,7 @@ export default defineComponent({
         text: '确定',
         role: 'confirm',
         handler: () => {
-          reload(baseInfoData.baseData.jobUserID,curStepData.value.statusVal,curStepData.value.loginUserID);
+          reload(baseInfoData.baseData.jobUserID,curStepData.value.statusVal,curStepData.value.loginUserID,baseInfoData.baseData.openId);
         },
       },
     ];
@@ -560,7 +562,7 @@ export default defineComponent({
             setInfoAlertOpen(true);*/
           }).finally(()=>{
             delLoading.value = false;
-            reload(baseInfoData.baseData.jobUserID,curStepData.value.statusVal,curStepData.value.loginUserID);
+            reload(baseInfoData.baseData.jobUserID,curStepData.value.statusVal,curStepData.value.loginUserID,baseInfoData.baseData.openId);
           });
         },
       },
@@ -644,7 +646,7 @@ export default defineComponent({
         e.target.complete();
         if (pageParams.total > pageParams.pageIndex * pageParams.pageSize) {
           pageParams.pageSize += 5;
-          loadData(pageParams.jobUserID,curStepData.value.statusVal,curStepData.value.loginUserID);
+          loadData(pageParams.jobUserID,curStepData.value.statusVal,curStepData.value.loginUserID,pageParams.openID);
         }
       }, 500);
     }
@@ -701,17 +703,19 @@ export default defineComponent({
       await regionChange();
     }
 
-    const loadData = async (jobUserID: any,status:any,userId:any) => {
+    const loadData = async (jobUserID: any,status:any,userId:any,openId:any) => {
       loading.value = true;
       pageParams.jobUserID = jobUserID;
+      pageParams.openID = openId;
       baseInfoData.baseData.jobUserID = jobUserID;
+      baseInfoData.baseData.openId = openId;
       curStepData.value.statusVal = status;
       curStepData.value.loginUserID = userId;
       console.log("当前curStepData",curStepData.value);
       if(curStepData.value.statusVal==1){
         const reqData = await getJobUserById(jobUserID,userId);
         baseInfoData.baseData = reqData;
-        console.log('baseData',baseInfoData.baseData);
+        console.log("当前baseInfoData",baseInfoData.baseData);
         await getStreetList();
       }
       else if(curStepData.value.statusVal==2){
@@ -737,20 +741,19 @@ export default defineComponent({
 
     watch(() => route.query, () => {
       if (route.query.reload) {
-        loadData(route.query.jobUserID,route.query.status,route.query.loginUserId);
+        loadData(route.query.jobUserID,route.query.status,route.query.loginUserId,route.query.openId);
       }
     });
 
-    const reload = (jobUserID:any,status:any,userId:any) => {
+    const reload = (jobUserID:any,status:any,userId:any,openId:any) => {
       pageParams.pageIndex = 1;
       expand.value = false;
-      console.log("status",status);
-      loadData(jobUserID,status,userId);
+      loadData(jobUserID,status,userId,openId);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.jobUserID,route.query.status,route.query.loginUserId);
+        reload(route.query.jobUserID,route.query.status,route.query.loginUserId,route.query.openId);
     });
 
     return {

+ 9 - 10
h5app/src/views/pages/jobhunt/list.vue

@@ -52,7 +52,7 @@
       <b-empty v-if="dataList.length<=0" :loading="loading"/>
       <ion-infinite-scroll threshold="100px" @ionInfinite="onScroll($event)">
         <ion-infinite-scroll-content
-            :loadingText="pagination.total>pagination.pageIndex*pagination.pageSize?'正在加载...':'暂无更多'"
+            :loadingText="pagination.total>pagination.current*pagination.pageSize?'正在加载...':'暂无更多'"
             loadingSpinner="bubbles">
         </ion-infinite-scroll-content>
       </ion-infinite-scroll>
@@ -86,6 +86,7 @@ import {arrowBackOutline,addCircleOutline,chevronForwardOutline,buildOutline,tra
 import {useRouter} from "vue-router";
 import {computed, defineComponent, reactive, ref} from 'vue';
 import {IonIcon, onIonViewDidEnter} from '@ionic/vue';
+import BEmpty from "@/components/empty.vue";
 import {getJobUserList} from "@/api/jobUserInfo";
 import {getJobHuntListByJobUserID} from "@/api/jobHuntInfo";
 import {post} from "@/api/common";
@@ -93,7 +94,7 @@ import {useUserStore} from "@/store/modules/user";
 
 export default defineComponent({
   name: 'jobUserList',
-  components: {IonIcon},
+  components: {IonIcon,BEmpty},
   setup() {
     const router = useRouter();
     const curUserID = ref("");
@@ -101,7 +102,7 @@ export default defineComponent({
     const loading = ref(true);
     const pagination = computed(() => ({
       total: total,
-      pageIndex: searchParams.pageIndex,
+      current: searchParams.pageIndex,
       pageSize: searchParams.pageSize
     }));
     const searchParams = reactive({
@@ -110,7 +111,6 @@ export default defineComponent({
       name:''
     });
     const dataList = ref<any>([]);
-    const colors = ref(["secondary", "tertiary", "success", "warning"]);
     const calculateAge = (idCardNumber:string) => {
       // 假设身份证号中出生日期的格式为YYYYMMDD
       const birthYear = parseInt(idCardNumber.substring(6, 10), 10);
@@ -130,10 +130,9 @@ export default defineComponent({
     }
     const loadData = async function () {
       loading.value = true;
-      const loginUserInfo = useUserStore().getUserInfo;
-      curUserID.value = loginUserInfo.userID == undefined?"":loginUserInfo.userID;
       getJobUserList(searchParams).then(data=>{
         dataList.value = dataList.value.concat(data.list);
+        total.value = data.total;
         (dataList.value as any[]).map(item=>{
           if(item.identityNumber){
             item.age = calculateAge(item.identityNumber)+"岁";
@@ -142,9 +141,10 @@ export default defineComponent({
             item.jobHuntCount = data.total;
           });
         });
-        //console.log("dataList",dataList.value);
-        total.value = data.total;
+        console.log("dataList",dataList.value);
       });
+      const loginUserInfo = useUserStore().getUserInfo;
+      curUserID.value = loginUserInfo.userID == undefined?"":loginUserInfo.userID;
       loading.value = false;
     }
 
@@ -157,7 +157,7 @@ export default defineComponent({
     const onScroll = (e: any) => {
       setTimeout(() => {
         e.target.complete();
-        if (pagination.value.total.value > pagination.value.pageIndex * pagination.value.pageSize) {
+        if (pagination.value.total.value > pagination.value.current * pagination.value.pageSize) {
           searchParams.pageIndex += 1;
           loadData();
         }
@@ -254,7 +254,6 @@ export default defineComponent({
       buildOutline,
       trashOutline,
       router,
-      colors,
       total,
       loading,
       pagination,

+ 1 - 3
h5app/src/views/pages/post/edit.vue

@@ -200,14 +200,12 @@ import {getSysDictionaryList} from "@/api/system/dictionary";
 import {getCompanyBySiteID} from "@/api/company";
 import {useUserStore} from '@/store/modules/user';
 import dayjs from "dayjs";
-import Picker from "@/components/picker.vue";
 import PostSelection from "@/components/postSelection.vue";
 
 export default defineComponent({
   name: 'PostEdit',
   components:{
-    PostSelection,
-    Picker
+    PostSelection
   },
   setup() {
     const router = useRouter();

+ 16 - 5
src/main/java/com/hz/employmentsite/config/WebConfiguration.java

@@ -62,12 +62,23 @@ public class WebConfiguration implements WebMvcConfigurer {
         excludePath.add("/api/system/file/downFileToUrl/**");  //下载附件
         excludePath.add("/api/common/getQRCode");
         excludePath.add("/api/user/getUserInfo");
-        excludePath.add("/api/jobUserService/jobUser/getDataByID");
-        excludePath.add("/api/jobUserService/jobUser/getEducationList");
-        excludePath.add("/api/jobUserService/jobUser/getExperienceList");
-        excludePath.add("/api/companyService/company/getCompanyByID");
         excludePath.add("/api/jobusermgr/recommendmgt/getListById");
-        excludePath.add("/api/companyService/post/getPostByID");
+        excludePath.add("/api/jobUserService/jobUser/getEducationList");//查询某求职人员所有教育经验
+        excludePath.add("/api/jobUserService/jobUser/getExperienceList");//查询某求职人员所有工作经验
+
+        //扫码填写求职、企业信息所用API接口
+        excludePath.add("/api/jobUserService/jobUser/getDataByID");//查询单条求职人员数据
+        excludePath.add("/api/companyService/company/getCompanyByID");//查询单条企业信息数据
+        excludePath.add("/api/companyService/post/getPostByID");//查询单条岗位信息数据
+        excludePath.add("/api/companyService/post/getList");//查询某企业所有 岗位信息(分页)
+        excludePath.add("/api/jobUserService/experience/getById"); //获取单条工作经验
+        excludePath.add("/api/jobUserService/experience/getListByJobUserID");//查询某求职人员所有工作经验(分页)
+        excludePath.add("/api/jobUserService/education/getById"); //获取单条教育经历
+        excludePath.add("/api/jobUserService/education/getListByJobUserID");//查询某求职人员所有教育经验(分页)
+        excludePath.add("/api/jobUserService/jobHunt/get"); //获取单条求职意向
+        excludePath.add("/api/jobUserService/jobHunt/getList");//查询某求职人员所有求职意向(分页)
+
+
         excludePath.add("/api/wx/**");
         excludePath.add("/static/**");  //静态资源
         excludePath.add("/mobile/**");  //静态资源

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

@@ -130,6 +130,7 @@ public class CompanyServiceImpl implements CompanyService {
             dbData.setInsuredCount(data.getInsuredCount());
             dbData.setLongitude(data.getLongitude());
             dbData.setLatitude(data.getLatitude());
+            dbData.setOpenId(data.getOpenId());
             dbData.setCreateTime(new Date());
             dbData.setCreateUserID(userId);
             dbData.setModifyTime(new Date());
@@ -158,6 +159,7 @@ public class CompanyServiceImpl implements CompanyService {
             dbData.setInsuredCount(data.getInsuredCount());
             dbData.setLongitude(data.getLongitude());
             dbData.setLatitude(data.getLatitude());
+            dbData.setOpenId(data.getOpenId());
             dbData.setModifyTime(new Date());
             dbData.setModifyUserID(userId);
             result = pcCompanyMapper.updateByPrimaryKeySelective(dbData);

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

@@ -369,6 +369,7 @@ public class JobUserServiceImpl implements JobUserService {
             dbData.setHobby(data.getHobby());
             dbData.setKeyPersonTypeID(data.getKeyPersonTypeID());
             dbData.setPersonalSkills(data.getPersonalSkills());
+            dbData.setOpenId(data.getOpenId());
             dbData.setCreateTime(new Date());
             dbData.setCreateUserID(userId);
             result = pcJobuserMapper.insert(dbData);
@@ -406,6 +407,7 @@ public class JobUserServiceImpl implements JobUserService {
             dbData.setHobby(data.getHobby());
             dbData.setKeyPersonTypeID(data.getKeyPersonTypeID());
             dbData.setPersonalSkills(data.getPersonalSkills());
+            dbData.setOpenId(data.getOpenId());
             dbData.setModifyTime(new Date());
             dbData.setModifyUserID(userId);
             result = pcJobuserMapper.updateByPrimaryKeySelective(dbData);

+ 1 - 0
src/main/java/com/hz/employmentsite/vo/companyService/CompanyVo.java

@@ -77,6 +77,7 @@ public class CompanyVo {
     public String longitude;
     public String latitude;
 
+    public String openId;
 
     public String errorMessage;
 

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobUserVo.java

@@ -88,6 +88,8 @@ public class JobUserVo {
     private String modifyUserID;
     private Date modifyTime;
 
+    public String openId;
+
     public String genderName;
     public String cultureName;
     public String siteName;