package com.java110.report.api; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.dto.questionAnswerTitle.QuestionAnswerTitleDto; import com.java110.dto.reportInfoSettingTitle.ReportInfoSettingTitleDto; import com.java110.po.reportInfoSettingTitle.ReportInfoSettingTitlePo; import com.java110.report.bmo.reportInfoSettingTitle.IDeleteReportInfoSettingTitleBMO; import com.java110.report.bmo.reportInfoSettingTitle.IGetReportInfoSettingTitleBMO; import com.java110.report.bmo.reportInfoSettingTitle.ISaveReportInfoSettingTitleBMO; import com.java110.report.bmo.reportInfoSettingTitle.IUpdateReportInfoSettingTitleBMO; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping(value = "/reportInfoSettingTitle") public class ReportInfoSettingTitleApi { @Autowired private ISaveReportInfoSettingTitleBMO saveReportInfoSettingTitleBMOImpl; @Autowired private IUpdateReportInfoSettingTitleBMO updateReportInfoSettingTitleBMOImpl; @Autowired private IDeleteReportInfoSettingTitleBMO deleteReportInfoSettingTitleBMOImpl; @Autowired private IGetReportInfoSettingTitleBMO getReportInfoSettingTitleBMOImpl; /** * 微信保存消息模板 * @serviceCode /reportInfoSettingTitle/saveReportInfoSettingTitle * @path /app/reportInfoSettingTitle/saveReportInfoSettingTitle * @param reqJson * @return */ @RequestMapping(value = "/saveReportInfoSettingTitle", method = RequestMethod.POST) public ResponseEntity 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("未包含选项"); } } ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class); return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo,titleValues); } /** * 微信修改消息模板 * @serviceCode /reportInfoSettingTitle/updateSettingTitle * @path /app/reportInfoSettingTitle/updateReportInfoSettingTitle * @param reqJson * @return */ @RequestMapping(value = "/updateSettingTitle", method = RequestMethod.POST) public ResponseEntity 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"); JSONArray titleValues = null; if (!ReportInfoSettingTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) { titleValues = reqJson.getJSONArray("titleValues"); if (titleValues.size() < 1) { throw new IllegalArgumentException("未包含选项"); } } ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class); deleteReportInfoSettingTitleBMOImpl.delete(reportInfoSettingTitlePo); return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo,titleValues); } /** * 微信删除消息模板 * @serviceCode /reportInfoSettingTitle/deleteSettingTitle * @path /app/reportInfoSettingTitle/deleteReportInfoSettingTitle * @param reqJson * @return */ @RequestMapping(value = "/deleteSettingTitle", method = RequestMethod.POST) public ResponseEntity deleteReportInfoSettingTitle(@RequestBody JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空"); Assert.hasKeyAndValue(reqJson, "titleId", "titleId不能为空"); ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class); return deleteReportInfoSettingTitleBMOImpl.delete(reportInfoSettingTitlePo); } /** * 微信删除消息模板 * @serviceCode /reportInfoSettingTitle/querySettingTitle * @path /app/reportInfoSettingTitle/queryReportInfoSettingTitle * @param communityId 小区ID * @return */ @RequestMapping(value = "/querySettingTitle", method = RequestMethod.GET) public ResponseEntity queryReportInfoSettingTitle(@RequestParam(value = "communityId") String communityId, @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); } }