package com.ruoyi.worker.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.admin.api.entity.Agreement;
import com.ruoyi.admin.api.feignClient.AdminClient;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.RedisConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.auth.AuthUtil;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.api.entity.WorkerOrderCountVO;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.system.api.model.LoginUserInfo;
import com.ruoyi.worker.entity.AppVersion;
import com.ruoyi.worker.entity.MasterWorker;
import com.ruoyi.worker.entity.WorkerProcess;
import com.ruoyi.worker.mapper.AppMapper;
import com.ruoyi.worker.request.LoginPasswordRequest;
import com.ruoyi.worker.request.LoginPhoneRequest;
import com.ruoyi.worker.service.MasterWorkerService;
import com.ruoyi.worker.service.WorkerProcessService;
import com.ruoyi.worker.vo.HomePageInfoVO;
import com.ruoyi.worker.vo.OrderListVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
*
* 师傅信息表 前端控制器
*
*
* @author hjl
* @since 2024-06-03
*/
@RestController
@RequestMapping("/worker")
@Api(value = "师傅端", tags = "师傅端")
public class MasterWorkerController {
@Resource
private MasterWorkerService masterWorkerService;
@Resource
private TokenService tokenService;
@Resource
private RedisService redisService;
@Resource
private WorkerProcessService workerProcessService;
@Resource
private AdminClient adminClient;
@Resource
private OrderClient orderClient;
@Resource
private AppMapper appMapper;
@PostMapping("/version/check")
@ApiOperation(value = "获取最新的版本信息", tags = {"自动更新"})
public R check() {
AppVersion appVersion = appMapper.selectOne(new QueryWrapper().orderByDesc("createTime").eq("is_delete", 0).last("limit 1"));
// Object version = redisService.getCacheObject("version");
return R.ok(appVersion);
}
/**
* 师傅端-密码登录
*
* @param loginPasswordRequest 手机号及密码信息
*/
@ApiOperation(value = "密码登录", tags = {"师傅端-登录"})
@PostMapping(value = "/passwordLogin")
public R