diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/IndexController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/IndexController.java index b208744..1971c96 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/IndexController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/IndexController.java @@ -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>> bannerList(@RequestHeader("X-Access-Token") String token) { + public Result>> 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 rolelist1(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("role",2).eq("audit_status",1).orderByDesc("create_time"); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbUserRoleService.page(page, queryWrapper); + List records = pageList.getRecords(); + List 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 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> 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 page = new Page(pageNo, pageSize); + IPage tasks = TaskMapper.tasks(latitude,longitude , null, null, page); + + return Result.OK(tasks); + } + + + + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/OrderController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/OrderController.java new file mode 100644 index 0000000..2240158 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/OrderController.java @@ -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 addTask(@RequestBody TaskReq tbTask, @RequestHeader("X-Access-Token") String token) { + if (ValidateTool.isNull(tbTask)) { + throw new JeecgBootException("请填写资料"); + } + userService.addTask(tbTask, token); + return Result.OK("添加成功!"); + } + + + + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/UserController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/UserController.java index 343b736..1b863fe 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/UserController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/controller/UserController.java @@ -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 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 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 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 getTaskById(@RequestParam(name = "id", required = true) String id) { + TbTask tbTask = tbTaskService.getById(id); + if (tbTask == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(tbTask); + } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/TaskMapper.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/TaskMapper.java new file mode 100644 index 0000000..d40d1a5 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/TaskMapper.java @@ -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 { + + IPage tasks(@Param("lon") String lon, @Param("lat") String lat + , @Param("distance") String distance, @Param("search") String search, Page page); + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/TaskMapper.xml b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/TaskMapper.xml new file mode 100644 index 0000000..801bb4e --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/TaskMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq.java new file mode 100644 index 0000000..3487ed5 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq.java @@ -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; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq2.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq2.java new file mode 100644 index 0000000..364ed0c --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/req/TaskReq2.java @@ -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; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/TbTaskVo.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/TbTaskVo.java new file mode 100644 index 0000000..5426242 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/TbTaskVo.java @@ -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; +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/UserRole1Vo.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/UserRole1Vo.java new file mode 100644 index 0000000..0d08735 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/model/vo/UserRole1Vo.java @@ -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; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/UserService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/UserService.java index 1e19bbf..de1bc37 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/UserService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/UserService.java @@ -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); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/AppletLoginServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/AppletLoginServiceImpl.java index 9037099..117a9d5 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/AppletLoginServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/AppletLoginServiceImpl.java @@ -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账号 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/IndexServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/IndexServiceImpl.java index dcf605f..862a95e 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/IndexServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/IndexServiceImpl.java @@ -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); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/UserServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/UserServiceImpl.java index 2cfcc40..707bb7d 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/UserServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/UserServiceImpl.java @@ -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 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 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); + } }