From 99d1e5deef94fb4930641e1c608a03f9a772948c Mon Sep 17 00:00:00 2001 From: chenyanchang <30190327@qq.com> Date: Wed, 17 Jun 2026 15:34:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=B4=E6=92=AD=E5=B8=A6?= =?UTF-8?q?=E5=B2=97=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppCompanyJobLiveController.java | 45 ++++++++ .../cms/CompanyJobLiveController.java | 102 ++++++++++++++++++ .../com/ruoyi/cms/domain/CompanyJobLive.java | 61 +++++++++++ .../cms/mapper/CompanyJobLiveMapper.java | 24 +++++ .../cms/service/ICompanyJobLiveService.java | 54 ++++++++++ .../impl/CompanyJobLiveServiceImpl.java | 63 +++++++++++ .../mapper/app/CompanyJobLiveMapper.xml | 46 ++++++++ 7 files changed, 395 insertions(+) create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppCompanyJobLiveController.java create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyJobLiveController.java create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/CompanyJobLive.java create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyJobLiveMapper.java create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyJobLiveService.java create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyJobLiveServiceImpl.java create mode 100644 ruoyi-bussiness/src/main/resources/mapper/app/CompanyJobLiveMapper.xml diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppCompanyJobLiveController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppCompanyJobLiveController.java new file mode 100644 index 0000000..0365da9 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppCompanyJobLiveController.java @@ -0,0 +1,45 @@ +package com.ruoyi.cms.controller.app; + + +import com.ruoyi.cms.domain.CompanyJobLive; +import com.ruoyi.cms.service.impl.CompanyJobLiveServiceImpl; +import com.ruoyi.common.annotation.Log; +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 io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 企业直播带岗Controller + * + * @author chenyanchang + * @date 2026-06-17 + */ +@RestController +@RequestMapping("/app/live") +@Api(tags = "后台:企业直播带岗管理") +public class AppCompanyJobLiveController extends BaseController +{ + @Autowired + private CompanyJobLiveServiceImpl companyJobLiveService; + + /** + * 企业直播带岗列表 + */ + @ApiOperation("企业直播带岗列表") +// @PreAuthorize("@ss.hasPermi('cms:live-all:list')") + @GetMapping("/list") + public TableDataInfo list(CompanyJobLive companyJobLive) + { + startPage(); + List list = companyJobLiveService.selectAll(companyJobLive); + return getDataTable(list); + } +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyJobLiveController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyJobLiveController.java new file mode 100644 index 0000000..b6e6000 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CompanyJobLiveController.java @@ -0,0 +1,102 @@ +package com.ruoyi.cms.controller.cms; + + +import com.ruoyi.cms.domain.CompanyJobLive; +import com.ruoyi.cms.domain.query.CompanySearch; +import com.ruoyi.cms.service.ICompanyService; +import com.ruoyi.cms.service.impl.CompanyJobLiveServiceImpl; +import com.ruoyi.cms.util.RoleUtils; +import com.ruoyi.cms.util.sensitiveWord.SensitiveWordChecker; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.Company; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +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; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +/** + * 企业直播带岗Controller + * + * @author chenyanchang + * @date 2026-06-17 + */ +@RestController +@RequestMapping("/cms/live") +@Api(tags = "后台:企业直播带岗管理") +public class CompanyJobLiveController extends BaseController +{ + @Autowired + private CompanyJobLiveServiceImpl companyJobLiveService; + +// /** +// * 企业直播带岗列表 +// */ +// @ApiOperation("企业直播带岗列表") +// @PreAuthorize("@ss.hasPermi('cms:live-all:list')") +// @GetMapping("/all/list") +// public TableDataInfo list() +// { +// startPage(); +// List list = companyJobLiveService.selectAll(); +// return getDataTable(list); +// } + + @ApiOperation("获取直播详细信息") + @PreAuthorize("@ss.hasPermi('cms:live:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(companyJobLiveService.selectById(id)); + } + + @ApiOperation("新增直播带岗") + @PreAuthorize("@ss.hasPermi('cms:live:add')") + @Log(title = "企业带岗直播", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody CompanyJobLive companyJobLive) + { + return toAjax(companyJobLiveService.insert(companyJobLive)); + } + + @ApiOperation("修改直播带岗") + @PreAuthorize("@ss.hasPermi('cms:live:edit')") + @Log(title = "企业直播带岗", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody CompanyJobLive companyJobLive) + { + return toAjax(companyJobLiveService.update(companyJobLive)); + } + + @ApiOperation("删除企业直播带岗") + @PreAuthorize("@ss.hasPermi('cms:live:remove')") + @Log(title = "企业直播带岗", businessType = BusinessType.DELETE) + @DeleteMapping("/{id}") + public AjaxResult remove(@PathVariable Long id) + { + return toAjax(companyJobLiveService.delete(id)); + } + + @ApiOperation("按企业id查询公司直播带岗列表") + @PreAuthorize("@ss.hasPermi('cms:live:list')") + @GetMapping("/list") + public TableDataInfo listPage() + { + startPage(); + List list = companyJobLiveService.selectByCompanyId(); + return getDataTable(list); + } +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/CompanyJobLive.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/CompanyJobLive.java new file mode 100644 index 0000000..e1e61cd --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/CompanyJobLive.java @@ -0,0 +1,61 @@ +package com.ruoyi.cms.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 企业直播带岗位 + * @author chenyanchang + * @date 2026-06-17 + */ +@Data +@ApiModel("企业直播带岗") +@TableName(value = "company_job_live") +public class CompanyJobLive extends BaseEntity +{ + @TableField(exist = false) + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty("id") + private Long id; + + @Excel(name = "标题") + @ApiModelProperty("标题") + private String title; + + @Excel(name = "直播地址") + @ApiModelProperty("直播地址") + private String liveUrl; + + @Excel(name = "直播描述") + @ApiModelProperty("直播描述") + private String description; + + @Excel(name = "开始时间") + @ApiModelProperty("开始时间") + private String startTime; + + @Excel(name = "结束时间") + @ApiModelProperty("结束时间") + private String endTime; + + + @ApiModelProperty("公司ID") + private Long companyId; + + @TableField(exist = false) + @Excel(name = "公司名称") + @ApiModelProperty("公司名称") + private String companyName; + +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyJobLiveMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyJobLiveMapper.java new file mode 100644 index 0000000..5451e80 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyJobLiveMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.cms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.cms.domain.CompanyJobLive; +import com.ruoyi.cms.domain.query.CompanySearch; +import com.ruoyi.common.core.domain.entity.Company; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 直播带岗Mapper接口 + * @author chenyanchang + * @date 2026-06-17 + */ +@Mapper +public interface CompanyJobLiveMapper extends BaseMapper +{ + + List selectAll(CompanyJobLive companyJobLive); + + List selectByCompanyId(@Param("companyId") Long companyId); +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyJobLiveService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyJobLiveService.java new file mode 100644 index 0000000..263dd4f --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/ICompanyJobLiveService.java @@ -0,0 +1,54 @@ +package com.ruoyi.cms.service; + +import com.ruoyi.cms.domain.CompanyCard; +import com.ruoyi.cms.domain.CompanyJobLive; +import com.ruoyi.cms.domain.query.CompanySearch; +import com.ruoyi.cms.domain.query.LabelQuery; +import com.ruoyi.common.core.domain.entity.Company; + +import java.util.List; + +/** + * 企业直播带岗Service接口 + * + * @author chenyanchang + * @date 2026-06-17 + */ +public interface ICompanyJobLiveService +{ + + /** + * 查询公司列表 + * + * @param id + * @return 公司集合 + */ + public CompanyJobLive selectById(Long id); + + /** + * 新增 + */ + public int insert(CompanyJobLive companyJobLive); + + /** + * 修改 + */ + public int update(CompanyJobLive companyJobLive); + + /** + * 删除 + */ + public int delete(Long id); + + /** + * 查询全部 + * @return + */ + List selectAll(CompanyJobLive companyJobLive); + + /** + * 按公司id查询 + * @return + */ + List selectByCompanyId(); +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyJobLiveServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyJobLiveServiceImpl.java new file mode 100644 index 0000000..bd1a12d --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyJobLiveServiceImpl.java @@ -0,0 +1,63 @@ +package com.ruoyi.cms.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.cms.domain.CompanyJobLive; +import com.ruoyi.cms.mapper.CompanyJobLiveMapper; +import com.ruoyi.cms.mapper.CompanyMapper; +import com.ruoyi.cms.service.ICompanyJobLiveService; +import com.ruoyi.common.core.domain.entity.Company; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author: chenyanchang + * @Date: 2026/6/17 下午1:44 + */ + +@Service +public class CompanyJobLiveServiceImpl implements ICompanyJobLiveService { + + @Autowired + private CompanyJobLiveMapper companyJobLiveMapper; + + @Autowired + private CompanyMapper companyMapper; + + @Override + public CompanyJobLive selectById(Long id) { + return companyJobLiveMapper.selectById(id); + } + + @Override + public int insert(CompanyJobLive companyJobLive) { + return companyJobLiveMapper.insert(companyJobLive); + } + + @Override + public int update(CompanyJobLive companyJobLive) { + return companyJobLiveMapper.updateById(companyJobLive); + } + + @Override + public int delete(Long id) { + return companyJobLiveMapper.deleteById(id); + } + + @Override + public List selectAll(CompanyJobLive companyJobLive) { + return companyJobLiveMapper.selectAll(companyJobLive); + } + + @Override + public List selectByCompanyId() { + LoginUser logUser = SecurityUtils.getLoginUser(); + SysUser sysUser = logUser.getUser(); + Company company = companyMapper.selectOne(Wrappers.lambdaQuery(Company.class).eq(Company::getCode, sysUser.getIdCard()).orderByDesc(Company::getUpdateTime).last("LIMIT 1")); + return companyJobLiveMapper.selectByCompanyId(company.getCompanyId()); + } +} diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/CompanyJobLiveMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/CompanyJobLiveMapper.xml new file mode 100644 index 0000000..2b94402 --- /dev/null +++ b/ruoyi-bussiness/src/main/resources/mapper/app/CompanyJobLiveMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + select l.id, l.title, l.live_url, l.description, l.start_time, l.end_time, l.company_id, c.name company_name, l.create_by, l.create_time, l.update_by, l.update_time + from company_job_live l + left join company c on l.company_id = c.company_id + + + + + + + \ No newline at end of file