Parcourir la source

招聘岗位管理

jz.kai il y a 4 ans
Parent
commit
2b6d8a1991

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/City.java

@@ -24,4 +24,5 @@ public class City {
     private Integer type;
         @ApiModelProperty(value = "")
     private Integer pid;
+    private String parentId;
 }

+ 62 - 90
common/src/main/java/com/jpsoft/employment/modules/job/entity/Recruitment.java

@@ -4,102 +4,74 @@ import java.io.Serializable;
 import java.util.Date;
 import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
 
 /**
   描述:job_recruitment的实体类
  */
 @Data
+@ApiModel(value = "job_recruitment的实体类")
 public class Recruitment {
-
-	@ApiModelProperty(value = "ID")
-	private String id;
-
-	@ApiModelProperty(value = "企业ID")
-	private String companyId;
-
-	@ApiModelProperty(value = "标题")
-	private String title;
-
-	@ApiModelProperty(value = "招聘所属地区")
-	private String area;
-
-	@ApiModelProperty(value = "地址")
-	private String address;
-
-	@ApiModelProperty(value = "职位")
-	private String position;
-
-	@ApiModelProperty(value = "职位描述")
-	private String positionMessage;
-
-	@ApiModelProperty(value = "任职要求")
-	private String requirements;
-
-
-	@ApiModelProperty(value = "求职人数")
-	private Integer positionNumber;
-
-	@ApiModelProperty(value = "工作年限")
-	private String workYear;
-
-	@ApiModelProperty(value = "学历要求")
-	private String education;
-
-	@ApiModelProperty(value = "性别要求")
-	private String positionSex;
-
-	@ApiModelProperty(value = "性别要求")
-	private Integer readTimes;
-
-	@ApiModelProperty(value = "薪资")
-	private String wageType;
-
-	@ApiModelProperty(value = "是否面议")
-	private Boolean isDiscussPersonally;
-
-	@ApiModelProperty(value = "联系人")
-	private String contactPerson;
-
-	@ApiModelProperty(value = "联系方式")
-	private String tel;
-
-	@ApiModelProperty(value = "状态(关闭,开启等)")
-	private String status;
-
-	@ApiModelProperty(value = "审批状态")
-	private String approveStatus;
-
-	@ApiModelProperty(value = "阅读次数")
-	private Integer readingTimes;
-
-	@ApiModelProperty(value = "收藏次数")
-	private Integer collectionTimes;
-
-	@ApiModelProperty(value = "投递次数")
-	private Integer deliveryTimes;
-
-	@ApiModelProperty(value = "创建人")
-	private String createBy;
-
-	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
-	@ApiModelProperty(value = "创建时间")
-	private Date createTime;
-
-	@ApiModelProperty(value = "更新人")
-	private String updateBy;
-
-	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
-	@ApiModelProperty(value = "更新时间")
-	private Date updateTime;
-
-	@ApiModelProperty(value = "是否删除")
-	private Boolean delFlag;
-
+        @ApiModelProperty(value = "")
+    private String id;
+        @ApiModelProperty(value = "企业ID ")
+    private String companyId;
+        @ApiModelProperty(value = "标题")
+    private String title;
+        @ApiModelProperty(value = "招聘所属地区")
+    private String area;
+        @ApiModelProperty(value = "地址")
+    private String address;
+        @ApiModelProperty(value = "职位")
+    private String position;
+        @ApiModelProperty(value = "职位描述")
+    private String positionMessage;
+        @ApiModelProperty(value = "任职要求")
+    private String requirements;
+        @ApiModelProperty(value = "求职人数")
+    private Integer positionNumber;
+        @ApiModelProperty(value = "工作年限")
+    private String workYear;
+        @ApiModelProperty(value = "学历要求")
+    private String education;
+        @ApiModelProperty(value = "性别要求")
+    private String positionSex;
+        @ApiModelProperty(value = "")
+    private Integer readTimes;
+        @ApiModelProperty(value = "薪资")
+    private String wageType;
+        @ApiModelProperty(value = "是否面议")
+    private Boolean isDiscussPersonally;
+        @ApiModelProperty(value = "联系人")
+    private String contactPerson;
+        @ApiModelProperty(value = "联系方式")
+    private String tel;
+        @ApiModelProperty(value = "状态(关闭,开启等)")
+    private String status;
+        @ApiModelProperty(value = "审批状态")
+    private String approveStatus;
+        @ApiModelProperty(value = "阅读次数")
+    private Integer readingTimes;
+        @ApiModelProperty(value = "收藏次数")
+    private Integer collectionTimes;
+        @ApiModelProperty(value = "投递次数")
+    private Integer deliveryTimes;
+        @ApiModelProperty(value = "创建人")
+    private String createBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+        @ApiModelProperty(value = "")
+    private String updateBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "")
+    private Date updateTime;
+        @ApiModelProperty(value = "删除标示")
+    private Boolean delFlag;
 }

+ 1 - 1
common/src/main/java/com/jpsoft/employment/modules/job/service/RecruitmentService.java

@@ -13,5 +13,5 @@ public interface RecruitmentService {
 	int update(Recruitment model);
 	int delete(String id);
 	List<Recruitment> list();
-	Page<Recruitment> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+	Page<Recruitment> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 }

+ 5 - 2
common/src/main/resources/mapper/base/City.xml

@@ -60,8 +60,11 @@ id_,city_name,type_,pid_		from base_city where id_=#{0}
 			select * from base_city
 		]]>
 		<where>
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
+			<if test="searchParams.type != null">
+				and type_ = #{searchParams.type}
+			</if>
+			<if test="searchParams.pid != null">
+				and pid_ = #{searchParams.pid}
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">

+ 2 - 2
common/src/main/resources/mapper/job/Recruitment.xml

@@ -161,7 +161,8 @@
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="RecruitmentMap">
-		select * from job_recruitment where id_=#{0}
+		select 
+id_,company_id,title_,area_,address_,position_,position_message,requirements_,position_number,work_year,education_,position_sex,read_times,wage_type,is_discuss_personally,contact_person,tel_,status_,approve_status,reading_times,collection_times,delivery_times,create_by,create_time,update_by,update_time,del_flag		from job_recruitment where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from job_recruitment where id_=#{0}
@@ -174,7 +175,6 @@
 			select * from job_recruitment
 		]]>
 		<where>
-			del_flag = 0
 			<if test="searchParams.id != null">
 				and ID_ like #{searchParams.id}
 			</if>

+ 43 - 1
web/src/main/java/com/jpsoft/employment/modules/base/controller/CityController.java

@@ -6,6 +6,7 @@ import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.base.entity.City;
 import com.jpsoft.employment.modules.base.service.CityService;
+import com.jpsoft.employment.modules.sys.entity.Menu;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -19,7 +20,7 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 
 @RestController
-@RequestMapping("/city")
+@RequestMapping("/base/city")
 @Api(description = "city")
 public class CityController {
     private Logger logger = LoggerFactory.getLogger(getClass());
@@ -82,4 +83,45 @@ public class CityController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="区域列表")
+    @RequestMapping(value = "findListByParams",method = RequestMethod.POST)
+    public MessageResult<List> findListByParams(String type, String pid){
+        MessageResult<List> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+        if (StringUtils.isNotEmpty(type)) {
+            searchParams.put("type",type);
+        }
+        if (StringUtils.isNotEmpty(pid)) {
+            searchParams.put("pid",pid);
+        }
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("id_","asc"));
+
+        Page<City> page = cityService.pageSearch(searchParams,1,10000,false,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(page.getResult());
+
+        return msgResult;
+    }
+
+    @ApiOperation(value = "列表")
+    @RequestMapping(value = "list", method = RequestMethod.POST)
+    public MessageResult<List> list() {
+        MessageResult<List> msgResult = new MessageResult<>();
+
+        List<City> cityList = cityService.list();
+        for(City city : cityList){
+            if(city.getPid() != null)
+                city.setParentId(city.getPid().toString());
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(cityList);
+
+        return msgResult;
+    }
 }

+ 71 - 23
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java

@@ -1,11 +1,12 @@
 package com.jpsoft.employment.modules.job.controller;
 
 import com.github.pagehelper.Page;
-import com.jpsoft.employment.modules.common.dto.MessageResult;
-import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.job.entity.Recruitment;
 import com.jpsoft.employment.modules.job.service.RecruitmentService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -19,20 +20,37 @@ import java.util.*;
 
 @RestController
 @RequestMapping("/job/recruitment")
+@Api(description = "recruitment")
 public class RecruitmentController {
     private Logger logger = LoggerFactory.getLogger(getClass());
 
     @Autowired
     private RecruitmentService recruitmentService;
 
+    @ApiOperation(value="创建空记录")
+    @GetMapping("create")
+    public MessageResult<Recruitment> create(){
+        MessageResult<Recruitment> msgResult = new MessageResult<>();
+
+        Recruitment recruitment = new Recruitment();
+
+        msgResult.setData(recruitment);
+        msgResult.setResult(true);
+
+        return msgResult;
+    }
+    
     @ApiOperation(value="添加信息")
     @PostMapping("add")
-    public MessageResult<Recruitment> add(@ModelAttribute Recruitment recruitment){
+    public MessageResult<Recruitment> add(@RequestBody Recruitment recruitment,@RequestAttribute String subject){
         MessageResult<Recruitment> msgResult = new MessageResult<>();
 
         try {
             recruitment.setId(UUID.randomUUID().toString());
-
+            recruitment.setDelFlag(false);
+            recruitment.setCreateBy(subject);
+            recruitment.setCreateTime(new Date());
+            
             int affectCount = recruitmentService.insert(recruitment);
 
             if (affectCount > 0) {
@@ -54,8 +72,8 @@ public class RecruitmentController {
     }
 
     @ApiOperation(value="获取信息")
-    @GetMapping("detail/{id}")
-    public MessageResult<Recruitment> detail(@PathVariable("id") String id){
+    @GetMapping("edit/{id}")
+    public MessageResult<Recruitment> edit(@PathVariable("id") String id){
         MessageResult<Recruitment> msgResult = new MessageResult<>();
 
         try {
@@ -81,10 +99,13 @@ public class RecruitmentController {
 
     @ApiOperation(value="更新用户")
     @PostMapping("update")
-    public MessageResult<Recruitment> update(@ModelAttribute Recruitment recruitment){
+    public MessageResult<Recruitment> update(@RequestBody Recruitment recruitment,@RequestAttribute String subject){
         MessageResult<Recruitment> msgResult = new MessageResult<>();
 
         try {
+            recruitment.setUpdateBy(subject);
+            recruitment.setUpdateTime(new Date());
+            
             int affectCount = recruitmentService.update(recruitment);
 
             if (affectCount > 0) {
@@ -105,19 +126,25 @@ public class RecruitmentController {
         return msgResult;
     }
 
-    @ApiOperation(value="删除用户")
+	@ApiOperation(value="删除")
     @PostMapping("delete/{id}")
-    public MessageResult<Recruitment> delete(@PathVariable("id") String id){
-        MessageResult<Recruitment> msgResult = new MessageResult<>();
+    public MessageResult<Integer> delete(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
 
         try {
-            int affectCount = recruitmentService.delete(id);
+            Recruitment recruitment = recruitmentService.get(id);
+            recruitment.setDelFlag(true);
+            recruitment.setUpdateBy(subject);
+            recruitment.setUpdateTime(new Date());
+
+            int affectCount = recruitmentService.update(recruitment);
 
             if (affectCount > 0) {
                 msgResult.setResult(true);
+                msgResult.setData(affectCount);
             } else {
                 msgResult.setResult(false);
-                msgResult.setMessage("数据库删除失败");
+                msgResult.setMessage("删除失败");
             }
         }
         catch(Exception ex){
@@ -132,24 +159,47 @@ public class RecruitmentController {
 
 
     @ApiOperation(value="批量删除")
-    @PostMapping("batchDelete/{id}")
-    public MessageResult<Recruitment> batchDelete(@PathVariable("id") String id){
-        MessageResult<Recruitment> msgResult = new MessageResult<>();
+    @PostMapping("batchDelete")
+    public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            int affectCount = 0;
+
+            for (String id : idList) {
+                Recruitment recruitment = recruitmentService.get(id);
+                recruitment.setDelFlag(true);
+                recruitment.setUpdateBy(subject);
+                recruitment.setUpdateTime(new Date());
+
+                affectCount += recruitmentService.update(recruitment);
+            }
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(affectCount);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("删除失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
 
-        msgResult.setResult(false);
-        msgResult.setMessage("未实现");
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
 
         return msgResult;
     }
 
     @ApiOperation(value="列表")
-    @RequestMapping(value = "list",method = RequestMethod.POST)
-    public MessageResult<Map> list(
+    @RequestMapping(value = "pageList",method = RequestMethod.POST)
+    public MessageResult<Map> pageList(
             String id,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
-            HttpServletRequest request){
-        String subject = (String)request.getAttribute("subject");
+            @RequestAttribute String subject){
 
         //当前用户ID
         System.out.println(subject);
@@ -165,10 +215,8 @@ public class RecruitmentController {
             searchParams.put("id","%" + id + "%");
         }
 
-
         Page<Recruitment> page = recruitmentService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
 
-
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));