package com.pz.merchant.controller.applet; import cn.dev33.satoken.annotation.SaIgnore; import com.dtflys.forest.annotation.Put; import com.pz.common.core.controller.BaseController; import com.pz.common.core.domain.PageQuery; import com.pz.common.core.domain.R; import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.validate.EditGroup; import com.pz.common.helper.LoginHelper; import com.pz.merchant.domain.bo.EmployeesListBo; import com.pz.merchant.domain.bo.OrderBo; import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo; import com.pz.merchant.domain.vo.EmployeesListVo; import com.pz.merchant.domain.vo.OrderInfoVO; import com.pz.merchant.domain.vo.TodayOrderListVo; import com.pz.merchant.service.IEmployeesService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; /** * 商户[小程序] * * @author WangMin * @date 2023-09-11 */ @Validated @RequiredArgsConstructor @RestController("AppEmployeesController") @RequestMapping("/merchant/app/employees") public class EmployeesController extends BaseController { private final IEmployeesService employeesService; /** * 查询陪诊员列表 */ @GetMapping("/list") public TableDataInfo<EmployeesListVo> employeesList(EmployeesListBo bo, PageQuery pageQuery) { return employeesService.employeesList(bo, pageQuery); } /** * 设置员工工作时间段 * * @param bo 员工参数信息 * @return 操作结果 */ @PutMapping("/setWorkHour") public R<Boolean> setEmployeesWorkHour(@RequestBody @Validated(EditGroup.class) SetEmployeeWorkingHourBo bo) { return R.ok(employeesService.setEmployeesWorkHours(bo)); } /** * 查询员工详情及今日订单数据 * * @param emId 员工ID */ @GetMapping("/detail") public R<TodayOrderListVo> getEmployeeTodayData(@NotNull(message = "员工ID不能为空") Integer emId) { return R.ok(employeesService.queryEmployeesInfo(emId)); } /** * 查询员工所有订单 * * @param bo 筛选条件 * @param pageQuery 分页 * @return 订单列表 */ @GetMapping("/order/list") public TableDataInfo<OrderInfoVO> getAllOrders(OrderBo bo, PageQuery pageQuery) { return employeesService.queryAllOrder(bo, pageQuery); } /** * 切换用户 身份 * * @param emId 陪诊员ID * @return 切换用户身份结果 */ @PutMapping("/switchIdentity") public R<Boolean> switchIdentity(@NotNull(message = "陪诊员ID不能为空") Integer emId) { return R.ok(employeesService.switchEmployeeIdentity(emId)); } /** * 切换用户状态 * * @param emId 陪诊员ID * @return 切换用户状态结果 */ @PutMapping("/switchStatus") public R<Boolean> switchStatus(@NotNull(message = "陪诊员ID不能为空") Integer emId) { return R.ok(employeesService.disableOrRecover(emId)); } }