Browse Source

发布任务

master
cgx 5 months ago
parent
commit
14cd1cefa8
13 changed files with 707 additions and 26 deletions
  1. +72
    -8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/IndexController.java
  2. +59
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/OrderController.java
  3. +43
    -6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/UserController.java
  4. +25
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/TaskMapper.java
  5. +57
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/TaskMapper.xml
  6. +99
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq.java
  7. +87
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq2.java
  8. +98
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/TbTaskVo.java
  9. +80
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/UserRole1Vo.java
  10. +4
    -6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/UserService.java
  11. +5
    -2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/AppletLoginServiceImpl.java
  12. +3
    -3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/IndexServiceImpl.java
  13. +75
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/UserServiceImpl.java

+ 72
- 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/IndexController.java View File

@ -7,24 +7,29 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.industry.entity.TbIndustry;
import org.jeecg.modules.industry.service.ITbIndustryService;
import org.jeecg.modules.userCode.service.IndexService;
import org.jeecg.modules.banner.entity.WebBanner;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.industry.entity.TbIndustry;
import org.jeecg.modules.industry.service.ITbIndustryService;
import org.jeecg.modules.postBean.SuggestReq;
import org.jeecg.modules.tbSuggest.entity.TbSuggest;
import org.jeecg.modules.tbSuggest.service.ITbSuggestService;
import org.jeecg.modules.tbTask.service.ITbTaskService;
import org.jeecg.modules.userCode.mapper.TaskMapper;
import org.jeecg.modules.userCode.model.vo.TbTaskVo;
import org.jeecg.modules.userCode.model.vo.UserRole1Vo;
import org.jeecg.modules.userCode.service.IndexService;
import org.jeecg.modules.userRole.entity.TbUserRole;
import org.jeecg.modules.userRole.service.ITbUserRoleService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -47,7 +52,12 @@ public class IndexController {
private RedisUtil redisUtil;
@Autowired
private ITbIndustryService tbIndustryService;
@Resource
private ITbUserRoleService tbUserRoleService;
@Resource
private ITbTaskService tbTaskService;
@Resource
private TaskMapper TaskMapper;
@ApiOperation(value = "我的头像昵称,平台客户电话等信息")
@RequestMapping(value = "/index", method = RequestMethod.POST)
@ -61,7 +71,7 @@ public class IndexController {
@ApiOperation(value = "获取banner列表")
@RequestMapping(value = "/bannerList", method = RequestMethod.POST)
public Result<Map<Integer, List<WebBanner>>> bannerList(@RequestHeader("X-Access-Token") String token) {
public Result<Map<Integer, List<WebBanner>>> bannerList() {
return indexService.bannerList();
}
@ -99,6 +109,60 @@ public class IndexController {
}
/**
* 求职大厅列表查询
*
* @param tbUserRole
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tb_user_role-分页列表查询")
@ApiOperation(value="求职大厅列表查询", notes="求职大厅列表查询")
@GetMapping(value = "/rolelist1")
public Result<Map> rolelist1(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
QueryWrapper<TbUserRole> queryWrapper = new QueryWrapper<>();
queryWrapper.in("role",2).eq("audit_status",1).orderByDesc("create_time");
Page<TbUserRole> page = new Page<TbUserRole>(pageNo, pageSize);
IPage<TbUserRole> pageList = tbUserRoleService.page(page, queryWrapper);
List<TbUserRole> records = pageList.getRecords();
List<UserRole1Vo> vos = new ArrayList<>();
for (TbUserRole record : records) {
UserRole1Vo userRole1Vo = new UserRole1Vo();
BeanUtils.copyProperties(record,userRole1Vo);
userRole1Vo.setHeadImage(String.valueOf(redisUtil.get("")));
vos.add(userRole1Vo);
}
//转个vo好对接
Map<Object, Object> map = new HashMap<>();
map.put("pages",pageList.getPages());
map.put("current",pageList.getCurrent());
map.put("total",pageList.getTotal());
map.put("size",pageList.getSize());
map.put("records",vos);
return Result.OK(map);
}
//@AutoLog(value = "tb_task-分页列表查询")
@ApiOperation(value="t招聘大厅列表查询", notes="招聘大厅列表查询")
@GetMapping(value = "/taskList")
public Result<IPage<TbTaskVo>> taskList( @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="latitude") String latitude,
@RequestParam(name="longitude") String longitude) {
Page<TbTaskVo> page = new Page<TbTaskVo>(pageNo, pageSize);
IPage<TbTaskVo> tasks = TaskMapper.tasks(latitude,longitude , null, null, page);
return Result.OK(tasks);
}
}

+ 59
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/OrderController.java View File

@ -0,0 +1,59 @@
package org.jeecg.modules.userCode.controller;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.bean.LoginReq;
import org.jeecg.modules.postBean.ReqUserRole;
import org.jeecg.modules.postBean.ReqUserRole2;
import org.jeecg.modules.tbTask.entity.TbTask;
import org.jeecg.modules.tbTask.service.ITbTaskService;
import org.jeecg.modules.userCode.model.req.TaskReq;
import org.jeecg.modules.userCode.model.req.TaskReq2;
import org.jeecg.modules.userCode.service.AppletLoginService;
import org.jeecg.modules.userCode.service.UserService;
import org.jeecg.modules.utils.ValidateTool;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 服务化 system模块 对外接口请求类
*
* @author: jeecg-boot
*/
@Slf4j
@RestController
@RequestMapping("/order")
@Api(tags = "订单相关接口")
public class OrderController {
@Resource
private AppletLoginService appletLoginService;
@Resource
private UserService userService;
@Resource
private ITbTaskService tbTaskService;
@ApiOperation(value = "公司发布任务", notes = "发布任务")
@PostMapping(value = "/addTask")
public Result<String> addTask(@RequestBody TaskReq tbTask, @RequestHeader("X-Access-Token") String token) {
if (ValidateTool.isNull(tbTask)) {
throw new JeecgBootException("请填写资料");
}
userService.addTask(tbTask, token);
return Result.OK("添加成功!");
}
}

+ 43
- 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/UserController.java View File

@ -5,10 +5,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.bean.LoginReq;
import org.jeecg.modules.postBean.ReqUserRole;
import org.jeecg.modules.postBean.ReqUserRole2;
import org.jeecg.modules.tbTask.entity.TbTask;
import org.jeecg.modules.tbTask.service.ITbTaskService;
import org.jeecg.modules.userCode.model.req.TaskReq;
import org.jeecg.modules.userCode.model.req.TaskReq2;
import org.jeecg.modules.userCode.service.AppletLoginService;
import org.jeecg.modules.userCode.service.UserService;
import org.jeecg.modules.utils.ValidateTool;
@ -24,7 +28,7 @@ import javax.annotation.Resource;
*/
@Slf4j
@RestController
@RequestMapping("/user/")
@RequestMapping("/user")
@Api(tags = "登陆选择身份等接口")
public class UserController {
@ -33,7 +37,7 @@ public class UserController {
@Resource
private UserService userService;
@Resource
private ShiroRealm shiroRealm;
private ITbTaskService tbTaskService;
//小程序授权登录
@ApiOperation(value = "小程序-登录接口", notes = "小程序-登录接口")
@ -49,11 +53,10 @@ public class UserController {
if (ValidateTool.isNull(reqUserRole)) {
return Result.error("参数错误");
}
return appletLoginService.role2(reqUserRole,token);
return appletLoginService.role2(reqUserRole, token);
}
@ApiOperation(value = "招聘方填写信息")
@RequestMapping(value = "/roleBoss", method = RequestMethod.POST)
public Result<JSONObject> roleBoss(@RequestBody ReqUserRole reqUserRole, @RequestHeader("X-Access-Token") String token) {
@ -61,14 +64,48 @@ public class UserController {
return Result.error("参数错误");
}
return appletLoginService.role(reqUserRole,token);
return appletLoginService.role(reqUserRole, token);
}
@ApiOperation(value = "公司发布任务", notes = "发布任务")
@PostMapping(value = "/addTask")
public Result<String> addTask(@RequestBody TaskReq tbTask, @RequestHeader("X-Access-Token") String token) {
if (ValidateTool.isNull(tbTask)) {
throw new JeecgBootException("请填写资料");
}
userService.addTask(tbTask, token);
return Result.OK("添加成功!");
}
@ApiOperation(value = "师傅发布", notes = "师傅发布")
@PostMapping(value = "/addTask2")
public Result<String> addTask2(@RequestBody TaskReq2 tbTask, @RequestHeader("X-Access-Token") String token) {
if (ValidateTool.isNull(tbTask)) {
throw new JeecgBootException("请填写资料");
}
userService.addTask2(tbTask, token);
return Result.OK("添加成功!");
}
/**
* 查看师傅/工作详情
*
* @param id
* @return
*/
//@AutoLog(value = "tb_user_role-通过id查询")
@ApiOperation(value = "tb_user_role-通过id查询", notes = "tb_user_role-通过id查询")
@GetMapping(value = "/getTaskById")
public Result<TbTask> getTaskById(@RequestParam(name = "id", required = true) String id) {
TbTask tbTask = tbTaskService.getById(id);
if (tbTask == null) {
return Result.error("未找到对应数据");
}
return Result.OK(tbTask);
}
}

+ 25
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/TaskMapper.java View File

@ -0,0 +1,25 @@
package org.jeecg.modules.userCode.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.tbTask.entity.TbTask;
import org.jeecg.modules.userCode.model.vo.TbTaskVo;
import java.util.List;
/**
* @Description: merchant_info
* @Author: jeecg-boot
* @Date: 2021-03-15
* @Version: V1.0
*/
public interface TaskMapper extends BaseMapper<TbTask> {
IPage<TbTaskVo> tasks(@Param("lon") String lon, @Param("lat") String lat
, @Param("distance") String distance, @Param("search") String search, Page page);
}

+ 57
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/TaskMapper.xml View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.userCode.mapper.TaskMapper">
<!-- 通过字典code获取字典数据 -->
<select id="tasks" parameterType="String"
resultType="org.jeecg.modules.userCode.model.vo.TbTaskVo">
<!-- SELECT *,-->
<!-- (6371 * acos (-->
<!-- cos (RADIANS(${lat}))-->
<!-- * cos(RADIANS(SUBSTRING_INDEX(longit_lat,',',-1) ) )-->
<!-- * cos(RADIANS(SUBSTRING_INDEX(longit_lat,',',1)) - RADIANS(${lon}) )-->
<!-- + sin (RADIANS(${lat}))-->
<!-- * sin(RADIANS(SUBSTRING_INDEX(longit_lat,',',-1) ) )-->
<!-- )) AS distances-->
<!-- FROM merchant_info HAVING <![CDATA[ distances <= 5 ]]> and <![CDATA[ del_flag = 0 ]]> ORDER BY distances-->
select *
from (
SELECT *,ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
#{lat,jdbcType=VARCHAR} * PI() / 180 - SUBSTRING_INDEX(longitude,',',-1) * PI() / 180
) / 2
),
2
) + COS(#{lat,jdbcType=VARCHAR} * PI() / 180) * COS(SUBSTRING_INDEX(longitude,',',-1) * PI() / 180) * POW(
SIN(
(
#{lon,jdbcType=VARCHAR} * PI() / 180 - SUBSTRING_INDEX(longitude,',',1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distances
FROM
tb_task
where del_flag =0 and audit_status =1 and role in (0,1)
ORDER BY distances ASC)
as a
<where>
del_flag =0
<if test="search!=null and search!='' ">
and a.name like '%${search}%'
</if>
<if test="distance!=null and distance!='' ">
and a.distances <![CDATA[ <=]]> #{distance}
</if>
</where>
</select>
</mapper>

+ 99
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq.java View File

@ -0,0 +1,99 @@
package org.jeecg.modules.userCode.model.req;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: tb_task
* @Author: jeecg-boot
* @Date: 2024-12-12
* @Version: V1.0
*/
@Data
@TableName("tb_task")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tb_task对象", description="tb_task")
public class TaskReq implements Serializable {
private static final long serialVersionUID = 1L;
/**工作标题*/
@Excel(name = "工作标题", width = 15)
@ApiModelProperty(value = "工作标题")
private String title;
/**上班地址*/
@Excel(name = "上班地址", width = 15)
@ApiModelProperty(value = "上班地址")
private String workAddress;
/**上班地址经度*/
@Excel(name = "上班地址经度", width = 15)
@ApiModelProperty(value = "上班地址经度")
private String latitude;
/**上班地址纬度*/
@Excel(name = "上班地址纬度", width = 15)
@ApiModelProperty(value = "上班地址纬度")
private String longitude;
/**行业/工种*/
@Excel(name = "行业/工种", width = 15)
@ApiModelProperty(value = "行业/工种")
private String industryName;
/**行业/工种id*/
@Excel(name = "行业/工种id", width = 15)
@ApiModelProperty(value = "行业/工种id")
private String industryId;
/**工作内容*/
@Excel(name = "工作内容", width = 15)
@ApiModelProperty(value = "工作内容")
private String workDetail;
/**图片上传*/
@Excel(name = "图片上传", width = 15)
@ApiModelProperty(value = "图片上传")
private String workPic;
/**招聘方联系方式*/
@Excel(name = "招聘方联系方式", width = 15)
@ApiModelProperty(value = "招聘方联系方式")
private String bossPhone;
/**期望日薪*/
@Excel(name = "期望日薪", width = 15)
@ApiModelProperty(value = "期望日薪")
private Integer dayMoney;
/**时间范围*/
@Excel(name = "时间范围", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "时间范围")
private Date startTime;
/**时间范围*/
@Excel(name = "时间范围", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "时间范围")
private Date endTime;
/**期望薪资最小值*/
@Excel(name = "期望薪资最小值", width = 15)
@ApiModelProperty(value = "期望薪资最小值")
private Integer moneymin;
/**期望薪资最大值*/
@Excel(name = "期望薪资最大值", width = 15)
@ApiModelProperty(value = "期望薪资最大值")
private Integer moneymax;
/**结算方式 0提前支付 1 试用后支付*/
@Excel(name = "结算方式 0提前支付 1 试用后支付", width = 15, dicCode = "pay_type")
@Dict(dicCode = "pay_type")
@ApiModelProperty(value = "结算方式 0提前支付 1 试用后支付")
private Integer payType;
}

+ 87
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq2.java View File

@ -0,0 +1,87 @@
package org.jeecg.modules.userCode.model.req;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: tb_task
* @Author: jeecg-boot
* @Date: 2024-12-12
* @Version: V1.0
*/
@Data
@TableName("tb_task")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tb_task对象", description="tb_task")
public class TaskReq2 implements Serializable {
private static final long serialVersionUID = 1L;
/**工人出发地址*/
@Excel(name = "工人出发地址", width = 15)
@ApiModelProperty(value = "工人出发地址")
private String workerAddress;
/**出行方式 0出租车 1 网约车 2 公交地铁 3无*/
@Excel(name = "出行方式 0出租车 1 网约车 2 公交地铁 3无", width = 15, dicCode = "travel_type")
@Dict(dicCode = "travel_type")
@ApiModelProperty(value = "出行方式 0出租车 1 网约车 2 公交地铁 3无")
private Integer travelType;
/**上班地址经度*/
@Excel(name = "上班地址经度", width = 15)
@ApiModelProperty(value = "地址经度")
private String latitude;
/**上班地址纬度*/
@Excel(name = "上班地址纬度", width = 15)
@ApiModelProperty(value = "地址纬度")
private String longitude;
/**行业/工种*/
@Excel(name = "行业/工种", width = 15)
@ApiModelProperty(value = "行业/工种")
private String industryName;
/**行业/工种id*/
@Excel(name = "行业/工种id", width = 15)
@ApiModelProperty(value = "行业/工种id")
private String industryId;
/**工作内容*/
@Excel(name = "工作内容", width = 15)
@ApiModelProperty(value = "工作内容")
private String workDetail;
/**期望日薪*/
@Excel(name = "期望日薪", width = 15)
@ApiModelProperty(value = "期望日薪")
private Integer dayMoney;
/**期望薪资最小值*/
@Excel(name = "期望薪资最小值", width = 15)
@ApiModelProperty(value = "期望薪资最小值")
private Integer moneymin;
/**期望薪资最大值*/
@Excel(name = "期望薪资最大值", width = 15)
@ApiModelProperty(value = "期望薪资最大值")
private Integer moneymax;
/**结算方式 0提前支付 1 试用后支付*/
@Excel(name = "结算方式 0提前支付 1 试用后支付", width = 15, dicCode = "pay_type")
@Dict(dicCode = "pay_type")
@ApiModelProperty(value = "结算方式 0提前支付 1 试用后支付")
private Integer payType;
}

+ 98
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/TbTaskVo.java View File

@ -0,0 +1,98 @@
package org.jeecg.modules.userCode.model.vo;
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.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: tb_task
* @Author: jeecg-boot
* @Date: 2024-12-12
* @Version: V1.0
*/
@Data
@TableName("tb_task")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tb_task对象", description="tb_task")
public class TbTaskVo implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private String userId;
/**工作标题*/
@Excel(name = "工作标题", width = 15)
@ApiModelProperty(value = "工作标题")
private String title;
/**公司名称*/
@Excel(name = "公司名称", width = 15)
@ApiModelProperty(value = "公司名称")
private String companyName;
/**上班地址*/
@Excel(name = "上班地址", width = 15)
@ApiModelProperty(value = "上班地址")
private String workAddress;
/**行业/工种*/
@Excel(name = "行业/工种", width = 15)
@ApiModelProperty(value = "行业/工种")
private String industryName;
/**行业/工种id*/
@Excel(name = "行业/工种id", width = 15)
@ApiModelProperty(value = "行业/工种id")
private String industryId;
/**招聘方联系方式*/
@Excel(name = "招聘方联系方式", width = 15)
@ApiModelProperty(value = "招聘方联系方式")
private String bossPhone;
/**时间范围*/
@Excel(name = "时间范围", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "时间范围")
private Date startTime;
/**时间范围*/
@Excel(name = "时间范围", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "时间范围")
private Date endTime;
/**工作时长*/
@Excel(name = "工作时长", width = 15)
@ApiModelProperty(value = "工作时长")
private String workTime;
/**期望薪资最小值*/
@Excel(name = "期望薪资最小值", width = 15)
@ApiModelProperty(value = "期望薪资最小值")
private Integer moneymin;
/**期望薪资最大值*/
@Excel(name = "期望薪资最大值", width = 15)
@ApiModelProperty(value = "期望薪资最大值")
private Integer moneymax;
/**结算方式 0提前支付 1 试用后支付*/
@Excel(name = "结算方式 0提前支付 1 试用后支付", width = 15, dicCode = "pay_type")
@Dict(dicCode = "pay_type")
@ApiModelProperty(value = "结算方式 0提前支付 1 试用后支付")
private Integer payType;
@ApiModelProperty(value = "距离(米)")
@TableField(exist = false)
private String distances;
}

+ 80
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/UserRole1Vo.java View File

@ -0,0 +1,80 @@
package org.jeecg.modules.userCode.model.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: tb_user_role
* @Author: jeecg-boot
* @Date: 2024-12-07
* @Version: V1.0
*/
@Data
@TableName("tb_user_role")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tb_user_role对象", description="tb_user_role")
public class UserRole1Vo implements Serializable {
private static final long serialVersionUID = 1L;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private String userId;
/**用户名*/
@Excel(name = "用户名", width = 15)
@ApiModelProperty(value = "用户名")
private String userName;
/**行业/工种*/
@Excel(name = "行业/工种", width = 15)
@ApiModelProperty(value = "行业/工种")
private String industryName;
/**行业/工种id*/
@Excel(name = "行业/工种id", width = 15)
@ApiModelProperty(value = "行业/工种id")
private String industryId;
/**个人简介*/
@Excel(name = "个人简介", width = 15)
@ApiModelProperty(value = "个人简介")
private String detail;
/**用户头像*/
@Excel(name = "用户头像", width = 15)
@ApiModelProperty(value = "用户头像")
private java.lang.String headImage;
/**电话*/
@Excel(name = "电话", width = 15)
@ApiModelProperty(value = "电话")
private String phone;
/**年龄*/
@Excel(name = "年龄", width = 15)
@ApiModelProperty(value = "年龄")
private Integer age;
/**性别*/
@Excel(name = "性别", width = 15, dicCode = "sex")
@Dict(dicCode = "sex")
@ApiModelProperty(value = "性别")
private Integer gender;
/**期望薪资最小值*/
@Excel(name = "期望薪资最小值", width = 15)
@ApiModelProperty(value = "期望薪资最小值")
private Integer moneyMin;
/**期望薪资最大值*/
@Excel(name = "期望薪资最大值", width = 15)
@ApiModelProperty(value = "期望薪资最大值")
private Integer moneyMax;
}

+ 4
- 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/UserService.java View File

@ -1,15 +1,13 @@
package org.jeecg.modules.userCode.service;
import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.postBean.ReqUserRole;
import org.jeecg.modules.userCode.model.req.TaskReq;
import org.jeecg.modules.userCode.model.req.TaskReq2;
public interface UserService {
void addTask(TaskReq tbTask, String token);
void addTask2(TaskReq2 tbTask, String token);
}

+ 5
- 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/AppletLoginServiceImpl.java View File

@ -2,6 +2,7 @@ package org.jeecg.modules.userCode.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
@ -28,6 +29,7 @@ import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
@Slf4j
@Service
public class AppletLoginServiceImpl implements AppletLoginService {
@ -71,6 +73,7 @@ public class AppletLoginServiceImpl implements AppletLoginService {
JSONObject json_test = httpConf.getJSONObject(loginUrl);
String wxOpenid = json_test.getString("openid");
String sessionKey = json_test.getString("session_key");
log.info("mpAppId{}=====mpAppSecret{}=====Code{}======wxOpenid{}",mpAppId,mpAppSecret,loginReq.getCode(),wxOpenid);
if (StringUtils.isBlank(wxOpenid)) {
throw new JeecgBootException("未获取到openid");
}
@ -109,11 +112,11 @@ public class AppletLoginServiceImpl implements AppletLoginService {
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
// 设置超时时间
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100);
Map roleInfo = tbUserRoleService.getRoleInfo(member.getId());
Map roleInfo = tbUserRoleService.getRoleInfo(member.getId(),false);
//返回身份角色信息
map.put("boss", roleInfo.get("boss"));
map.put("company", roleInfo.get("company"));
map.put("worker", null);
map.put("worker", roleInfo.get("worker"));
map.put("userInfo", member);
map.put("token", token);
//用户id做im账号


+ 3
- 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/IndexServiceImpl.java View File

@ -48,13 +48,13 @@ public class IndexServiceImpl implements IndexService {
//平台客户电话号码
jsonObject.put("phone", ValidateTool.isNull(one) ? "19198239116" : one.getValue());
jsonObject.put("my", hanHaiMember);
Map roleInfo = tbUserRoleService.getRoleInfo(hanHaiMember.getId());
Map roleInfo = tbUserRoleService.getRoleInfo(hanHaiMember.getId(),false);
// 返回用人方个人身份信息
jsonObject.put("boss", roleInfo.get("boss"));
// 返回用人方企业身份信息
jsonObject.put("company", roleInfo.get("company"));
jsonObject.put("worker", roleInfo.get("worker"));
return Result.OK(jsonObject);
}


+ 75
- 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/UserServiceImpl.java View File

@ -1,15 +1,31 @@
package org.jeecg.modules.userCode.service.impl;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.util.DateUtils;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.banner.service.IWebBannerService;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
import org.jeecg.modules.tbTask.entity.TbTask;
import org.jeecg.modules.tbTask.service.ITbTaskService;
import org.jeecg.modules.userCode.model.req.TaskReq;
import org.jeecg.modules.userCode.model.req.TaskReq2;
import org.jeecg.modules.userCode.service.UserService;
import org.jeecg.modules.userRole.entity.TbUserRole;
import org.jeecg.modules.userRole.service.ITbUserRoleService;
import org.jeecg.modules.utils.ValidateTool;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
import java.util.Map;
@Service
@ -17,17 +33,75 @@ public class UserServiceImpl implements UserService {
@Resource
private IWebBannerService webBannerService;
private ITbTaskService tbTaskService;
@Autowired
private IHanHaiMemberService iHanHaiMemberService;
@Autowired
private RedisUtil redisUtil;
@Resource
private ITbUserRoleService tbUserRoleService;
@Resource
private ShiroRealm shiroRealm;
@Transactional
@Override
public void addTask(TaskReq tbTask, String token) {
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token);
if (ValidateTool.isNull(tbTask.getIndustryId())) {
throw new JeecgBootException("请填写工种");
}
Map<String, TbUserRole> roleInfo = tbUserRoleService.getRoleInfo(hanHaiMember.getId(),true);
TbUserRole company = roleInfo.get("company");
TbUserRole boss = roleInfo.get("boss");
if (ValidateTool.isNull(company) && ValidateTool.isNull(boss)){
throw new JeecgBootException("资料未审核通过,不能发布任务");
}
TbTask task = new TbTask();
task.setUserId(hanHaiMember.getId());
task.setRole(0);
task.setAuditStatus(0);
if (ValidateTool.isNotNull(company)){
task.setCompanyName( company.getCompanyName());
task.setUserName(company.getUserName());
}else {
task.setCompanyName("");
task.setUserName(boss.getUserName());
}
task.setHeadPic(hanHaiMember.getHeadImage());
BeanUtils.copyProperties(tbTask, task);
float untilHours = DateUtils.getUntilHours(tbTask.getEndTime(), tbTask.getStartTime());
BigDecimal bigDecimal = new BigDecimal(String.valueOf(untilHours));
BigDecimal bigDecimal1 = bigDecimal.setScale(2, RoundingMode.HALF_UP);
task.setWorkTime(bigDecimal1+"h");
tbTaskService.save(task);
}
@Transactional
@Override
public void addTask2(TaskReq2 tbTask, String token) {
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token);
if (ValidateTool.isNull(tbTask.getIndustryId())) {
throw new JeecgBootException("请填写工种");
}
Map<String, TbUserRole> roleInfo = tbUserRoleService.getRoleInfo(hanHaiMember.getId(),true);
TbUserRole worker = roleInfo.get("worker");
if (ValidateTool.isNull(worker)){
throw new JeecgBootException("资料未审核通过,不能发布任务");
}
TbTask task = new TbTask();
task.setUserId(hanHaiMember.getId());
task.setRole(1);
task.setAuditStatus(0);
task.setHeadPic(hanHaiMember.getHeadImage());
task.setWorkName(worker.getUserName());
task.setPhone(worker.getPhone());
task.setGender(worker.getGender());
BeanUtils.copyProperties(tbTask, task);
tbTaskService.save(task);
}
}

Loading…
Cancel
Save