批量修改具体规则信息
<p>{"@PostMapping":""/updateSpecificRegulars"","public":" Result<Object> updateSpecificRegulars(@RequestBody Map<String, Object> params, HttpServletRequest request) {\n\n //权限验证\n String token = (String) request.getAttribute("claims_admin");\n if (token == null || "".equals(token)) {\n throw new RuntimeException("权限不足!");\n }\n\n log.info("updateSpecificRegulars的请求报文:" + params);\n\n JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(params));\n JSONArray jsonArray = jsonObject.getJSONArray("specificRegular");\n List<SpecificRegular> specificRegulars = JSONObject.parseArray(jsonArray.toJSONString(), SpecificRegular.class);//集合(前端传递的要修改的对象集合)\n\n String phone = (String) params.get("phone");//手机号\n if (!StringUtils.hasText(phone)) {\n log.error("phone为空!");\n return new Result<>(ResultCode.FAIL);\n }\n String userCode = (String) params.get("code");//验证码\n if (!StringUtils.hasText(userCode)) {\n log.error("userCode为空!");\n return new Result<>(ResultCode.FAIL);\n }\n String specificRegularUpdate_uuid = redisTemplate.opsForValue().get("specificRegularUpdate_uuid" + phone);\n String myCode = redisTemplate.opsForValue().get("sRegularUpdate_" + specificRegularUpdate_uuid + phone);//缓存中验证码\n if (!StringUtils.hasText(myCode)) {\n log.error("myCode为空!");\n return new Result<>(ResultCode.FAIL);\n }\n if (!userCode.equals(myCode)) {\n log.error("验证码错误!");\n return new Result<>(ResultCode.CODE_FALSE);\n }\n\n log.info("验证码正确!");\n if (!CollectionUtils.isEmpty(specificRegulars)) {\n List<SpecificRegular> specificRegularList = specificRegulars.stream()\n .map(specificRegular -> {\n SpecificRegular specificRegularMy = specificRegularService.queryOneSpecificRegularByID(specificRegular.getSpecificRegularId());\n redisTemplateByObject.opsForValue().set("SpecificRegularId" + specificRegular.getSpecificRegularId(), specificRegularMy);//缓存\n if (StringUtils.hasText(specificRegular.getVoiceBroadcastText()) && specificRegular.getDemeritState() != 0) {\n log.info("语音播报文字不为空,扣分情况不为0");\n if (!specificRegular.getVoiceBroadcastText().equals(specificRegularMy.getVoiceBroadcastText()) || !specificRegular.getDemeritState().equals(specificRegularMy.getDemeritState())) {\n log.info("前端传来的参数与数据库里的参数不相等!");\n specificRegularMy.setJudgeState(specificRegular.getJudgeState());//评判状态\n specificRegularMy.setSpecificJudgeParam(specificRegular.getSpecificJudgeParam());//评判参数\n specificRegularMy.setVoiceBroadcastText(specificRegular.getVoiceBroadcastText());//语音播报文字\n specificRegularMy.setDemeritState(specificRegular.getDemeritState());//扣分情况\n } else {\n log.info("语音包不需要重新生成(语音文字和扣分情况没变)");\n specificRegularMy.setJudgeState(specificRegular.getJudgeState());\n specificRegularMy.setSpecificJudgeParam(specificRegular.getSpecificJudgeParam());\n }\n } else if (StringUtils.hasText(specificRegular.getVoiceBroadcastText()) && specificRegular.getDemeritState() == 0) {\n log.info("语音播报文字不为空,扣分情况为0");\n if (!specificRegular.getVoiceBroadcastText().equals(specificRegularMy.getVoiceBroadcastText())) {\n log.info("前端传来的参数与数据库里的参数不相等!");\n specificRegularMy.setJudgeState(specificRegular.getJudgeState());//评判状态\n specificRegularMy.setSpecificJudgeParam(specificRegular.getSpecificJudgeParam());//评判参数\n specificRegularMy.setVoiceBroadcastText(specificRegular.getVoiceBroadcastText());//语音播报文字\n specificRegularMy.setDemeritState(specificRegular.getDemeritState());//扣分情况\n } else {\n log.info("语音文字和扣分情况没变,语音包不需要生成!");\n specificRegularMy.setJudgeState(specificRegular.getJudgeState());\n specificRegularMy.setSpecificJudgeParam(specificRegular.getSpecificJudgeParam());\n }\n } else if (!StringUtils.hasText(specificRegular.getVoiceBroadcastText()) && specificRegular.getDemeritState() == 0) {\n log.info("语音播报文字为空,扣分情况为0,语音包不需要生成!");\n specificRegularMy.setJudgeState(specificRegular.getJudgeState());\n specificRegularMy.setSpecificJudgeParam(specificRegular.getSpecificJudgeParam());\n }\n return specificRegularMy;\n })\n .collect(Collectors.toList());\n\n boolean batchUpdate = specificRegularService.updateBatchById(specificRegularList);//修改具体规则\n if (batchUpdate) {\n log.info("具体规则批量修改成功!");\n springToGameService.reloadUpdateSpecificRegular(specificRegularList);//通知游戏端修改的具体规则\n return new Result<>(ResultCode.SUCCESS);\n } else {\n log.error("具体规则批量修改失败!");\n return new Result<>(ResultCode.FAIL);\n }\n } else {\n log.error("前端传回集合为空");\n return new Result<>(ResultCode.FAIL);\n }\n }</p>
原文地址: https://www.cveoy.top/t/topic/qsbR 著作权归作者所有。请勿转载和采集!