1.将前端传递参数的部分代码提取成一个方法,减少重复代码:

private String getParam(Map<String, Object> params, String paramName) {
    Object param = params.get(paramName);
    if (param == null || StringUtils.isEmpty(param.toString())) {
        return null;
    } else {
        return param.toString();
    }
}

2.将需要修改的车辆模型信息的部分代码提取成一个方法,减少重复代码:

private void setCarModelAdminInfo(CarModelAdmin carModelAdmin, Map<String, Object> params) {
    String carModelName = getParam(params, "carModelName");
    String carProfile = getParam(params, "carProfile");
    String model = getParam(params, "model");
    String year = getParam(params, "year");
    Integer frontAerialBeforeDistance = (Integer) params.get("frontAerialBeforeDistance");
    Integer frontAerialLeftDistance = (Integer) params.get("frontAerialLeftDistance");
    Integer frontAerialRightDistance = (Integer) params.get("frontAerialRightDistance");
    Integer behindAerialAfterDistance = (Integer) params.get("behindAerialAfterDistance");
    Integer behindAerialLeftDistance = (Integer) params.get("behindAerialLeftDistance");
    Integer behindAerialRightDistance = (Integer) params.get("behindAerialRightDistance");
    Integer behindAerialHeight = (Integer) params.get("behindAerialHeight");

    if (!StringUtils.isEmpty(carModelName)) {
        carModelAdmin.setCarModelName(carModelName);
    }

    if (!StringUtils.isEmpty(carProfile)) {
        carModelAdmin.setCarProfile(carProfile);
    }

    if (!StringUtils.isEmpty(model)) {
        carModelAdmin.setModel(model);
    }

    if (!StringUtils.isEmpty(year)) {
        carModelAdmin.setYear(year);
    }

    if (frontAerialBeforeDistance != null) {
        carModelAdmin.setFrontAerialBeforeDistance(frontAerialBeforeDistance);
    }

    if (frontAerialLeftDistance != null) {
        carModelAdmin.setFrontAerialLeftDistance(frontAerialLeftDistance);
    }

    if (frontAerialRightDistance != null) {
        carModelAdmin.setFrontAerialRightDistance(frontAerialRightDistance);
    }

    if (behindAerialAfterDistance != null) {
        carModelAdmin.setBehindAerialAfterDistance(behindAerialAfterDistance);
    }

    if (behindAerialLeftDistance != null) {
        carModelAdmin.setBehindAerialLeftDistance(behindAerialLeftDistance);
    }

    if (behindAerialRightDistance != null) {
        carModelAdmin.setBehindAerialRightDistance(behindAerialRightDistance);
    }

    if (behindAerialHeight != null) {
        carModelAdmin.setBehindAerialHeight(behindAerialHeight);
    }
}

3.简化验证码验证部分代码:

String carModelAdminUpdate_uuid = redisTemplate.opsForValue().get("carModelAdminUpdate_uuid");
String myCode = redisTemplate.opsForValue().get("carModelAdminUpdate_" + carModelAdminUpdate_uuid + phone);

if (StringUtils.isEmpty(myCode)) {
    log.info("myCode为空!");
    return new Result<>(ResultCode.FAIL);
}

if (!myCode.equals(userCode)) {
    log.info("验证码错误!");
    return new Result<>(ResultCode.CODE_FALSE);
}

log.info("验证码正确!");

4.使用对象封装前端传递的参数,避免使用多个参数:

@Data
public class CarModelAdminUpdateParam {
    private Long carModelAdminId;
    private String carModelName;
    private String carProfile;
    private String model;
    private String year;
    private Integer frontAerialBeforeDistance;
    private Integer frontAerialLeftDistance;
    private Integer frontAerialRightDistance;
    private Integer behindAerialAfterDistance;
    private Integer behindAerialLeftDistance;
    private Integer behindAerialRightDistance;
    private Integer behindAerialHeight;
    private String phone;
    private String code;
}

@PostMapping("/updateOneCarModelAdminByID")
public Result<Object> updateOneCarModelAdminByID(@RequestBody CarModelAdminUpdateParam param, HttpServletRequest request) {
    //权限验证
    String token = (String) request.getAttribute("claims_admin");
    if (token == null || "".equals(token)) {
        throw new RuntimeException("权限不足!");
    }

    log.info("updateOneCarModelByID的请求报文:" + param);

    Long carModelAdminId = param.getCarModelAdminId();
    if (carModelAdminId == null) {
        log.info("carModelAdminId为null");
        return new Result<>(ResultCode.FAIL);
    }

    String phone = param.getPhone();
    String userCode = param.getCode();

    if (StringUtils.isEmpty(phone)) {
        log.info("phone为空!");
        return new Result<>(ResultCode.FAIL);
    }

    if (StringUtils.isEmpty(userCode)) {
        log.info("userCode为空!");
        return new Result<>(ResultCode.FAIL);
    }

    String carModelAdminUpdate_uuid = redisTemplate.opsForValue().get("carModelAdminUpdate_uuid");
    String myCode = redisTemplate.opsForValue().get("carModelAdminUpdate_" + carModelAdminUpdate_uuid + phone);

    if (StringUtils.isEmpty(myCode)) {
        log.info("myCode为空!");
        return new Result<>(ResultCode.FAIL);
    }

    if (!myCode.equals(userCode)) {
        log.info("验证码错误!");
        return new Result<>(ResultCode.CODE_FALSE);
    }

    log.info("验证码正确!");

    //先查询出需要修改的车辆模型对象
    CarModelAdmin carModelAdmin = carModelAdminService.queryOneCarModelAdminByID(carModelAdminId);

    if (carModelAdmin == null) {
        log.info("carModelAdmin为空!");
        return new Result<>(ResultCode.FAIL);
    }

    //将前端传过来需要修改的信息赋值给上面查出的车辆模型对象
    setCarModelAdminInfo(carModelAdmin, param);

    //调用修改车辆模型方法
    int ret = carModelAdminService.updateOneCarModelAdminByID(carModelAdmin);

    //操作成功
    if (ret > 0) {
        log.info("修改车辆模型成功!" + carModelAdmin);

        //通知游戏端修改车辆模型
        springToGameService.reloadUpdateOneCarModelAdmin(carModelAdmin);

        return new Result<>(ResultCode.SUCCESS);
    } else {
        log.info("修改车辆模型失败!");
        return new Result<>(ResultCode.FAIL);
    }
}
``
1根据ID修改一个管理员的车辆模型信息 PostMappingupdateOneCarModelAdminByID public ResultObject updateOneCarModelAdminByIDRequestBody MapStringObject params HttpServletRequest request 权限验证 String t

原文地址: https://www.cveoy.top/t/topic/gdcF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录