public ApiResult<Object> create(@Validated @RequestBody YxUserVideo resources){ YxUser user = LocalUser.getUser(); resources.setUid(user.getUid()); QueryWrapper<YxUserVideo> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("uid",resources.getUid()).eq("product_id",resources.getProductId()); List<YxUserVideo> yxUserVideoList = yxUserVideoService.list(queryWrapper); YxUserVideo yxUserVideo = new YxUserVideo(); List<Object> list = new ArrayList<>(); if(!CollectionUtils.isEmpty(yxUserVideoList)){ yxUserVideo = yxUserVideoList.get(0); String viewingDuration = yxUserVideo.getViewingDuration(); //将字符串转为json格式 遍历 JSONArray json = JSONArray.fromObject(viewingDuration); Object jsonId = null; net.sf.json.JSONObject job = null; boolean execute = false; if (json.size() > 0){ for (int i = 0; i < json.size(); i++) { job = json.getJSONObject(i); jsonId = job.get("id"); list.add(job); if (jsonId.equals(resources.getIndex())){ job.put("id",resources.getIndex()); job.put("percentage",resources.getPercentage()); job.put("viewingDuration",resources.getViewingDuration()); execute = true; } } yxUserVideo.setViewingDuration(list.toString()); yxUserVideoService.updateById(yxUserVideo); if (!jsonId.equals(resources.getIndex()) && !execute){ JSONObject map = new JSONObject(); map.put("id",resources.getIndex()); map.put("percentage",resources.getPercentage()); map.put("viewingDuration",resources.getViewingDuration()); list.add(map); yxUserVideo.setViewingDuration(list.toString()); yxUserVideoService.updateById(yxUserVideo); } } }else{ //List<JSONObject> list = new ArrayList<>(); JSONObject map = new JSONObject(); map.put("id",resources.getIndex()); map.put("percentage",resources.getPercentage()); map.put("viewingDuration",resources.getViewingDuration()); list.add(map); resources.setViewingDuration(list.toString()); yxUserVideoService.save(resources); } return ApiResult.ok(true); }
数据库存储json字符串格式的内容 追加 修改 操作
于 2023-07-04 14:46:53 首次发布