mitao
2025-01-03 75aa42c51ae2a63d7c1e5e813c0a88fd303bdbf4
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java
New file
@@ -0,0 +1,111 @@
package com.sinata.web.controller.applet;
import com.sinata.common.annotation.Log;
import com.sinata.common.core.controller.BaseController;
import com.sinata.common.core.domain.AjaxResult;
import com.sinata.common.core.domain.R;
import com.sinata.common.core.domain.entity.SysDept;
import com.sinata.common.core.domain.entity.SysRole;
import com.sinata.common.core.domain.entity.SysUser;
import com.sinata.common.core.page.TableDataInfo;
import com.sinata.common.entity.PageDTO;
import com.sinata.common.enums.BusinessType;
import com.sinata.common.utils.SecurityUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.common.utils.poi.ExcelUtil;
import com.sinata.system.domain.MwApplication;
import com.sinata.system.domain.MwTransitCar;
import com.sinata.system.domain.dto.SysUserDTO;
import com.sinata.system.domain.dto.SysUserStatusDTO;
import com.sinata.system.domain.query.SysUserQuery;
import com.sinata.system.domain.vo.SysUserVO;
import com.sinata.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 用户信息
 *
 * @author ruoyi
 */
@Validated
@RestController
@RequestMapping("/applet/user")
@AllArgsConstructor
public class AppUserController extends BaseController
{
    private  final MwTransitCarService carService;
    private final ISysUserService userService;
    @ApiOperation(value = "获取绑定车辆",tags = "运输人员")
    @PostMapping("/car")
    public R<MwTransitCar> car() {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(user.getUserId());
        if (sysUser.getCarId()==null){
            return R.fail("当前暂无绑定车辆,请绑定后操作");
        }
        MwTransitCar byId = carService.getById(sysUser.getCarId());
        return R.ok(byId);
    }
    @ApiOperation(value = "获取车辆列表",tags = "运输人员")
    @PostMapping("/list")
    public R<List<MwTransitCar>> list() {
        List<MwTransitCar> list = carService.list();
        return R.ok(list);
    }
    @ApiOperation(value = "更换绑定车辆",tags = "运输人员")
    @PostMapping("/change")
    public R<List<MwTransitCar>> change(@RequestParam Long carId) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        SysUser byId = userService.getById(sysUser.getUserId());
        byId.setCarId(carId);
        userService.updateById(byId);
        return R.ok();
    }
    @ApiOperation(value = "绑定前校验",tags = "运输人员")
    @PostMapping("/check")
    public R<SysUser> check(@RequestParam Long carId) {
        SysUser one = userService.lambdaQuery().eq(SysUser::getCarId, carId).one();
        if (one!=null){
            return R.fail(one);
        }else {
            return R.ok();
        }
    }
    @ApiOperation(value = "取消绑定",tags = "运输人员")
    @PostMapping("/cancel")
    public R<SysUser> cancel() {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        sysUser.setCarId(-1L);
        userService.updateById(sysUser);
       return R.ok();
    }
}