From d526cf637048d71f046667f26e76436e9d489861 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期日, 23 四月 2023 22:45:11 +0800
Subject: [PATCH] 优化代码

---
 service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java |   73 +++++++++++++++++++++++++++---------
 1 files changed, 55 insertions(+), 18 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java b/service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java
index 20dd486..3331c18 100644
--- a/service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java
+++ b/service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java
@@ -1,7 +1,8 @@
 package com.java110.report.api;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.dto.reportInfoSettingTitle.ReportInfoSettingTitleDto;
+import com.java110.dto.reportInfoSetting.ReportInfoSettingTitleDto;
 import com.java110.po.reportInfoSettingTitle.ReportInfoSettingTitlePo;
 import com.java110.report.bmo.reportInfoSettingTitle.IDeleteReportInfoSettingTitleBMO;
 import com.java110.report.bmo.reportInfoSettingTitle.IGetReportInfoSettingTitleBMO;
@@ -9,6 +10,7 @@
 import com.java110.report.bmo.reportInfoSettingTitle.IUpdateReportInfoSettingTitleBMO;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -29,55 +31,81 @@
 
     /**
      * 寰俊淇濆瓨娑堟伅妯℃澘
-     * @serviceCode /reportInfoSettingTitle/saveReportInfoSettingTitle
-     * @path /app/reportInfoSettingTitle/saveReportInfoSettingTitle
+     *
      * @param reqJson
      * @return
+     * @serviceCode /reportInfoSettingTitle/saveReportInfoSettingTitle
+     * @path /app/reportInfoSettingTitle/saveReportInfoSettingTitle
      */
     @RequestMapping(value = "/saveReportInfoSettingTitle", method = RequestMethod.POST)
     public ResponseEntity<String> saveReportInfoSettingTitle(@RequestBody JSONObject reqJson) {
 
-        Assert.hasKeyAndValue(reqJson, "titleId", "璇锋眰鎶ユ枃涓湭鍖呭惈titleId");
         Assert.hasKeyAndValue(reqJson, "settingId", "璇锋眰鎶ユ枃涓湭鍖呭惈settingId");
         Assert.hasKeyAndValue(reqJson, "title", "璇锋眰鎶ユ枃涓湭鍖呭惈title");
         Assert.hasKeyAndValue(reqJson, "titleType", "璇锋眰鎶ユ枃涓湭鍖呭惈titleType");
         Assert.hasKeyAndValue(reqJson, "seq", "璇锋眰鎶ユ枃涓湭鍖呭惈seq");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
-
+        JSONArray titleValues = null;
+        if (!ReportInfoSettingTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("鏈寘鍚�夐」");
+            }
+            for (int index = 0; index < titleValues.size(); index++) {
+                JSONObject param = titleValues.getJSONObject(index);
+                if (StringUtil.isEmpty(param.getString("qaValue"))) {
+                    throw new IllegalArgumentException("棰樼洰閫夐」涓嶈兘涓虹┖");
+                }
+            }
+        }
 
         ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class);
-        return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo);
+        return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo, titleValues);
     }
 
     /**
      * 寰俊淇敼娑堟伅妯℃澘
-     * @serviceCode /reportInfoSettingTitle/updateSettingTitle
-     * @path /app/reportInfoSettingTitle/updateReportInfoSettingTitle
+     *
      * @param reqJson
      * @return
+     * @serviceCode /reportInfoSettingTitle/updateSettingTitle
+     * @path /app/reportInfoSettingTitle/updateSettingTitle
      */
     @RequestMapping(value = "/updateSettingTitle", method = RequestMethod.POST)
     public ResponseEntity<String> updateReportInfoSettingTitle(@RequestBody JSONObject reqJson) {
-
         Assert.hasKeyAndValue(reqJson, "titleId", "璇锋眰鎶ユ枃涓湭鍖呭惈titleId");
         Assert.hasKeyAndValue(reqJson, "settingId", "璇锋眰鎶ユ枃涓湭鍖呭惈settingId");
         Assert.hasKeyAndValue(reqJson, "title", "璇锋眰鎶ユ枃涓湭鍖呭惈title");
         Assert.hasKeyAndValue(reqJson, "titleType", "璇锋眰鎶ユ枃涓湭鍖呭惈titleType");
         Assert.hasKeyAndValue(reqJson, "seq", "璇锋眰鎶ユ枃涓湭鍖呭惈seq");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
-        Assert.hasKeyAndValue(reqJson, "titleId", "titleId涓嶈兘涓虹┖");
-
+        JSONArray titleValues = null;
+        if (!ReportInfoSettingTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("鏈寘鍚�夐」");
+            }
+            for (int index = 0; index < titleValues.size(); index++) {
+                JSONObject param = titleValues.getJSONObject(index);
+                if (StringUtil.isEmpty(param.getString("qaValue"))) {
+                    throw new IllegalArgumentException("棰樼洰閫夐」涓嶈兘涓虹┖");
+                }
+            }
+        }
 
         ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class);
-        return updateReportInfoSettingTitleBMOImpl.update(reportInfoSettingTitlePo);
+        deleteReportInfoSettingTitleBMOImpl.delete(reportInfoSettingTitlePo);
+
+        return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo, titleValues);
     }
 
     /**
      * 寰俊鍒犻櫎娑堟伅妯℃澘
-     * @serviceCode /reportInfoSettingTitle/deleteSettingTitle
-     * @path /app/reportInfoSettingTitle/deleteReportInfoSettingTitle
+     *
      * @param reqJson
      * @return
+     * @serviceCode /reportInfoSettingTitle/deleteSettingTitle
+     * @path /app/reportInfoSettingTitle/deleteReportInfoSettingTitle
      */
     @RequestMapping(value = "/deleteSettingTitle", method = RequestMethod.POST)
     public ResponseEntity<String> deleteReportInfoSettingTitle(@RequestBody JSONObject reqJson) {
@@ -92,18 +120,27 @@
 
     /**
      * 寰俊鍒犻櫎娑堟伅妯℃澘
-     * @serviceCode /reportInfoSettingTitle/querySettingTitle
-     * @path /app/reportInfoSettingTitle/queryReportInfoSettingTitle
+     *
      * @param communityId 灏忓尯ID
      * @return
+     * @serviceCode /reportInfoSettingTitle/querySettingTitle
+     * @path /app/reportInfoSettingTitle/queryReportInfoSettingTitle
      */
     @RequestMapping(value = "/querySettingTitle", method = RequestMethod.GET)
     public ResponseEntity<String> queryReportInfoSettingTitle(@RequestParam(value = "communityId") String communityId,
-                                                      @RequestParam(value = "page") int page,
-                                                      @RequestParam(value = "row") int row) {
+                                                              @RequestParam(value = "titleType", required = false) String titleType,
+                                                              @RequestParam(value = "title", required = false) String title,
+                                                              @RequestParam(value = "titleId", required = false) String titleId,
+                                                              @RequestParam(value = "settingId", required = false) String settingId,
+                                                              @RequestParam(value = "page") int page,
+                                                              @RequestParam(value = "row") int row) {
         ReportInfoSettingTitleDto reportInfoSettingTitleDto = new ReportInfoSettingTitleDto();
         reportInfoSettingTitleDto.setPage(page);
         reportInfoSettingTitleDto.setRow(row);
+        reportInfoSettingTitleDto.setTitleType(titleType);
+        reportInfoSettingTitleDto.setTitleLike(title);
+        reportInfoSettingTitleDto.setTitleId(titleId);
+        reportInfoSettingTitleDto.setSettingId(settingId);
         reportInfoSettingTitleDto.setCommunityId(communityId);
         return getReportInfoSettingTitleBMOImpl.get(reportInfoSettingTitleDto);
     }

--
Gitblit v1.8.0