package com.ruoyi.web.controller.errand; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.common.core.domain.R; import com.ruoyi.errand.object.dto.sys.AddCourierDTO; import com.ruoyi.errand.object.dto.sys.AppUserPageListDTO; import com.ruoyi.errand.object.dto.sys.CourierPageListDTO; import com.ruoyi.errand.object.dto.sys.EditCourierDTO; import com.ruoyi.errand.object.vo.app.*; import com.ruoyi.errand.object.vo.sys.*; import com.ruoyi.errand.service.CourierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.math3.analysis.function.Add; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; @RestController @RequestMapping(value = "/app/courier") @Api(value = "跑腿员信息", tags = "跑腿员信息操作控制器") @Slf4j public class CourierController { @Autowired private CourierService courierService; /** * 工作台-基础信息 */ @GetMapping("/getCourierInfo") @ApiOperation(value = "工作台-基础信息",tags = "app用户端-跑腿员") public R getCourierInfo() { return R.ok(courierService.getCourierInfo()); } /** * 工作台-数据统计 */ @GetMapping("/getDatStatistics") @ApiOperation(value = "工作台-数据统计",tags = "app用户端-跑腿员") public R getDatStatistics() { return R.ok(courierService.getDatStatistics()); } /** * 订单列表 1待确认2进行中3已取消4已完成 */ @GetMapping("/getCourierOrderList") @ApiOperation(value = "订单列表",tags = "app用户端-跑腿员") public R> getCourierOrderList( @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize, @RequestParam(value = "orderStatus",required = false) Integer orderStatus) { return R.ok(courierService.getCourierOrderList(pageNum,pageSize,orderStatus)); } /** * 接单 */ @PutMapping("/receiveOrder") @ApiOperation(value = "接单",tags = "app用户端-跑腿员") public R receiveOrder(@RequestParam("id") Integer id) { courierService.receiveOrder(id); return R.ok(); } /** * 完成订单 */ @PutMapping("/completeOrder") @ApiOperation(value = "完成订单",tags = "app用户端-跑腿员") public R completeOrder(@RequestBody @Valid CompleteOrderDTO completeOrderDTO) { courierService.completeOrder(completeOrderDTO); return R.ok(); } /** * 加载未绑定小区的跑腿员 权限设置 */ @GetMapping("/getAllCourierList") @PreAuthorize("@ss.hasPermi('system:appuser:list')") @ApiOperation(value = "小区管理-加载未绑定小区的跑腿员", tags = "系统后台-小区管理") public R> getAllCourierList() { return R.ok(courierService.getAllCourierList()); } /** * 跑腿员管理列表 权限设置 */ @PostMapping("/list") @PreAuthorize("@ss.hasPermi('system:courier:list')") @ApiOperation(value = "跑腿员管理-分页列表", tags = "系统后台-跑腿员管理") public R> getCourierPageList(@RequestBody @Valid CourierPageListDTO courierPageListDTO) { return R.ok(courierService.getCourierPageList(courierPageListDTO)); } /** * 查看详情 权限设置 */ @GetMapping("/detail") @PreAuthorize("@ss.hasPermi('system:courier:list')") @ApiOperation(value = "跑腿员管理-查看详情", tags = "系统后台-跑腿员管理") public R detail(@RequestParam("id") Integer id) { return R.ok(courierService.detail(id)); } /** * 添加 权限设置 */ @PostMapping("/add") @PreAuthorize("@ss.hasPermi('system:courier:list')") @ApiOperation(value = "跑腿员管理-添加", tags = "系统后台-跑腿员管理") public R add(@RequestBody @Valid AddCourierDTO addCourierDTO) { courierService.add(addCourierDTO); return R.ok(); } /** * 编辑 权限设置 */ @PutMapping("/edit") @PreAuthorize("@ss.hasPermi('system:courier:list')") @ApiOperation(value = "跑腿员管理-编辑", tags = "系统后台-跑腿员管理") public R edit(@RequestBody @Valid EditCourierDTO editCourierDTO) { courierService.edit(editCourierDTO); return R.ok(); } /** * 删除 权限设置 */ @DeleteMapping("/delete") @PreAuthorize("@ss.hasPermi('system:courier:list')") @ApiOperation(value = "跑腿员管理-删除", tags = "系统后台-跑腿员管理") public R delete(@RequestParam("id")Integer id) { courierService.delete(id); return R.ok(); } /** * 复职/离职 权限设置 */ @PutMapping("/froze") @PreAuthorize("@ss.hasPermi('system:courier:list')") @ApiOperation(value = "跑腿员管理-复职/离职", tags = "系统后台-跑腿员管理") public R froze(@RequestParam("id")Integer id) { courierService.froze(id); return R.ok(); } }