栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

任务分配问题关于医院接口开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

任务分配问题关于医院接口开发

一 统一返回结果定义 1 枚举类
package com.baiyee.sdgt.common.result;

import lombok.Getter;


@Getter
public enum ResultCodeEnum {
    SUCCESS(200, "成功"),
    FAIL(201, "失败"),
    PARAM_ERROR(202, "参数不正确"),
    SERVICE_ERROR(203, "服务异常"),
    DATA_ERROR(204, "数据异常"),
    DATA_UPDATE_ERROR(205, "数据版本异常"),

    LOGIN_AUTH(208, "未登陆"),
    PERMISSION(209, "没有权限"),

    CODE_ERROR(210, "验证码错误"),
    LOGIN_MOBLE_ERROR(211, "账号不正确"),
    LOGIN_DISABLED_ERROR(212, "改用户已被禁用"),
    REGISTER_MOBLE_ERROR(213, "手机号已被使用"),
    LOGIN_AURH(214, "需要登录"),
    LOGIN_ACL(215, "没有权限"),

    URL_ENCODE_ERROR(216, "URL编码失败"),
    ILLEGAL_CALLBACK_REQUEST_ERROR(217, "非法回调请求"),
    FETCH_ACCESSTOKEN_FAILD(218, "获取accessToken失败"),
    FETCH_USERINFO_ERROR(219, "获取用户信息失败"),
    LOGIN_ERROR(23005, "登录失败"),
    ;

    private Integer code;
    private String message;

    private ResultCodeEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}
2 统计返回结果
package com.baiyee.sdgt.common.result;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


@Data
@ApiModel(value = "全局统一返回结果")
public class Result {
    @ApiModelProperty(value = "返回码")
    private Integer code;

    @ApiModelProperty(value = "返回消息")
    private String message;

    @ApiModelProperty(value = "返回数据")
    private T data;

    public Result() {
    }

    protected static  Result build(T data) {
        Result result = new Result();
        if (data != null)
            result.setData(data);
        return result;
    }

    public static  Result build(T body, ResultCodeEnum resultCodeEnum) {
        Result result = build(body);
        result.setCode(resultCodeEnum.getCode());
        result.setMessage(resultCodeEnum.getMessage());
        return result;
    }

    public static  Result build(Integer code, String message) {
        Result result = build(null);
        result.setCode(code);
        result.setMessage(message);
        return result;
    }

    public static  Result ok() {
        return Result.ok(null);
    }

    
    public static  Result ok(T data) {
        Result result = build(data);
        return build(data, ResultCodeEnum.SUCCESS);
    }

    public static  Result fail() {
        return Result.fail(null);
    }

    
    public static  Result fail(T data) {
        Result result = build(data);
        return build(data, ResultCodeEnum.FAIL);
    }

    public Result message(String msg) {
        this.setMessage(msg);
        return this;
    }

    public Result code(Integer code) {
        this.setCode(code);
        return this;
    }

    public boolean isOk() {
        if (this.getCode().intValue() == ResultCodeEnum.SUCCESS.getCode().intValue()) {
            return true;
        }
        return false;
    }
}
二 条件查询带分页中的条件封装
@Data
public class HospitalQueryVo {
    @ApiModelProperty(value = "医院名称")
    private String name;


    @ApiModelProperty(value = "所在省")
    private String province;


    @ApiModelProperty(value = "所在市")
    private String city;


    @ApiModelProperty(value = "所在区")
    private String district;


    @ApiModelProperty(value = "状态")
    private Integer status;
}
三 医院接口
@Api(tags = "医院管理")
@RestController
@RequestMapping("/admin/hospital")
public class HospitalController {
    // 注入service
    @Autowired
    private HospitalService hospitalService;

    // 查询医院所有信息
    @ApiOperation(value = "获取所有医院")
    @GetMapping("findAll")
    public Result findAllHospitalSet() {
        // 调用 service 的方法
        List list = hospitalService.list();
        return Result.ok(list);
    }

    // 逻辑删除医院
    @ApiOperation(value = "逻辑删除医院")
    @DeleteMapping("{id}")
    public Result removeHospSet(@PathVariable String id) {
        boolean flag = hospitalService.removeById(id);
        if (flag) {
            return Result.ok();
        } else {
            return Result.fail();
        }
    }

    // 条件查询带分页
    @PostMapping("findPageHospital/{current}/{limit}")
    public Result findPageHospSet(@PathVariable long current,
                                  @PathVariable long limit,
                                  @RequestBody(required = false) HospitalQueryVo hospitalQueryVo) {
        //创建page对象,传递当前页,每页记录数
        Page page = new Page<>(current, limit);
        //构建条件
        QueryWrapper wrapper = new QueryWrapper<>();
        String name = hospitalQueryVo.getName(); // 医院名称
        String province = hospitalQueryVo.getProvince(); // 省
        String city = hospitalQueryVo.getCity(); // 市
        String district = hospitalQueryVo.getDistrict(); // 区
        Integer status = hospitalQueryVo.getStatus(); // 启用状态
        if (!StringUtils.isEmpty(name)) {
            wrapper.like("NAME", name);
        }
        if (!StringUtils.isEmpty(province)) {
            wrapper.eq("PROVINCE", province);
        }
        if (!StringUtils.isEmpty(city)) {
            wrapper.eq("CITY", city);
        }
        if (!StringUtils.isEmpty(district)) {
            wrapper.eq("DISTRICT", district);
        }
        if (status != null) {
            wrapper.eq("STATUS", status);
        }

        // 调用方法实现分页查询
        IPage pageHospitalSet = hospitalService.page(page, wrapper);

        // 返回结果
        return Result.ok(pageHospitalSet);
    }


    // 4 添加医院
    @PostMapping("saveHospital")
    public Result saveHospitalSet(@RequestBody Hospital hospital) {
        // 设置状态 1 启用 0 禁用
        hospital.setStatus(1);
        boolean save = hospitalService.save(hospital);
        if (save) {
            return Result.ok();
        } else {
            return Result.fail();
        }
    }

    // 5 根据 id 获取医院
    @GetMapping("getHospSet/{id}")
    public Result getHospSet(@PathVariable Long id) {
        Hospital hospital = hospitalService.getById(id);
        return Result.ok(hospital);
    }

    // 6 修改医院
    @PostMapping("updateHospital")
    public Result updateHospital(@RequestBody Hospital hospital) {
        boolean flag = hospitalService.updateById(hospital);
        if (flag) {
            return Result.ok();
        } else {
            return Result.fail();
        }
    }

    // 7 批量删除医院
    @DeleteMapping("batchRemove")
    public Result batchRemoveHospital(@RequestBody List idList) {
        hospitalService.removeByIds(idList);
        return Result.ok();
    }

    // 8 医院启动和禁用
    @PutMapping("lockHospital/{id}/{status}")
    public Result lockHospitalSet(@PathVariable Long id,
                                  @PathVariable Integer status) {
        // 根据 id 查询医院设置信息
        Hospital hospitalSet = hospitalService.getById(id);
        // 设置状态
        hospitalSet.setStatus(status);
        // 调用方法
        hospitalService.updateById(hospitalSet);
        return Result.ok();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号