Parcourir la source

1、增加取消收藏职位、关注企业接口

rayson il y a 1 an
Parent
commit
50ce116a54

+ 22 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/AppPersonController.java

@@ -4,6 +4,8 @@ import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.system.controller.admin.person.vo.info.PersonInfoRespVO;
+import com.citu.module.menduner.system.controller.app.person.enterprise.PersonEnterpriseSubscribeReqVO;
+import com.citu.module.menduner.system.controller.app.person.job.PersonJobFavoriteReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
 import com.citu.module.menduner.system.service.person.info.PersonInfoService;
@@ -47,16 +49,32 @@ public class AppPersonController {
     @PreAuthenticated
     @PostMapping("/job/favorite")
     @Operation(summary = "用户收藏职位")
-    public CommonResult<Boolean> favorite(@RequestParam("jobId") Long jobId) {
-        Boolean result = jobFavoriteService.favorite(jobId);
+    public CommonResult<Boolean> favorite(PersonJobFavoriteReqVO reqVO) {
+        Boolean result = jobFavoriteService.favorite(reqVO);
         return success(result);
     }
 
     @PreAuthenticated
     @PostMapping("/enterprise/subscribe")
     @Operation(summary = "用户关注订阅企业")
-    public CommonResult<Boolean> subscribe(@RequestParam("enterpriseId")Long enterpriseId) {
-        Boolean result = enterpriseSubscribeService.subscribe(enterpriseId);
+    public CommonResult<Boolean> subscribe(PersonEnterpriseSubscribeReqVO reqVO) {
+        Boolean result = enterpriseSubscribeService.subscribe(reqVO);
+        return success(result);
+    }
+
+    @PreAuthenticated
+    @DeleteMapping("/job/unFavorite")
+    @Operation(summary = "用户取消收藏职位")
+    public CommonResult<Boolean> unFavorite(PersonJobFavoriteReqVO reqVO) {
+        Boolean result = jobFavoriteService.unFavorite(reqVO);
+        return success(result);
+    }
+
+    @PreAuthenticated
+    @DeleteMapping("/enterprise/unsubscribe")
+    @Operation(summary = "用户取消关注订阅企业")
+    public CommonResult<Boolean> unsubscribe(PersonEnterpriseSubscribeReqVO reqVO) {
+        Boolean result = enterpriseSubscribeService.unSubscribe(reqVO);
         return success(result);
     }
 

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/enterprise/PersonEnterpriseSubscribeReqVO.java

@@ -0,0 +1,12 @@
+package com.citu.module.menduner.system.controller.app.person.enterprise;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "menduner 用户关注订阅企业 Request VO")
+@Data
+public class PersonEnterpriseSubscribeReqVO {
+
+    @Schema(description = "企业id", example = "19293")
+    private Long enterpriseId;
+}

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/job/PersonJobFavoriteReqVO.java

@@ -0,0 +1,12 @@
+package com.citu.module.menduner.system.controller.app.person.job;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "menduner 用户收藏职位 Request VO")
+@Data
+public class PersonJobFavoriteReqVO {
+
+    @Schema(description = "职位id", example = "19293")
+    private Long jobId;
+}

+ 6 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonEnterpriseSubscribeMapper.java

@@ -28,4 +28,10 @@ public interface PersonEnterpriseSubscribeMapper extends BaseMapperX<PersonEnter
                 PersonEnterpriseSubscribeDO::getEnterpriseId, enterpriseId);
     }
 
+    default Boolean deleteByUserIdAndEnterpriseId(Long userId, Long enterpriseId) {
+        return delete(new LambdaQueryWrapperX<PersonEnterpriseSubscribeDO>()
+                .eq(PersonEnterpriseSubscribeDO::getUserId, userId)
+                .eq(PersonEnterpriseSubscribeDO::getEnterpriseId, enterpriseId)) > 0;
+    }
+
 }

+ 6 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonJobFavoriteMapper.java

@@ -28,4 +28,10 @@ public interface PersonJobFavoriteMapper extends BaseMapperX<PersonJobFavoriteDO
                 .eq(PersonJobFavoriteDO::getUserId, userId)
                 .eq(PersonJobFavoriteDO::getJobId, jobId));
     }
+
+   default Boolean deleteByUserIdAndJobId(Long userId, Long jobId){
+        return delete(new LambdaQueryWrapperX<PersonJobFavoriteDO>()
+                .eq(PersonJobFavoriteDO::getUserId, userId)
+                .eq(PersonJobFavoriteDO::getJobId, jobId)) > 0;
+    }
 }

+ 9 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/favorite/PersonJobFavoriteService.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.service.person.favorite;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.admin.person.vo.favorite.PersonJobFavoritePageReqVO;
 import com.citu.module.menduner.system.controller.admin.person.vo.favorite.PersonJobFavoriteSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.job.PersonJobFavoriteReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonJobFavoriteDO;
 
 import javax.validation.Valid;
@@ -72,6 +73,13 @@ public interface PersonJobFavoriteService {
      *
      * @return 成功|失败
      */
-    Boolean favorite(Long jobId);
+    Boolean favorite(PersonJobFavoriteReqVO reqVO);
+
+    /**
+     * 用户取消收藏职位
+     *
+     * @return 成功|失败
+     */
+    Boolean unFavorite(PersonJobFavoriteReqVO reqVO);
 
 }

+ 21 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/favorite/PersonJobFavoriteServiceImpl.java

@@ -4,6 +4,8 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.admin.person.vo.favorite.PersonJobFavoritePageReqVO;
 import com.citu.module.menduner.system.controller.admin.person.vo.favorite.PersonJobFavoriteSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.job.PersonJobFavoriteReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseSubscribeDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonJobFavoriteDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonJobFavoriteMapper;
 import org.springframework.stereotype.Service;
@@ -48,6 +50,7 @@ public class PersonJobFavoriteServiceImpl implements PersonJobFavoriteService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void deletePersonJobFavorite(Long id) {
         // 校验存在
         validatePersonJobFavoriteExists(id);
@@ -89,17 +92,17 @@ public class PersonJobFavoriteServiceImpl implements PersonJobFavoriteService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean favorite(Long jobId) {
+    public Boolean favorite(PersonJobFavoriteReqVO reqVO) {
         Long userId = getLoginUserId();
         if (null == userId) {
             // 未登录
             return false;
         }
-        check(userId, jobId);
+        check(userId, reqVO.getJobId());
 
         return personJobFavoriteMapper.insert(
                 PersonJobFavoriteDO.builder()
-                        .jobId(jobId)
+                        .jobId(reqVO.getJobId())
                         .userId(userId)
                         .build()
         ) == 1;
@@ -111,4 +114,19 @@ public class PersonJobFavoriteServiceImpl implements PersonJobFavoriteService {
             throw exception(PERSON_JOB_COLLECTION_EXISTS);
         }
     }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean unFavorite(PersonJobFavoriteReqVO reqVO) {
+        Long userId = getLoginUserId();
+        if (null == userId) {
+            // 未登录
+            return false;
+        }
+        if (null != personJobFavoriteMapper.selectByUserIdAndJobId(userId, reqVO.getJobId())) {
+            return personJobFavoriteMapper.deleteByUserIdAndJobId(userId,reqVO.getJobId());
+        }
+        return false;
+    }
 }

+ 9 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/subscribe/PersonEnterpriseSubscribeService.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.service.person.subscribe;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.admin.person.vo.subscribe.PersonEnterpriseSubscribePageReqVO;
 import com.citu.module.menduner.system.controller.admin.person.vo.subscribe.PersonEnterpriseSubscribeSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.enterprise.PersonEnterpriseSubscribeReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseSubscribeDO;
 
 import javax.validation.Valid;
@@ -72,5 +73,12 @@ public interface PersonEnterpriseSubscribeService {
      *
      * @return 成功|失败
      */
-    Boolean subscribe(Long enterpriseId);
+    Boolean subscribe(PersonEnterpriseSubscribeReqVO reqVO);
+
+    /**
+     * 用户取消订阅企业
+     *
+     * @return 成功|失败
+     */
+    Boolean unSubscribe(PersonEnterpriseSubscribeReqVO reqVO);
 }

+ 19 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/subscribe/PersonEnterpriseSubscribeServiceImpl.java

@@ -4,6 +4,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.admin.person.vo.subscribe.PersonEnterpriseSubscribePageReqVO;
 import com.citu.module.menduner.system.controller.admin.person.vo.subscribe.PersonEnterpriseSubscribeSaveReqVO;
+import com.citu.module.menduner.system.controller.app.person.enterprise.PersonEnterpriseSubscribeReqVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseSubscribeDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonJobFavoriteDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonEnterpriseSubscribeMapper;
@@ -88,17 +89,17 @@ public class PersonEnterpriseSubscribeServiceImpl implements PersonEnterpriseSub
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean subscribe(Long enterpriseId) {
+    public Boolean subscribe(PersonEnterpriseSubscribeReqVO reqVO) {
         Long userId = getLoginUserId();
         if (null == userId) {
             // 未登录
             return false;
         }
-        check(userId, enterpriseId);
+        check(userId, reqVO.getEnterpriseId());
 
         return personEnterpriseSubscribeMapper.insert(
                 PersonEnterpriseSubscribeDO.builder()
-                        .enterpriseId(enterpriseId)
+                        .enterpriseId(reqVO.getEnterpriseId())
                         .userId(userId)
                         .build()
         ) == 1;
@@ -110,4 +111,19 @@ public class PersonEnterpriseSubscribeServiceImpl implements PersonEnterpriseSub
             throw exception(PERSON_ENTERPRISE_ATTENTION_EXISTS);
         }
     }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean unSubscribe(PersonEnterpriseSubscribeReqVO reqVO) {
+        Long userId = getLoginUserId();
+        if (null == userId) {
+            // 未登录
+            return false;
+        }
+        if (null != personEnterpriseSubscribeMapper.selectByUserIdAndEnterpriseId(userId, reqVO.getEnterpriseId())) {
+           return personEnterpriseSubscribeMapper.deleteByUserIdAndEnterpriseId(userId, reqVO.getEnterpriseId());
+        }
+        return false;
+    }
 }