2批量修改具体规则信息同时生成对应语音包 PostMappingupdateSpecificRegulars public ResultObject updateSpecificRegularsRequestBody MapString Object params HttpServletRequest request 权限验证 String token =
<p>//2.批量修改具体规则信息(同时生成对应语音包)
@PostMapping("/updateSpecificRegulars")
public Result<Object> updateSpecificRegulars(@RequestBody Map<String, Object> params, HttpServletRequest request) {</p>
<pre><code>//权限验证
String token = (String) request.getAttribute("claims_admin");
if (token == null || "".equals(token)) {
throw new RuntimeException("权限不足!");
}
log.info("updateSpecificRegulars的请求报文:" + params);
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(params));
JSONArray jsonArray = jsonObject.getJSONArray("specificRegular");
List<SpecificRegular> specificRegulars = JSONObject.parseArray(jsonArray.toJSONString(), SpecificRegular.class);//集合(前端传递的要修改的对象集合)
String phone = (String) params.get("phone");
if (!StringUtils.hasText(phone)) {
log.error("phone为空!");
return new Result<>(ResultCode.FAIL);
}
String userCode = (String) params.get("code");
if (!StringUtils.hasText(userCode)) {
log.error("userCode为空!");
return new Result<>(ResultCode.FAIL);
}
String specificRegularUpdate_uuid = redisTemplate.opsForValue().get("specificRegularUpdate_uuid" + phone);
String myCode = redisTemplate.opsForValue().get("sRegularUpdate_" + specificRegularUpdate_uuid + phone);
if (!StringUtils.hasText(myCode)) {
log.error("myCode为空!");
return new Result<>(ResultCode.FAIL);
}
if (!userCode.equals(myCode)) {
log.error("验证码错误!");
return new Result<>(ResultCode.CODE_FALSE);
}
log.info("验证码正确!");
//判断集合不为空
if (!CollectionUtils.isEmpty(specificRegulars)) {
List<SpecificRegular> specificRegularList = new ArrayList<>(); //存放所有修改过的对象
//遍历前端发来的要修改信息的对象集合
for (SpecificRegular specificRegular : specificRegulars) {
//通过前端传递的具体规则id在数据库找到对应的具体规则
SpecificRegular specificRegularMy = specificRegularService.queryOneSpecificRegularByID(specificRegular.getSpecificRegularId());
if (specificRegularMy != null) {
//语音播报文字不为空,扣分情况不为0
if (StringUtils.hasText(specificRegular.getVoiceBroadcastText()) && specificRegular.getDemeritState() != 0) {
log.info("语音播报文字不为空,扣分情况不为0");
//判断前端传来的参数与数据库里的参数是否相等
if (!specificRegular.getVoiceBroadcastText().equals(specificRegularMy.getVoiceBroadcastText()) || !specificRegular.getDemeritState().equals(specificRegularMy.getDemeritState())) {
log.info("前端传来的参数与数据库里的参数不相等!");
//生成语音包
String audioText = specificRegular.getVoiceBroadcastText() + ",扣" + specificRegular.getDemeritState() + "分";
//拿到当前项目类型(语音包名称需要)
Project project = projectService.queryOneProjectByID(specificRegularMy.getProjectId());
//名称(2(科目)-1(倒车入库的编号)-10(所有项目扣分参考编号))
String audioFileFirstName = project.getProjectTypeId().toString() + "-" + specifi
</code></pre>
原文地址: https://www.cveoy.top/t/topic/iKEj 著作权归作者所有。请勿转载和采集!