Explorar o código

1、增加新任命模块
2、增加新任命权益

rayson hai 6 meses
pai
achega
218f99f227
Modificáronse 17 ficheiros con 492 adicións e 0 borrados
  1. 4 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 68 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/common/data/NewAppointmentsController.java
  3. 46 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/appointment/NewAppointmentsPageReqVO.java
  4. 60 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/appointment/NewAppointmentsRespVO.java
  5. 56 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/appointment/NewAppointmentsSaveReqVO.java
  6. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementRespVO.java
  7. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementSaveReqVO.java
  8. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementSimpleReqVO.java
  9. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageRespVO.java
  10. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageSaveReqVO.java
  11. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/appointment/NewAppointmentsDO.java
  12. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseEntitlementDO.java
  13. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterprisePackageDO.java
  14. 32 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/appointment/NewAppointmentsMapper.java
  15. 56 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/appointment/NewAppointmentsService.java
  16. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/appointment/NewAppointmentsServiceImpl.java
  17. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/vip/EnterpriseEntitlementServiceImpl.java

+ 4 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -610,6 +610,7 @@ public interface ErrorCodeConstants {
     // ========== 人才地图-人才培训经历 1_100_062_000 ==========
     ErrorCode TALENT_MAP_TRAIN_EXP_NOT_EXISTS = new ErrorCode(1_100_062_001, "人才地图-人才培训经历不存在");
 
+    // ========== 投票 1_100_063_000 ==========
     ErrorCode VOTING_ACTIVITY_NOT_EXISTS = new ErrorCode(1_100_063_001, "投票活动不存在");
 
     ErrorCode VOTING_ACTIVITY_JOIN_ITEM_NOT_EXISTS = new ErrorCode(1_100_063_002, "投票活动参与被投票的不存在");
@@ -618,4 +619,7 @@ public interface ErrorCodeConstants {
 
     ErrorCode VOTING_LIMIT = new ErrorCode(1_100_063_004, "投票已达上限!");
 
+    // ========== 新任命 1_100_064_000 ==========
+    ErrorCode NEW_APPOINTMENTS_NOT_EXISTS = new ErrorCode(1_100_064_001, "新任命不存在");
+
 }

+ 68 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/common/data/NewAppointmentsController.java

@@ -0,0 +1,68 @@
+package com.citu.module.menduner.system.controller.app.common.data;
+
+import com.citu.framework.apilog.core.annotation.ApiAccessLog;
+import com.citu.framework.common.pojo.CommonResult;
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.framework.excel.core.util.ExcelUtils;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsPageReqVO;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsRespVO;
+import com.citu.module.menduner.system.dal.dataobject.appointment.NewAppointmentsDO;
+import com.citu.module.menduner.system.service.appointment.NewAppointmentsService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static com.citu.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "公共 - 新任命")
+@RestController
+@RequestMapping("/menduner/system/new-appointments")
+@Validated
+public class NewAppointmentsController {
+
+    @Resource
+    private NewAppointmentsService newAppointmentsService;
+
+
+    @GetMapping("/get")
+    @Operation(summary = "获得新任命")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    public CommonResult<NewAppointmentsRespVO> get(@RequestParam("id") Long id) {
+        NewAppointmentsDO newAppointments = newAppointmentsService.getNewAppointments(id);
+        return success(BeanUtils.toBean(newAppointments, NewAppointmentsRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得新任命分页")
+    public CommonResult<PageResult<NewAppointmentsRespVO>> page(@Valid NewAppointmentsPageReqVO pageReqVO) {
+        PageResult<NewAppointmentsDO> pageResult = newAppointmentsService.getNewAppointmentsPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, NewAppointmentsRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出新任命 Excel")
+    @ApiAccessLog(operateType = EXPORT)
+    public void export(@Valid NewAppointmentsPageReqVO pageReqVO,
+                       HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<NewAppointmentsDO> list = newAppointmentsService.getNewAppointmentsPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "新任命.xls", "数据", NewAppointmentsRespVO.class,
+                BeanUtils.toBean(list, NewAppointmentsRespVO.class));
+    }
+
+}

+ 46 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/appointment/NewAppointmentsPageReqVO.java

@@ -0,0 +1,46 @@
+package com.citu.module.menduner.system.controller.base.appointment;
+
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 新任命分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class NewAppointmentsPageReqVO extends PageParam {
+
+    @Schema(description = "中文姓名")
+    private String nameChinese;
+
+    @Schema(description = "英文姓名")
+    private String nameEnglish;
+
+    @Schema(description = "职位")
+    private String position;
+
+    @Schema(description = "就职酒店")
+    private String inaugurationHotel;
+
+    @Schema(description = "酒店品牌")
+    private String hotelBrand;
+
+    @Schema(description = "工作地域")
+    private String workTerritory;
+
+    @Schema(description = "过往工作酒店品牌")
+    private String workHistory;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 60 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/appointment/NewAppointmentsRespVO.java

@@ -0,0 +1,60 @@
+package com.citu.module.menduner.system.controller.base.appointment;
+
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 新任命 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class NewAppointmentsRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24797")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "宣布日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("宣布日期")
+    private String announceTime;
+
+    @Schema(description = "中文姓名", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("中文姓名")
+    private String nameChinese;
+
+    @Schema(description = "英文姓名", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("英文姓名")
+    private String nameEnglish;
+
+    @Schema(description = "职位", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("职位")
+    private String position;
+
+    @Schema(description = "就职酒店", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("就职酒店")
+    private String inaugurationHotel;
+
+    @Schema(description = "酒店品牌", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("酒店品牌")
+    private String hotelBrand;
+
+    @Schema(description = "工作地域", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("工作地域")
+    private String workTerritory;
+
+    @Schema(description = "过往工作酒店品牌", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("过往工作酒店品牌")
+    private String workHistory;
+
+    @Schema(description = "照片链接", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
+    @ExcelProperty("照片链接")
+    private String picUrl;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 56 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/appointment/NewAppointmentsSaveReqVO.java

@@ -0,0 +1,56 @@
+package com.citu.module.menduner.system.controller.base.appointment;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+@Schema(description = "管理后台 - 新任命新增/修改 Request VO")
+@Data
+public class NewAppointmentsSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24797")
+    private Long id;
+
+    @Schema(description = "宣布日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "宣布日期不能为空")
+    private String announceTime;
+
+    @Schema(description = "中文姓名", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "中文姓名不能为空")
+    private String nameChinese;
+
+    @Schema(description = "英文姓名", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "英文姓名不能为空")
+    private String nameEnglish;
+
+    @Schema(description = "职位", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "职位不能为空")
+    private String position;
+
+    @Schema(description = "就职酒店", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "就职酒店不能为空")
+    private String inaugurationHotel;
+
+    @Schema(description = "酒店品牌", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "酒店品牌不能为空")
+    private String hotelBrand;
+
+    @Schema(description = "工作地域", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "工作地域不能为空")
+    private String workTerritory;
+
+    @Schema(description = "过往工作酒店品牌", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "过往工作酒店品牌不能为空")
+    private String workHistory;
+
+    @Schema(description = "照片链接", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
+    @NotEmpty(message = "照片链接不能为空")
+    private String picUrl;
+
+    @Schema(description = "介绍详情", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "介绍详情不能为空")
+    private String detailIntroduction;
+
+}

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementRespVO.java

@@ -45,6 +45,10 @@ public class EnterpriseEntitlementRespVO {
     @ExcelProperty("是否允许发布众聘职位")
     private Boolean hireJob;
 
+    @Schema(description = "是否开启新任命", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("是否开启新任命")
+    private Boolean newAppointment;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementSaveReqVO.java

@@ -31,4 +31,7 @@ public class EnterpriseEntitlementSaveReqVO {
     @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
     private Boolean hireJob;
 
+    @Schema(description = "是否开启新任命", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Boolean newAppointment;
+
 }

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterpriseEntitlementSimpleReqVO.java

@@ -31,4 +31,7 @@ public class EnterpriseEntitlementSimpleReqVO {
     @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
     private Boolean hireJob;
 
+    @Schema(description = "是否开启新任命", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Boolean newAppointment;
+
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageRespVO.java

@@ -73,6 +73,10 @@ public class EnterprisePackageRespVO {
     @ExcelProperty("是否允许发布众聘职位")
     private Boolean hireJob;
 
+    @Schema(description = "是否开启新任命", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("是否开启新任命")
+    private Boolean newAppointment;
+
     @Schema(description = "排序")
     @ExcelProperty("排序")
     private Integer sort;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/vip/EnterprisePackageSaveReqVO.java

@@ -64,6 +64,9 @@ public class EnterprisePackageSaveReqVO {
     @Schema(description = "是否允许发布众聘职位", requiredMode = Schema.RequiredMode.REQUIRED, example = "10204")
     private Boolean hireJob;
 
+    @Schema(description = "是否开启新任命", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Boolean newAppointment;
+
     @Schema(description = "排序")
     private Integer sort;
 

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/appointment/NewAppointmentsDO.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.dal.dataobject.appointment;
+
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+
+/**
+ * 新任命 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_new_appointments")
+@KeySequence("mde_new_appointments_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class NewAppointmentsDO extends BaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 宣布日期
+     */
+    private String announceTime;
+    /**
+     * 中文姓名
+     */
+    private String nameChinese;
+    /**
+     * 英文姓名
+     */
+    private String nameEnglish;
+    /**
+     * 职位
+     */
+    private String position;
+    /**
+     * 就职酒店
+     */
+    private String inaugurationHotel;
+    /**
+     * 酒店品牌
+     */
+    private String hotelBrand;
+    /**
+     * 工作地域
+     */
+    private String workTerritory;
+    /**
+     * 过往工作酒店品牌
+     */
+    private String workHistory;
+    /**
+     * 照片链接
+     */
+    private String picUrl;
+    /**
+     * 介绍详情
+     */
+    private String detailIntroduction;
+
+}

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseEntitlementDO.java

@@ -55,5 +55,9 @@ public class EnterpriseEntitlementDO extends BaseDO {
      * 是否允许发布众聘职位
      */
     private Boolean hireJob;
+    /**
+     * 是否开启新任命
+     */
+    private Boolean newAppointment;
 
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterprisePackageDO.java

@@ -83,6 +83,10 @@ public class EnterprisePackageDO extends TenantBaseDO {
      * 是否允许发布众聘职位
      */
     private Boolean hireJob;
+    /**
+     * 是否开启新任命
+     */
+    private Boolean newAppointment;
     /**
      * 排序
      */

+ 32 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/appointment/NewAppointmentsMapper.java

@@ -0,0 +1,32 @@
+package com.citu.module.menduner.system.dal.mysql.appointment;
+
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.appointment.NewAppointmentsDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 新任命 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface NewAppointmentsMapper extends BaseMapperX<NewAppointmentsDO> {
+
+    default PageResult<NewAppointmentsDO> selectPage(NewAppointmentsPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<NewAppointmentsDO>()
+                .likeIfPresent(NewAppointmentsDO::getNameChinese, reqVO.getNameChinese())
+                .likeIfPresent(NewAppointmentsDO::getNameEnglish, reqVO.getNameEnglish())
+                .likeIfPresent(NewAppointmentsDO::getPosition, reqVO.getPosition())
+                .likeIfPresent(NewAppointmentsDO::getInaugurationHotel, reqVO.getInaugurationHotel())
+                .likeIfPresent(NewAppointmentsDO::getHotelBrand, reqVO.getHotelBrand())
+                .likeIfPresent(NewAppointmentsDO::getWorkTerritory, reqVO.getWorkTerritory())
+                .likeIfPresent(NewAppointmentsDO::getWorkHistory, reqVO.getWorkHistory())
+                .betweenIfPresent(NewAppointmentsDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(NewAppointmentsDO::getId));
+    }
+
+}

+ 56 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/appointment/NewAppointmentsService.java

@@ -0,0 +1,56 @@
+package com.citu.module.menduner.system.service.appointment;
+
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsPageReqVO;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.appointment.NewAppointmentsDO;
+
+import javax.validation.Valid;
+
+/**
+ * 新任命 Service 接口
+ *
+ * @author Rayson
+ */
+public interface NewAppointmentsService {
+
+    /**
+     * 创建新任命
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createNewAppointments(@Valid NewAppointmentsSaveReqVO createReqVO);
+
+    /**
+     * 更新新任命
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateNewAppointments(@Valid NewAppointmentsSaveReqVO updateReqVO);
+
+    /**
+     * 删除新任命
+     *
+     * @param id 编号
+     */
+    void deleteNewAppointments(Long id);
+
+    /**
+     * 获得新任命
+     *
+     * @param id 编号
+     * @return 新任命
+     */
+    NewAppointmentsDO getNewAppointments(Long id);
+
+    /**
+     * 获得新任命分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 新任命分页
+     */
+    PageResult<NewAppointmentsDO> getNewAppointmentsPage(NewAppointmentsPageReqVO pageReqVO);
+
+}

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/appointment/NewAppointmentsServiceImpl.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.service.appointment;
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsPageReqVO;
+import com.citu.module.menduner.system.controller.base.appointment.NewAppointmentsSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.appointment.NewAppointmentsDO;
+import com.citu.module.menduner.system.dal.mysql.appointment.NewAppointmentsMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+
+import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.NEW_APPOINTMENTS_NOT_EXISTS;
+
+/**
+ * 新任命 Service 实现类
+ *
+ * @author Rayson
+ */
+@Service
+@Validated
+public class NewAppointmentsServiceImpl implements NewAppointmentsService {
+
+    @Resource
+    private NewAppointmentsMapper newAppointmentsMapper;
+
+    @Override
+    public Long createNewAppointments(NewAppointmentsSaveReqVO createReqVO) {
+        // 插入
+        NewAppointmentsDO newAppointments = BeanUtils.toBean(createReqVO, NewAppointmentsDO.class);
+        newAppointmentsMapper.insert(newAppointments);
+        // 返回
+        return newAppointments.getId();
+    }
+
+    @Override
+    public void updateNewAppointments(NewAppointmentsSaveReqVO updateReqVO) {
+        // 校验存在
+        validateNewAppointmentsExists(updateReqVO.getId());
+        // 更新
+        NewAppointmentsDO updateObj = BeanUtils.toBean(updateReqVO, NewAppointmentsDO.class);
+        newAppointmentsMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteNewAppointments(Long id) {
+        // 校验存在
+        validateNewAppointmentsExists(id);
+        // 删除
+        newAppointmentsMapper.deleteById(id);
+    }
+
+    private void validateNewAppointmentsExists(Long id) {
+        if (newAppointmentsMapper.selectById(id) == null) {
+            throw exception(NEW_APPOINTMENTS_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public NewAppointmentsDO getNewAppointments(Long id) {
+        return newAppointmentsMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<NewAppointmentsDO> getNewAppointmentsPage(NewAppointmentsPageReqVO pageReqVO) {
+        return newAppointmentsMapper.selectPage(pageReqVO);
+    }
+
+}

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/vip/EnterpriseEntitlementServiceImpl.java

@@ -125,6 +125,7 @@ public class EnterpriseEntitlementServiceImpl implements EnterpriseEntitlementSe
                     .lookCvCount(packageDO.getLookCvCount())
                     .personMap(packageDO.getPersonMap())
                     .hireJob(packageDO.getHireJob())
+                    .newAppointment(packageDO.getNewAppointment())
                     .build();
             // 如果vip标识大于0 并且vip时间没有过期,并且创建时间是在2024-1月1号之前的
             if (null != enterprise.getVipFlag()) {
@@ -191,6 +192,7 @@ public class EnterpriseEntitlementServiceImpl implements EnterpriseEntitlementSe
                     .lookCvCount(reqVO.getEntitlement().getLookCvCount())
                     .personMap(reqVO.getEntitlement().getPersonMap())
                     .hireJob(reqVO.getEntitlement().getHireJob())
+                    .newAppointment(reqVO.getEntitlement().getNewAppointment())
                     .build();
 
             mapper.insert(insert);
@@ -209,6 +211,7 @@ public class EnterpriseEntitlementServiceImpl implements EnterpriseEntitlementSe
                     // 覆盖
                     .personMap(reqVO.getEntitlement().getPersonMap())
                     .hireJob(reqVO.getEntitlement().getHireJob())
+                    .newAppointment(reqVO.getEntitlement().getNewAppointment())
                     .build();
             mapper.updateById(update);
         }