UserQuestionAnswerApi.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. package com.java110.user.api;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.java110.dto.questionAnswer.QuestionAnswerDto;
  5. import com.java110.dto.userQuestionAnswer.UserQuestionAnswerDto;
  6. import com.java110.dto.userQuestionAnswerValue.UserQuestionAnswerValueDto;
  7. import com.java110.po.userQuestionAnswer.UserQuestionAnswerPo;
  8. import com.java110.po.userQuestionAnswerValue.UserQuestionAnswerValuePo;
  9. import com.java110.user.bmo.userQuestionAnswer.IDeleteUserQuestionAnswerBMO;
  10. import com.java110.user.bmo.userQuestionAnswer.IGetUserQuestionAnswerBMO;
  11. import com.java110.user.bmo.userQuestionAnswer.ISaveUserQuestionAnswerBMO;
  12. import com.java110.user.bmo.userQuestionAnswer.IUpdateUserQuestionAnswerBMO;
  13. import com.java110.user.bmo.userQuestionAnswerValue.IDeleteUserQuestionAnswerValueBMO;
  14. import com.java110.user.bmo.userQuestionAnswerValue.IGetUserQuestionAnswerValueBMO;
  15. import com.java110.user.bmo.userQuestionAnswerValue.ISaveUserQuestionAnswerValueBMO;
  16. import com.java110.user.bmo.userQuestionAnswerValue.IUpdateUserQuestionAnswerValueBMO;
  17. import com.java110.utils.util.Assert;
  18. import com.java110.utils.util.BeanConvertUtil;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.http.ResponseEntity;
  21. import org.springframework.web.bind.annotation.*;
  22. @RestController
  23. @RequestMapping(value = "/userQuestionAnswer")
  24. public class UserQuestionAnswerApi {
  25. @Autowired
  26. private ISaveUserQuestionAnswerBMO saveUserQuestionAnswerBMOImpl;
  27. @Autowired
  28. private IUpdateUserQuestionAnswerBMO updateUserQuestionAnswerBMOImpl;
  29. @Autowired
  30. private IDeleteUserQuestionAnswerBMO deleteUserQuestionAnswerBMOImpl;
  31. @Autowired
  32. private IGetUserQuestionAnswerBMO getUserQuestionAnswerBMOImpl;
  33. @Autowired
  34. private ISaveUserQuestionAnswerValueBMO saveUserQuestionAnswerValueBMOImpl;
  35. @Autowired
  36. private IUpdateUserQuestionAnswerValueBMO updateUserQuestionAnswerValueBMOImpl;
  37. @Autowired
  38. private IDeleteUserQuestionAnswerValueBMO deleteUserQuestionAnswerValueBMOImpl;
  39. @Autowired
  40. private IGetUserQuestionAnswerValueBMO getUserQuestionAnswerValueBMOImpl;
  41. /**
  42. * 微信保存消息模板
  43. *
  44. * @param reqJson
  45. * @return
  46. * @serviceCode /userQuestionAnswer/saveUserQuestionAnswer
  47. * @path /app/userQuestionAnswer/saveUserQuestionAnswer
  48. */
  49. @RequestMapping(value = "/saveUserQuestionAnswer", method = RequestMethod.POST)
  50. public ResponseEntity<String> saveUserQuestionAnswer(@RequestBody JSONObject reqJson) {
  51. Assert.hasKeyAndValue(reqJson, "qaId", "请求报文中未包含qaId");
  52. UserQuestionAnswerPo userQuestionAnswerPo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerPo.class);
  53. return saveUserQuestionAnswerBMOImpl.save(userQuestionAnswerPo);
  54. }
  55. /**
  56. * 微信修改消息模板
  57. *
  58. * @param reqJson
  59. * @return
  60. * @serviceCode /userQuestionAnswer/updateUserQuestionAnswer
  61. * @path /app/userQuestionAnswer/updateUserQuestionAnswer
  62. */
  63. @RequestMapping(value = "/updateUserQuestionAnswer", method = RequestMethod.POST)
  64. public ResponseEntity<String> updateUserQuestionAnswer(@RequestBody JSONObject reqJson) {
  65. Assert.hasKeyAndValue(reqJson, "qaId", "请求报文中未包含qaId");
  66. Assert.hasKeyAndValue(reqJson, "userQaId", "userQaId不能为空");
  67. UserQuestionAnswerPo userQuestionAnswerPo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerPo.class);
  68. return updateUserQuestionAnswerBMOImpl.update(userQuestionAnswerPo);
  69. }
  70. /**
  71. * 微信删除消息模板
  72. *
  73. * @param reqJson
  74. * @return
  75. * @serviceCode /userQuestionAnswer/deleteUserQuestionAnswer
  76. * @path /app/userQuestionAnswer/deleteUserQuestionAnswer
  77. */
  78. @RequestMapping(value = "/deleteUserQuestionAnswer", method = RequestMethod.POST)
  79. public ResponseEntity<String> deleteUserQuestionAnswer(@RequestBody JSONObject reqJson) {
  80. Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
  81. Assert.hasKeyAndValue(reqJson, "userQaId", "userQaId不能为空");
  82. UserQuestionAnswerPo userQuestionAnswerPo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerPo.class);
  83. return deleteUserQuestionAnswerBMOImpl.delete(userQuestionAnswerPo);
  84. }
  85. /**
  86. * 微信删除消息模板
  87. *
  88. * @param storeId 小区ID
  89. * @return
  90. * @serviceCode /userQuestionAnswer/queryUserQuestionAnswer
  91. * @path /app/userQuestionAnswer/queryUserQuestionAnswer
  92. */
  93. @RequestMapping(value = "/queryUserQuestionAnswer", method = RequestMethod.GET)
  94. public ResponseEntity<String> queryUserQuestionAnswer(@RequestHeader(value = "store-id") String storeId,
  95. @RequestHeader(value = "user-id") String userId,
  96. @RequestParam(value = "communityId", required = false) String communityId,
  97. @RequestParam(value = "roleCd", required = false) String roleCd,
  98. @RequestParam(value = "state", required = false) String state,
  99. @RequestParam(value = "page") int page,
  100. @RequestParam(value = "row") int row) {
  101. UserQuestionAnswerDto userQuestionAnswerDto = new UserQuestionAnswerDto();
  102. userQuestionAnswerDto.setPage(page);
  103. userQuestionAnswerDto.setRow(row);
  104. userQuestionAnswerDto.setState(state);
  105. if ("owner".equals(roleCd)) {
  106. userQuestionAnswerDto.setObjType(QuestionAnswerDto.QA_TYPE_COMMUNITY);
  107. userQuestionAnswerDto.setObjId(communityId);
  108. userQuestionAnswerDto.setPersonId(userId);
  109. userQuestionAnswerDto.setQaTypes(new String[]{"1001", "3003"});
  110. } else {
  111. userQuestionAnswerDto.setObjType(QuestionAnswerDto.QA_TYPE_STORE);
  112. userQuestionAnswerDto.setObjId(storeId);
  113. userQuestionAnswerDto.setPersonId(userId);
  114. userQuestionAnswerDto.setQaTypes(new String[]{"2002", "4004"});
  115. }
  116. return getUserQuestionAnswerBMOImpl.get(userQuestionAnswerDto);
  117. }
  118. /**
  119. * 微信保存消息模板
  120. *
  121. * @param reqJson
  122. * @return
  123. * @serviceCode /userQuestionAnswer/saveUserQuestionAnswerValue
  124. * @path /app/userQuestionAnswer/saveUserQuestionAnswerValue
  125. */
  126. @RequestMapping(value = "/saveUserQuestionAnswerValue", method = RequestMethod.POST)
  127. public ResponseEntity<String> saveUserQuestionAnswerValue(
  128. @RequestHeader(value = "user-id") String userId,
  129. @RequestBody JSONObject reqJson) {
  130. Assert.hasKeyAndValue(reqJson, "qaId", "请求报文中未包含qaId");
  131. Assert.hasKeyAndValue(reqJson, "objType", "请求报文中未包含objType");
  132. Assert.hasKeyAndValue(reqJson, "objId", "请求报文中未包含objId");
  133. Assert.hasKeyAndValue(reqJson, "answerType", "请求报文中未包含answerType");
  134. Assert.hasKey(reqJson, "questionAnswerTitles", "未包含答案");
  135. JSONArray questionAnswerTitles = reqJson.getJSONArray("questionAnswerTitles");
  136. if (questionAnswerTitles == null || questionAnswerTitles.size() < 1) {
  137. throw new IllegalArgumentException("未包含答案");
  138. }
  139. JSONObject titleObj = null;
  140. for (int questionAnswerTitleIndex = 0; questionAnswerTitleIndex < questionAnswerTitles.size(); questionAnswerTitleIndex++) {
  141. titleObj = questionAnswerTitles.getJSONObject(questionAnswerTitleIndex);
  142. Assert.hasKeyAndValue(titleObj, "valueContent", titleObj.getString("qaTitle") + ",未填写答案");
  143. }
  144. UserQuestionAnswerValuePo userQuestionAnswerValuePo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerValuePo.class);
  145. userQuestionAnswerValuePo.setPersonId(userId);
  146. return saveUserQuestionAnswerValueBMOImpl.save(userQuestionAnswerValuePo, questionAnswerTitles);
  147. }
  148. /**
  149. * 微信修改消息模板
  150. *
  151. * @param reqJson
  152. * @return
  153. * @serviceCode /userQuestionAnswer/updateUserQuestionAnswerValue
  154. * @path /app/userQuestionAnswer/updateUserQuestionAnswerValue
  155. */
  156. @RequestMapping(value = "/updateUserQuestionAnswerValue", method = RequestMethod.POST)
  157. public ResponseEntity<String> updateUserQuestionAnswerValue(@RequestBody JSONObject reqJson) {
  158. Assert.hasKeyAndValue(reqJson, "qaId", "请求报文中未包含qaId");
  159. Assert.hasKeyAndValue(reqJson, "userTitleId", "userTitleId不能为空");
  160. UserQuestionAnswerValuePo userQuestionAnswerValuePo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerValuePo.class);
  161. return updateUserQuestionAnswerValueBMOImpl.update(userQuestionAnswerValuePo);
  162. }
  163. /**
  164. * 微信删除消息模板
  165. *
  166. * @param reqJson
  167. * @return
  168. * @serviceCode /userQuestionAnswer/deleteUserQuestionAnswerValue
  169. * @path /app/userQuestionAnswer/deleteUserQuestionAnswerValue
  170. */
  171. @RequestMapping(value = "/deleteUserQuestionAnswerValue", method = RequestMethod.POST)
  172. public ResponseEntity<String> deleteUserQuestionAnswerValue(@RequestBody JSONObject reqJson) {
  173. Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
  174. Assert.hasKeyAndValue(reqJson, "userTitleId", "userTitleId不能为空");
  175. UserQuestionAnswerValuePo userQuestionAnswerValuePo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerValuePo.class);
  176. return deleteUserQuestionAnswerValueBMOImpl.delete(userQuestionAnswerValuePo);
  177. }
  178. /**
  179. * 微信删除消息模板
  180. *
  181. * @param communityId 小区ID
  182. * @return
  183. * @serviceCode /userQuestionAnswer/queryUserQuestionAnswerValue
  184. * @path /app/userQuestionAnswer/queryUserQuestionAnswerValue
  185. */
  186. @RequestMapping(value = "/queryUserQuestionAnswerValue", method = RequestMethod.GET)
  187. public ResponseEntity<String> queryUserQuestionAnswerValue(@RequestParam(value = "communityId") String communityId,
  188. @RequestParam(value = "page") int page,
  189. @RequestParam(value = "row") int row) {
  190. UserQuestionAnswerValueDto userQuestionAnswerValueDto = new UserQuestionAnswerValueDto();
  191. userQuestionAnswerValueDto.setPage(page);
  192. userQuestionAnswerValueDto.setRow(row);
  193. userQuestionAnswerValueDto.setObjId(communityId);
  194. return getUserQuestionAnswerValueBMOImpl.get(userQuestionAnswerValueDto);
  195. }
  196. }