package com.ruoyi.other.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.other.api.domain.TechnicianSubscribe; import com.ruoyi.other.service.TechnicianSubscribeService; import com.ruoyi.other.vo.TechnicianSubscribeVO; import io.swagger.annotations.*; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** *

* 前端控制器 *

* * @author luodangjia * @since 2024-11-20 */ @Api("技师预约管理") @RestController @RequestMapping("/technician-subscribe") public class TechnicianSubscribeController extends BaseController { @Resource private TechnicianSubscribeService technicianSubscribeService; @Resource private TokenService tokenService; @GetMapping("/shop/list") @ApiOperation(value = "预约列表", tags = {"门店-预约列表"}) public TableDataInfo shoplist(@ApiParam(value = "状态") Integer status, @ApiParam("电话")String phone, @ApiParam("姓名")String name, @ApiParam("服务方式:1=上门服务,2=到店服务")Integer serviceMode ) { Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); startPage(); List list = technicianSubscribeService .getTechnicianSubscribeByUserAndShop1(Long.valueOf(objectId),status,phone,name,serviceMode); return getDataTable(list); } /** * 预约列表 */ @GetMapping("/list") @ApiOperation(value = "预约列表", notes = "预约列表", tags = {"小程序-个人中心-门店管理-预约列表"}) public TableDataInfo list(@ApiParam(value = "状态") Integer status, @ApiParam(value = "门店id") @RequestParam Long shopId) { startPage(); List list = technicianSubscribeService .getTechnicianSubscribeByUserAndShop(shopId,status); return getDataTable(list); } /** * 预约技师 */ @PostMapping("/subscribe") @ApiOperation(value = "预约技师", notes = "预约技师", tags = {"小程序-个人中心-门店管理-预约列表"}) public R subscribe(@RequestBody TechnicianSubscribe technicianSubscribe) { technicianSubscribeService.subscribe(technicianSubscribe); return R.ok(); } /** * 取消服务 */ @GetMapping("/cancel") @ApiOperation(value = "取消服务", notes = "取消服务", tags = {"小程序-个人中心-门店管理,小程序-个人中心-我的预约","门店-预约管理"}) public R cancel(@ApiParam(value = "预约id") @RequestParam Long id) { TechnicianSubscribe subscribe = technicianSubscribeService.getOne(new LambdaQueryWrapper() .eq(TechnicianSubscribe::getId, id) .eq(TechnicianSubscribe::getStatus, 0)); if (null == subscribe) { return R.fail("不满足取消条件"); } subscribe.setStatus(2); technicianSubscribeService.updateById(subscribe); return R.ok(); } /** * 更新技师预约状态 * * @param status */ @PutMapping("/updateStatus") @ApiOperation(value = "更新技师预约状态", notes = "更新技师预约状态", tags = {"后台-技师预约管理-更新技师预约状态"}) public R updateStatus(@ApiParam @RequestParam Integer status, @ApiParam @RequestParam Long subscribeId) { boolean update = technicianSubscribeService.update(new LambdaUpdateWrapper() .eq(TechnicianSubscribe::getId, subscribeId) .set(TechnicianSubscribe::getStatus, status)); if (!update) { return R.fail("更新失败"); } return R.ok(); } @GetMapping("/home/list") @ApiOperation(value = "列表", notes = "获取用户预约列表", tags = {"小程序-个人中心-我的预约"}) @ApiImplicitParams({ @ApiImplicitParam(name = "status", value = "状态 0=待服务,1=已服务,2=已取消, 4=已到期", required = true, dataType = "Integer", paramType = "query"), @ApiImplicitParam(name = "current", value = "当前页码,从1开始", required = true, dataType = "Integer", paramType = "query"), @ApiImplicitParam(name = "size", value = "每页显示数量,默认10", dataType = "Integer", paramType = "query") }) public R> homelist(@RequestParam(value = "status", required = false) @ApiParam(value = "状态 0=待服务,1=已服务,2=已取消 4 已到期") Integer status, @ApiParam(hidden = true) Page page) { return R.ok(technicianSubscribeService.getTechnicianSubscribeByUser(page, SecurityUtils.getUserId(), status)); } }