package com.panzhihua.applets.api; import cn.hutool.core.util.StrUtil; import com.panzhihua.applets.weixin.CheckService; import com.panzhihua.common.constants.Constants; import com.panzhihua.common.constants.NeighborCircleConstants; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleDetailAppVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleTopicAppVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCommentReplyAppVO; import com.panzhihua.common.service.community.CommunityWestService; import com.panzhihua.common.utlis.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * @auther lyq * @create 2021-04-14 15:02:49 * @describe 邻里圈模块API */ @Slf4j @RestController @RequestMapping("/neighborWest/") @Api(tags = {"邻里圈服务"}) public class NeighborWestApi extends BaseController { @Resource private CommunityWestService communityWestService; @Resource private CheckService checkService; @ApiOperation(value = "分页查询邻里圈列表", response = ComActNeighborCircleAppVO.class) @PostMapping("pageApp") public R pageNeighborByApp(@RequestBody ComActNeighborCircleAppDTO neighborCircleAppDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { neighborCircleAppDTO.setCommunityId(loginUserInfo.getCommunityId()); neighborCircleAppDTO.setUserId(loginUserInfo.getUserId()); } return communityWestService.pageNeighborByApp(neighborCircleAppDTO); } @ApiOperation(value = "用户发布邻里圈审核") @PostMapping("addNeighborByApp") public R addNeighborByApp(@RequestBody AddComActNeighborCircleAppDTO addNeighborCircleAppDTO) { LoginUserInfoVO loginUser = this.getLoginUserInfo(); Long userId = loginUser.getUserId(); Long communityId = loginUser.getCommunityId(); if (userId == null) { return R.fail("请重新登录"); } addNeighborCircleAppDTO.setUserId(userId); String openid = this.getLoginUserInfo().getOpenid(); String appId = this.getAppId(); // 微信内容审核 String releaseContent = addNeighborCircleAppDTO.getReleaseContent(); if (StrUtil.isNotBlank(releaseContent)) { String result = checkService.checkMessageBy(releaseContent, openid, appId); if (StrUtil.isNotBlank(result)) { return R.fail(501, "填写内容存在 " + result + " 违规信息"); } } //微信图片审核 String releaseImages = addNeighborCircleAppDTO.getReleaseImages(); if (StrUtil.isNotBlank(releaseImages)) { if (!checkService.checkImageBy(releaseImages, appId)) { return R.fail(501, "上传图片存在违规信息"); } } if (StringUtils.isNotEmpty(loginUser.getPhone())) { addNeighborCircleAppDTO.setPhone(this.getLoginUserInfo().getPhone()); } if (communityId != null) { addNeighborCircleAppDTO.setCommunityId(communityId); } if(this.getAppId().equals("wx118de8a734d269f0")){ //花城直接通过 addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no); addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.yes); }else { //查询社区自动审核是否开着 String key = NeighborCircleConstants.NEIGHBOR_CIRCLE_AUTO_EXAMINE; R isOk = communityWestService.getSysConfValue(key + communityId, communityId); if (R.isOk(isOk)) { if (isOk.getData() != null) { String value = isOk.getData().toString(); if (value.equals("1")) { addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no); String msg = addNeighborCircleAppDTO.getReleaseContent(); if (StrUtil.isEmpty(checkService.checkMessageBy(msg,this.getLoginUserInfo().getOpenid(),this.getAppId()))) { addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.yes); } else { addNeighborCircleAppDTO.setWxExamineResult(AddComActNeighborCircleAppDTO.isExamine.no); } } else { addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.yes); } } else { communityWestService.addSysConfValue(key + communityId, communityId, "社区邻里圈自动审核参数", "1"); addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.no); } } else { addNeighborCircleAppDTO.setIsExamine(AddComActNeighborCircleAppDTO.isExamine.yes); } } return communityWestService.addNeighborByApp(addNeighborCircleAppDTO); } @ApiOperation(value = "查询邻里圈详情", response = ComActNeighborCircleDetailAppVO.class) @PostMapping("detail") public R neighborDetailByApp(@RequestBody ComActNeighborCircleDetailAppDTO neighborCircleAppDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { neighborCircleAppDTO.setUserId(loginUserInfo.getUserId()); } // Long userId = this.getLoginUserInfo().getUserId(); // if(userId == null){ // return R.fail("请先登录"); // } // neighborCircleAppDTO.setUserId(userId); return communityWestService.neighborDetailByApp(neighborCircleAppDTO); } @ApiOperation(value = "分页查询用户邻里圈审核列表", response = ComActNeighborCircleAppVO.class) @PostMapping("user/page") public R neighborExamineByApp(@RequestBody ComActNeighborCircleAppDTO neighborCircleAppDTO) { Long userId = this.getLoginUserInfo().getUserId(); if (userId == null) { return R.fail("请先登录"); } neighborCircleAppDTO.setUserId(userId); return communityWestService.neighborExamineByApp(neighborCircleAppDTO); } @ApiOperation(value = "邻里圈点赞") @PostMapping("fabulous") public R neighborFabulousByApp(@RequestBody ComActNeighborFabulousAppDTO fabulousAppDTO) { Long userId = this.getLoginUserInfo().getUserId(); if (userId == null) { return R.fail("请先登录"); } fabulousAppDTO.setUserId(userId); return communityWestService.neighborFabulousByApp(fabulousAppDTO); } @ApiOperation(value = "邻里圈转发") @PostMapping("forward") public R neighborForwardByApp(@RequestBody ComActNeighborForwardAppDTO forwardAppDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { forwardAppDTO.setUserId(loginUserInfo.getUserId()); } // Long userId = this.getLoginUserInfo().getUserId(); // if(userId == null){ // return R.fail("请先登录"); // } // forwardAppDTO.setUserId(userId); return communityWestService.neighborForwardByApp(forwardAppDTO); } @ApiOperation(value = "邻里圈评论") @PostMapping("comment") public R neighborCommentByApp(@RequestBody ComActNeighborCommentAppDTO commentAppDTO) { Long userId = this.getLoginUserInfo().getUserId(); if (userId == null) { return R.fail("请先登录"); } commentAppDTO.setUserId(userId); String openid = this.getLoginUserInfo().getOpenid(); String appId = this.getAppId(); // 微信内容审核 String content = commentAppDTO.getContent(); if (StrUtil.isNotBlank(content)) { String result = checkService.checkMessageBy(content, openid, appId); if (StrUtil.isNotBlank(result)) { return R.fail(501, "填写内容存在 " + result + " 违规信息"); } } return communityWestService.neighborCommentByApp(commentAppDTO); } @ApiOperation(value = "邻里圈回复") @PostMapping("reply") public R neighborReplyByApp(@RequestBody ComActNeighborReplyAppDTO replyAppDTO) { Long userId = this.getLoginUserInfo().getUserId(); if (userId == null) { return R.fail("请先登录"); } replyAppDTO.setUserId(userId); return communityWestService.neighborReplyByApp(replyAppDTO); } @ApiOperation(value = "邻里圈取消点赞") @PostMapping("cancel/fabulous") public R neighborFabulousCancelByApp(@RequestBody ComActNeighborFabulousAppDTO fabulousAppDTO) { Long userId = this.getLoginUserInfo().getUserId(); if (userId == null) { return R.fail("请先登录"); } fabulousAppDTO.setUserId(userId); return communityWestService.neighborFabulousCancelByApp(fabulousAppDTO); } @ApiOperation(value = "邻里圈添加浏览记录") @PostMapping("add/browse") public R neighborAddBrowseByApp(@RequestBody ComActNeighborAddBrowseAppDTO addBrowseAppDTO) { Long userId = this.getLoginUserInfo().getUserId(); if (userId == null) { return R.fail("请先登录"); } addBrowseAppDTO.setUserId(userId); return communityWestService.neighborAddBrowseByApp(addBrowseAppDTO); } @ApiOperation(value = "分页查询评论下所有回复", response = ComActNeighborCommentReplyAppVO.class) @PostMapping("comment/reply") public R neighborCommentReplyByApp(@RequestBody ComActNeighborCommentReplyAppDTO commentReplyAppDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { commentReplyAppDTO.setUserId(loginUserInfo.getUserId()); } // Long userId = this.getLoginUserInfo().getUserId(); // if(userId == null){ // return R.fail("请先登录"); // } // commentReplyAppDTO.setUserId(userId); return communityWestService.neighborCommentReplyByApp(commentReplyAppDTO); } @ApiOperation(value = "查询社区邻里圈话题列表", response = ComActNeighborCircleTopicAppVO.class) @GetMapping("topic/list") public R getNeighborTopicByApp(@RequestParam("communityId") Long communityId , @RequestParam(value = "isZero", defaultValue = "2", required = false) Integer isZero , @RequestParam(value = "name", defaultValue = "", required = false) String name) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { communityId = loginUserInfo.getCommunityId(); } if (isZero == null) { isZero = 2; } return communityWestService.getNeighborTopicByApp(communityId, isZero, name); } @ApiOperation(value = "用户新增邻里圈话题") @PostMapping("topic/add") public R addNeighborTopicByApp(@RequestBody AddNeighborCircleTopicAppDTO circleTopicAppDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo == null) { return R.fail(401, "请先登录"); } circleTopicAppDTO.setUserId(loginUserInfo.getUserId()); circleTopicAppDTO.setCommunityId(loginUserInfo.getCommunityId()); return communityWestService.addNeighborTopicByApp(circleTopicAppDTO); } @ApiOperation(value = "用户删除邻里圈") @PostMapping("delete") public R deleteNeighborByApp(@RequestBody DeleteNeighborCircleAppDTO circleTopicAppDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo == null) { return R.fail(401, "请先登录"); } circleTopicAppDTO.setUserId(loginUserInfo.getUserId()); circleTopicAppDTO.setCommunityId(loginUserInfo.getCommunityId()); return communityWestService.deleteNeighborByApp(circleTopicAppDTO); } }