HelpActivityController.java 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. package com.huiju.estateagents.controller;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.alibaba.excel.ExcelWriter;
  4. import com.alibaba.excel.write.metadata.WriteSheet;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7. import com.baomidou.mybatisplus.core.metadata.IPage;
  8. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  9. import com.huiju.estateagents.base.BaseController;
  10. import com.huiju.estateagents.base.ResponseBean;
  11. import com.huiju.estateagents.common.CommConstant;
  12. import com.huiju.estateagents.entity.HelpActivity;
  13. import com.huiju.estateagents.entity.HelpInitiateRecord;
  14. import com.huiju.estateagents.entity.HelpRecord;
  15. import com.huiju.estateagents.entity.TaBuildingDynamic;
  16. import com.huiju.estateagents.entity.TaChannel;
  17. import com.huiju.estateagents.entity.TaPerson;
  18. import com.huiju.estateagents.entity.TaPoster;
  19. import com.huiju.estateagents.entity.TaShareContent;
  20. import com.huiju.estateagents.entity.TdPosterTemplate;
  21. import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
  22. import com.huiju.estateagents.excel.HelpProceedAndFinish;
  23. import com.huiju.estateagents.excel.HelpRecordExport;
  24. import com.huiju.estateagents.excel.PublicCustomerExport;
  25. import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
  26. import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
  27. import com.huiju.estateagents.service.IHelpActivityService;
  28. import com.huiju.estateagents.service.IHelpInitiateRecordService;
  29. import com.huiju.estateagents.service.IHelpRecordService;
  30. import com.huiju.estateagents.service.ITaBuildingService;
  31. import com.huiju.estateagents.service.ITaPersonService;
  32. import com.huiju.estateagents.service.ITdPosterTemplateService;
  33. import com.huiju.estateagents.service.TaPosterService;
  34. import com.huiju.estateagents.service.TaShareContentService;
  35. import io.swagger.annotations.Api;
  36. import io.swagger.annotations.ApiOperation;
  37. import io.swagger.annotations.ApiImplicitParam;
  38. import io.swagger.annotations.ApiImplicitParams;
  39. import org.apache.ibatis.annotations.Param;
  40. import org.slf4j.Logger;
  41. import org.slf4j.LoggerFactory;
  42. import org.springframework.beans.factory.annotation.Autowired;
  43. import org.springframework.web.bind.annotation.*;
  44. import javax.servlet.http.HttpServletRequest;
  45. import javax.servlet.http.HttpServletResponse;
  46. import javax.xml.crypto.Data;
  47. import java.io.IOException;
  48. import java.util.HashMap;
  49. import java.util.List;
  50. import java.util.Map;
  51. /**
  52. * <p>
  53. * 助力活动 前端控制器
  54. * </p>
  55. *
  56. * @author jobob
  57. * @since 2019-10-17
  58. */
  59. @RestController
  60. @RequestMapping("/api")
  61. @Api(value = "活动助力", tags = "活动助力")
  62. public class HelpActivityController extends BaseController {
  63. private final Logger logger = LoggerFactory.getLogger(HelpActivityController.class);
  64. @Autowired
  65. public IHelpActivityService taHelpActivityService;
  66. @Autowired
  67. private ITaBuildingService iTaBuildingService;
  68. @Autowired
  69. private ITaPersonService taPersonService;
  70. @Autowired
  71. private IHelpInitiateRecordService helpInitiateRecordService;
  72. @Autowired
  73. private IHelpRecordService helpRecordService;
  74. @Autowired
  75. private TaPosterService taPosterService;
  76. @Autowired
  77. private TaShareContentService taShareContentService;
  78. @Autowired
  79. private HelpInitiateRecordMapper helpInitiateRecordMapper;
  80. @Autowired
  81. private ITdPosterTemplateService tdPosterTemplateService;
  82. /**
  83. * 活动助力列表
  84. *
  85. * @param pageNum
  86. * @param pageSize
  87. * @return
  88. */
  89. @ApiOperation(value = "活动助力列表", notes = "活动助力列表")
  90. @ApiImplicitParams({
  91. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
  92. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
  93. @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query", value = "城市"),
  94. @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query", value = "项目"),
  95. @ApiImplicitParam(dataTypeClass = String.class, name = "title", paramType = "query", value = "标题"),
  96. @ApiImplicitParam(dataTypeClass = String.class, name = "startDate", paramType = "query", value = "活动开始时间"),
  97. @ApiImplicitParam(dataTypeClass = String.class, name = "endDate", paramType = "query", value = "活动结束时间"),
  98. @ApiImplicitParam(dataTypeClass = Integer.class, name = "activityStatus", paramType = "query", value = "活动状态")
  99. })
  100. @RequestMapping(value = "/admin/helpActivity/list", method = RequestMethod.GET)
  101. public ResponseBean helpActivityList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  102. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  103. @RequestParam(value = "cityId", required = false) Integer cityId,
  104. @RequestParam(value = "buildingId", required = false) String buildingId,
  105. @RequestParam(value = "title", required = false) String title,
  106. @RequestParam(value = "startDate", required = false) String startDate,
  107. @RequestParam(value = "endDate", required = false) String endDate,
  108. @RequestParam(value = "activityStatus", required = false) Integer activityStatus,
  109. HttpServletRequest request) {
  110. Integer orgId = getOrgId(request);
  111. ResponseBean helpActivityList = taHelpActivityService.helpActivityList(pageNum, pageSize, cityId, buildingId, title, startDate, endDate, activityStatus, orgId);
  112. return helpActivityList;
  113. }
  114. /**
  115. * 活动助力列表
  116. *
  117. * @param pageNum
  118. * @param pageSize
  119. * @return
  120. */
  121. @ApiOperation(value = "活动助力列表 已开始 和 未开始", notes = "活动助力列表 已开始 和 未开始")
  122. @ApiImplicitParams({
  123. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
  124. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
  125. @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query", value = "城市"),
  126. })
  127. @RequestMapping(value = "/admin/helpActivityEffective/list", method = RequestMethod.GET)
  128. public ResponseBean helpActivityEffectiveList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  129. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  130. @RequestParam(value = "cityId", required = false) Integer cityId,
  131. @RequestParam(value = "buildingId", required = false) String buildingId,
  132. HttpServletRequest request) {
  133. Integer orgId = getOrgId(request);
  134. ResponseBean helpActivityList = taHelpActivityService.helpActivityEffectiveList(pageNum, pageSize, cityId, orgId, buildingId);
  135. return helpActivityList;
  136. }
  137. @ApiOperation(value = "活动助力新增", notes = "活动助力新增")
  138. @ApiImplicitParams({
  139. @ApiImplicitParam(dataType = "HelpActivity", name = "parameter", paramType = "body", value = "当前对象")
  140. })
  141. @RequestMapping(value = "/admin/helpActivity/add", method = RequestMethod.POST)
  142. public ResponseBean helpActivityAdd(@RequestBody String parameter, HttpServletRequest request) {
  143. HelpActivity helpActivity = JSONObject.parseObject(parameter, HelpActivity.class);
  144. ResponseBean responseBean = new ResponseBean();
  145. Integer orgId = getOrgId(request);
  146. Integer cityId = iTaBuildingService.getCityById(helpActivity.getBuildingId());
  147. helpActivity.setCityId(cityId);
  148. // 活动暂且定位为未开始
  149. helpActivity.setActivityStatus(1);
  150. helpActivity.setStatus(1);
  151. helpActivity.setWeight(0);
  152. helpActivity.setIsMain(false);
  153. taHelpActivityService.helpActivityAdd(helpActivity, orgId);
  154. return responseBean;
  155. }
  156. /**
  157. * 根据id删除对象
  158. *
  159. * @param id 实体ID
  160. */
  161. @ResponseBody
  162. @RequestMapping(value = "/helpActivity/{id}", method = RequestMethod.DELETE)
  163. public ResponseBean helpActivityDelete(@PathVariable Integer id) {
  164. ResponseBean responseBean = new ResponseBean();
  165. try {
  166. if (taHelpActivityService.removeById(id)) {
  167. responseBean.addSuccess("success");
  168. } else {
  169. responseBean.addError("fail");
  170. }
  171. } catch (Exception e) {
  172. e.printStackTrace();
  173. logger.error("helpActivityDelete -=- {}", e.toString());
  174. responseBean.addError(e.getMessage());
  175. }
  176. return responseBean;
  177. }
  178. @ApiOperation(value = "活动助力修改", notes = "活动助力修改")
  179. @ApiImplicitParams({
  180. @ApiImplicitParam(dataTypeClass = HelpActivity.class, name = "helpActivity", paramType = "body", value = "当前对象"),
  181. })
  182. @RequestMapping(value = "admin/helpActivity/update", method = RequestMethod.PUT)
  183. public ResponseBean helpActivityUpdate(@RequestBody String parameter) {
  184. ResponseBean responseBean = new ResponseBean();
  185. HelpActivity helpActivity = JSONObject.parseObject(parameter, HelpActivity.class);
  186. Integer cityId = iTaBuildingService.getCityById( helpActivity.getBuildingId());
  187. helpActivity.setCityId(cityId);
  188. helpActivity.setHelpActivityId(helpActivity.getHelpActivityId());
  189. taHelpActivityService.helpActivityUpdate(helpActivity);
  190. return responseBean;
  191. }
  192. @ApiOperation(value = "根据id查询活动助力详情", notes = "根据id查询活动助力详情")
  193. @ApiImplicitParams({
  194. @ApiImplicitParam(dataTypeClass = Integer.class, name = "helpActivityId", paramType = "query", value = "活动状态")
  195. })
  196. @RequestMapping(value = "admin/helpActivity/details", method = RequestMethod.GET)
  197. public ResponseBean helpActivityGet(@RequestParam(value = "helpActivityId", required = false) Integer helpActivityId) {
  198. ResponseBean responseBean = new ResponseBean();
  199. try {
  200. responseBean.addSuccess(taHelpActivityService.getById(helpActivityId));
  201. } catch (Exception e) {
  202. e.printStackTrace();
  203. logger.error("helpActivityDelete -=- {}", e.toString());
  204. responseBean.addError(e.getMessage());
  205. }
  206. return responseBean;
  207. }
  208. @ApiOperation(value = "置顶和推首页", notes = "置顶和推首页")
  209. @ApiImplicitParams({
  210. @ApiImplicitParam(dataTypeClass = String.class, name = "parameter", paramType = "body", value = "status:0置顶操作,1推首页操作,2结束活动操作,helpActivityId:助力ID")
  211. })
  212. @RequestMapping(value = "admin/top/update", method = RequestMethod.POST)
  213. public ResponseBean top(@RequestBody String parameter) {
  214. ResponseBean responseBean = new ResponseBean();
  215. JSONObject object = JSONObject.parseObject(parameter);
  216. // 根据状态值判断是置顶还是推首页的操作
  217. String activityStatus = object.getString("status");
  218. String helpActivityId = object.getString("helpActivityId");
  219. HelpActivity helpActivity = taHelpActivityService.getById(helpActivityId);
  220. // 置顶操作
  221. if (activityStatus.equals("0")) {
  222. helpActivity.setWeight(Integer.valueOf(helpActivity.getWeight().equals(0) ? 1 : 0));
  223. }
  224. // 推首页
  225. if (activityStatus.equals("1")) {
  226. helpActivity.setIsMain(true == helpActivity.getIsMain() ? false : true);
  227. }
  228. // 结束活动操作
  229. if (activityStatus.equals("2")) {
  230. helpActivity.setActivityStatus(2);
  231. QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery= new QueryWrapper<>();
  232. helpInitiateRecordQuery.eq("help_activity_id",helpActivityId);
  233. List<HelpInitiateRecord> list= helpInitiateRecordMapper.selectList(helpInitiateRecordQuery);
  234. for (HelpInitiateRecord helpInitiateRecord:list){
  235. // 助力成功的不更新。
  236. if (!helpInitiateRecord.getStatus().equals(0)) {
  237. helpInitiateRecord.setStatus(2);
  238. helpInitiateRecordMapper.updateById(helpInitiateRecord);
  239. }
  240. }
  241. }
  242. Boolean isA = taHelpActivityService.updateById(helpActivity);
  243. responseBean.addSuccess(isA);
  244. return responseBean;
  245. }
  246. @ApiOperation(value = "助力记录", notes = "助力记录")
  247. @ApiImplicitParams({
  248. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
  249. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
  250. @ApiImplicitParam(dataTypeClass = String.class, name = "helpActivityId", paramType = "query", value = "助力ID"),
  251. @ApiImplicitParam(dataTypeClass = String.class, name = "tel", paramType = "query", value = "tel"),
  252. @ApiImplicitParam(dataTypeClass = Integer.class, name = "status", paramType = "query", value = "status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败")
  253. })
  254. @RequestMapping(value = "admin/helpRecord", method = RequestMethod.GET)
  255. public ResponseBean helpRecord(@RequestParam(value = "helpActivityId", required = false) Integer helpActivityId,
  256. @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  257. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  258. @RequestParam(value = "status", required = false) String status,
  259. @RequestParam(value = "tel", required = false) String tel) {
  260. ResponseBean helpRecord = taHelpActivityService.helpRecord(helpActivityId, status, pageNum, pageSize,tel);
  261. return helpRecord;
  262. }
  263. @ApiOperation(value = "助力人详情", notes = "助力人详情")
  264. @ApiImplicitParams({
  265. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
  266. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
  267. @ApiImplicitParam(dataTypeClass = String.class, name = "helpRecordInitiateId", paramType = "query", value = "发起助力ID"),
  268. })
  269. @RequestMapping(value = "admin/taHelpRecord/details", method = RequestMethod.GET)
  270. public ResponseBean taHelpRecordDetails(@RequestParam(value = "helpRecordInitiateId", required = false) Integer helpRecordInitiateId,
  271. @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  272. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
  273. ResponseBean helpRecord = taHelpActivityService.taHelpRecordDetails(helpRecordInitiateId, pageNum, pageSize);
  274. return helpRecord;
  275. }
  276. @ApiOperation(value = "核销", notes = "核销")
  277. @ApiImplicitParams({
  278. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
  279. @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
  280. @ApiImplicitParam(dataTypeClass = String.class, name = "helpRecordInitiateId", paramType = "query", value = "发起助力ID"),
  281. @ApiImplicitParam(dataTypeClass = String.class, name = "verifyCode", paramType = "query", value = "核销码"),
  282. })
  283. @RequestMapping(value = "admin/helpInitiateRecordVerify", method = RequestMethod.POST)
  284. public ResponseBean helpInitiateRecordVerify(@RequestParam(value = "helpRecordInitiateId", required = false) Integer helpRecordInitiateId,
  285. @RequestParam(value = "verifyCode", required = false) String verifyCode) {
  286. ResponseBean helpRecord = taHelpActivityService.helpInitiateRecordVerify(helpRecordInitiateId, verifyCode);
  287. return helpRecord;
  288. }
  289. /**
  290. * 导出数据 成功/进行/失败
  291. *
  292. * @param request
  293. * @param response
  294. * @throws IOException
  295. */
  296. @GetMapping("/admin/HelpInitiateRecordSucceed/export")
  297. public void getCustomerExportList(HttpServletRequest request,
  298. HttpServletResponse response,
  299. @RequestParam(value = "tel", required = false) String tel,
  300. @RequestParam(value = "helpActivityId", required = false) Integer helpActivityId,
  301. @RequestParam(value = "condition", required = false) String condition) throws IOException {
  302. // response.setContentType("application/vnd.ms-excel");
  303. response.setContentType("application/octet-stream");
  304. response.setCharacterEncoding("utf-8");
  305. response.setHeader("Content-disposition", "attachment;filename=助力活动发起人.xlsx");
  306. Integer orgId = getOrgId(request);
  307. Integer pageCode = 0;
  308. Integer pageSize = 100;
  309. // 总页数
  310. Integer pageCount = 0;
  311. /**
  312. * 助力活动发起者
  313. */
  314. // 设置读取的class
  315. // code:helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
  316. if ("helpSucceed".equals(condition)){
  317. ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), HelpInitiateRecordSucceed.class).registerWriteHandler(new CustomCellWriteHandler()).build();
  318. // 设置 sheet, 同一个sheet只需要设置一次
  319. WriteSheet writeSheet = EasyExcel.writerSheet("助力成功").build();
  320. Integer count = taHelpActivityService.getHelpInitiateRecordSucceed(tel,helpActivityId);
  321. pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
  322. List<HelpInitiateRecordSucceed> publicList = null;
  323. do {
  324. publicList = taHelpActivityService.getHelpInitiateRecordSucceedExportList(pageCode * pageSize, pageSize,tel,helpActivityId);
  325. excelWriter.write(publicList, writeSheet);
  326. pageCode++;
  327. } while (pageCode <= pageCount);
  328. // finish 会帮忙关闭流
  329. excelWriter.finish();
  330. }else {
  331. ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), HelpProceedAndFinish.class).registerWriteHandler(new CustomCellWriteHandler()).build();
  332. // 设置 sheet, 同一个sheet只需要设置一次
  333. WriteSheet writeSheet = EasyExcel.writerSheet("助力成功").build();
  334. Integer count = taHelpActivityService.getHelpInitiateRecordSucceed(tel,helpActivityId);
  335. pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
  336. List<HelpProceedAndFinish> publicList = null;
  337. do {
  338. publicList = taHelpActivityService.getHelpProceedAndFinishExportList(pageCode * pageSize, pageSize,tel,helpActivityId,condition);
  339. excelWriter.write(publicList, writeSheet);
  340. pageCode++;
  341. } while (pageCode <= pageCount);
  342. // finish 会帮忙关闭流
  343. excelWriter.finish();
  344. }
  345. }
  346. /**
  347. * 助力活动查询当前助力者记录
  348. *
  349. * @param request
  350. * @param response
  351. * @throws IOException
  352. */
  353. @GetMapping("/admin/helpRecord/export")
  354. public void gethelpRecordExport(HttpServletRequest request,
  355. HttpServletResponse response,
  356. @RequestParam(value = "helpRecordInitiateId", required = false) Integer helpRecordInitiateId) throws IOException {
  357. // response.setContentType("application/vnd.ms-excel");
  358. response.setContentType("application/octet-stream");
  359. response.setCharacterEncoding("utf-8");
  360. response.setHeader("Content-disposition", "attachment;filename=助力活动发起人.xlsx");
  361. Integer orgId = getOrgId(request);
  362. Integer pageCode = 0;
  363. Integer pageSize = 100;
  364. // 总页数
  365. Integer pageCount = 0;
  366. /**
  367. * 助力活动发起者
  368. */
  369. // 设置读取的class
  370. ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), HelpRecordExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
  371. // 设置 sheet, 同一个sheet只需要设置一次
  372. WriteSheet writeSheet = EasyExcel.writerSheet("助力成功").build();
  373. Integer count = taHelpActivityService.getHelpRecord(helpRecordInitiateId);
  374. pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
  375. List<HelpRecordExport> publicList = null;
  376. do {
  377. publicList = taHelpActivityService.getHelpRecordExportList(pageCode * pageSize, pageSize,helpRecordInitiateId);
  378. excelWriter.write(publicList, writeSheet);
  379. pageCode++;
  380. } while (pageCode <= pageCount);
  381. // finish 会帮忙关闭流
  382. excelWriter.finish();
  383. }
  384. @ApiOperation(value = "微信端根据id查询活动助力详情", notes = "根据id查询活动助力详情")
  385. @ApiImplicitParams({
  386. @ApiImplicitParam(dataTypeClass = Integer.class, name = "helpActivityId", paramType = "path", value = "活动状态")
  387. })
  388. @RequestMapping(value = "/wx/helpActivity/{helpActivityId}", method = RequestMethod.GET)
  389. public ResponseBean wxHelpActivityGet(@PathVariable(value = "helpActivityId") Integer helpActivityId,
  390. @RequestParam(value = "initiateId",required = false) Integer initiateId,HttpServletRequest request) {
  391. ResponseBean responseBean = new ResponseBean();
  392. Integer orgId = getOrgId(request);
  393. String openid = getOpenId(request);
  394. List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
  395. if (null == taPersons || taPersons.size() != 1) {
  396. return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  397. }
  398. TaPerson person = taPersons.get(0);
  399. Map<String,Object> map = new HashMap<>();
  400. try {
  401. //活动信息
  402. HelpActivity helpActivity = taHelpActivityService.getById(helpActivityId);
  403. QueryWrapper<HelpInitiateRecord> helpInitiateRecordQueryWrapper = new QueryWrapper<>();
  404. helpInitiateRecordQueryWrapper.eq("org_id",orgId);
  405. helpInitiateRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
  406. helpInitiateRecordQueryWrapper.eq("status",CommConstant.STATUS_UNACCALIMED);
  407. //已经成功的助力
  408. List<HelpInitiateRecord> helpInitiateRecordList = helpInitiateRecordMapper.selectList(helpInitiateRecordQueryWrapper);
  409. helpActivity.setSuccessNum(helpInitiateRecordList.size());
  410. map.put("helpActivity",helpActivity);
  411. //发起者信息
  412. HelpInitiateRecord helpInitiateRecord = null;
  413. if (null != initiateId){
  414. helpInitiateRecord = helpInitiateRecordService.getById(initiateId);
  415. }else {
  416. QueryWrapper<HelpInitiateRecord> initiateRecordQueryWrapper = new QueryWrapper<>();
  417. initiateRecordQueryWrapper.eq("org_id",orgId);
  418. initiateRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
  419. initiateRecordQueryWrapper.eq("person_id",person.getPersonId());
  420. helpInitiateRecord = helpInitiateRecordService.getOne(initiateRecordQueryWrapper);
  421. }
  422. //判断是否发起者
  423. if (null != helpInitiateRecord){
  424. helpActivity.setHelpStatus(CommConstant.HELP_STATUS_INITIATE);
  425. //助力者信息
  426. QueryWrapper<HelpRecord> helpRecordQueryWrapper = new QueryWrapper<>();
  427. helpRecordQueryWrapper.eq("org_id",orgId);
  428. helpRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
  429. helpRecordQueryWrapper.eq("help_record_initiate_id",helpInitiateRecord.getHelpRecordInitiateId());
  430. List<HelpRecord> helpRecordList = helpRecordService.list(helpRecordQueryWrapper);
  431. helpRecordList.forEach(e -> {
  432. if (e.getPersonId().equals(person.getPersonId())){
  433. map.put("isJoin",true);
  434. }
  435. });
  436. map.put("helpInitiateRecord",helpInitiateRecord);
  437. map.put("helpRecordList",helpRecordList);
  438. }
  439. //获取海报信息
  440. QueryWrapper<TaPoster> posterQueryWrapper = new QueryWrapper<>();
  441. posterQueryWrapper.eq("target_type",CommConstant.HELP_ACTIVITY);
  442. posterQueryWrapper.eq("target_id",helpActivityId);
  443. posterQueryWrapper.eq("org_id",orgId);
  444. List<TaPoster> postList = taPosterService.list(posterQueryWrapper);
  445. map.put("postList",postList);
  446. QueryWrapper<TdPosterTemplate> tdPosterTemplateQueryWrapper = new QueryWrapper<>();
  447. //tdPosterTemplateQueryWrapper.eq("org_id",orgId);
  448. tdPosterTemplateQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
  449. tdPosterTemplateQueryWrapper.eq("type",CommConstant.HELP_ACTIVITY);
  450. List<TdPosterTemplate> posterTemplateList = tdPosterTemplateService.list(tdPosterTemplateQueryWrapper);
  451. map.put("posterTemplateList",posterTemplateList);
  452. //获取分享信息
  453. QueryWrapper<TaShareContent> taShareContentQueryWrapper = new QueryWrapper<>();
  454. taShareContentQueryWrapper.eq("share_content_type",CommConstant.HELP_ACTIVITY);
  455. taShareContentQueryWrapper.eq("target_id",helpActivityId);
  456. taShareContentQueryWrapper.eq("org_id",orgId);
  457. List<TaShareContent> shareContentList = taShareContentService.list(taShareContentQueryWrapper);
  458. map.put("shareContentList",shareContentList);
  459. responseBean.addSuccess(map);
  460. } catch (Exception e) {
  461. e.printStackTrace();
  462. logger.error("helpActivityDelete -=- {}", e.toString());
  463. responseBean.addError(e.getMessage());
  464. }
  465. return responseBean;
  466. }
  467. @ApiOperation(value = "微信端查询拼团和助力推首页的活动的", notes = "微信端查询拼团和助力推首页的活动的")
  468. @ApiImplicitParams({
  469. @ApiImplicitParam(dataTypeClass = Integer.class, name = "buildingId", paramType = "query", value = "活动状态"),
  470. @ApiImplicitParam(dataTypeClass = Integer.class, name = "type", paramType = "query", value = "1助力,2拼团"),
  471. @ApiImplicitParam(dataTypeClass = Integer.class, name = "type", paramType = "query", value = "cityId首页专用")
  472. })
  473. @RequestMapping(value = "/wx/helpActivityAndGroup", method = RequestMethod.GET)
  474. public ResponseBean wxhelpActivityAndGroup(HttpServletRequest request,
  475. @RequestParam(value = "buildingId",required = false) String buildingId,
  476. @RequestParam(value = "cityId",required = false) String cityId) {
  477. ResponseBean lsit = taHelpActivityService.wxhelpActivityAndGroup(getOrgId(request),buildingId,cityId);
  478. return lsit;
  479. }
  480. }