diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyController.java index a491c00..0ce992c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyController.java @@ -1,7 +1,11 @@ package com.ruoyi.cms.controller.cms; +import com.ruoyi.cms.service.IAppUserService; +import com.ruoyi.cms.service.ICompanyCollectionService; import com.ruoyi.cms.util.RoleUtils; +import com.ruoyi.common.annotation.BussinessLog; +import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.core.domain.entity.Company; import com.ruoyi.cms.service.ICompanyService; import com.ruoyi.common.annotation.Log; @@ -9,6 +13,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import io.swagger.annotations.Api; @@ -33,6 +38,10 @@ public class CompanyController extends BaseController { @Autowired private ICompanyService companyService; + @Autowired + private ICompanyCollectionService companyCollectionService; + @Autowired + private IAppUserService appUserService; /** * 查询公司列表 @@ -150,4 +159,50 @@ public class CompanyController extends BaseController } return AjaxResult.success(companyService.queryCodeCompany(code)); } + + /** + * 用户收藏公司 + */ + @BussinessLog(title = "用户收藏公司") + @PostMapping("/collection/{companyId}") + @ApiOperation("用户收藏公司") + public AjaxResult companyCollection(@PathVariable("companyId") Long companyId) + { + Long userId=null; + if(SecurityUtils.isLogin()){ + String idCard=RoleUtils.getCurrentUseridCard(); + AppUser appUser=appUserService.selectAppuserByIdcard(idCard); + if(appUser==null){ + return AjaxResult.error("用户信息未完善,请完善身份证信息!"); + }else{ + userId=appUser.getUserId(); + } + }else{ + return AjaxResult.error("用户未登录!"); + } + return toAjax(companyCollectionService.companySysCollection(companyId,userId)); + } + + /** + * 用户取消收藏公司 + */ + @BussinessLog(title = "用户取消收藏公司") + @DeleteMapping("/collection/{companyId}") + @ApiOperation("用户取消收藏公司") + public AjaxResult companyCancel(@PathVariable("companyId") Long companyId) + { + Long userId; + if(SecurityUtils.isLogin()){ + String idCard=RoleUtils.getCurrentUseridCard(); + AppUser appUser=appUserService.selectAppuserByIdcard(idCard); + if(appUser==null){ + return AjaxResult.error("用户信息未完善,请完善身份证信息!"); + }else{ + userId=appUser.getUserId(); + } + }else{ + return AjaxResult.error("用户未登录!"); + } + return toAjax(companyCollectionService.companySysCancel(companyId,userId)); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyCollectionService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyCollectionService.java index 839ad93..d733549 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyCollectionService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyCollectionService.java @@ -66,4 +66,13 @@ public interface ICompanyCollectionService List jobCompany(Long companyId); + /** + * 用户收藏公司 + */ + int companySysCollection(Long companyId,Long userId); + /** + * 用户取消收藏公司 + */ + int companySysCancel(Long companyId,Long userId); + } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyCollectionServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyCollectionServiceImpl.java index 657891c..046176b 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyCollectionServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyCollectionServiceImpl.java @@ -116,6 +116,33 @@ public class CompanyCollectionServiceImpl extends ServiceImpl companyCollections = companyCollectionMapper.selectList(Wrappers.lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, userId)); + if(companyCollections.size()>0){ + companyCollectionMapper.deleteBatchIds(companyCollections.stream().map(CompanyCollection::getId).collect(Collectors.toList())); + } + return 1; + } + /** + * 用户收藏公司-pc端 + */ + @Override + public int companySysCollection(Long companyId,Long userId) { + List companyCollections = companyCollectionMapper.selectList(Wrappers.lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, userId)); + if(companyCollections.size()>0){ + companyCollectionMapper.deleteBatchIds(companyCollections.stream().map(CompanyCollection::getId).collect(Collectors.toList())); + } + CompanyCollection companyCollection = new CompanyCollection(); + companyCollection.setCompanyId(companyId); + companyCollection.setUserId(userId); + companyCollectionMapper.insert(companyCollection); + return 1; + } + @Override public List collectionCompany() { List companies = companyCollectionMapper.collectionJob(SiteSecurityUtils.getUserId());