Browse Source

feat: 企业,岗位,求职人员,求职意向删除时记录日志

zhangying 8 months ago
parent
commit
f6915bb912
29 changed files with 338 additions and 56 deletions
  1. 2 0
      doc/待更新脚本.txt
  2. 16 0
      h5app/src/api/common.ts
  3. 5 2
      h5app/src/api/jobHuntInfo/index.ts
  4. 6 2
      h5app/src/views/pages/company/postList.vue
  5. 6 2
      h5app/src/views/pages/jobUserInfo/postList.vue
  6. 9 2
      h5app/src/views/pages/jobUserInfo/userEdit.vue
  7. 8 2
      h5app/src/views/pages/jobhunt/edit.vue
  8. 4 1
      h5app/src/views/pages/jobhunt/recommend/list.vue
  9. 3 2
      src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java
  10. 5 4
      src/main/java/com/hz/employmentsite/controller/companyService/PostController.java
  11. 7 4
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java
  12. 3 2
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java
  13. 6 0
      src/main/java/com/hz/employmentsite/mapper/SysLogMapper.java
  14. 10 0
      src/main/java/com/hz/employmentsite/model/SysLog.java
  15. 24 1
      src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java
  16. 47 5
      src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java
  17. 61 9
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java
  18. 25 1
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java
  19. 2 1
      src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java
  20. 3 2
      src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java
  21. 3 2
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobHuntService.java
  22. 2 3
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobUserService.java
  23. 64 3
      src/main/resources/mapping/SysLogMapper.xml
  24. 1 1
      src/main/resources/mapping/cquery/SysLogCQuery.xml
  25. 3 2
      vue/src/api/companyService/post.ts
  26. 2 1
      vue/src/api/jobUserManager/jobhunt/index.ts
  27. 5 1
      vue/src/views/companyService/post/index.vue
  28. 5 1
      vue/src/views/jobUserManager/jobhunt/index.vue
  29. 1 0
      vue/src/views/system/log/index.vue

+ 2 - 0
doc/待更新脚本.txt

@@ -1,4 +1,5 @@
+-- 2024-6-25 日志表增加字段
 ALTER TABLE `sys_log` ADD COLUMN `IPAddress` varchar(255) NULL COMMENT 'IP地址' AFTER `UserID`;
+ALTER TABLE `sys_log` ADD COLUMN `OperationData` text NULL COMMENT '操作数据' AFTER `IPAddress`;
 -- 2024-6-25 求职人员新增是否扫码录入字段
 alter table pc_jobuser add column IsAppInsert int comment '是否扫码录入' after openId;

+ 16 - 0
h5app/src/api/common.ts

@@ -67,6 +67,22 @@ export function post(url: string,params: any,action:string) {
     },
   );
 }
+
+export function postByDataAndParams(url: string, data: any, params: any, action: string) {
+    return request<object>(
+        {
+            url: url,
+            method: 'post',
+            data: data,
+            params: params
+        },
+        {
+            successMsg: action + '成功!',
+            errorMsg: action + '失败!',
+            isNew: true,
+        },
+    );
+}
 export function postData(url: string,params: any) {
     return request<object>(
         {

+ 5 - 2
h5app/src/api/jobHuntInfo/index.ts

@@ -69,12 +69,15 @@ export function saveJobHuntCopy(data: any) {
     );
 }
 
-export function deleteJobHuntAndRecommendMgt(id:any) {
+export function deleteJobHuntAndRecommendMgt(id: any, loginUserID: any) {
     return request<object>(
         {
             url: 'jobUserService/jobHunt/deleteJobHuntAndRecommendMgt',
             method: 'post',
-            params: {id},
+            params: {
+                id,
+                loginUserID
+            },
         },
         {
             isNew: true,

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

@@ -108,7 +108,8 @@ import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {arrowBackOutline, addCircleOutline,trashOutline} from 'ionicons/icons';
 import {getCompanyPostList} from '@/api/company/index'
 import dayjs from "dayjs";
-import {post} from "@/api/common";
+import {post, postByDataAndParams} from "@/api/common";
+import {useUserStore} from "@/store/modules/user";
 
 interface StepParams{
   name: string,
@@ -118,6 +119,9 @@ interface StepParams{
 export default defineComponent({
   name: 'PostList',
   setup() {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo);
+
     const router = useRouter();
     const route = useRoute();
     const loading = ref(false);
@@ -205,7 +209,7 @@ export default defineComponent({
         role: 'confirm',
         handler: () => {
           delLoading.value = true;
-          post("companyService/post/delete",[delPostID.value],"岗位信息删除").then((res) => {
+          postByDataAndParams("companyService/post/delete", [delPostID.value], {loginUserID: userInfo.value.userID}, "岗位信息删除").then((res) => {
            /* infoAlterData.title = "提示";
             infoAlterData.message = "删除成功";
             setInfoAlertOpen(true);*/

+ 6 - 2
h5app/src/views/pages/jobUserInfo/postList.vue

@@ -108,7 +108,8 @@ import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {arrowBackOutline, addCircleOutline,trashOutline} from 'ionicons/icons';
 import {getCompanyPostList} from '@/api/company/index'
 import dayjs from "dayjs";
-import {post} from "@/api/common";
+import {post, postByDataAndParams} from "@/api/common";
+import {useUserStore} from "@/store/modules/user";
 
 interface StepParams{
   loginUserID: string,
@@ -119,6 +120,9 @@ interface StepParams{
 export default defineComponent({
   name: 'PostList',
   setup() {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo);
+
     const router = useRouter();
     const route = useRoute();
     const loading = ref(false);
@@ -197,7 +201,7 @@ export default defineComponent({
         role: 'confirm',
         handler: () => {
           delLoading.value = true;
-          post("companyService/post/delete",[delPostID.value],"岗位信息删除").then((res) => {
+          postByDataAndParams("companyService/post/delete", [delPostID.value], {loginUserID: userInfo.value.userID}, "岗位信息删除").then((res) => {
            /* infoAlterData.title = "提示";
             infoAlterData.message = "删除成功";
             setInfoAlertOpen(true);*/

+ 9 - 2
h5app/src/views/pages/jobUserInfo/userEdit.vue

@@ -483,7 +483,7 @@ import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {baseInfoSave, getJobUserById} from "@/api/jobUserInfo";
 import {required} from "@vuelidate/validators";
 import {useVuelidate} from "@vuelidate/core";
-import {post} from "@/api/common";
+import {post, postByDataAndParams} from "@/api/common";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import {getSiteDataList} from "@/api/siteInfo";
 import {getRegionCodeList, getStreetCodeList} from "@/api/system/area";
@@ -496,6 +496,7 @@ import {getPosition} from "@/utils/position";
 import crtyptoHelp from "@/utils/crypto"
 import BImage from "@/components/bImage.vue";
 import {getUrlParams} from "@/utils/urlUtils";
+import {useUserStore} from "@/store/modules/user";
 
 interface SelectProps {
   name: string,
@@ -509,6 +510,9 @@ export default defineComponent({
   name: "jobUserInfoEdit",
   components: {BImage, CategorySelection},
   setup() {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo);
+
     const route = useRoute();
     const router = useRouter();
     const curOpenID = ref("");
@@ -678,7 +682,10 @@ export default defineComponent({
             postUrl.value = curStepData.value.statusVal==3 ?"jobUserService/experience/deleteExperience":"jobUserService/jobHunt/delete";
             actionName.value = curStepData.value.statusVal==3 ?"删除工作经验":"删除求职意向";
           }
-          post(postUrl.value,[delID.value],actionName.value).then((res) => {
+          const param = {
+            loginUserID: userInfo.value.userID
+          }
+          postByDataAndParams(postUrl.value, [delID.value], curStepData.value.statusVal == 4 ? param : {}, actionName.value).then((res) => {
             /*infoAlterData.title = "提示";
             infoAlterData.message = "删除成功";
             setInfoAlertOpen(true);*/

+ 8 - 2
h5app/src/views/pages/jobhunt/edit.vue

@@ -486,7 +486,7 @@
 <script lang="ts">
 import {arrowBackOutline,addCircleOutline,trashOutline} from 'ionicons/icons';
 import {reactive,defineComponent, computed,watch,ref,toRefs} from "vue";
-import {post} from "@/api/common";
+import {post, postByDataAndParams} from "@/api/common";
 import {useRoute, useRouter} from "vue-router";
 import {required} from "@vuelidate/validators";
 import {useVuelidate} from "@vuelidate/core";
@@ -518,6 +518,9 @@ export default defineComponent({
   name: 'jobUserEdit',
   components: {BImage, CategorySelection, LabelSelection},
   setup() {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo);
+
     const router = useRouter();
     const route = useRoute();
     const isAllowCommit = ref(true);
@@ -684,7 +687,10 @@ export default defineComponent({
             postUrl.value = curStepData.value.statusVal==3 ?"jobUserService/experience/deleteExperience":"jobUserService/jobHunt/delete";
             actionName.value = curStepData.value.statusVal==3 ?"删除工作经验":"删除求职意向";
           }
-          post(postUrl.value,[delID.value],actionName.value).then((res) => {
+          const param = {
+            loginUserID: userInfo.value.userID
+          }
+          postByDataAndParams(postUrl.value, [delID.value], curStepData.value.statusVal == 4 ? param : {}, actionName.value).then((res) => {
             /*infoAlterData.title = "提示";
             infoAlterData.message = "删除成功";
             setInfoAlertOpen(true);*/

+ 4 - 1
h5app/src/views/pages/jobhunt/recommend/list.vue

@@ -81,6 +81,9 @@ export default defineComponent({
   name: 'RecommendCompanyPostList',
   components: {IonIcon, BEmpty},
   setup() {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo)
+
     const router = useRouter();
     const route = useRoute();
     const total = ref(10);
@@ -156,7 +159,7 @@ export default defineComponent({
           {
             text: '确认删除',
             handler: () => {
-              deleteJobHuntAndRecommendMgt(id).then(result => {
+              deleteJobHuntAndRecommendMgt(id, userInfo.value.userID).then(result => {
                 if (result)
                   reload();
               });

+ 3 - 2
src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java

@@ -19,6 +19,7 @@ import com.hz.employmentsite.vo.dataMap.CompanyPostMapVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
@@ -128,8 +129,8 @@ public class CompanyController {
 
     @ResponseBody
     @PostMapping("/delete")
-    public BaseResponse<Integer> delete(@RequestBody List<String> ids) {
-        var result = companyService.delete(ids);
+    public BaseResponse<Integer> delete(HttpServletRequest request, @RequestBody List<String> ids) {
+        var result = companyService.delete(request, ids);
         if (result <= 0) {
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         }

+ 5 - 4
src/main/java/com/hz/employmentsite/controller/companyService/PostController.java

@@ -14,6 +14,7 @@ import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
@@ -122,8 +123,8 @@ public class PostController {
 
     @ResponseBody
     @PostMapping("/delete")
-    public BaseResponse<Integer> delete(@RequestBody List<String> idList) {
-        var result = postService.delete(idList);
+    public BaseResponse<Integer> delete(HttpServletRequest request, @RequestBody List<String> idList, @RequestParam String loginUserID) {
+        var result = postService.delete(request, idList, loginUserID);
         if (result <= 0) {
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         }
@@ -132,8 +133,8 @@ public class PostController {
 
     @ResponseBody
     @PostMapping("/deletePostAndRecommendMgt")
-    public BaseResponse<Integer> deletePostAndRecommendMgt(String id) {
-        Integer result = postService.deletePostAndRecommendMgt(id);
+    public BaseResponse<Integer> deletePostAndRecommendMgt(HttpServletRequest request, String id, @RequestParam String loginUserID) {
+        Integer result = postService.deletePostAndRecommendMgt(request, id, loginUserID);
         if (result <= 0)
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         return RespGenerstor.success(1);

+ 7 - 4
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java

@@ -13,6 +13,7 @@ import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.util.*;
@@ -75,8 +76,10 @@ public class JobHuntController {
 
     @ResponseBody
     @PostMapping("/delete")
-    public BaseResponse<Integer> delete(@RequestBody List<String> idList){
-        var result = jobhuntService.delete(idList);
+    public BaseResponse<Integer> delete(HttpServletRequest request,
+                                        @RequestBody List<String> idList,
+                                        @RequestParam String loginUserID){
+        var result = jobhuntService.delete(request, idList, loginUserID);
         if (result <= 0) {
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         }
@@ -85,8 +88,8 @@ public class JobHuntController {
 
     @ResponseBody
     @PostMapping("/deleteJobHuntAndRecommendMgt")
-    public BaseResponse<Integer> deleteJobHuntAndRecommendMgt(String id) {
-        Integer result = jobhuntService.deleteJobHuntAndRecommendMgt(id);
+    public BaseResponse<Integer> deleteJobHuntAndRecommendMgt(HttpServletRequest request, String id, String loginUserID) {
+        Integer result = jobhuntService.deleteJobHuntAndRecommendMgt(request, id, loginUserID);
         if (result <= 0)
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         return RespGenerstor.success(1);

+ 3 - 2
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java

@@ -20,6 +20,7 @@ import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
@@ -161,8 +162,8 @@ public class JobUserController {
 
     @ResponseBody
     @PostMapping("/delete")
-    public BaseResponse delete(@RequestBody List<String> ids) {
-        var result = jobuserService.delete(ids);
+    public BaseResponse delete(HttpServletRequest request, @RequestBody List<String> ids) {
+        var result = jobuserService.delete(request, ids);
         if (result <= 0) {
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         }

+ 6 - 0
src/main/java/com/hz/employmentsite/mapper/SysLogMapper.java

@@ -16,15 +16,21 @@ public interface SysLogMapper {
 
     int insertSelective(SysLog row);
 
+    List<SysLog> selectByExampleWithBLOBs(SysLogExample example);
+
     List<SysLog> selectByExample(SysLogExample example);
 
     SysLog selectByPrimaryKey(String logID);
 
     int updateByExampleSelective(@Param("row") SysLog row, @Param("example") SysLogExample example);
 
+    int updateByExampleWithBLOBs(@Param("row") SysLog row, @Param("example") SysLogExample example);
+
     int updateByExample(@Param("row") SysLog row, @Param("example") SysLogExample example);
 
     int updateByPrimaryKeySelective(SysLog row);
 
+    int updateByPrimaryKeyWithBLOBs(SysLog row);
+
     int updateByPrimaryKey(SysLog row);
 }

+ 10 - 0
src/main/java/com/hz/employmentsite/model/SysLog.java

@@ -17,6 +17,8 @@ public class SysLog {
 
     private Date logTime;
 
+    private String operationData;
+
     public String getLogID() {
         return logID;
     }
@@ -72,4 +74,12 @@ public class SysLog {
     public void setLogTime(Date logTime) {
         this.logTime = logTime;
     }
+
+    public String getOperationData() {
+        return operationData;
+    }
+
+    public void setOperationData(String operationData) {
+        this.operationData = operationData == null ? null : operationData.trim();
+    }
 }

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

@@ -8,12 +8,14 @@ import com.hz.employmentsite.mapper.cquery.CompanyCQuery;
 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.AccountService;
 import com.hz.employmentsite.services.service.companyService.CompanyService;
 import com.hz.employmentsite.services.service.companyService.FirmService;
 import com.hz.employmentsite.services.service.companyService.IndustryService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
 import com.hz.employmentsite.util.RegexUtils;
 import com.hz.employmentsite.util.StringUtils;
+import com.hz.employmentsite.util.ip.IpUtils;
 import com.hz.employmentsite.vo.baseSettings.LabelVo;
 import com.hz.employmentsite.vo.companyService.AppCompanyPostVo;
 import com.hz.employmentsite.vo.companyService.CompanyVo;
@@ -22,6 +24,7 @@ import com.hz.employmentsite.vo.dataMap.CompanyPostMapVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -77,6 +80,10 @@ public class CompanyServiceImpl implements CompanyService {
 
     @Autowired
     private PostCQuery postCQuery;
+    @Autowired
+    private AccountService accountService;
+    @Autowired
+    private SysLogMapper sysLogMapper;
 
     @Override
     public PageInfo<CompanyVo> getList(Integer pageIndex, Integer pageSize,
@@ -280,8 +287,9 @@ public class CompanyServiceImpl implements CompanyService {
 
 
     @Override
-    public Integer delete(List<String> ids) {
+    public Integer delete(HttpServletRequest request, List<String> ids) {
         int result = 0;
+        String delInfo = "删除企业:";
         for(String curCompanyID : ids){
             PcPostExample pcPostExp = new PcPostExample();
             pcPostExp.or().andCompanyIDEqualTo(curCompanyID);
@@ -289,15 +297,30 @@ public class CompanyServiceImpl implements CompanyService {
             if( curCompanyPostList != null && curCompanyPostList.size() > 0){
                 throw new BaseException("10004","所选企业已有关联岗位信息,不允许删除!");
             }else{
+                PcCompanyWithBLOBs company = pcCompanyMapper.selectByPrimaryKey(curCompanyID);
                 int count = pcCompanyMapper.deleteByPrimaryKey(curCompanyID);
                 if(count>0){
                     PcLabelCompanyExample labelEmp = new PcLabelCompanyExample();
                     labelEmp.or().andCompanyIDEqualTo(curCompanyID);
                     pcLabelCompanyMapper.deleteByExample(labelEmp);
+                    // 记录被删除的企业信息
+                    delInfo += company.getCompanyName() + ",";
                 }
                 result+=count;
             }
         }
+        if (result > 0) {
+            SysLog sysLog = new SysLog();
+            sysLog.setLogID(UUID.randomUUID().toString());
+            sysLog.setPageName("企业信息管理");
+            sysLog.setPageUrl("/companyService/enterprise/delete");
+            sysLog.setActionName("删除企业");
+            sysLog.setUserID(accountService.getLoginUserID());
+            sysLog.setLogTime(new Date());
+            sysLog.setIPAddress(IpUtils.getIpAddr(request));
+            sysLog.setOperationData(delInfo.substring(0, delInfo.length() - 1)); // 注意移除最后一个,
+            sysLogMapper.insert(sysLog);
+        }
         return result;
     }
 

+ 47 - 5
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -6,17 +6,18 @@ 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.mapper.cquery.RecommendMgtCQuery;
 import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.companyService.PostService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
 import com.hz.employmentsite.util.RegexUtils;
 import com.hz.employmentsite.util.StringUtils;
+import com.hz.employmentsite.util.ip.IpUtils;
 import com.hz.employmentsite.vo.companyService.PostVo;
 import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -62,6 +63,9 @@ public class PostServiceImpl implements PostService {
     @Autowired
     private PcWorkcategoryMapper pcWorkcategoryMapper;
 
+    @Autowired
+    private SysLogMapper sysLogMapper;
+
 
     @Override
     public PageInfo<PostVo> getList(Integer page, Integer rows, List<String> postIDList,
@@ -307,7 +311,7 @@ public class PostServiceImpl implements PostService {
 
 
     @Override
-    public int delete(List<String> idList) {
+    public int delete(HttpServletRequest request, List<String> idList, String loginUserID) {
         int result = 0;
         PcRecommendMgtExample recommendMgtExp = new PcRecommendMgtExample();
         recommendMgtExp.or().andPostIDIn(idList);
@@ -317,17 +321,35 @@ public class PostServiceImpl implements PostService {
         }
         PcPostExample postExp = new PcPostExample();
         postExp.or().andPostIDIn(idList);
+        // 查询岗位的相关企业
+        List<PostVo> postVos = postCQuery.selectPostList(stringUtils.ListToInSql(idList), null, null, null, null, null, null, null, null, null, null, false);
+        // 记录删除数据
+        String delInfo = "删除岗位:";
+        for (PostVo post : postVos) {
+            delInfo += post.getCompanyName() + "(" + post.getProfessionName() + "),";
+        }
         result = pcPostMapper.deleteByExample(postExp);
         if (result > 0) {
             PcLabelPostExample labelEmp = new PcLabelPostExample();
             labelEmp.or().andPostIDIn(idList);
             pcLabelPostMapper.deleteByExample(labelEmp);
+            // 记录删除日志
+            SysLog sysLog = new SysLog();
+            sysLog.setLogID(UUID.randomUUID().toString());
+            sysLog.setPageName("岗位信息管理");
+            sysLog.setPageUrl("/companyService/post/delete");
+            sysLog.setActionName("删除岗位");
+            sysLog.setUserID(loginUserID);
+            sysLog.setLogTime(new Date());
+            sysLog.setIPAddress(IpUtils.getIpAddr(request));
+            sysLog.setOperationData(delInfo.substring(0, delInfo.length() - 1)); // 注意移除最后一个,
+            sysLogMapper.insert(sysLog);
         }
         return result;
     }
 
     @Override
-    public int deletePostAndRecommendMgt(String id) {
+    public int deletePostAndRecommendMgt(HttpServletRequest request, String id, String loginUserID) {
         try {
             PcRecommendMgtExample exp = new PcRecommendMgtExample();
             PcRecommendMgtExample.Criteria cro = exp.or();
@@ -337,8 +359,28 @@ public class PostServiceImpl implements PostService {
             PcLabelPostExample labelEmp = new PcLabelPostExample();
             labelEmp.or().andPostIDEqualTo(id);
             pcLabelPostMapper.deleteByExample(labelEmp);
-
-            return pcPostMapper.deleteByPrimaryKey(id);
+            // 查询岗位的相关企业
+            List<PostVo> postVos = postCQuery.selectPostList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null, false);
+            // 记录删除数据
+            String delInfo = "删除岗位:";
+            for (PostVo post : postVos) {
+                delInfo += post.getCompanyName() + "(" + post.getProfessionName() + ")";
+            }
+            int result = pcPostMapper.deleteByPrimaryKey(id);
+            if (result > 0) {
+                // 记录删除日志
+                SysLog sysLog = new SysLog();
+                sysLog.setLogID(UUID.randomUUID().toString());
+                sysLog.setPageName("岗位信息管理");
+                sysLog.setPageUrl("/companyService/post/delete");
+                sysLog.setActionName("删除岗位");
+                sysLog.setUserID(loginUserID);
+                sysLog.setLogTime(new Date());
+                sysLog.setIPAddress(IpUtils.getIpAddr(request));
+                sysLog.setOperationData(delInfo);
+                sysLogMapper.insert(sysLog);
+            }
+            return result;
         } catch (Exception e) {
             e.printStackTrace();
             return 0;

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

@@ -6,19 +6,18 @@ import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.mapper.*;
 import com.hz.employmentsite.mapper.cquery.JobHuntCQuery;
 import com.hz.employmentsite.model.*;
+import com.hz.employmentsite.services.service.AccountService;
 import com.hz.employmentsite.services.service.jobUserManager.JobHuntService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
 import com.hz.employmentsite.util.StringUtils;
+import com.hz.employmentsite.util.ip.IpUtils;
 import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
-import org.apache.poi.hpsf.Decimal;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-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("JobHuntService")
@@ -49,6 +48,11 @@ public class JobHuntServiceImpl implements JobHuntService {
     @Autowired
     private StringUtils stringUtils;
 
+    @Autowired
+    private AccountService accountService;
+    @Autowired
+    private SysLogMapper sysLogMapper;
+
     @Override
     public PageInfo<JobHuntVo> getList(Integer pageIndex, Integer pageSize, List<String> jobHuntIDList, String jobUserID, String jobUserName, String professionName,
                                        BigDecimal minWorkYear, BigDecimal maxWorkYear, Integer jobHuntTypeID, Integer jobUserTypeID,
@@ -97,25 +101,73 @@ public class JobHuntServiceImpl implements JobHuntService {
     }
 
     @Override
-    public Integer delete(List<String> idList){
+    public Integer delete(HttpServletRequest request, List<String> idList, String loginUserID){
         PcRecommendMgtExample recommendMgtExp = new PcRecommendMgtExample();
         recommendMgtExp.or().andJobHuntIDIn(idList);
         List<PcRecommendMgt> resultList = pcRecommendMgtMapper.selectByExample(recommendMgtExp).stream().toList();
         if( resultList.size() > 0 ) {
             throw new BaseException("10004","已存在该意向的推荐数据,删除失败!");
         }
+        // 查询数据
+        List<JobHuntVo> jobHuntList = jobhuntCQuery.getJobHuntList(stringUtils.ListToInSql(idList), null, null,
+                null, null, null,
+                null, null, null,
+                null, null, null,
+                null, null, null, null, false);
+        String delInfo = "删除求职意向:";
+        for (JobHuntVo item : jobHuntList) {
+            delInfo += item.getJobUserName() + "("+item.getProfessionName() + "),";
+        }
         PcJobhuntExample contactExample = new PcJobhuntExample();
         contactExample.or().andJobHuntIDIn(idList);
-        return pcJobhuntMapper.deleteByExample(contactExample);
+        int result = pcJobhuntMapper.deleteByExample(contactExample);
+        if (result > 0) {
+            SysLog sysLog = new SysLog();
+            sysLog.setLogID(UUID.randomUUID().toString());
+            sysLog.setPageName("求职意向信息管理");
+            sysLog.setPageUrl("/jobusermgr/jobhunt/delete");
+            sysLog.setActionName("删除求职意向");
+            sysLog.setUserID(loginUserID);
+            sysLog.setLogTime(new Date());
+            sysLog.setIPAddress(IpUtils.getIpAddr(request));
+            sysLog.setOperationData(delInfo.substring(0, delInfo.length() - 1)); // 注意移除最后一个,
+            sysLogMapper.insert(sysLog);
+        }
+        return result;
     }
 
     @Override
-    public Integer deleteJobHuntAndRecommendMgt(String id){
+    public Integer deleteJobHuntAndRecommendMgt(HttpServletRequest request, String id, String loginUserID){
         try{
             PcRecommendMgtExample emp = new PcRecommendMgtExample();
             emp.or().andJobHuntIDEqualTo(id);
             pcRecommendMgtMapper.deleteByExample(emp);
-            return pcJobhuntMapper.deleteByPrimaryKey(id);
+            // 求职意向相关数据
+            List<JobHuntVo> jobHuntList = jobhuntCQuery.getJobHuntList(stringUtils.ListToInSql(Arrays.asList(id)), null, null,
+                    null, null, null,
+                    null, null, null,
+                    null, null, null,
+                    null, null, null, null, false);
+            // 删除求职意向
+            int result = pcJobhuntMapper.deleteByPrimaryKey(id);
+            if (result > 0) {
+                // 保存日志信息
+                String delInfo = "删除求职意向:";
+                for (JobHuntVo item : jobHuntList) {
+                    delInfo += item.getJobUserName() + "("+item.getProfessionName() + ")";
+                }
+                SysLog sysLog = new SysLog();
+                sysLog.setLogID(UUID.randomUUID().toString());
+                sysLog.setPageName("求职意向信息管理");
+                sysLog.setPageUrl("/jobusermgr/jobhunt/delete");
+                sysLog.setActionName("删除求职意向");
+                sysLog.setUserID(loginUserID);
+                sysLog.setLogTime(new Date());
+                sysLog.setIPAddress(IpUtils.getIpAddr(request));
+                sysLog.setOperationData(delInfo);
+                sysLogMapper.insert(sysLog);
+            }
+            return result;
         }catch (Exception e){
             e.printStackTrace();
             return 0;

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

@@ -9,10 +9,12 @@ import com.hz.employmentsite.mapper.cquery.JobUserCQuery;
 import com.hz.employmentsite.mapper.cquery.JobUserServiceCQuery;
 import com.hz.employmentsite.mapper.cquery.LabelCQuery;
 import com.hz.employmentsite.model.*;
+import com.hz.employmentsite.services.service.AccountService;
 import com.hz.employmentsite.services.service.jobUserManager.JobUserService;
 import com.hz.employmentsite.services.service.jobUserManager.JobUserServiceService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
 import com.hz.employmentsite.util.*;
+import com.hz.employmentsite.util.ip.IpUtils;
 import com.hz.employmentsite.vo.dataMap.JobUserMapVo;
 import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserServiceVo;
@@ -20,6 +22,7 @@ import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -72,6 +75,10 @@ public class JobUserServiceImpl implements JobUserService {
     private JobUserServiceService jobUserServiceService;
     @Autowired
     private JobUserServiceCQuery jobUserServiceCQuery;
+    @Autowired
+    private AccountService accountService;
+    @Autowired
+    private SysLogMapper sysLogMapper;
 
     @Override
     public PageInfo<JobUserVo> getList(Integer pageIndex, Integer pageSize,
@@ -247,10 +254,11 @@ public class JobUserServiceImpl implements JobUserService {
 
 
     @Override
-    public int delete(List<String> ids) {
+    public int delete(HttpServletRequest request, List<String> ids) {
         deleteEducation(ids);
         deleteExperience(ids);
         int result = 0;
+        String delInfo = "删除求职人员:";
         for(String curJobUserID: ids){
             PcJobhuntExample jobHuntExample = new PcJobhuntExample();
             jobHuntExample.or().andJobUserIDEqualTo(curJobUserID);
@@ -258,8 +266,12 @@ public class JobUserServiceImpl implements JobUserService {
             if( curJobUserHuntList != null && curJobUserHuntList.size()>0){
                 throw new BaseException("10004","所选求职人员已有关联的求职意向,不允许删除!");
             }else{
+                PcJobuser pcJobuser = pcJobuserMapper.selectByPrimaryKey(curJobUserID);
                 int count = pcJobuserMapper.deleteByPrimaryKey(curJobUserID);
                 if(count>0){
+                    // 记录被删除的求职人员信息
+                    delInfo += pcJobuser.getName() + ",";
+                    // 删除求职人员标签
                     PcLabelJobuserExample labelEmp = new PcLabelJobuserExample();
                     labelEmp.or().andJobuserIDEqualTo(curJobUserID);
                     pcLabelJobuserMapper.deleteByExample(labelEmp);
@@ -267,6 +279,18 @@ public class JobUserServiceImpl implements JobUserService {
                 result+=count;
             }
         }
+        if (result > 0) {
+            SysLog sysLog = new SysLog();
+            sysLog.setLogID(UUID.randomUUID().toString());
+            sysLog.setPageName("求职人员信息管理");
+            sysLog.setPageUrl("/jobusermgr/jobseeker/delete");
+            sysLog.setActionName("删除求职人员");
+            sysLog.setUserID(accountService.getLoginUserID());
+            sysLog.setLogTime(new Date());
+            sysLog.setIPAddress(IpUtils.getIpAddr(request));
+            sysLog.setOperationData(delInfo.substring(0, delInfo.length() - 1)); // 注意移除最后一个,
+            sysLogMapper.insert(sysLog);
+        }
         return result;
     }
 

+ 2 - 1
src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java

@@ -8,6 +8,7 @@ import com.hz.employmentsite.vo.companyService.AppCompanyPostVo;
 import com.hz.employmentsite.vo.companyService.CompanyVo;
 import com.hz.employmentsite.vo.dataMap.CompanyPostMapVo;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
 import java.util.List;
 
@@ -27,7 +28,7 @@ public interface CompanyService {
 
     Integer save(CompanyVo data, String userId);
 
-    Integer delete(List<String> id);
+    Integer delete(HttpServletRequest request, List<String> id);
 
     CompanyVo getDataById(String id,boolean isAllCompany);
 

+ 3 - 2
src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.vo.companyService.PostVo;
 import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
 import java.util.List;
 
@@ -21,7 +22,7 @@ public interface PostService {
     int save(PostVo data, String userId);
     int updatePostStatus(String postID, Integer status);
 
-    int delete(List<String> ids);
+    int delete(HttpServletRequest request, List<String> ids, String loginUserID);
 
     PostVo getDataById(String id,boolean isAllPost);
 
@@ -29,7 +30,7 @@ public interface PostService {
 
     List<PostVo> importPost(List<PostVo> dataList, String userID);
 
-    int deletePostAndRecommendMgt(String id);
+    int deletePostAndRecommendMgt(HttpServletRequest request, String id, String loginUserID);
 
     /**
      * 企业数据可视化地图页面获取岗位

+ 3 - 2
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobHuntService.java

@@ -3,6 +3,7 @@ package com.hz.employmentsite.services.service.jobUserManager;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -16,9 +17,9 @@ public interface JobHuntService {
 
     JobHuntVo get(String jobHuntId);
 
-    Integer delete(List<String> idList);
+    Integer delete(HttpServletRequest request, List<String> idList, String loginUserID);
 
-    Integer deleteJobHuntAndRecommendMgt(String id);
+    Integer deleteJobHuntAndRecommendMgt(HttpServletRequest request, String id, String loginUserID);
 
     Integer save(JobHuntVo data, String userId);
 

+ 2 - 3
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobUserService.java

@@ -4,11 +4,10 @@ import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.model.PcEducation;
 import com.hz.employmentsite.model.PcExperience;
 import com.hz.employmentsite.model.PcPost;
-import com.hz.employmentsite.model.SelectProps;
 import com.hz.employmentsite.vo.dataMap.JobUserMapVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
-import com.hz.employmentsite.vo.jobUserManager.ProfessionLevel;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
 import java.util.List;
 
@@ -34,7 +33,7 @@ public interface JobUserService {
 
     List<PcPost> getUserHuntList(String jobuserID);
 
-    int delete(List<String> ids);
+    int delete(HttpServletRequest request, List<String> ids);
 
     int save(JobUserVo data, String userId);
 

+ 64 - 3
src/main/resources/mapping/SysLogMapper.xml

@@ -10,6 +10,9 @@
     <result column="IPAddress" jdbcType="VARCHAR" property="IPAddress" />
     <result column="LogTime" jdbcType="TIMESTAMP" property="logTime" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.hz.employmentsite.model.SysLog">
+    <result column="OperationData" jdbcType="LONGVARCHAR" property="operationData" />
+  </resultMap>
   <sql id="Example_Where_Clause">
     <where>
       <foreach collection="oredCriteria" item="criteria" separator="or">
@@ -71,6 +74,25 @@
   <sql id="Base_Column_List">
     LogID, PageName, PageUrl, ActionName, UserID, IPAddress, LogTime
   </sql>
+  <sql id="Blob_Column_List">
+    OperationData
+  </sql>
+  <select id="selectByExampleWithBLOBs" parameterType="com.hz.employmentsite.model.SysLogExample" resultMap="ResultMapWithBLOBs">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    ,
+    <include refid="Blob_Column_List" />
+    from sys_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
   <select id="selectByExample" parameterType="com.hz.employmentsite.model.SysLogExample" resultMap="BaseResultMap">
     select
     <if test="distinct">
@@ -85,9 +107,11 @@
       order by ${orderByClause}
     </if>
   </select>
-  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="ResultMapWithBLOBs">
     select 
     <include refid="Base_Column_List" />
+    ,
+    <include refid="Blob_Column_List" />
     from sys_log
     where LogID = #{logID,jdbcType=VARCHAR}
   </select>
@@ -104,10 +128,10 @@
   <insert id="insert" parameterType="com.hz.employmentsite.model.SysLog">
     insert into sys_log (LogID, PageName, PageUrl, 
       ActionName, UserID, IPAddress, 
-      LogTime)
+      LogTime, OperationData)
     values (#{logID,jdbcType=VARCHAR}, #{pageName,jdbcType=VARCHAR}, #{pageUrl,jdbcType=VARCHAR}, 
       #{actionName,jdbcType=VARCHAR}, #{userID,jdbcType=VARCHAR}, #{IPAddress,jdbcType=VARCHAR}, 
-      #{logTime,jdbcType=TIMESTAMP})
+      #{logTime,jdbcType=TIMESTAMP}, #{operationData,jdbcType=LONGVARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.hz.employmentsite.model.SysLog">
     insert into sys_log
@@ -133,6 +157,9 @@
       <if test="logTime != null">
         LogTime,
       </if>
+      <if test="operationData != null">
+        OperationData,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="logID != null">
@@ -156,6 +183,9 @@
       <if test="logTime != null">
         #{logTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="operationData != null">
+        #{operationData,jdbcType=LONGVARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.hz.employmentsite.model.SysLogExample" resultType="java.lang.Long">
@@ -188,11 +218,28 @@
       <if test="row.logTime != null">
         LogTime = #{row.logTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="row.operationData != null">
+        OperationData = #{row.operationData,jdbcType=LONGVARCHAR},
+      </if>
     </set>
     <if test="example != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
   </update>
+  <update id="updateByExampleWithBLOBs" parameterType="map">
+    update sys_log
+    set LogID = #{row.logID,jdbcType=VARCHAR},
+      PageName = #{row.pageName,jdbcType=VARCHAR},
+      PageUrl = #{row.pageUrl,jdbcType=VARCHAR},
+      ActionName = #{row.actionName,jdbcType=VARCHAR},
+      UserID = #{row.userID,jdbcType=VARCHAR},
+      IPAddress = #{row.IPAddress,jdbcType=VARCHAR},
+      LogTime = #{row.logTime,jdbcType=TIMESTAMP},
+      OperationData = #{row.operationData,jdbcType=LONGVARCHAR}
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
   <update id="updateByExample" parameterType="map">
     update sys_log
     set LogID = #{row.logID,jdbcType=VARCHAR},
@@ -227,9 +274,23 @@
       <if test="logTime != null">
         LogTime = #{logTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="operationData != null">
+        OperationData = #{operationData,jdbcType=LONGVARCHAR},
+      </if>
     </set>
     where LogID = #{logID,jdbcType=VARCHAR}
   </update>
+  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.hz.employmentsite.model.SysLog">
+    update sys_log
+    set PageName = #{pageName,jdbcType=VARCHAR},
+      PageUrl = #{pageUrl,jdbcType=VARCHAR},
+      ActionName = #{actionName,jdbcType=VARCHAR},
+      UserID = #{userID,jdbcType=VARCHAR},
+      IPAddress = #{IPAddress,jdbcType=VARCHAR},
+      LogTime = #{logTime,jdbcType=TIMESTAMP},
+      OperationData = #{operationData,jdbcType=LONGVARCHAR}
+    where LogID = #{logID,jdbcType=VARCHAR}
+  </update>
   <update id="updateByPrimaryKey" parameterType="com.hz.employmentsite.model.SysLog">
     update sys_log
     set PageName = #{pageName,jdbcType=VARCHAR},

+ 1 - 1
src/main/resources/mapping/cquery/SysLogCQuery.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.hz.employmentsite.mapper.cquery.SysLogCQuery">
     <select id="selectLogList" resultType="com.hz.employmentsite.vo.system.LogModel">
-        select l.logID,l.pageUrl,l.actionName,l.userID,l.logTime,us.name as userName,us.loginID,l.pageName,l.IPAddress
+        select l.logID,l.pageUrl,l.actionName,l.userID,l.logTime,us.name as userName,us.loginID,l.pageName,l.IPAddress,l.operationData
         from sys_log l
         inner join sys_user us on l.userID = us.userID
         where 1=1

+ 3 - 2
vue/src/api/companyService/post.ts

@@ -48,12 +48,13 @@ export  function  savePost(data:any){
   });
 }
 
-export function del(idList: any) {
+export function del(idList: any, loginUserID: any) {
   return request<object>(
     {
       url: "companyService/post/delete",
       method: 'post',
-      data: idList
+      data: idList,
+      params: {loginUserID}
     },
     {
       isNew: true,

+ 2 - 1
vue/src/api/jobUserManager/jobhunt/index.ts

@@ -52,12 +52,13 @@ export function saveJobHuntCopy(data: any) {
   );
 }
 
-export function delJobHunt(data: any) {
+export function delJobHunt(data: any, loginUserID: any) {
   return request<object>(
     {
       url: 'jobUserService/jobHunt/delete',
       method: 'post',
       data: data,
+      params: {loginUserID}
     },
     {
       isNew: true,

+ 5 - 1
vue/src/views/companyService/post/index.vue

@@ -162,11 +162,15 @@ import Recommend from "@/views/companyService/post/recommend.vue";
 import {getSiteList} from "@/api/baseSettings/siteInfo";
 import ColumnsSetting from "@/components/common/ColumnsSetting.vue";
 import {updatePostStatus} from "@/api/companyService/post";
+import {useUserStore} from "@/store/modules/user";
 
 export default defineComponent({
   name: "PostList",
   components: {ColumnsSetting, DownOutlined, UpOutlined, BExportExcel, BImportExcel, Recommend},
   setup: function () {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo);
+
     const formRef = ref<FormInstance>();
     const searchParams = reactive({
       pageIndex: 1,
@@ -377,7 +381,7 @@ export default defineComponent({
         okButtonProps: {},
         cancelText: '取消',
         onOk() {
-          del(formState.selectedRowKeys).then(() => {
+          del(formState.selectedRowKeys, userInfo.value.userID).then(() => {
             loadData();
           });
         },

+ 5 - 1
vue/src/views/jobUserManager/jobhunt/index.vue

@@ -208,11 +208,15 @@ import {get} from "@/api/common";
 import ColumnsSetting from "@/components/common/ColumnsSetting.vue";
 import {getInfo} from "@/api/account";
 import {getDataById} from "@/api/jobUserManager/jobuser";
+import {useUserStore} from "@/store/modules/user";
 
 export default defineComponent({
   name: 'JobHuntList',
   components: {ColumnsSetting, BImportExcel, BExportExcel, Recommend},
   setup() {
+    const userStore = useUserStore();
+    const userInfo = ref(userStore.getUserInfo)
+
     const formRef = ref<FormInstance>();
     const tabsViewStore = useTabsViewStore();
     const expand = ref(false);
@@ -365,7 +369,7 @@ export default defineComponent({
         okButtonProps: {},
         cancelText: '取消',
         onOk() {
-          delJobHunt(formState.selectedRowKeys).then(() => {
+          delJobHunt(formState.selectedRowKeys, userInfo.value.userID).then(() => {
             loadData();
           });
         },

+ 1 - 0
vue/src/views/system/log/index.vue

@@ -89,6 +89,7 @@ export default defineComponent({
       {title: '访问IP', dataIndex: 'ipaddress', key: 'ipaddress', align: "center"},
       {title: '姓名', dataIndex: 'userName', key: 'userName',align:"center"},
       {title: '操作页面', dataIndex: 'pageName', key: 'pageName',align:"center"},
+      {title: '操作数据', dataIndex: 'operationData', key: 'operationData', align: "center"},
       {
         title: '操作时间',
         dataIndex: 'logTime',