From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-user/src/main/java/com/java110/user/api/QuestionAnswerApi.java |  297 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 284 insertions(+), 13 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/api/QuestionAnswerApi.java b/service-user/src/main/java/com/java110/user/api/QuestionAnswerApi.java
old mode 100644
new mode 100755
index de1f6ea..062a700
--- a/service-user/src/main/java/com/java110/user/api/QuestionAnswerApi.java
+++ b/service-user/src/main/java/com/java110/user/api/QuestionAnswerApi.java
@@ -1,18 +1,36 @@
 package com.java110.user.api;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.questionAnswer.QuestionAnswerDto;
+import com.java110.dto.questionAnswerTitle.QuestionAnswerTitleDto;
+import com.java110.dto.questionAnswerTitleValue.QuestionAnswerTitleValueDto;
 import com.java110.po.questionAnswer.QuestionAnswerPo;
+import com.java110.po.questionAnswerTitle.QuestionAnswerTitlePo;
+import com.java110.po.questionAnswerTitleValue.QuestionAnswerTitleValuePo;
 import com.java110.user.bmo.questionAnswer.IDeleteQuestionAnswerBMO;
 import com.java110.user.bmo.questionAnswer.IGetQuestionAnswerBMO;
 import com.java110.user.bmo.questionAnswer.ISaveQuestionAnswerBMO;
 import com.java110.user.bmo.questionAnswer.IUpdateQuestionAnswerBMO;
+import com.java110.user.bmo.questionAnswerTitle.IDeleteQuestionAnswerTitleBMO;
+import com.java110.user.bmo.questionAnswerTitle.IGetQuestionAnswerTitleBMO;
+import com.java110.user.bmo.questionAnswerTitle.ISaveQuestionAnswerTitleBMO;
+import com.java110.user.bmo.questionAnswerTitle.IUpdateQuestionAnswerTitleBMO;
+import com.java110.user.bmo.questionAnswerTitleValue.IDeleteQuestionAnswerTitleValueBMO;
+import com.java110.user.bmo.questionAnswerTitleValue.IGetQuestionAnswerTitleValueBMO;
+import com.java110.user.bmo.questionAnswerTitleValue.ISaveQuestionAnswerTitleValueBMO;
+import com.java110.user.bmo.questionAnswerTitleValue.IUpdateQuestionAnswerTitleValueBMO;
 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.*;
-
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping(value = "/questionAnswer")
@@ -20,13 +38,39 @@
 
     @Autowired
     private ISaveQuestionAnswerBMO saveQuestionAnswerBMOImpl;
+
     @Autowired
     private IUpdateQuestionAnswerBMO updateQuestionAnswerBMOImpl;
+
     @Autowired
     private IDeleteQuestionAnswerBMO deleteQuestionAnswerBMOImpl;
 
     @Autowired
     private IGetQuestionAnswerBMO getQuestionAnswerBMOImpl;
+
+    @Autowired
+    private ISaveQuestionAnswerTitleBMO saveQuestionAnswerTitleBMOImpl;
+
+    @Autowired
+    private IUpdateQuestionAnswerTitleBMO updateQuestionAnswerTitleBMOImpl;
+
+    @Autowired
+    private IDeleteQuestionAnswerTitleBMO deleteQuestionAnswerTitleBMOImpl;
+
+    @Autowired
+    private IGetQuestionAnswerTitleBMO getQuestionAnswerTitleBMOImpl;
+
+    @Autowired
+    private ISaveQuestionAnswerTitleValueBMO saveQuestionAnswerTitleValueBMOImpl;
+
+    @Autowired
+    private IUpdateQuestionAnswerTitleValueBMO updateQuestionAnswerTitleValueBMOImpl;
+
+    @Autowired
+    private IDeleteQuestionAnswerTitleValueBMO deleteQuestionAnswerTitleValueBMOImpl;
+
+    @Autowired
+    private IGetQuestionAnswerTitleValueBMO getQuestionAnswerTitleValueBMOImpl;
 
     /**
      * 寰俊淇濆瓨娑堟伅妯℃澘
@@ -37,14 +81,18 @@
      * @path /app/questionAnswer/saveQuestionAnswer
      */
     @RequestMapping(value = "/saveQuestionAnswer", method = RequestMethod.POST)
-    public ResponseEntity<String> saveQuestionAnswer(@RequestBody JSONObject reqJson) {
-
+    public ResponseEntity<String> saveQuestionAnswer(@RequestHeader(value = "store-id", required = false) String storeId,
+                                                     @RequestBody JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "qaType", "璇锋眰鎶ユ枃涓湭鍖呭惈qaType");
         Assert.hasKeyAndValue(reqJson, "qaName", "璇锋眰鎶ユ枃涓湭鍖呭惈qaName");
         Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
         Assert.hasKeyAndValue(reqJson, "objType", "璇锋眰鎶ユ枃涓湭鍖呭惈objType");
 
+        if (QuestionAnswerDto.QA_TYPE_STORE.equals(reqJson.getString("objType"))) {
+            reqJson.put("objId", storeId);
+        }
+        Assert.hasKeyAndValue(reqJson, "objId", "璇锋眰鎶ユ枃涓湭鍖呭惈objId");
 
         QuestionAnswerPo questionAnswerPo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerPo.class);
         return saveQuestionAnswerBMOImpl.save(questionAnswerPo);
@@ -60,15 +108,11 @@
      */
     @RequestMapping(value = "/updateQuestionAnswer", method = RequestMethod.POST)
     public ResponseEntity<String> updateQuestionAnswer(@RequestBody JSONObject reqJson) {
-
         Assert.hasKeyAndValue(reqJson, "qaType", "璇锋眰鎶ユ枃涓湭鍖呭惈qaType");
         Assert.hasKeyAndValue(reqJson, "qaName", "璇锋眰鎶ユ枃涓湭鍖呭惈qaName");
         Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
-        Assert.hasKeyAndValue(reqJson, "objType", "璇锋眰鎶ユ枃涓湭鍖呭惈objType");
         Assert.hasKeyAndValue(reqJson, "qaId", "qaId涓嶈兘涓虹┖");
-
-
         QuestionAnswerPo questionAnswerPo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerPo.class);
         return updateQuestionAnswerBMOImpl.update(questionAnswerPo);
     }
@@ -87,7 +131,6 @@
 
         Assert.hasKeyAndValue(reqJson, "qaId", "qaId涓嶈兘涓虹┖");
 
-
         QuestionAnswerPo questionAnswerPo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerPo.class);
         return deleteQuestionAnswerBMOImpl.delete(questionAnswerPo);
     }
@@ -102,16 +145,244 @@
      */
     @RequestMapping(value = "/queryQuestionAnswer", method = RequestMethod.GET)
     public ResponseEntity<String> queryQuestionAnswer(
-            @RequestHeader(value = "store-id") String storeId,
+            @RequestHeader(value = "store-id", required = false) String storeId,
+            @RequestHeader(value = "user-id", required = false) String userId,
             @RequestParam(value = "communityId", required = false) String communityId,
-            @RequestParam(value = "objType") String objType,
+            @RequestParam(value = "objType", required = false) String objType,
+            @RequestParam(value = "qaType", required = false) String qaType,
+            @RequestParam(value = "qaName", required = false) String qaName,
+            @RequestParam(value = "qaId", required = false) String qaId,
             @RequestParam(value = "page") int page,
             @RequestParam(value = "row") int row) {
         QuestionAnswerDto questionAnswerDto = new QuestionAnswerDto();
         questionAnswerDto.setPage(page);
         questionAnswerDto.setRow(row);
-        questionAnswerDto.setObjType(objType);
-        questionAnswerDto.setObjTd(QuestionAnswerDto.QA_TYPE_COMMUNITY.endsWith(objType) ? communityId : storeId);
+        questionAnswerDto.setUserId(userId);
+        questionAnswerDto.setQaType(qaType);
+        questionAnswerDto.setQaName(qaName);
+        questionAnswerDto.setQaId(qaId);
+        if (!StringUtil.isEmpty(objType)) {
+            questionAnswerDto.setObjType(objType);
+            questionAnswerDto.setObjId(QuestionAnswerDto.QA_TYPE_COMMUNITY.equals(objType) ? communityId : storeId);
+        } else {
+            questionAnswerDto.setObjIds(new String[]{storeId, communityId});
+        }
         return getQuestionAnswerBMOImpl.get(questionAnswerDto);
     }
+
+    /**
+     * 寰俊淇濆瓨娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /questionAnswer/saveQuestionAnswerTitle
+     * @path /app/questionAnswer/saveQuestionAnswerTitle
+     */
+    @RequestMapping(value = "/saveQuestionAnswerTitle", method = RequestMethod.POST)
+    public ResponseEntity<String> saveQuestionAnswerTitle(@RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "qaId", "璇锋眰鎶ユ枃涓湭鍖呭惈qaId");
+        Assert.hasKeyAndValue(reqJson, "qaTitle", "璇锋眰鎶ユ枃涓湭鍖呭惈qaTitle");
+        Assert.hasKeyAndValue(reqJson, "titleType", "璇锋眰鎶ユ枃涓湭鍖呭惈titleType");
+        Assert.hasKeyAndValue(reqJson, "objId", "璇锋眰鎶ユ枃涓湭鍖呭惈objId");
+        Assert.hasKeyAndValue(reqJson, "objType", "璇锋眰鎶ユ枃涓湭鍖呭惈objType");
+        Assert.hasKeyAndValue(reqJson, "seq", "璇锋眰鎶ユ枃涓湭鍖呭惈seq");
+
+        JSONArray titleValues = null;
+        if (!QuestionAnswerTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
+
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("鏈寘鍚�夐」");
+            }
+        }
+        QuestionAnswerTitlePo questionAnswerTitlePo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerTitlePo.class);
+        return saveQuestionAnswerTitleBMOImpl.save(questionAnswerTitlePo, titleValues);
+    }
+
+    /**
+     * 寰俊淇敼娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /questionAnswer/updateQuestionAnswerTitle
+     * @path /app/questionAnswer/updateQuestionAnswerTitle
+     */
+    @RequestMapping(value = "/updateQuestionAnswerTitle", method = RequestMethod.POST)
+    public ResponseEntity<String> updateQuestionAnswerTitle(@RequestBody JSONObject reqJson) {
+//        Assert.hasKeyAndValue(reqJson, "qaId", "璇锋眰鎶ユ枃涓湭鍖呭惈qaId");
+        Assert.hasKeyAndValue(reqJson, "qaTitle", "璇锋眰鎶ユ枃涓湭鍖呭惈qaTitle");
+        Assert.hasKeyAndValue(reqJson, "titleType", "璇锋眰鎶ユ枃涓湭鍖呭惈titleType");
+        Assert.hasKeyAndValue(reqJson, "objType", "璇锋眰鎶ユ枃涓湭鍖呭惈objType");
+        Assert.hasKeyAndValue(reqJson, "seq", "璇锋眰鎶ユ枃涓湭鍖呭惈seq");
+        Assert.hasKeyAndValue(reqJson, "titleId", "titleId涓嶈兘涓虹┖");
+        JSONArray titleValues = null;
+        if (!QuestionAnswerTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
+
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("鏈寘鍚�夐」");
+            }
+        }
+        QuestionAnswerTitlePo questionAnswerTitlePo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerTitlePo.class);
+        return updateQuestionAnswerTitleBMOImpl.update(questionAnswerTitlePo, titleValues);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /questionAnswer/deleteQuestionAnswerTitle
+     * @path /app/questionAnswer/deleteQuestionAnswerTitle
+     */
+    @RequestMapping(value = "/deleteQuestionAnswerTitle", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteQuestionAnswerTitle(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+
+        Assert.hasKeyAndValue(reqJson, "titleId", "titleId涓嶈兘涓虹┖");
+
+        QuestionAnswerTitlePo questionAnswerTitlePo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerTitlePo.class);
+        return deleteQuestionAnswerTitleBMOImpl.delete(questionAnswerTitlePo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param communityId 灏忓尯ID
+     * @return
+     * @serviceCode /questionAnswer/queryQuestionAnswerTitle
+     * @path /app/questionAnswer/queryQuestionAnswerTitle
+     */
+    @RequestMapping(value = "/queryQuestionAnswerTitle", method = RequestMethod.GET)
+    public ResponseEntity<String> queryQuestionAnswerTitle(@RequestHeader(value = "store-id", required = false) String storeId,
+                                                           // @RequestHeader(value = "user-id", required = false) String userId,
+                                                           @RequestParam(value = "titleType", required = false) String titleType,
+                                                           @RequestParam(value = "qaTitle", required = false) String qaTitle,
+                                                           @RequestParam(value = "titleId", required = false) String titleId,
+                                                           @RequestParam(value = "communityId", required = false) String communityId,
+                                                           @RequestParam(value = "objType") String objType,
+                                                           @RequestParam(value = "qaId") String qaId,
+                                                           @RequestParam(value = "objId") String objId,
+                                                           @RequestParam(value = "page") int page,
+                                                           @RequestParam(value = "row") int row) {
+        QuestionAnswerTitleDto questionAnswerTitleDto = new QuestionAnswerTitleDto();
+        questionAnswerTitleDto.setTitleType(titleType);
+        questionAnswerTitleDto.setQaTitle(qaTitle);
+        questionAnswerTitleDto.setTitleId(titleId);
+        questionAnswerTitleDto.setPage(page);
+        questionAnswerTitleDto.setRow(row);
+        questionAnswerTitleDto.setQaId(qaId);
+        questionAnswerTitleDto.setObjId(objId);
+        //questionAnswerTitleDto.setUserId(userId);
+        if (!StringUtil.isEmpty(objType)) {
+            questionAnswerTitleDto.setObjType(objType);
+            questionAnswerTitleDto.setObjId(QuestionAnswerDto.QA_TYPE_COMMUNITY.equals(objType) ? communityId : storeId);
+        } else {
+            questionAnswerTitleDto.setObjIds(new String[]{storeId, communityId});
+        }
+        return getQuestionAnswerTitleBMOImpl.get(questionAnswerTitleDto);
+    }
+
+    /**
+     * 寰俊淇濆瓨娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /questionAnswer/saveQuestionAnswerTitleValue
+     * @path /app/questionAnswer/saveQuestionAnswerTitleValue
+     */
+    @RequestMapping(value = "/saveQuestionAnswerTitleValue", method = RequestMethod.POST)
+    public ResponseEntity<String> saveQuestionAnswerTitleValue(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "titleId", "璇锋眰鎶ユ枃涓湭鍖呭惈titleId");
+        Assert.hasKeyAndValue(reqJson, "qaValue", "璇锋眰鎶ユ枃涓湭鍖呭惈qaValue");
+        Assert.hasKeyAndValue(reqJson, "objType", "璇锋眰鎶ユ枃涓湭鍖呭惈objType");
+        Assert.hasKeyAndValue(reqJson, "seq", "璇锋眰鎶ユ枃涓湭鍖呭惈seq");
+        QuestionAnswerTitleValuePo questionAnswerTitleValuePo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerTitleValuePo.class);
+        return saveQuestionAnswerTitleValueBMOImpl.save(questionAnswerTitleValuePo);
+    }
+
+    /**
+     * 寰俊淇敼娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /questionAnswer/updateQuestionAnswerTitleValue
+     * @path /app/questionAnswer/updateQuestionAnswerTitleValue
+     */
+    @RequestMapping(value = "/updateQuestionAnswerTitleValue", method = RequestMethod.POST)
+    public ResponseEntity<String> updateQuestionAnswerTitleValue(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "titleId", "璇锋眰鎶ユ枃涓湭鍖呭惈titleId");
+        Assert.hasKeyAndValue(reqJson, "qaValue", "璇锋眰鎶ユ枃涓湭鍖呭惈qaValue");
+        Assert.hasKeyAndValue(reqJson, "objType", "璇锋眰鎶ユ枃涓湭鍖呭惈objType");
+        Assert.hasKeyAndValue(reqJson, "seq", "璇锋眰鎶ユ枃涓湭鍖呭惈seq");
+        Assert.hasKeyAndValue(reqJson, "valueId", "valueId涓嶈兘涓虹┖");
+        QuestionAnswerTitleValuePo questionAnswerTitleValuePo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerTitleValuePo.class);
+        return updateQuestionAnswerTitleValueBMOImpl.update(questionAnswerTitleValuePo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /questionAnswer/deleteQuestionAnswerTitleValue
+     * @path /app/questionAnswer/deleteQuestionAnswerTitleValue
+     */
+    @RequestMapping(value = "/deleteQuestionAnswerTitleValue", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteQuestionAnswerTitleValue(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+
+        Assert.hasKeyAndValue(reqJson, "valueId", "valueId涓嶈兘涓虹┖");
+
+        QuestionAnswerTitleValuePo questionAnswerTitleValuePo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerTitleValuePo.class);
+        return deleteQuestionAnswerTitleValueBMOImpl.delete(questionAnswerTitleValuePo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param communityId 灏忓尯ID
+     * @return
+     * @serviceCode /questionAnswer/queryQuestionAnswerTitleValue
+     * @path /app/questionAnswer/queryQuestionAnswerTitleValue
+     */
+    @RequestMapping(value = "/queryQuestionAnswerTitleValue", method = RequestMethod.GET)
+    public ResponseEntity<String> queryQuestionAnswerTitleValue(@RequestHeader(value = "store-id") String storeId,
+                                                                @RequestParam(value = "communityId", required = false) String communityId,
+                                                                @RequestParam(value = "objType") String objType,
+                                                                @RequestParam(value = "page") int page,
+                                                                @RequestParam(value = "row") int row) {
+        QuestionAnswerTitleValueDto questionAnswerTitleValueDto = new QuestionAnswerTitleValueDto();
+        questionAnswerTitleValueDto.setPage(page);
+        questionAnswerTitleValueDto.setRow(row);
+        questionAnswerTitleValueDto.setObjType(objType);
+        questionAnswerTitleValueDto.setObjId(QuestionAnswerDto.QA_TYPE_COMMUNITY.equals(objType) ? communityId : storeId);
+        return getQuestionAnswerTitleValueBMOImpl.get(questionAnswerTitleValueDto);
+    }
+
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param communityId 灏忓尯ID
+     * @return
+     * @serviceCode /questionAnswer/queryTitleValueResult
+     * @path /app/questionAnswer/queryTitleValueResult
+     */
+    @RequestMapping(value = "/queryTitleValueResult", method = RequestMethod.GET)
+    public ResponseEntity<String> queryTitleValueResult(@RequestHeader(value = "store-id") String storeId,
+                                                        @RequestParam(value = "communityId", required = false) String communityId,
+                                                        @RequestParam(value = "objType") String objType,
+                                                        @RequestParam(value = "titleId", required = false) String titleId,
+                                                        @RequestParam(value = "page") int page,
+                                                        @RequestParam(value = "row") int row) {
+        QuestionAnswerTitleValueDto questionAnswerTitleValueDto = new QuestionAnswerTitleValueDto();
+        questionAnswerTitleValueDto.setPage(page);
+        questionAnswerTitleValueDto.setRow(row);
+        questionAnswerTitleValueDto.setObjType(objType);
+        questionAnswerTitleValueDto.setTitleId(titleId);
+        questionAnswerTitleValueDto.setObjId(QuestionAnswerDto.QA_TYPE_COMMUNITY.equals(objType) ? communityId : storeId);
+        return getQuestionAnswerTitleValueBMOImpl.queryQuestionAnswerTitleValueResult(questionAnswerTitleValueDto);
+    }
 }

--
Gitblit v1.8.0