管理员修改车辆模型信息接口
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.StringUtils;
@RestController
public class CarModelAdminController {
@Autowired
private CarModelAdminService carModelAdminService;
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private SpringToGameService springToGameService;
@Data
public static 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;
}
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();
}
}
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);
}
}
@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);
}
}
}
原文地址: https://www.cveoy.top/t/topic/ot2N 著作权归作者所有。请勿转载和采集!